On most days, programming is a rewarding experience, with no problem too challenging to solve. Perseverance, intuition, the right tool -- they all come together seamlessly to produce elegant, beautiful code.
Stories by Peter Wayner
The news is now old that investors will be given a chance to trade big piles of cash for a piece of the pile of code known as Facebook.com. Just a short time ago, few of us would have predicted that a pile of PHP would be worth billions of dollars, but clearly we underestimated the power of the platform.
Linus Torvalds's fabled 'world domination' on the desktops of clerks or CEOs may never arrive, but it's already here on the computers of programmers everywhere
The story of <a href="http://www.infoworld.com/slideshow/24605/infoworlds-2012-technology-of-the-year-award-winners-183313#slide19">Node.js</a> reads like it came from a Hollywood script assembly line: Some kids are monkeying around with scrap they picked up around the Internet and find a new way to snap it together. The next thing you know, they're lapping the pack at the racetrack and coasting to the winner's circle.
To the world at large, computers are scary machines that are impossible to understand, and programmers are the mysterious geniuses who know how to manipulate them even if they are never able to fix yours for whatever reason.
It's been <a href="http://www.infoworld.com/slideshow/24605/infoworlds-2012-technology-the-year-award-winners-183313#slide5">a big year for Apache Hadoop</a>, the open source project that helps you split your workload among a rack of computers. The buzzword is now well known to your boss but still just a vague and hazy concept for your boss's boss. That puts it in the sweet spot when there's plenty of room for experimentation. The list of companies using Hadoop in production work grows longer each day, and it probably won't be long before "Hadoop cluster" takes over the role that the words "crazy supercomputer" used to play in thriller movies. The next version of the WOPR is bound to run Hadoop.
Was it the philosopher George Santayana who said, "Those who don't remember the past are condemned to repeat it?" Did he offer any hints for those of us who want to repeat the past, especially the successes? We're beyond the teary elegies of 2011 and deep into making resolutions for 2012. If we're going to stand half a chance of creating something great this year, it only makes sense to pause and celebrate what went right in 2011.
Depending on your perspective and proximity to the bleeding edge, the world of programming evolves either too fast or too slow. But whether you're banging out Cobol or hacking Node.js, one fact remains clear: Programmers must keep an eye on the latest programming trends to remain competitive in ever-shifting job markets.
For the last few years, the world of NoSQL databases has been filled with exciting new projects, ambitious claims, and plenty of chest beating. The hypesters said the new NoSQL software packages offered tremendous performance gains by tossing away all of the structure and paranoid triple-checking that database creators had lovingly added over the years. Reliability? It's overrated, said the new programmers who didn't run serious business applications for Wall Street banks but trafficked in trivial, forgettable data about people's lives. Tabular structure? It's too hidebound and limiting. If we ignore these things, our databases will be free and insanely fast.
Scripting languages are the hot technology today for application and Web development -- no longer the backwater afterthought of the early days running in a pokey interpreter. Nor are scripting languages any longer merely the tool used for quick-and-dirty patching (someone once called Perl <a href="http://www.infoworld.com/%5Bprimary-term-alias-prefix%5D/%5Bprimary-term%5D/whatever-happened-perl-012">the duct tape of the Internet</a>, and it stuck so well that Perl lovers wear the label proudly). No, today, scripting languages are popular for "real" programming work. In fact, entire systems and large-scale enterprise-grade projects are built from them.
At the movies, almost every thriller seems to include a moment when a character says, "That was easy ... a bit too easy." Then everything falls apart.
HTML5 heralds some nifty new features and the potential for sparking a Web programming paradigm shift, and as everyone who has read the tech press knows, there is nothing like HTML5 for fixing the Internet. Sprinkle some HTML5 into your code, and your websites will be faster and fancier -- it'll make your teeth white, too. But the reality of what HTML5 can do for those seeking native-app performance on the Web falls short of the hype.
Many cynical users assume Web browsers do little more than dutifully render HTML. The content is the most important part, they say, so it makes little difference which browser you use.
Stop. Don't look up. Don't look outside of the box, the rectangle holding this text. Can you tell me which browser you're using? Did you choose it yourself for all the right reasons? Can you explain why you're trusting your precious HTML-encoded content to this browser, the way a major league batter can explain why maple or ash and a thin or thick barrel is absolutely the right choice for sending that ball into the bleachers? Are you sure this browser is the best choice for the tags and the metadata hurling toward your computer?
The changes and enhancements to the form tags are some of the most extensive amendments to the HTML5 standard, offering a wide variety of options that once required add-on libraries and a fair amount of tweaking. All of the hard work that went into building self-checking widgets and the libraries that ensure the data is of the correct format is now being poured into the browser itself. The libraries won't be necessary -- in theory -- because the work will be done seamlessly by all browsers that follow the standard. In practice, we'll probably continue to use small libraries that smooth over slight inconsistencies.