11 Open Source Programming Tools on the Rise

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.

11 open source programming tools on the rise

If the open source model has a sweet spot, it's in programming tools. Even in the deepest corners of proprietary stacks, open source tools can be found, often dominating. The reason is clear: Open source licenses are designed to let users revise, fix, and extend their code. The barber or cop may not be familiar enough with code to contribute, but programmers sure know how to fiddle with their tools. The result is a fertile ecology fed by the enthusiasm of developers who know how to "scratch an itch." Here is a very unscientific survey of worthwhile open source tools that have caught our eye. Most are relatively new; others continue to surprise us as they morph to support the latest programming trends.

Open source programming tool on the rise: Rhomobile Rhodes

Ruby may be the second most popular language on Github, but that won't do you any good if you want to program for the iPhone, a platform that prefers Objective-C, the way God intended when he first created the NeXT machine.

Rhomobile Rhodes is an open source platform for bundling up Ruby websites and stuffing them into an iPhone app. You can even use jQuery Mobile to handle the layout if you wish. It's like building a Web app, but you have to remember that the user has big fat fingers instead of a much more precise mouse pointer.

11 programming trends to watch

Open source programming tool on the rise: Git

While many developers continue to use CVS and Subversion, many projects are moving to Git, a source-control tool that works well for distributed teams where a dominant central repository might not exist.

Git makes nearly every copy its own central repository and offers sophisticated tools for merging the proliferation. With SVN or CVS, users check out a copy that must rejoin the center. Git users, on the other hand, create stand-alone repositories with all the privileges of the center. In other words, Git is like democracy, while CVS represents the feudal world.

11 programming trends to watch

Open source programming tool on the rise: Gerrit

The rise of code reviews at larger development shops could lead to only one thing: the creation of a tool to automate the process. Enter Gerrit.

Meant to work closely with Git and Repo, Gerrit allows code validators to send comments to the central Git repository, creating an extensive meta layer of discussion on top of the code itself. In the old days, discussions took place in header comments, but by separating comments to a dedicated layer, Gerrit allows for a more sophisticated discussion that doesn't force future readers to wade through old change discussions before getting to the code.

11 programming trends to watch

Open source programming tool on the rise: Hadoop

Hadoop is a tool kit for splitting work into pieces for computation on separate servers, then joined together into a final product. Google pioneered the idea when it needed to choreograph a vast army of servers to crawl the Web, and now Hadoop offers a general framework that's being used in similar situtations.

There's a great deal of spinoffs that bundle Hadoop with code for tackling specific problems. Mahout is a scalable machine-learning framework that analyzes large data sets for patterns that might emerge. Hive offers a data warehouse that can be queried with parallel search using HiveQL, a popular approach for dealing with massive quantities of Web logs.

11 programming trends to watch

Open source programming tool on the rise: jQuery

These days many Web developers start off learning jQuery before trying to understand pure JavaScript because it's much more easy and efficient to manipulate the DOM. Part of its success is due to the layer of plug-ins created by its vast army of devotees. These plug-ins have become a quickly changing ecosystem filled with creative tools for enhancing websites and are usually easy to string together to create a coherent display. There are even some bigger collections of plug-ins that harmonize the widgets. jQuery Mobile, for instance, is dedicated to producing applications that run well on the small screens of smartphones.

11 programming trends to watch

Open source programming tool on the rise: Eclipse (and the Eclipse Marketplace)

It's hard to write about programming tools without mentioning Eclipse. While the IDE is well-established, plug-ins continue to re-invigorate it. Plug-ins exist for practically every important language available. PHP, Ruby, Python, and C all live comfortably in this IDE, thanks to the evolving plug-in ecosystem.

Almost as important are the sophisticated ecologies that support these plug-ins, many of which are open source. The Eclipse Marketplace is one such site devoted to helping users discover the tools they need. The site includes a social networking layer, showing who likes a particular plug-in and which plug-ins offer similar or competing solutions, thereby opening your search beyond simple lists of the most popular or the most downloaded.

11 programming trends to watch

Open source programming tool on the rise: Firebug

Programmers are increasingly taking advantage of tools built right into the browser, with the Firefox plug-in Firebug leading the way.

The Firebug ecology is so fertile that it has spawned a subcategory of plug-ins that extend Firebug itself, often in surprising ways. FirePython, for example, doesn't actually live on the browser; it gets inserted into the server, where it delivers debugging information to the browser.

Thanks in some measure to Firebug's popularity among developers, all the major browsers offer detailed information about the images, scraps of code, and whatnot that make up the page on view -- an approach that will only become more common as more software is written to take advantage of increasingly robust browsers.

11 programming trends to watch

Open source programming tool on the rise: Preprocessors

Many programmers like the distribution and reliability of language X but can't stand the syntax. Enter today’s proliferation of preprocessors. They let you program in language X while writing something different because whatever you write is converted to X before the compiler takes hold.

CoffeeScript seems like a precompiler for JavaScript, but it's a full compiler. The creator said, "Underneath all of those embarrassing braces and semicolons, JavaScript has always had a gorgeous object model at its heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way." It makes writing JavaScript more like writing Python because the space bar does the work of the curly brackets and a few of the other punctuation marks.

11 programming trends to watch

Open source programming tool on the rise: OpenVidia

Graphics processing units are best known for popping up triangles from mythical worlds where people shoot at each other. This is rapidly changing as video card manufacturers and programmers are realizing that the chips are massively parallel computers primed to manipulate code. Scientists are learning that the graphics card used to play Grand Theft Auto can also run simulations to help cure diseases, as many scientific problems can be structured to include a huge number of events that happen simultaneously, a perfect job for a video card. The OpenVidia repository is filled with projects that perform image recognition, searching, and more. It makes a perfect excuse for every programmer to ask their boss for an expensive graphics card.

11 programming trends to watch

Open source programming tool on the rise: NoSQL

The NoSQL trend started several years ago, but it keeps heating up as more websites recognize that their future is in vast quantities of data that don't need all of the belts and suspenders protections offered by serious databases like Oracle.

The latest tools make it easier to deploy NoSQL into clouds. Amazon's SimpleDB can be paid for by the byte, and many other teams are offering additional NoSQL tools as services. Cassandra, for example, is supported by DataStax. MongoDB has inspired more than a handful of cloud hosts. The tools continue to proliferate, boasting almost too many to list. Thank goodness someone is maintaining a list of all the NoSQL databases.

11 programming trends to watch

Open source programming tool on the rise: Content management systems

Even today, most programmers fill up text files and push a button to compile and run the code. This is changing as users gain more and more control to alter the software as it runs.

Drupal websites, for instance, blend traditional modules with additional inserted code. Although much of this occurs on the back end, Drupal can be configured to allow users to include PHP code in data fields, enabling programmers to update a bit of running code on the fly. They're usually smart enough to do this on a test version, but sometimes they update hot, running code because it's not that hard. What could possibly go wrong?

11 programming trends to watch

Copyright © 2012 IDG Communications, Inc.

Related Slideshows