Hoe CoffeeScript in de vergetelheid raakte
Het is al meer dan 10 jaar geleden dat CoffeeScript werd uitgebracht, en het lijkt erop dat dit innovatieve idee volledig in de vergetelheid is geraakt
In 2015, bracht de komst van ES6 een van de grootste revoluties in de wereld van JavaScript met zich mee. Het presenteerde een heleboel nieuwe functionaliteiten – en dus nieuwe mogelijkheden: pijlfuncties, klassen, overerving, variabelen definiëren met let
, en nog veel meer. Maar waren dit echt zulke nieuwe oplossingen voor een taal als JS?
Wel, in 2009 kwam Jeremy Ashkenas (nu een schrijver voor de New York Times) met een nogal interessant idee. Zijn idee zou de leesbaarheid van, in sommige gevallen, behoorlijk ingewikkelde JavaScript-code verfraaien en vergroten. Geïnspireerd door Python en Ruby creëerde Ashkenas een programmeertaal die compileert in JavaScript, CoffeeScript genaamd.
Hij was de eerste die het concept presenteerde om een functie te maken zonder het overbodige trefwoord function, door het te vervangen door iets dat in 2015 de functie-pijl zou worden (=>
in ES6, ->
in CoffeeScript). Hij schafte ook de accolades af (zoals in Python) en verving ze door inspringingen. Vaak kun je in CoffeeScript (ooit verplichte) haakjes weglaten, die de leesbaarheid van de code vaak onnodig verminderen.
In het begin, zoals met de meeste nieuwe verbeteringen aan iconische talen zoals JavaScript, benaderden heel wat mensen CoffeeScript met groot optimisme (ze zeiden dat het JavaScript zou vervangen) of met extreem pessimisme (ze zeiden dat CoffeeScript over een tijdje ook zou worden vervangen door iets nog beters of dat syntaxisverbeteringen onnodig en zinloos zijn).
Hoewel, ondanks de grote golf van kritiek in 2011, was CoffeeScript een van de meest gevolgde projecten op GitHub. Op dat moment genoot het een relatief hoge populariteit in de Ruby-ontwikkelaarsgemeenschap. Een groot deel van de CS-aanhangers zei dat hun code sneller liep en drie keer korter was dan JS-code. Zelfs de oprichter van JavaScript zelf – Brendan Eich – zei na verloop van tijd dat CoffeeScript een grote invloed had op zijn gedachten over de toekomst van JavaScript.
Er waren veel aanwijzingen dat CoffeeScript nog lang bij ons zou blijven, maar er veranderde veel in zijn nadeel in 2015 na de introductie van JavaScript’s ES6 – wat eigenlijk een implementatie was van CS-oplossingen in de taal van waaruit het verhaal begon. In ES6 voegde JavaScript ook veel interessante nieuwe functies toe waar de ingenieurs van het CoffeeScript-team niet aan hadden gedacht.