15 hot programming trends — and 15 going cold

Programmers love to sneer at the world of fashion where trends blow through like breezes. Skirt lengths rise and fall, pigments come and go, ties get fatter, then thinner. But in the world of technology, rigor, science, math, and precision rule over fad.

That’s not to say programming is a profession devoid of trends. The difference is that programming trends are driven by greater efficiency, increased customization, and ease-of-use. The new technologies that deliver one or more of these eclipse the previous generation. It’s a meritocracy, not a whimsy-ocracy.

What follows is a list of what’s hot — and what’s not — among today’s programmers. Not everyone will agree with what’s A-listed, what’s D-listed, and what’s been left out. But that’s what makes programming an endlessly fascinating profession: rapid change, passionate debate, sudden comebacks.

Hot: Preprocessors

Not: Full language stacks

It wasn’t long ago that people who created a new programming language had to build everything that turned code into the bits fed to the silicon. Then someone figured out they could piggyback on the work that came before. Now people with a clever idea just write a preprocessor that translates the new code into something old with a rich set of libraries and APIs.

The folks who loved dynamic typing created Groovy, a simpler version of Java without the overly insistent punctuation. Those who wanted to fix JavaScript created CoffeeScript, a preprocessor that lets them to code, again, without the onerous punctuation. There seem to be dozens of languages like Scala or Clojure that run on the JVM, but there’s only one JVM. Why reinvent the wheel?

Hot: JavaScript MV* frameworks

Not: JavaScript files

Long ago, everyone learned to write JavaScript to pop up an alert box or check to see that the email address in the form actually contained an @ sign. Now HTML AJAX apps are so sophisticated that few people start from scratch. It’s simpler to adopt an elaborate framework and write a bit of glue code to implement your business logic. There are now dozens of frameworks like Kendo, Sencha, jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS, and many more — all ready to handle the events and content for your Web apps and pages.

Hot: CSS frameworks

Not: Generic Cascading Style Sheets

Once upon a time, adding a bit of pizzazz to a Web page meant opening the CSS file and including a new command like font-style:italic. Then you saved the file and went to lunch after a hard morning’s work. Now Web pages are so sophisticated that it’s impossible to fill a file with such simple commands. One tweak to a color and everything goes out of whack. It’s like they say about conspiracies and ecologies: Everything is connected.

That’s where CSS frameworks like SASS and its cousins Compass have found solid footing. They encourage literate, stable coding by offering programming constructs such as real variables, nesting blocks, and mix-ins. It may not sound like much newness in the programming layer, but it’s a big leap forward for the design layer.

Hot: SVG + JavaScript on Canvas

Not: Flash

Flash has been driving people crazy for years, but the artists have always loved the results. The antialiased rendering looks great and many talented artists have built a deep stack of Flash code to offer sophisticated transitions and animations.

Now that the JavaScript layer has the ability to do much of the same, browser manufacturers and developers are cheering for the end of Flash. They see better integration with the DOM layer coming from new formats like SVG (Scalable Vector Graphics). The SVG and HTML comprise one big pile of tags, and that’s often easier for Web developers to use. Then there are large APIs that offer elaborate drawing on the Canvas object, often with the help of video cards. Put them together and there few reasons to use Flash anymore.