Skip to content

Latest commit

 

History

History
69 lines (53 loc) · 2 KB

SONG.md

File metadata and controls

69 lines (53 loc) · 2 KB

Hallelujah—In Praise of Babel

🎶 Audio version here!

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