Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

10 battles raging for the hearts and minds of developers

Peter Wayner | Oct. 7, 2014
PHP vs. Node, SQL vs. NoSQL, compiled vs. scripting -- the passionate debates and technical rifts that define programming today.

Dev tech battle No. 8: Hudson vs. Jenkins
The idea of continuous integration was a hack to automatically test and deploy all the new code committed to a repository. When it started to work well, people began to fight over its legacy.

On one side of the battle is Hudson, the branch that is officially part of the Eclipse Foundation and run by many of the people at Oracle who inherited the code from Sun. They bring top-notch, corporate attitude to building a stable, serious tool for enterprises. On the other side is Jenkins, the home of many of the original hackers who love to experiment. The Jenkins tree seems to evolve much faster with new versions appearing as often as every week.

The battle between Hudson and Jenkins is emblematic of a greater battle throughout the developer world, between a steadfast devotion to careful testing and stable code versus more rapidly evolving features, faster fixes for bugs, and greater input from the developer community at large.

Dev tech battle No. 9: MySQL vs. MariaDB
Speaking of battle lines drawn around Oracle-supported projects, let's not forget the MariaDB schism with MySQL.

When Oracle bought MySQL, open source fans were afraid of what might come from a company built on a powerful, proprietary tool. Their fears have largely been unfounded. But that hasn't stopped Monty Widenius, one of the founders of MySQL, from striking off on his own with a fork. MariaDB offers much of the same syntax and features as MySQL, but now it comes with a few new features and storage engines that run a bit faster, at least in the eyes of the MariaDB lovers.

Will the market choose the scrappy, new fork, or will it stick with the big, dominant code base that's served us so well over the years? Will the world choose a small, ragtag gang of innovators or a big, solid corporation devoted to stability?

Dev tech battle No. 10: Compiled vs. scripting
The distinction between compiled and scripted code isn't as distinct as it was before Just-In-Time compilers and optimizers, but it still matters to programmers. Do they want their code to be prodded, massaged, optimized, and translated into simple machine code? Or do they want a more casual approach where the computer interprets the code at runtime, sometimes allowing the code to modify itself?

On one side are the classic languages like C and Java, supported by elaborate development suites. On the other are simpler scripting languages like Python, Ruby, and JavaScript that can be created in a text editor and pushed immediately into a small runtime interpreter. To make matters more complex, there are hybrid solutions like Groovy, a script-ish language that runs in the Java Virtual Machine, itself a tool that does plenty of runtime optimization. Perhaps the distinction is fading, but that doesn't stop people from arguing about whether the elaborate work of the compiler is really worth all of that effort.


Previous Page  1  2  3  4 

Sign up for Computerworld eNewsletters.