Hacker News new | ask | show | jobs
by ramzis 2177 days ago
I'd recommend doing an online course where you learn something useful like React and the ES6 syntax will come for free as you go along. I found Udemy to be quite useful.

Otherwise, from a programmer's perspective, JS is like nothing else I've seen and it's not something you want to be using without an abstraction over it, i.e. some framework that makes life less miserable when building something more complex than a form.

I feel like being a 'JS professional', unlike other languages, mostly involves in-depth knowledge of the right tools and not the language itself. Unless, you are interested in building frameworks yourself, which I personally find no need to ever do given the available options.

3 comments

This advice is so strange. Do you imply, that learning pure JS is not useful? I dread this attitude. Also, you cannot have "in depth" knowledge of any higher end abstraction whithout knowing the language. By definition it will always be just a superficial knowledge.
Pure JS obviously has its uses but I am assuming every professional values productivity which one can't often obtain just by knowing JS itself. JS sometimes feels like assembly, you just don't want to touch it, that's why things like TypeScript exist, for example.

Also, saying an abstraction is useless without knowing the language is similar to saying you can't drive a car without knowing how the timing belt or crankshaft works - most people do fine without either. I'm not dismissing the value of JS fluency, just suggesting that it might be unnecessary and a more practical approach can be taken.

> JS sometimes feels like assembly

Every time I see this statement, I wonder what the Venn diagram of people who say so and people who have ever written a line of asm looks like.

I don't even get it. You write Javascript basically 1:1 the same as Python or Ruby. And I would argue it's even nicer in various cases, from destructuring to lambdas to async/await and first-class Promises.

I wonder if the people say they avoid JS at all costs because it's "like assembly" have been doing that so effectively since 2003 that they never even tried modern JS

See what I was saying in the OP about the average JS developer :)

It's not even their fault, it's all they know from those online courses or boot camps.

I read a blog of a fresh grad describing ‘this’ keyword in JS. The conclusion he/she had by the end of the article was ‘don’t use “this” keyword unless you are JS expert’.

I always see a pattern with these things. Usually if you don’t learn the language well enough, you probably are also not spending enough time learning the frameworks well enough, and you probably are not learning the DOM/Browser well enough, and you probably have not learned CSS well enough. You will have no choice but to hide behind the frameworks.

The people that just learn React or the latest ES6 think they know good enough JS, but when I see their code I see clear patterns of poor abstractions, separation of concerns, the kind of code that makes you want to take a shower after touching it.

Been there. Those who assume or are hubristic enough to think they know enough can be dangerous.
I'm curious, do you have a link to the blog post?
React is a particularly bad way to learn pragmatic Javascript because it's idioms are quite different from how people program in any other scenario but UI dev. It's a UI library and you won't learn much about Javascript programming from it. You will just know React.

You should absolutely learn React if you want to be employed writing with JS, but people should understand where React lies in the context of javascript. It isn't an abstraction of JS, it's a UI library written in JS.

> You should absolutely learn React if you want to be employed writing with JS

I know that this probably isn't how you meant it, but I think what you said is a bit misleading to someone who wants to learn JS for a job.

Having skills in React are an almost guaranteed way to get a job writing JS. It's definitely not the only viable way to get employed writing JS. Contrary to popular belief, there are many jobs out there asking for Node.js skills but not necessarily React or any heavy frontend knowledge. You can also make a living doing Vue or Angular, and Svelte is an up and coming framework that will be good to learn and I believe will create lots of jobs. I've been writing mostly Ember.js code for years now, yet I'm employed.

I just want to make sure that learners don't think that it's all React or nothing. Nothing against React, by any means. If someone learns React but it doesn't interest them, their career in JS isn't over.

> it's idioms are quite different from how people program in any other scenario but UI dev.

Many of those idioms borrow from ideas (functional programming, reactive programming) outside UI development, and outside JavaScript.

I would think that an experienced programmer starting with JavaScript would appreciate React.

A little learning is a dangerous thing ; Drink deep, or taste not the Pierian spring : There shallow draughts intoxicate the brain, And drinking largely sobers us again.