With Internet Explorer 9, Microsoft showed Wednesday it's trying to retake the browser initiative.
IE remains the Net's dominant browser. But perversely, it became something of a technology underdog after Microsoft vanquished Netscape in the browser wars of the 1990s and scaled back its browser effort.
That left an opportunity for rivals to blossom--most notably Firefox, which now is used by a quarter of Web surfers, but also Apple's Safari, which now runs on Windows as well as Mac OS X, and Google's Chrome, which aims to make the Web faster and a better foundation for applications.
Microsoft has been pouring resources back into the IE effort, though, and at its Professional Developers Conference in Los Angeles, some fruits of that labor were on display. In particular, Windows unit president Steven Sinofsky showed off IE 9's new hardware-accelerated text and graphics.
The acceleration feature takes advantage of hitherto untapped computing power in a way that's more useful than other browser-boosting technology--Google's Native Client to directly employ PC's processor and Mozilla's WebGL for accelerated 3D graphics, for example--according to Dean Hachamovitch, general manager of Internet Explorer.
"This is a direct improvement to everybody's usage of the Web on a daily basis," Hachamovitch said in an interview after Sinofsky's speech. "Web developers are doing what they did before, only now they can tap directly into a PC's graphics hardware to make their text work better and graphics work better."
... Read moreGoogle, ever eager to renovate the computing industry for the benefit of the Web and its own business, is working to link two nascent but potentially significant projects, its experimental Go programming language and its Chrome Web browser.
Gordon, Go's gopher mascot
Specifically, the company is building a foundation to let programs written in Go run directly within a Web browser endowed with Google's Native Client software. Native Client is designed to let browser-based programs run faster than is possible with today's widely used JavaScript; though it's still in its early stages, it's built into Chrome and available as a plug-in for other browsers.
A little poking around the Go source code reveals a reference to NaCl, the abbreviated name for Native Client. And Native Client is indeed on the Go agenda, said Rob Pike, one of the five core members of the Go team, in a Wednesday interview.
"We have an embryonic implementation of the NaCl support for Go using 8g," a compiler that produces code for x86 chips such as Intel's Core line, Pike said. "It's restricted by a couple of details of NaCl's implementation, but we hope to see changes to NaCl one day that will make Go a full-fledged language in that environment."
The Native Client compiler--the tool that converts what people write into software a computer can run--is specially modified to screen out a variety of software instructions that could expose a computer to an attack from a Native Client module downloaded off the Web. And the Native Client software itself checks such modules before they run. The result, if the security approach stands up to security scrutiny, is browser-based software that runs close to the speed of ordinary software that runs natively on a PC.
Native Client has been maturing, the most recent stage being inclusion of NaCl within Google's Chrome browser, though disabled by default for now. Google is using Chrome as a vehicle to distribute other Web technology, too, including Gears, which can let people use Gmail while offline, and WebGL, which gives hardware acceleration to 3D graphics in the browser.
Go is only experimental at this stage, but Google hopes to use it to produce some of the software running on its vast array of servers. Google's scale makes even academic projects potentially commercially relevant, which is enviable to many companies who've tried to get projects off the ground.
Indeed, an episode earlier in the Go team's history is illustrative. Pike, Unix co-inventor Ken Thompson, and Russ Cox all worked on the Plan 9 operating system project that, like Unix, began at Bell Labs. (Yes, Plan 9 is named after Ed Wood's famously bad movie, "Plan 9 from Outer Space.")
Unlike Unix, Plan 9 didn't have much commercial success, although Vita Nuova does sell a version called Inferno. Getting a mainstream operating system off the ground is hard: you must convince programmers, software companies, and hardware makers to embrace it; you must convince people to use it in the real world; and you must keep pace with the evolution of entrenched operating systems.
A bit of Plan 9 lives on inside the Go project, with various Plan 9 tidbits appearing in the Go source code. Pike, though, says there's not much.
Glenda, the Plan 9 bunny mascot, looks similar to Gordon, Go's gopher mascot. Both were drawn by Rob Pike's wife, illustrator Renee French.
(Credit: Bell Labs)"The 6g/8g/5g compilers are almost completely new but are tied to the open-source Plan 9 compiler suite's C compilers and linker," Pike said. "That's really about it except for the obvious historical connection for some of the protagonists: Ken, Russ, and myself."
Programming languages face similar challenges as operating systems in getting off the ground: A lot of interdependent elements in the ecosystem must all be built simultaneously. It's what's known in the trade as the chicken-and-egg problem: you can't make a chicken without an egg or vice versa.
But Google makes things different for Go. It's devoting real resources to the project and believes it could be useful on its own servers to run software such as the Gmail service Web browsers tap into. It's got the chicken and the egg under its own roof.
And with the money Google could save by increasing the performance or efficiency of its servers even just a fraction of a percent, it has abundant financial incentive to make things work.
Marrying Go to browsers is just another aspect of the same issue.
Assuming Go and Native Client mature enough to be useful, Google can't mandate that Web developers embrace them; indeed, they generally haven't embraced Gears even though it can help with some Web site matters. But again, Google has a browser and some awfully big Web sites it can use to get the ball rolling.
Google software luminaries such as Unix co-creator Ken Thompson believe that they can help boost both computing power and programmers' abilities with an experimental programming language project called Go.
And on Tuesday, they're taking the veil of secrecy off Go, releasing what they've built so far and inviting others to join the newly open-source project.
The computing industry is in constant tension between making a fresh start and evolving the current technology. The limits of today's hardware designs and programming technology led the Go team to take the former approach.
Gordon, the Go gopher mascot, drawn by Rob Pike's wife and illustrator Renee French.
(Credit: Google)"We found some of those problems to be frustrating and decided that the only way to address them was linguistically," said Rob Pike, a principal software engineer working on Go. "We're systems software people ourselves. We wanted a language to make our lives better."
So far, Google's Go project consists of the programming language, compilers to convert what programmers write into software that computers can run, and a runtime package that endows Go programs with a number of built-in features. It's most similar to C and C++, but, Pike said, it employs modern features and has enough versatility that it could even be used within Web browsers.
Go's assets
There's a huge step between creating a new programming language and building into a major force in the industry. Sun Microsystems, which succeeded with Java, has had less success with a would-be Fortran successor called Fortress.
But Go has some assets most languages don't.
First, the project is at Google, which has a powerful incentive to make something useful in order to get more out of its hundreds of thousands of servers and its countless in-house programmers. An experiment at Google could have more commercial relevance than many other company's actual products, and Go is already graduated from a 20 percent time project to one with formal support.
"We don't intend it to be experimental forever," Pike said. "We really want to build stuff for real with this."
Second, there's the Go team's pedigree. Among them:
Thompson, the winner of the 1983 Turing Award and 1998 National Medal of Technology, who, along with Dennis Ritchie, was an original creator of Unix. Thompson also came up with the B programming language that led to the widely used C from Ritchie.
Pike, a principal software engineer who was a member of Bell Labs' Unix team and a later operating-system project called Plan 9. He's worked with Thompson for years and with him created the widely used UTF-8 character-encoding scheme.
Robert Griesemer, who helped write Java's HotSpot compiler and V8, the Chrome browser's JavaScript engine; Russ Cox, a Plan 9 developer; and Ian Taylor, who has worked on improving the widely used open-source GCC compiler.
The name Go itself stems from the challenging board game, a reference to Google itself and, of course, the idea of going somewhere, Pike said.
What's Go for?
Google has high hopes for Go.
It's designed to address some issues in getting software to take advantage of multicore processors that can perform multiple tasks in parallel. It has an approach to ease some of the pains of object-oriented programming. It has modern language features such as "garbage collection," which helps programmers deal with mundane but important memory management issues. And it's designed to be fast--nearly as fast as programs written in C or C++--and enable fast creation of programs in the first place.
"It seems it's getting much harder to build software than it used to be," even though computers are vastly faster than in the past, Pike said. "The process of software development doesn't feel any better than it did a generation ago. We deliberately tried to make a language that focused in part on rapid development, that compiles really efficiently, and that expresses dependencies efficiently and precisely so the compilation process can be controlled well. I find it much more productive to work in."
When it comes to the speed programs at which programs run, "Our target was to get as close as we could to C or C++," Pike said. They're reasonably close--programs run about 20 percent to 30 percent slower right now, he said.
The Go Web site itself is built with Go, but Google has broader ambitions. The software is designed to build server software--Google's Gmail is one example of what it's suited for. Google thinks that it could be good for other cases, including running software in a Web browser, a task JavaScript handles today.
"It's at least an order of magnitude better than JavaScript," Pike said. Note that Google built its own browser, Chrome, in part to speed JavaScript and Web performance, and that Google already is incorporating its technology such as Native Client and Gears.
Another nice Web-related feature in Go: tasks can be shared by servers and client devices such as PCs or mobile phones that use those services. That makes a service more easily adapted to different amounts of processing power for those clients, Pike said.
Making the most of multicore
Go also is designed to tackle one of today's big challenges, multicore processors. Programs often work sequentially, moving through a task one step at a time, but multicore processors are better at handling many tasks in parallel.
Go is no magic bullet for the problem, but Pike is optimistic that it will help. "We think we have support sufficient to take a crack at it," he said.
Specifically, Go uses a technology dating back to the 1960s called CSP, or communicating sequential processes, that handles interactions among a set of cooperating programs, Pike said. The technology made an appearance in programming languages such as Occom and Erlang, but it generally hasn't been applied in systems programming.
"We don't believe we've solved the multicore-programming problem," Pike said. "But we think we've built an environment in which a certain class of problems can take advantage of the multicore architecture."
The design also can apply, to some extent, to spreading tasks among multiple servers connected over a network, he added.
Lending a hand
The Go team is looking for help. One big area is in improving the runtime library from which Go programs can draw.
Such libraries speed up programming by providing many tools and functions so programmers don't have to create those ingredients on their own, and Go's library includes many elements crucial to Go's design. Go's libraries supply resources for handling concurrency, garbage collection, and other "low-level gunk you don't want to expose to programmers," Pike said.
The Go team also is looking for compiler help. Thompson has written some compiler support for 32-bit and 64-bit x86 processors, and for ARM processors, and Taylor has written a Go front end for the GCC compiler.
ARM processors are dominant in the mobile-phone market that Google is trying to spur into greater activity with the Android operating system, and Go software will be able to run on mobile phones, he said. "We're looking at interesting applications on things like Android phones. We're not sure where that's going to lead, but it's too intriguing to let it go," Pike said.
Google has released many products as open-source software over the years, in part to give something back to the pool from which it's drawn and in part because it stands to gain from the collective-development philosophy. Go fits with those motives.
"We did this to help Google first, but we decided (that) we need to open-source it," Pike said. "It's interesting, but it needs help from the community."
For all Google's ambitions for Go, the company doesn't expect it to erase today's technology.
"I don't think we'll replace anything," Pike said. "We're just putting another player into the arena."
With a project called Closure Tools, Google plans on Thursday to start helping developers who aspire to match the company's proficiency in creating Web sites and Web applications.
Google is a strong proponent of using JavaScript to write Web-based programs, part of its Web-centric ethos. Indeed, the company has pushed the language to its limits with services such as Gmail and Google Docs, and it developed its Chrome browser in part to enable JavaScript programs to run faster.
But writing, debugging, and optimizing heavy-duty JavaScript can be difficult--in part because a given JavaScript program sometimes works differently on different browsers. Google's open-source Closure Tools project is an attempt to help with some of these challenges.
The first in the suite of tools is the Closure Compiler, a software package designed to boil down a JavaScript program so it's smaller and runs faster. For example, a function named DisplayAddress() could be replaced with just a().
Along with the compiler come some extra tools that run in the Firefox browser. One, Closure Inspector, is an extension for Firefox's Firebug add-on designed to help programmers understand and debug the rewritten JavaScript--linking a() back to DisplayAddress(), for example. Another add-on for the Google Page Speed extension lets programmers see how much the compiler helped.
Google also plans to make the compiler available as a Web application hosted on its Google App Engine service.
The second element is called the Closure Library, a collection of prebuilt JavaScript code that lets programmers handle relatively sophisticated technology--arrays and string manipulation, for example.
Last are Closure Templates, more prewritten code to ease creation of JavaScript and HTML user interfaces.
In an earlier era, programming tools were expensive packages bought by a select few, but open-source software, new marketing strategies, and new business methods have made that approach the exception rather than the rule these days. Now programming tools are often a means to another end--encouraging programmers to produce the software that will make Windows or the Palm Pre useful and therefore popular, for example.
In Google's case, the objective is often to make the Web more popular because it sees more activity on the Web as corresponding directly with more activity on its revenue-generating search site. Among the high-profile projects to this end are Chrome, Chrome OS, and Android, all subsidized by Google's powerful search-advertising business.
One interesting contrast to Closure is another Google project called Google Web Toolkit. It's designed to accomplish some of the same goals as Closure, including paving over browser incompatibilities and producing high-performance JavaScript. But with GWT, coders write programs in Java that gets translated into JavaScript.
So one last question: why the name?
Google's reply: "Being a functional language, the concept of a function closure is fundamental to the JavaScript language."
In a surprise announcement, Adobe Systems said Monday that Flash programmers now can bring their applications to Apple's iPhone, a domain of high interest that's been off limits for the programming technology.
Because of Apple restrictions, though, Flash isn't coming in the form in which most people experience it, a Web browser plug-in. Instead, programmers will be able to change Flash applications into native iPhone applications using Adobe's Flash Professional CS5 developer tool, currently in beta testing, then offer their programs as an Apple App Store download.
"This is a great first step in the right direction," said Heidi Voltmer, Adobe's product marketing manager for Flash.
The approach spotlights the tension between Apple, which controls the iPhone tightly in an effort to ensure a good user experience, and others, which want a place on the premier mobile device on the marketplace today.
Chroma Circuit is a Flash game now available as a native iPhone app.
(Credit: Screenshot by Stephen Shankland/CNET)Adobe's back-door approach still is a significant move for the company, though, which wants to ensure that Flash is a major foundation for Internet-based applications. Programmers familiar with Flash could find the Adobe method an easier way to bring their applications to the iPhone world if they're not experts in coding for the phone and its close cousin, the iPod Touch.
Apple didn't immediately comment for this story.
Some Flash Professional CS5 beta testers are taking advantage of the technique, including BlueskyNorth, Breakdesign, FlashGameLicense.com, Muchosmedia, PushButton Labs, and Bowler Hat Games.
"With the ability to create applications for iPhone in the Flash Professional CS5 beta, I don't need to learn a new programming language or the plethora of development tools that inevitably come with it," said Josh Tynjala, founder of Bowler Hat Games, in a statement. "Instead, I'm able to spend more time exploring ways to make my games like Chroma Circuit more fun on mobile devices like the iPhone and increase my business revenue."
Adobe's ultimate goal remains the same: to get Flash on the iPhone integrated with its Safari browser. "My view is there is only one Web," said Chief Technology Officer Kevin Lynch in an interview. Adobe demonstrated the Flash applications at its Max developer conference in Los Angeles Monday, where Lynch gave the keynote address.
Flash Player 10.1, due in beta form later this year and final form in the first half of 2010, is spreading to just about all the other smartphones out there: Google Android, BlackBerry, Windows Mobile, Palm WebOS, and Nokia Symbian.
Why not the iPhone, too? "The Apple iPhone SDK (software developer kit) license terms do not allow runtime interpreted code, so Adobe is not able to deliver Flash Player in Safari on the iPhone without support from Apple," Adobe said in a statement.
Voltmer didn't comment on the state of present discussions with Apple to build Flash Player directly into the iPhone. But she did say people visit Adobe's Web site looking for it.
It's not immediately clear how easily Flash applications translate to the iPhone, and most folks won't get a chance to try it until the beta is released publicly later this year. There are some limitations, Voltmer said.
For one thing, the Flash software must be written in ActionScript 3, not the earlier ActionScript 2. For another, they can't use video because of Apple restrictions, she said.
There also could be practical limits on memory, processing power, and graphics. Last year's PC running Flash Player has a lot more computing capability than a modern iPhone 3GS.
The iPhone and iPod Touch have some features that are well-suited to mobile gaming, though, and programmers will be able to use them. That includes the multitouch interface and accelerometer that detects device orientation, said Adrian Ludwig, a Flash team member at Adobe.
Updated at 1:48 p.m. PDT with further comment from Adobe and no comment from Apple.
Adobe developer tools let Flash programmers turn their applications into native iPhone software. This is a Flash game called Chroma Circuit.
(Credit: Screenshot by Stephen Shankland/CNET)Yahoo on Tuesday released version 3 of its Yahoo User Interface library, a software collection programmers can use to endow Web sites with fancy user interface elements written in JavaScript and Cascading Style Sheets.
"YUI 3's core infrastructure and its utility suite are all considered production-ready with today's release," Yahoo's Eric Miraglia said in a blog post Tuesday. "The code we're shipping today in 3.0.0 is the same code that drives the new Yahoo Home Page, and it goes out with confidence that it has been exercised vigorously and at scale."
The YUI libraries are open-source, freely available, and used widely around the Internet for Web site tasks including animation, drag-and-drop, fetching data from various types of sources, and responding to events--chores that are more complicated but that often are useful as the Web moves from static Web pages toward interactive applications.
Compared with YUI 2, the new version is smaller, faster, easier to program with, and more secure, Yahoo said. It's easier to break code into minimum-size pieces through a dependency configurator or YUI's ability to download required components on its own. Also, Yahoo is working to add widget abilities for creating small programs.
A convenient YUI feature is that Yahoo is willing to host most of it on its own servers, saving hassle and Web server bandwidth.
The new version is the first ground-up reworking of the software since 2005. No doubt YUI will be the subject of discussion at Open Hack Day and YUIConf, both in October.
This chart illustrates the smaller file sizes of one YUI 3 libary that helps with retrieving data from various sources.
(Credit: Yahoo)Apple began shipping Snow Leopard on Friday, but the true importance of the Mac OS X update likely will emerge well afterward.
That's because Mac OS X 10.6 begins a longer-term Apple attempt to get ahead by cracking a problem facing the entire computer industry: squeezing useful work out of modern processors. Instead of stuffing Snow Leopard with immediately obvious new features, Apple is trying to adjust to the new reality in which processors can do many jobs simultaneously rather than one job fast.
"We're trying to set a foundation for the future," said Wiley Hodges, director of Mac OS X marketing.
Apple shed some light on its project, called Grand Central Dispatch, at its Worldwide Developer Conference in June, but most real detail was shared only in with programmers sworn to secrecy. Now the company has begun talking more publicly about it and other deeper projects to take advantage of graphics chips and Intel's 64-bit processors.
The moves align Apple better with changes in computing. For years, chipmakers such as Intel and Advanced Micro Devices had steadily increased the clock rate of their processors, and programmers got accustomed to a performance boost with each new generation. But earlier this decade, problems derailed the gigahertz train.
... Read moreThis story was corrected. See below for details.
SAN FRANCISCO--Apple wants Mac OS X to do a better job dealing with the new directions that Moore's Law has taken computer chips.
At its Apple Worldwide Developer Conference here, Bertrand Serlet, senior vice president of software engineering, shed light on technology called Grand Central Dispatch that's designed to make Mac OS X 10.6, called Snow Leopard, take better advantage of multicore processors and graphics processors.
Power play at Apple's WWDC 2009.
(Credit: James Martin/CNET)Computer chips for years improved in performance through faster clock speeds, but processor engineers ran into problems with chips consuming inordinate amounts of power and producing inordinate amounts of heat. In addition, the faster clock speeds sometimes meant chips just idled faster because memory access speeds couldn't keep up.
The new direction: multicore processors that put multiple processing engines on the same chip. The problem with the approach, though, is that PC software typically had been written to run with one thread of instructions at a time. Multicore processors work best when software does many things at the same time, which is much harder to program.
Grand Central Dispatch is designed to address that problem for software developers, making it easier to program multithreaded software, use operating system services, and tune program executions.
It also improves how Mac manages those threads, Serlet said. For example, when running Apple's Mail app, today's Leopard OS uses about the number of threads when busy as when idle.
"When it's busy, it uses more threads to take advantage of multicores. When idle, all those threads go away, giving back resources to the system," Serlet said. "When you apply that to every application, you get a big win in performance and responsiveness."
Graphics chip power
The new Mac OS X also is designed to support a programming technology called GPGPU--general-purpose graphics processing unit--which lets a graphics chip run some computing jobs in addition to its ordinary job displaying graphics.
To make its GPGPU technology work, Apple uses OpenCL, a C-like programming technology that has the support of graphics chipmakers Nvidia, AMD's ATI, Intel, and others.
Graphics chips aren't good for every sort of computing task, but they are good for mathematical calculations--including they physics calculations often needed in video games that simulate flowing fabrics, bouncing balls, and other real-world actions.
Mac OS X will be available in September with an upgrade price of $29, a big notch less expensive than the $129 price of earlier upgrades.
Apple also is working to support 64-bit x86 processors, now the prevailing standard. One big advantage of 64-bit processors is support for more than 4GB of memory; Serlet also touted faster mathematical processing such as the doubled speed of fast Fourier transforms.
Apple has been gradually making its operating system fully 64-bit. "Snow Leopard is final stage where all the major system applications are written in 64-bit mode," Serlet said.
Correction 6:13 a.m. PDT Tuesday: This story misidentified the speaker. It was Bertrand Serlet, senior vice president of software engineering.
Adobe Systems released on Monday beta versions of three programming projects for producing online applications that run in its Flash Player, software that's widely used but also under competitive threat from other Web technologies.
First is a beta version of Flash Catalyst, a programming tool that's meant for the designer crowd rather than the coding crowd. Catalyst lets designers create a Flash application's user interface in Adobe's Photoshop and Illustrator applications, import the files, attach a variety of actions to user interface elements, then produce the Flash application for production or for handing off to more serious programmers.
Second is the beta of Flash Builder 4, the harder-core programming tool previously called Flex Builder. This tool, based on the Eclipse programming software, employs Adobe's open-source Flex framework for building advanced Flash applications and is for the serious programming set who works in an integrated development environment (IDE). For example, it can be used to link Flash applications with a variety of back-end data sources for advanced features.
Third is the beta of Flex 4 framework that provides underpinnings for Flash applications, including everything from user interface components to animation technology. Flex 4, code-named Gumbo, is an open-source project.
Flash got its start as a way to produce animations on Web sites, leading to gripes that its timeline-based view of the world was alien to programmers. For the animation-oriented set, Adobe still offers its Flash Professional software, but for others, Adobe has the Flex-based approach for producing Flash applications.
Adobe offers a variety of tools in an attempt to appeal to a variety of programming styles. A single project can bounce among different people using the different tools, said Steven Heintz, principal product manager of the Adobe Platform business.
"We've really made all these tools work together," Heintz said. "For pieces of the same project, you can use the tools best for the job. We believe this is better than jamming all this together into one massive tool that's totally inappropriate."
Flash faces a number of challengers. Most directly is Microsoft's Silverlight, version 3 of which is set to be launched July 10. But Google, Yahoo, and browser makers also are advancing what can be done directly in Web browsers without relying on plug-ins such as Flash or Silverlight.
And HTML 5, an still-in-progress revision of the Hypertext Markup Language used to describe Web pages, comes with a variety of features such as the ability to run multiple tasks at the same time and to play video and audio as easily as browsers can display images today, and Google, Apple, Opera, and Firefox developer Mozilla are pushing what can be done with the JavaScript language for programming Web pages.
Adobe argues that it's got consistency on its side with Flash, though. Web users tend to upgrade to the newest Flash player relatively rapidly, and Flash works consistently regardless of which browser it's plugged into or which operating system it's running on. For programmers in the HTML camp, Adobe offers its DreamWeaver development software.
In contrast HTML and JavaScript--including advanced JavaScript applications built with technology called Ajax--varies from browser to browser, said Shafath Syed, a product marketing manager with the Adobe Platform group.
"We've come full circle" in the browser market to the mid-1990s browser wars, with different interpretations of standards and new features and differing support for that technology, Syed said. "That's always a challenge."
Another challenge both camps face is spreading to the increasingly important realm of mobile phones. Flash, for example, doesn't run on Apple's iPhone and is still under development for phones based on Google's Android operating system. Those devices support JavaScript and some HTML 5 features, though, they, of course, lack much of the processing power and memory to make full use of it.
The Adobe programming tools also can be used in the production of applications that run on AIR, the Adobe Integrated Runtime that lets Flash applications run on their own outside a browser.
Writing software that can simultaneously make use of multiple processors can be hard. Yet the advent of multicore processors--four cores per chip is now common--means that more and more software needs to do just that.
With processor performance increases now increasingly coming through the ability to handle more execution threads, rather than handling individual ones faster, multithreaded programming, in one form or another, is pretty much the only path to writing faster software, going forward.
Pervasive DataRush architecture.
(Credit: Pervasive Software)Researchers and developers are tackling this issue from a lot of different angles, including new languages and a greater focus on multithreaded programming in computer science curricula. However, perhaps the most promising general direction is toward what you might call multicore virtualization--the abstraction of parallel complexities by carefully crafted algorithms and run times that handle most of the heavy lifting. (MapReduce and gaming engines are examples of the sort of thing I'm talking about.)
The latest announcement in this vein comes from Pervasive Software, whose DataRush product is now generally available. The company describes DataRush thusly:
At the heart of Pervasive DataRush is a powerful, massively parallel data-processing engine that enables fast, efficient, deep analysis and searching of large data stores. The platform integrates breakthrough technology to resolve well-known parallel-programming challenges associated with writing software for multicore processors: built-in features automatically handle issues such as locking, threading, and deadlock.
From a technical perspective, DataRush is a library and processing engine written in Java--which makes it portable to different operating systems because it runs in a Java Virtual Machine, as opposed to directly on the operating system. It's not specific to any one application, and it has operators and application programming interfaces (APIs) that can be exploited for a variety of parallel applications.
That said, Pervasive has focused and optimized DataRush around analytic tasks that typically require lots of parallel processing. A typical application is the sort of near-real-time data crunching that credit card companies do to detect and counter fraud.
From a business perspective, Pervasive's strategy with DataRush is to move up the software stack to higher-level solutions. However, these will still be in the form of enabling applications to handle certain types of tasks rather than actually getting into the application space themselves.
Pervasive Software is a well-established software company that has been listed on Nasdaq since 1997 and counts thousands of users as its customers. Along with a set of data integration products, it sells a database that is popular with many "low IT" organizations (PDF). Now it's adding DataRush to tackle a problem that didn't even exist for the mainstream users that Pervasive serviced 10 years ago.





