This readme is more than just "why I like JavaScript" but it also a take on what layers on top of JavaScript I like/not like. In other words this readme will outline my philosphy towards JavaScript programming.
Firtsly, the whys :
- I like the functional programming aspects where things are objects or functions and functions are first class citizens.
- I like the loose typing. It is easier to start developing and also scaling.
- I like the forgiving nature. Missed a ';' - don't worry.
- I like the speed of V8 - the implementaiton of JS that runs on most browsers.
- I like the community: you get a library for doing almost anything and set of developers eager to answer your queries.
- I like asynchrounous programming where things can run parallely while waiting on I/O.
There are couple of different types of layers built on top of JS.
- Firstly there are libaries like let's say JQuery, that try to give additional functionality or make using JavaScript easy. I like some of these although JQuery itself has become sort of redundant as most functioanlity is available in the core JavaScript now.
- Secondly, there are languages that compile to JavaScript (like TypeScrip) that force additional constraints/style on the programming. I hate these as some of the features of JavaScript I like are washed away.
- Then there are backend JS - most notably Node. This is interesting use of JS. I haven't done much of backend JS coding but node seems to popular and well loved. The only issue with node I find is that it moved away from some of the browser type syntax - for example using a package.json rather than specifying the URL in the import syntax. This makes it less user friendly.
- Lastly, there are frameworsk both frontend and backend - stuff like Vue, React, Angular, Express etc. These will be useful to build applications fast in a scalable way although I think using a very minimal framework would be ideal especially when build large applications. That ways the constraints of the framewrok do not interfere the development.
In a nut shell, I like stuf that is a simple and minimalistic as possible without deviating too much from the JS that is supported by the browsers out of the box.