Programmers love to sneer at the world of fashion where trends blow through like breezes. 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.
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. That’s what makes programming an endlessly fascinating profession: rapid change, passionate debate, sudden comebacks.
Full language stacks(Not)
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 simply 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. There seem to be dozens of languages like Scala or Clojure that run on the JVM, but there’s only one JVM. You can run many languages on .Net’s VM. Why reinvent the wheel?
This isn’t exactly true. The hypervisors have their place, and many Docker containers run inside of operating systems running on top of hypervisors. However, Docker containers are soooo much smaller than virtual machine images, and that makes them much easier to use and deploy.
When developers can, they prefer to ship only Docker containers, thanks to the ease with which they can be juggled during deployment. Clever companies such as Joyent are figuring out how to squeeze even more fat out of the stack so that the containers can run, as they like to say, on “bare metal.”
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.
Those are merely the Web apps. There are also a number tuned to offering cross-platform development for the smartphone/tablet world. Technologies like NativeScript, PhoneGap, and Sencha Touch are a few of the options for creating apps out of HTML5 technology
Generic Cascading Style Sheets(Not)
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 interconnected.
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.
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 transi