JavaScript is the de-facto rockstar of the web. Nowadays you even markup and stylize in JavaScript. This is the language you use to add dynamic behavior to your page.
Now, it depends on your road.
1. You want to work
If you want to have a job in the industry, then Python and Java are higher-scale language in the sense that it’s really long to have something working nice and clean using these languages. The learning curve is quite steady, once you get a grasp of how programming work you can learn basically any popular class-based language (Python, Java, C#, Ruby and so on).
On the other side Javascript is straight forward : you don’t have to compile it yourself, the result appears right on the screen, and you just have tools to play with to build UI and add dynamic like handling events or animating your page. Anyone can basically learn JS and start helping projects with it.
Many problems have been solved by the JS community, there’s a lot of resources, tutorials and people to help you. It’s easy to be hired in any little firm that do little websites for a living.
2. You want to be a professional
Then JS is a no go.
The emerged side of JS is funny, cool-looking, you can do everything with a bit of jQuery. But JS in itself is way, way deeper. It’s a very complex language with a few good parts that makes it a language with infinite possibilities.
Many algorithms are hidden (sorting, finding, arrays), many details are so important (Array are just special Objects), the way it handle concurrency is like no other (an Event Loop in a single thread), it isn’t class-based like Python & Java but it’s prototypal (which is rare in the industry nowadays), it has functions as first-class citizen (so functions are values like any other, can be passed as arguments and can be returned) which leads to closures, it promotes functional programming and object composition…
And I could continue on and on to make my point that this language is so complex it’s easy to make mistakes, leak memory, slow a whole page, make bad use of memory in general. Don’t be deceived by its apparent simplicity.
I’d personally recommend starting with the C languages, learning algorithms and data structure along with memory management. Such a strong basis in the computing field will allow you to dodge many higher programming languages bullets.
تعليقات
إرسال تعليق