Ook de development-wereld is onderhevig aan trends, al ontstaan die meestal uit de drang om steeds efficiënter te werken. De nieuwe technologieën die dat oplevert in combinatie met een verbeterde gebruikersvriendelijkheid overschaduwen de vorige generatie. Het gaat in die wereld voornamelijk om verdiensten, niet om eigenzinnigheid.

Wij hebben een lijst samengesteld van wat er "hot" is en wat "not" onder de programmeurs vandaag de dag. Niet iedereen zal het met deze lijst eens zijn maar dat is juist wat programmeren zo ongelooflijk fascinerend maakt: snelle veranderingen, gepassioneerde discussies en plotselinge comebacks.

1. Hot: Preprocessors - Not: Full language stacks

Nog niet eens zo lang geleden werkten mensen aan een nieuwe programmeertaal die alles moest omzetten naar bits die rechtstreeks naar de chips werden gestuurd. Totdat iemand er achter kwam dat mensen kunnen meeliften op het werk van anderen. Nu schrijven mensen een preprocessor die de nieuwe code vertalen naar iets ouds met een rijke set aan libraries en API's.

Scripttalen als Python of JavaScript waren ooit kleine projecten, maar nu vormen zij de basis voor serieus werk. En de mensen die niet van JavaScript hielden gebruikten CoffeeScript. Een preprocessor die die mensen weer laat programmeren zonder die bezwaarlijke interpunctie. Er zijn tientallen variaties die de syntaxis weer op een andere manier weergeven.

De mensen die van dynamisch typen houden creëerden Groovy, een simpelere versie van Java zonder de overdreven interpunctie en er zijn nog veel meer talen als Scala of Clojure die werken op de JVM, maar er is maar één JVM. Je kan veel talen draaien op .Net's VM. Waarom zou je het wiel opnieuw uitvinden?

2. Hot: Docker - Not: Hypervisors

Eigenlijk is deze niet helemaal waar. De Hypervisors hebben hun plek, en veel Docker containers draaien binnen systemen, bovenop hypervisors. Docker containers zijn echter zooo veel kleiner dan virtual machine images en dat maakt ze makkelijker te gebruiken en uit te rollen.

Ontwikkelaars sturen het liefst alleen Docker containers als zij de kans krijgen en dat is mogelijk dankzij het gemak waarmee ermee kan worden omgegaan tijdens de ontwikkeling. Slimme bedrijven als Joyent zijn op dit moment aan het uitvogelen hoe er nog meer vet kan worden weggesneden van de stack zodat hun containers kunnen draaien tot op het bot.

3. Hot: JavaScript MV* frameworks - Not: Javascript files

Vroeger leerde iedereen braaf JavaScript pop ups schrijven die een notificatiescherm tevoorschijn toverden als er geen @ voorkwam in het e-mail adresveld. Tegenwoordig zijn HTML AJAX apps zo complex dat er maar weinig mensen zijn die bij het begin beginnen. Het is makkelijker een framework onder de knie te krijgen en een beetje code te schrijven die de boel aan elkaar lijmt.

Er zijn tegenwoordig tientallen frameworks als Kendo, Sencha, jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS en veel veel meer. En allemaal kunnen ze je helpen je code en content om te zetten naar je Web apps en pagina's.

En dat zijn alleen nog maar de web apps. Er is ook nog een aantal frameworks geoptimaliseerd voor de smartphone- en tablet-wereld. Technologieën als NativeScript, Phonegap en Sencha Touch zijn een paar voorbeelden die je zou kunnen gebruiken om je HTML 5-pagina's om te zetten naar een echte app.

4. Hot: CSS frameworks - Not: Generieke Cascading Style Sheets

Als je in het verleden wilde stoeien met verschillende lettertypes (of het in gebruik zijnde lettertype willen aanpassen) op je webpagina, moest je je CSS-bestand openen en een nieuw commando invoeren als font-style:italic. Daarna sloeg je het bestand op en ging je lunchen. Webpagina's zijn tegenwoordig zo complex dat het bijna onmogelijk is om een bestand te vullen met zulke simpele commando's. Een kleine kleuraanpassing kan ervoor zorgen dat de hele site van de leg is. Het gaat precies zoals men altijd zegt over ecologieën en samenzweringstheorieën: Alles is verbonden met elkaar.

En zo hebben CSS frameworks als SASS en aanverwanten (waaronder Compass) voet aan de grond gekregen. Deze frameworks moedigen nette, stabiele code aan door programmeerconstructies aan te voeren als echte variabelen, nesting blocks en mix-ins. Dat klinkt niet echt als iets nieuws in de programmeerwereld, maar het is wel een grote stap in de ontwerpwereld.

5. Hot: SVG + JavaScript op Canvas - Not: Flash

Flash maakt mensen al jaren gek, maar artiesten waren altijd ontzettend blij met de resultaten. De gerenderde beelden zagen er altijd prachtig uit en je kon altijd met volle zekerheid zeggen dat het product er op alle apparaten, browsers en besturingssystemen exact hetzelfde uit zag.

Nu de JavaScript-laag praktisch hetzelfde kan als flash zijn browserfabrikanten en ontwikkelaars maar al te blij dat Flash met pensioen wordt gestuurd. Zij zien een betere integratie met de DOM-laag die voortkomt uit nieuwe formaten als SVG (Scalable Vector Graphics). SVG en HTML bestaat uit een grote verzameling tags en dat is makkelijker voor webdevelopers om te begrijpen. Daarnaast zijn er grote API's die het uitvoerig tekenen op de Canvas aanbieden, vaak met behulp van videokaarten. Zet deze bij elkaar en je hebt nog maar weinig redenen over om Flash te gebruiken.

6. Hot: Spark - Not: Hadoop

Het is niet zozeer dat Hadoop flink aan populariteit aan het afnemen is, maar meer dat Spark zo ontzettend snel aan populariteit toeneemt dat Hadoop een beetje gedateerd overkomt. Spark leent een deel van de beste features van Hadoop om code veel sneller te laten draaien (aan de hand van optimalisaties). Het grootste voordeel van Spark is dat het veel data in het "snelle geheugen" houdt in plaats van alles weg te schrijven naar een gedistribueerd bestandssysteem.

Er zijn natuurlijk ook veel mensen die beide technieken combineren. De verwerkingssnelheid van Spark met Hadoop's gedistribueerde bestandssysteem. Het zijn meer partners dan concurrenten.

7. Hot: GPU - Not: CPU

Toen software nog simpel was en instructies netjes in een rijtje stonden te wachten tot ze aan de beurt waren, was de CPU de koning van de computer. Het onderdeel deed immers al het zware werk. Nu Games vol zitten met uitgebreide grafische routines die parallel van elkaar kunnen draaien is de videokaart de nieuwe koning. Het is makkelijk om 500 a 600 euro of meer uit te geven aan een flinke videokaart en sommige hardcore gamers gebruiken er meer dan één. Gamers zijn overigens niet de enigen die lopen op te scheppen over hun GPU-kaarten, ook wetenschappers converteren veel parallelle applicaties naar de GPU om honderden malen sneller te kunnen werken.

8. Hot: IaaS - Not: Paas

Wie wil er niet worden vertroeteld? Wie wil er geen extra hulp? Ja, ontwikkelaars houden van de extra steun die voortkomt uit het werken met een volledige Paas. Er zijn veel extra features, waarvan sommige echt heel nuttig zijn.

Maar er is één grote angst: Werken met (vaste) Platformen betekent lock-in. Soms is de trade-off het waard maar soms is het ook een nachtmerrie. IaaS-opties staan veel opener tegenover verandering. Als je er niet van houdt dat je Ubuntu-server in een IaaS-rack hangt, installeer je je server in je kantoor en ga je lokaal verder. Dat is met PaaS niet echt een optie.

Er is uiteraard nog veel meer, in deel twee van deze reeks nemen wij nog veel meer trends onder de loep.