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.

Are the belts-and-suspender approaches of traditional databases with traditional transaction protection the right thing for your data? Or do you want a faster, cheaper, more modern tool that will spread the load effectively over a cluster of machines? Sure, consistency and accuracy are important to banks, but what about a table full of random blather from the Internet? Does everything need the best protection that data scientists can deliver? The answer (often): Those who need absolute consistency like banks and airlines go with traditional SQL databases with real transactions. Everyone else chooses the speedy, simpler, scalable NoSQL.

Dev tech battle No. 6: JavaScript vs. Dart and Go (or maybe Google itself)
JavaScript may have fans in the cubicle farms of Google, but you wouldn't know it from the endless barrage of replacements. First, there was GWT (Google Web Toolkit), a clever cross-compiler that turned Java into JavaScript. If you've ever looked at the stacks of code for Gmail, among other Google products, you'll know it wasn't handcrafted in JavaScript. Then Google created Dart and Go, two languages that might replace JavaScript in the browser one day.

Both Dart and Go have their hearts in the right place. They fix major glaring problems with JavaScript and the browser stack, but many people don't care. JavaScript on the server has been exploding, thanks to Node.js. Who needs anything else?

For all its power, Google faces an uphill fight against a huge army of programmers who learned JavaScript long ago and now want to rewrite their server stack in it. It's hard to fight inertia. But perhaps the superlatives that early adopters have been extolling about the cleaner syntax and simplified models of Dart and Go will become too loud for the masses to ignore.

Dev tech battle No. 7: Chef vs. Puppet
Long ago, a corporation had a few servers in the backroom and installing new software was simple. Then the cloud exploded and every website worth anything ran on a cluster of machines that needed to be kept running. That meant doing things N times to the N machines and not messing up. Chef and Puppet are two tools that have arisen to help admins run an assembly line for configuring cloud machines.

Devops specialists devoted to Chef champion the configuration management tool's flexibility in letting you write instructions for creating machines in Ruby. "You get the power of Ruby for free," they say. Puppet also configures the cluster but with instructions specified in a JSON-like language focused on doing one thing well. While newer versions of Puppet allow a bit of Ruby, the basic language remains dominant. Is it better to create a custom syntax for the job or give people the power (and danger) of a wide-open, general-purpose language?


Previous Page  1  2  3  4  Next Page 

Sign up for CIO Asia eNewsletters.