Hacker News new | past | comments | ask | show | jobs | submit login

Google works, first hit for "gene-culture co-evolution" is

http://en.wikipedia.org/wiki/Dual_inheritance_theory.

The analogy is

* core JS standard = genes, DNA in full (mitochondrial [asm.js? :-P] and nuclear [dynamically typed JS]);

* Flow, TS, TS* and other research = culture.

Obviously it's a loose analogy, not an identity. There's no "Red Queen" (sex, sexual selection), but we do definitely see selection over time via developer adoption, what wins on performance and ergonomics, what feeds back from the ecosystem into the core standard APIs.

Also even a few new special forms: generators in ES6 (prototyped in ES4) were inspired by many experiments; mainly they constitute introgression from Python 2.5+.

JS as an evolutionary kernel (http://www.cc.gatech.edu/~sakhshab/evoarch-extended.pdf) consists of almost totally conserved material (always extended, backward compatibility required for adoption by developers and competing browsers), only slowly extended, while diverse languages and frameworks evolve above and below -- Node.js 14 years after I put JS in Netscape 2, e.g.

Feedback goes both ways, especially in the post-ES3 era where Firefox brought the browser market back to life. See ECMA-262 later editions (the Harmony era) rolling up de-facto standards such as Array map/reduce/forEach/etc.

The same feedback could and should happen with a standardized type system of some sort. It won't happen via design by committee, or picking one winner too soon.

Type system implementors and the JS stewards must communicate well for this to win. It's looking good so far, on Ecma TC39: JQuery, Facebook, Netflix, PayPal (Ebay originally, and again), Twitter all represented along with Apple, Google, Microsoft, and Mozilla. Also academic researchers from various universities, all of whom love type systems and theory :-).

/be




Masterfully applied analogy. Thank you.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: