15 technologies changing how developers work

The very nature of programming is evolving faster than you might think, thanks to these powerful tools

Page 3 of 4

Developer tool No. 8: Infrastructure as a service

Did I mention the teams of server curators? Those guys were fun to hang out with at lunch or after work, but now they've been abstracted away into the cloud layer, working as they do in a data center across the globe for another company that fancies itself a leader in the world of cloud this or cloud that. Few programmers need to ask the infrastructure team to build them a new server for a new project. They simply log into a website, push a button, and get a machine running for them. It's so much easier, but these IaaS administration Web pages won't buy you a drink after work. Of course, that saves you from ever having to get the next round.

Developer tool No. 9: Node.js and JavaScript

Before some of you were born, Web servers spit out static HTML. Then someone figured out how to create dynamic servers that could interact with databases. Every team needed one person to program the database in SQL, one person to write the server code in PHP or Java, and one person to design the HTML templates. Once everyone fell in love with AJAX and JavaScript running on the client, the sites needed yet another person to speak that language.

Now it's all done in JavaScript. The browser, of course, still speaks JavaScript, but so do the server layer (Node.js) and the database layer (MongoDB and CouchDB). Even the HTML is often specified with JavaScript code for a framework like Ext JS or jQueryMobile that generates the HTML at the client.

Developer tool No. 10: Secondary marketplaces

If you're building a game, you could hire your own artists to create a stunning set of models. You might even hire a few programmers to add visual effects to make the game look cool. Or you could go shopping at secondary marketplaces like the Unity Asset Store and buy up all the pieces you need. As I write this, there's a 33 percent markdown on the Tile A Dungeon Sewer Kit, "designed as a modular kit to build from small to large sewer game scenes." The sale will probably be over by you time you read this and the price will be back up to $45. Who needs developers or artists with prices so low?

There are more and more effective marketplaces for plug-ins, extensions, libraries, and other add-ons. As with libraries and frameworks, here one doesn't program so much as go shopping for the right pieces.

Developer tool No. 11: Virtual machines

The days of writing code for real chunks of silicon are largely gone. Much of the code written today runs on virtual machines that translate your instructions into something understood by the chip. The Java Virtual Machine, the C#/.Net Virtual Machine, and now JavaScript engines end up being the main target for code.

The popularity of the VM is growing to absorb everything in the stack. In the past, if you wanted to create a new language, you would need to build the entire stack from pre-processor to register allocator. These days, new languages sit on top of the old virtual machines. Clojure, Scala, Jython, JRuby -- they're all piggybacking off Sun's (now part of Oracle) great work in building the VM.

This same behavior is appearing in the browser world. Sure, you could create your own browser and language, or you could cross-compile it to be emulated in JavaScript. That's what the folks did when they built cleaned-up tools like CoffeeScript. If this isn't confusing enough, Google produced GWT (Google Web Toolkit) to convert Java to JavaScript.

Developer tool No. 12: Social media portals

In the early days of the Internet, you would build your own website, cross your fingers, and hope people would find it. When they did, they simply had to remember your cool URL.

Alas, more and more of the Web is being absorbed into big silos like Facebook and Salesforce. If you build your own website, you might turn it on and hear the sound of crickets because all of humanity is clicking away in Facebook or Salesforce.

The solution, of course, is to build a Facebook or Salesforce app. They'll let you in and let you integrate with their platform to a point. But in the end, your app is an extra that could be limited or tossed aside with a wave of a hand. What choice do you have? You're either a lackey to the big portals or you're listening to crickets.

| 1 2 3 4 Page 3