- JavaScript is the first lambda language to go mainstream.
Deep down, JavaScript has more in common with Lisp and Scheme than with Java. It is Lisp in C’s clothing.
- Prototypal inheritance VS Class inheretnce:
- Notice that class inheritance has a "global-nature" (you obviously know side effects such nature may produce, like global variables).
- However, prototypal is more scoped inheritance (as you can see above, o2 could be extended without impacting o1).
JavaScript is not reactive out of the box. To be reactive is considered a crucial feature especially when dealing with user interfaces - UIs -.
It's necessary then to build an abstraction on top of JavaScript to guarantee the ease of UIs management (e.g data binding).
There are and will be many tentative to do so: Ember, Angular, React.
I liked the talk of an engineer from Instagram where he states that both Ember (because of the explicit fetch of key-values) and Angular (because of dealing with controller/directive scopes) still leaky abstractions (i.e.: they explicitly try to manage data binding details anyway).
However, Facebook ReactJS seems, at least, less leaky because the Virtual DOM will hide and optimize DOM updates.
- How modularity is advocated Angular 1:
a- Component: view component
b- Directive : instructions component acting on html -dom- (doesn't produce a view)
c- Service: centralized procedure / function module
Technically, each angular module/ component (a, b or c) is a javascript class.
Generalities
- ECMAScript: the specification language set to standardize JavaScript, known internationally as ISO/IEC 16262 or ECMA262, for short.
- JavaScript’s evolution has a cadence of yearly releases. This is currently driven by a standards committee known as TC39 ( https://github.com/tc39 ) that will also continue evolving ECMAScript.
No comments:
Post a Comment