Feeds

Dropbox drops JavaScript, brews CoffeeScript

23,000 lines of code converted, but why?

Secure remote control for conventional and virtual desktops

Dropbox has stopped using JavaScript whenever it codes for browsers and has instead adopted CoffeeScript by re-writing 23,000 lines of code.

DropBox developers Dan W, Ziga M and Chris V explain their choice in a blog post, offering brevity of syntax as their main concern and citing the following statistics from the company's re-coding project as evidence of CoffeeScript's lesser burden for developers.

JavaScript CoffeeScript
Lines of code 23437 18417
Tokens 75334 66058
Characters 865613 659930

That 5000 fewer lines of code, the developers write, “is beneficial for simple reasons — being able to fit more code into a single editor screen, for example.”

“Measuring reduction in code complexity is of course much harder,” the coders add, “but we think the stats above, especially token count, are a good first-order approximation.”

Astute Reg readers may, at this point, wonder why it makes sense to bother replacing 23,000 lines of code when CoffeeScript compiles down into JavaScript anyway.

Indeed, while the developers feel more productive, there's no indication the site works better after the transition to the new scripting language. “The size of the compressed bundle didn’t change significantly pre- and post-coffee transformation, so our users shouldn’t notice anything different,” the trio write. “The site performs and behaves as before.”

The developers are Python-lovers, and that language is a source of inspiration for CoffeeScript's creators. The move to CoffeeScript therefore offered the chance to code in a more Python-like environment, something that's tough to do given JavaScript's slow evolution. The fact that the re-coding process took place during a week-long hackathon is another clue to the project's motivation.

There's nothing new, of course, about software re-platforming projects. Here in El Reg's antipodean eyrie we've covered (in past lives) a few aimed at extending the life of applications written in legacy languages. Those projects, however, had a commercial outcome as their rationale. It's unclear if that's the case here. ®

The essential guide to IT transformation

More from The Register

next story
The Return of BSOD: Does ANYONE trust Microsoft patches?
Sysadmins, you're either fighting fires or seen as incompetents now
China hopes home-grown OS will oust Microsoft
Doesn't much like Apple or Google, either
Microsoft refuses to nip 'Windows 9' unzip lip slip
Look at the shiny Windows 8.1, why can't you people talk about 8.1, sobs an exec somewhere
This is how I set about making a fortune with my own startup
Would you leave your well-paid job to chase your dream?
Microsoft cries UNINSTALL in the wake of Blue Screens of Death™
Cache crash causes contained choloric calamity
Eat up Martha! Microsoft slings handwriting recog into OneNote on Android
Freehand input on non-Windows kit for the first time
Linux kernel devs made to finger their dongles before contributing code
Two-factor auth enabled for Kernel.org repositories
prev story

Whitepapers

Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
5 things you didn’t know about cloud backup
IT departments are embracing cloud backup, but there’s a lot you need to know before choosing a service provider. Learn all the critical things you need to know.
Why and how to choose the right cloud vendor
The benefits of cloud-based storage in your processes. Eliminate onsite, disk-based backup and archiving in favor of cloud-based data protection.
Top 8 considerations to enable and simplify mobility
In this whitepaper learn how to successfully add mobile capabilities simply and cost effectively.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?