15 hot vs not programming trends
An interesting approach of what’s hot and what’s not in today’s programming is being presented in 15 hot programming trends — and 15 going cold. The 15 new trends of programming are presented in short:
1) Hot: Preprocessors – Not: Full language stacks
Programmers nowadays do not create a new programming language. They prefer to just write a preprocessor that translates the new code into something old with a rich set of libraries and APIs. For example Groovy was created as a simpler version of Java without the overly insistent punctuation. CoffeeScript
was created to fix JavaScript
. Scala
or Clojure
are examples of run on the JVM, but there’s only one JVM.
2) Hot: JavaScript MV* frameworks – Not: JavaScript files
Web apps and pages have become so easy to create, since there are plenty of frameworks like Kendo
, Sencha
, jQuery Mobile
, AngularJS
, Ember
, Backbone
, Meteor JS
, that can handle the events and content of the applications. For example, there is no need to write Javascript to create a pop up alert box, since HTML AJAX
apps can do it for you.
3) Hot: CSS frameworks – Not: Generic Cascading Style Sheets
CSS
frameworks like SASS
and Compass
encourage programmers to literate, stable coding by offering programming constructs such as real variables, nesting blocks, and mix-ins, thus making design layer much easier. For example, a tweak to a color is enough to change the stype of a Web page, instead of opening the CSS file and including a new command to it.
4) Hot: SVG + JavaScript on Canvas – Not: Flash
Flash use seems to come to an end, since now web developers tend to prefer Javascript
. Javascript
integrates better with the DOM
layer coming from new formats like SVG (Scalable Vector Graphics)
. There are also APIs that offer elaborate drawing on the Canvas object, often with the help of video cards.
5) Hot: Almost big data (analysis without Hadoop) – Not: Big data (with Hadoop)
Many problems aren’t big enough to use the fanciest big data solutions. Companies like Google or Yahoo do have data files measured in petabytes or yottabytes, but most companies have data sets that can easily fit in the RAM of a basic PC. So Big data may be used in cases that demand the fast response times of dozens of machines in a Hadoop cloud running in parallel, but in other cases on a single machine without the hassles of coordination or communication may be fine.
6) Hot: Game frameworks – Not: Native game development
Nowadays game developers do not have to create everything from scratch in C
. They can use libraries like Unity
, Corona
, or LibGDX
to build their systems. All they have to do is write instructions for the libraries. This is quite a relief for them since now they don’t have to deal with the details, they can concentrate on the game play, narrative arc, characters, and art.
7) Hot: Single-page Web apps – Not: Websites
Web apps are now front ends to large databases that are filled with content. All information a Web app needs is pulled from the database and poured into the local mold. There’s no need to mark up the data with all the Web extras needed to build a Web page. Thus, the data layer is completely separate from the presentation and formatting layer. The rise of mobile computing is another factor: a single, responsive-designed Web page that works like an app.
8)Hot: Mobile Web apps – Not: Native mobile apps
HTML
can reduce all the hard work when having a new idea for mobile content. Instead of writing code in different programming language for iOS, Android, Windows 8, and maybe even BlackBerry OS, you can just build an HTML
app and put it on a website to run on all the platforms. Now that the HTML layer is getting faster and running on faster chips, this approach can compete with native apps better on even more complicated and interactive apps.
9) Hot: Android- Not: iOS
While iPhone and iPad continue to have dedicated fans who love their rich, sophisticated UI, Android seems to excel in sales. An the reason is quite simple: the price. The Android world produces products for as low as one-fifth the price of iPhones, thus conquering the market.
Another reason may be the effect of open source. There are big Android tablets and little ones, Android cameras and even Android refrigerators.
10) Hot: GPU – Not: CPU
Since video games have become full of extensive graphical routines that can run in parallel, video cards have also changed to do all the heavy work. Gamers may spend more than $500 or $600 to buy a GPU card. But apart from gamers also computer scientists are now converting many parallel applications to run hundreds of times faster on the GPU.
11) Hot: GitHub – Not: Résumés
Reading someone’s code is so much richer and more instructive than reading his resume. It is much easier to check for example if they write good comments or if they waste too much time breaking things into tiny classes that do little. So participating in open source projects is becoming more and more important for finding a job.
12) Hot: Renting – Not: Buying
Companies used to open their own data center and hired their own staff to run the computers they purchased outright. Now they rent the computers, the data center, the staff, and even the software by the hour. It seems like a good idea, at least until the website goes viral and you realize you’re paying for everything by the click. Renting seems to be a new trend.
13) Hot: Web interfaces – Not: IDEs
IDEs seem to be replaced by browser-based tools that let you edit the code, often of a working system. For example, if you don’t like how WordPress
works, it comes with a built-in editor that lets you change the code right then and there. Microsoft’s Azure
lets you write JavaScript
glue code right in its portal. They may not offer the best debugging environments and there’s something dangerous about editing production code, but they seem to have made a good start.
14) Hot: Node.js – Not: JavaEE, Ruby on Rails, PHP
Node.js
has came along with the JavaScript
callback model of programming, to bring a solution to threaded models. Now code can run really fast — faster than anyone expected was possible from a toy language once used only for alert boxes. Suddenly the overhead of creating new threads became obvious and Node.js took off. Problems arise when programmers don’t behave well, but the responsibility has largely been good for them. Making resource constraints obvious to programmers usually produces faster code.
The Node.js world also offers harmony between browser and server. The same code runs on both making it easier for developers to move around features and duplicate functionality.
15) Hot: Hackerspaces -Not: College
Hackerspaces are stepping up to nurture innovation without the outrageous overhead of the college industrial complex. Courses don’t need to last an entire semester. Students don’t need to start campaigning for admission a year before starting to learn. The ad-hoc nature is fast proving better suited for the rapidly moving world of technology.
I try never to comment on programming articles but I do have to disagree with a lot that was said in this article. And especially to represent this as “zeitgeist” I think is incredibly naive. “Hot: Almost big data (analysis without Hadoop) – Not: Big data (with Hadoop)” Big data means an ever increasing data set. It doesn’t mean the size of the data right now. Hadoop, and NoSQL dbs like Mongo, are all about scaling of data. So a hadoop system that analyses 1 gig of data today may well end up processing 1 TB in 2 years time.… Read more »
Well said. I agree completely.
I have to disagree with number 8. My company just converted from an Android web app to a native Android app. Working native give a lot more control in our situation. The web code base was a mess because of having to deal with all the different phones and screen sizes out there. Web apps are getting better but they are still a long way off from being the end all be all. Facebook is the perfect example of this. Not too long ago they converted from a web app to a native app and saw a very nice performance… Read more »
Have my problems with “Hot: Mobile Web apps – Not: Native mobile apps” although I’m a heavy JavaScript dev and would love it. But as someone already mentioned, the real world situation in a corporate environment looks different (as of now), although I think/hope this will change with all the potential that’s coming up
Not agree with these details also this has been posted before and its a repeated version of post.