## Hallelujah—In Praise of Babel

I heard there was a clever trick  
That rewrote all your JavaScript  
But you don’t really care for magic, do you  
Well it goes like this: the source, the dist  
The ES five, the ES six  
The sacred script transforming Hallelujah  

Hallelujah, Hallelujah  
Hallelujah, Hallelujah

So I added all the shiny things  
Classes, spreads and template strings  
Through syntax sugared code I tried to woo you  
Generators, const and let  
I used them all without regret  
And it’s a terse and a destructured Hallelujah  

Hallelujah etc.

Well my faith was strong but I needed proof  
The standard was my source of truth  
But TC39 meant nothing to you  
So even though you weren’t impressed  
I checked the build against the spec  
And it’s a more-or-less compliant Hallelujah  

Hallelujah etc.

Now you say the build step’s too complex  
And you claim no need for ES Next  
Well I used to think that way before I knew you  
But your code grows older with each line  
It’s a joyless dirge on a withered vine  
It’s a threnody for a bygone Hallelujah  

Hallelujah etc.

Yes I learned about the danger signs  
How they’d polyfilled a thousand lines  
The cost of using Maps and Symbols threw you  
Still I disregarded common sense  
Now my source is small but the build’s immense  
And it’s a slow and unresponsive Hallelujah  

Hallelujah etc.

There was a time when they let me know  
What’s really going on below  
But now there’s only source maps there to school you  
And debugging’s not a progress march  
It’s a frenzied fumble in the dark  
It’s a labyrinthine search for Hallelujah  

Hallelujah etc.

Well, maybe there’s a god up there  
But all I ever got from prayers  
Was broken builds and errors that would spook you  
And that anguished cry you hear at night  
Is the plugin I forgot to write  
It’s a cold and it’s a broken Hallelujah  

Hallelujah etc.

[Angus Croll](https://github.com/angus-c)  
