Most of the tools that humans have invented are designed to increase physical ability. Only a few tools have been invented to increase mental ability—language was the first. Then math. Then books. And finally, computers. (If I’ve missed any, someone will happily point it out in the comments section. Thanks in advance.)
But a computer, by itself, is about as useful as a boat anchor in South Dakota. You don’t buy a computer to own a computer, you buy it to run software. And it’s not software you want either. What you want are the services that all that hardware and software makes possible.
You buy a computer and you fill it with software so you can expand your ability to process information, simulate situations, extrapolate possibilities, make informed choices, discover synergistic opportunities, access information. And communicate, so you can be informed, educated, and entertained. You use software to expand the reach of your mind, your identity, and your ability to affect your environment.
That’s pretty good for something that’s ultimately nothing more than a bunch of ones and zeroes. The real trick is knowing how to put the ones and zeroes in the right order. Remember, the plumber doesn’t get paid for banging on the pipes, he gets paid for knowing which pipe to bang.
As it turns out, Google's been busy developing its own programming language called "Go," and on Tuesday, the search giant released what they've managed to build so far. As an open source project, the rest may be up to you.
To describe the programming language, Google reached into its bag of adjectives and came up with simple, fast, safe, concurrent, and fun. Typical builds take a fraction of a second but run nearly as quickly as comparable C or C++ code, Google clams. Go is also touted as being memory safe.
So what's it for? One of the things Go was designed to do is take advantage of multicore processors that can perform multiple tasks in parallel, as well as give programmers the ability to quickly write code.
"It seems it's getting much harder to build software than it used to be," said Rob Pike, a principal software engineer working on Go. "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."
In what turned out to be a heated code-battle right up until the end, Netflix on Monday awarded a seven-person team of statisticians, machine-learning experts, and computer engineers from the U.S., Austria, Canada, and Israel its $1 million prize. All the multinational team -- called BelKor Pragmatic Chaos -- had to do was put their programming mettle to the test and improve the online movie rental service's movie recommendation algorithm by 10 percent, then fend off the competition for 30 days during which time a last call was issued for other teams to submit their work.
Sounds like an easy way to earn a million smackers, right? Mabye not, but if you think you have what it takes to out-program number crunchers from all around the world, only you missed out the first time around, Netflix is again giving out some serious cash in a follow-up contest.
This time around, the award is cut in half from $1 million to $500,000, but there will be no specific accuracy target as there was before. Instead, contestants will be presented with demographic and behavioral data, and then expected to model indviduals' "taste profiles," Netflix said. The data set of more than 100 million entries will provide the renters' age, gender, ZIP codes, genre ratings, and previously chosen movies.
It's a happy belated birthday wish for the Common Business Oriented Language, otherwise known as the COBOL programming language, which turned 50-years-old on Friday.
One of the oldest programming languages, there are an estimated 200 billion lines of COBOL code in existence today, with hundreds more being added every day. Moreover, some 32 percent of enterprises still use COBOL for development or maintenance, says Mike Gilpin, an analyst at Forrester Research.
Yet despite COBOL's continued prominence, a survey conducted by Micro Focus earlier this year revealed that only 18 percent of those pinged had ever head of COBOL.
In a win for both iPhone owners and .Net developers alike, Novell this week has begun offering a kit for developers to build iPhone and iPod Touch apps using Microsoft's .Net framework. The kit -- called MonoTouch 1.0 -- lets developers utilize code and libraries written for .Net and progamming languages like C#, providing developer services like garbage collection, thread management, type safety, and Web services, noted Miguel de Icaza, VP of the developer platform at Novell and leader of the Mono project.
"MonoTouch brings a new option to the table," said analyst Al Hilwa, a program director for application software at IDC. "I would say that applications closest to the metal will continue to be written in Objective-C, but where developers want to target multiple platforms, including apps that cross over between desktop and mobile, MonoTouch allows them that portability. Of course, the big win with it is that it opens the door for some 5 million .Net developers to begin to do iPhone applications."
By opening the .Net door to iPhone app development -- and a programming language more familiar to the average developer than Objective-C -- Novell anticipates new apps being developed ranging from productivity software to health care apps and games.
GPGPU computing has been a frequent subject of tech chatter, the latest of which involves AMD's release of the first OpenCL SDK for x86 CPUs. What this does is enable developers to take OpenCL code that would normally be written for GPUs and target CPUs instead.
GPGPU computing, which offsets tasks from the CPU to the GPU, offers a range of benefits, including the potential for much faster video encoding and less time waiting for effects to be applied in supported applications like Photoshop CS4. But is there much use for AMD's "backwards" concept?
"The beta will help programmers more easily develop parallel software programs and take further advantage of multicore x86 CPUs to accelearate software and deliver a better computing experience," AMD states.
OpenGL 3.2 is here, marking the third major update in twelve months to the 2D and 3D graphics API (application programming interface). The updated API adds a bunch of new features, including a new WebGL standard for 3D on the web.
According to the Khronos Group, a member-funded industry consortium focused the creation of OpenGL, the latest release adds features to enhance performance, visual quality, accelerated geometry processing, and easier portability of Direct3D applications.
In addition, the OpenGL ARB (Architecture Review Board) working group on Khronos has defined an updated version of the OpenGL Shading language, along with two profiles within the OpenGL 3.2 specification for new application development and backwards compatibility.
Both AMD and Nvidia commented on the updated release, with the former calling the development of three new versions in twelve months a "remarkable achievement," while the latter announced the release of its OpenGL 3.2 beta drivers.
After three years, a team of programmers have finally laid claim to the $1 million "Netflix Prize" - a competition that invited teams to test their programming mettle and improve upon the online movie rental service's movie recommendation algorithm by 10 percent.
While progress had been slow going, the 10 percent mark was finally broken last month after several top teams joined forces to form BellKor's Pragmatic Chaos. With a score of 10.08 percent, it looked like BellKor was ready to cash in on the reward, however their announcement put into effect a 30 day last call period for other teams to submit their work.
A team called The Ensemble did just that, turning in an algorithm that scored 10.09 percent, giving the team the lead over BellKor. BellKor would manage to tie the score with under 30 minutes left in the competition, but 4 minutes before close, The Ensemble turned in the top submission of 10.10 percent, stealing a victory in what turned out to be a nail-biting race.
Netflix is expected to formally announce the winner once it confirms the data.
Adobe this week anounced two open-source initiatives designed to help media companies and publishers build better Flash applications.
The first is the Open Source Media Framework (OSMF), which paves the way for more sophisticated media players to run Adobe Flash content. Formerly known as Strobe, the OSMF offers advanced playback and navigation controls, as well as plug-ins for advertising and tracking. It can also work with any kind of Flash content.
The other open-source project is the Text Layout Framework (TLF), which will help developers add advanced typography and font layouts to their Flash applications. When combined with the new text engine in Flash Player 10, TLF makes possible vertical and bidirectional text, flowing text around images, and multiple language support.
As Microsoft's Silverlight continues to gain traction and HTML 5 adding another dimension to the Web 2.0 war, don't be surprised to see an even bigger push from Adobe in expanding upon Flash's capabilities.
Doom might arguably be the most memorable (or at least the most popular) PC game of all time, and with good reason. Prior to Doom's release, programmers found themselves in the stone age of game development. For the most part, building a game meant starting from scratch and compiling all new code, but like the invention of the wheel, the advent of the game engine forever changed the PC gaming landscape.
Now, we know what you're thinking, and we're well aware that game engines existed prior to Doom's release in 1993; we're even going to cover some. But it was id Software's now legendary first-person shooter that pushed reusable 3D game engines as a viable programming model, and videogame development has never been the same since then.
On the following pages, we look back at all the major PC game engines and what made each one special. As a prerequisite, be sure to check out our history of 3D graphics, which covers video cards from the Voodoo to the GeForce and everything in between. Once you've digested these two features, you're guaranteed to have a new-found respect for gaming on the PC!