⟅ About ⟆ Leon van Kammen micro devtrepeneur / web integration ninja from Europe

Bash Coffeescript ES6 and the curly religion

Looking back at the rise of ES6 transpilers, I can’t help myself seeing the rise of an ‘curly religion’ vs ‘other’. Time for a rant.

The curly religion

C/C++ is the real deal. Be like C/C++.

The influence of this cute curlybrace syntax is obviously present in many other scripting languages.

And lo, the curly religion was born.

Traitors & apostates

Languages like Shellscript, VB, Python, Ruby, Coffeescript confuse the average curly follower.

It’s not curly, how can it be good.

A common trap for curly disciples is, to identify themselves with their curly braces. Anything indentbased, or human language-like seems too “simplistic”.

if ismoving ball
  move ball 3,8                   <- "BAD": no braces or linter 
                                            needed, apostate!

if( ismoving( $ball ) ){
  move( $ball, array(3,8) );      <- "GOOD": so precise, so 
                                             readable, so curly!
}

thru the eyes of a curly disciple

ES3 / ES4 / ES5 / ES6 / ES7

The brain of a curly follower is fixed on language versioning, since the tool itself became the holy grail. Instead of focusing on the lowest common denominator, the highest common denominator becomes highprio. The curly follower will start using ES8, and build ES8-to-ES5-tools to build ES5 applications.

Curly vs Human language (HL) wars

Let’s take a step back, and compare:

 * C is a curly spec             * Java(script) is a curly spec
 * C++ is a curly spec           * ES6/7 is a curly spec
 * sh/bash/Lua are both tools    * Coffeescript/Livescript/Purescript 
   and HL specs                    is a tool and a HL spec 
 * the kernel is a runtime       * nodejs is a runtime
 * the gnu compiler converts     * Babel, Coffeescript etc converts 
   to LCD (asm)                    to LCD (es3/es5 etc)

LCD = Lowest common denominator

Clearly you can get impressive stuff done in both C or C++. See a pattern here?

DISCLAIMER: Clearly this overview is not 1-on-1 applicable

Stop using X! use X instead!

2015 was a year where forums flourished with what I call the unconscious curly vs human wars:

It would kindof be similar to:

An obvious pattern here is that developer Y is using FUD to manipulate developer X. Simple because of personal taste/history/fear of new things.

The reality: the polyglot vs the disciple

A typical disciple is afraid of change, and hates because of selfprotection, perfectionism and lack of empathy. The polyglot developer however, care’s about solving problems in a lazy constructive way.

Checklist: are you a disciple?

Needless to say, the (fallicious) coffeescript/typescript/ES6 debate is clearly ran by curly disciples.

A polyglot

Enthousiast about anything which could get the job done.

Conclusions

comments powered by Disqus