Dropbox heeft onlangs in een week tijd zijn volledige (browser-side) code herschreven. JavaScript is vervangen door CoffeeScript, dat in wezen een syntactische herschrijving van JavaScript is en aanzienlijk minder regels aan code vergt. Dropbox-ontwikkelaars Dan W, Ziga M en Chris V verklaren de overstap in een blogpost, waarbij de nadruk op efficiënter en beknopter programmeren ligt.

Niet iedereen omarmt CoffeeScript

CoffeeScript is een nog vrij jonge programmeertaal die is geïnspireerd door Python. Bedenker Jeremy Ashkenas schreef de taal in 2009 eerst in Ruby, maar maakte al snel de overstap naar JavaScript. Door veel minder gebruik te maken van interpunctie, gebruikt CoffeeScript minder karakters en wordt daarmee over het algemeen ook de leesbaarheid vergroot.

De 'simpelere' variant van JavaScript wordt nog niet door iedereen omarmd. Een van de argumenten is dat de herschrijving naar CoffeeScript niets functioneels oplevert aan de gebruikerskant. Gebruikers merken - ondanks het vele werk door de programmeurs - geen verschil.

Een ander twistpunt is de extra stap die in het ontwikkelproces plaatsvindt. CoffeeScript dient gecompileerd te worden naar JavaScript, wat bijvoorbeeld kan via de js2cofee.org compiler. Tot slot zou debuggen bijzonder lastig zijn in CoffeeScript.

Dropbox-ontwikkelaars zijn enthousiast

De herschrijving bij Dropbox heeft in ieder geval geresulteerd in minder code. De in totaal 23.437 regels zijn gereduceerd tot 18.417. Hetzelfde geldt voor het aantal tokens (van 75.334 naar 66.058) en het aantal karakters (865.613 naar 659.930). “Wij denken dat deze statistieken, vooral het aantal tokens, voor zich spreken. Al is de vermindering in de complexiteit van de code veel moeilijker te meten", schrijven de Dropbox-ontwikkelaars.

De makers van de online opslagdienst zijn enthousiast en omarmen CoffeeScript. Zij willen in de toekomst voor meer onderdelen van Dropbox, zoals de source maps, ook gebruik gaan maken van de jonge JavaScript-variant.