Comment by flavio81
8 years ago
>I showed your project to my 12 year old son who has just started to learn programming (in JS no less!)
It would be much better if he would start with Scratch, Processing, Smalltalk, or even Python.
On JS he'll have to lose time coping with complicated build tools, horrible package system, async etc.
Is this serious? I started programming around 9 or 10 on a Commodore 64. I would go to the local library to get programming books for it. Now you can hit F12 in your browser and get a powerful console into JS. JS is fine, encourage the thirst for knowledge.
JS is an objectively bad programming language. It is not fine, it is just annoyingly common and convenient. The main advances in its ecosystem are related to transpiling it from other, saner, languages. If he has fun writing JS, then great for him. He's 12, he'll do it if he wants. But it'd be doing him a disservice not to open his eyes to much wider, greener pastures of the programming world.
JS was my second language (around the same age as he is, which is more than 15 years ago) and it is still my favourite one. You give zero arguments but I won't make the same mistake:
- devtools are unmatched for browser development (and getting better for node)
- absolutely best language for prototyping (dyn. typing, monkey-patching, eval, and a lot of other "evil" things you usually don't need in further phases but it's really great to have them for this exploratory phase)
- I respect that some people prefer static typing and code-completion but I prefer writing tests and having few well-known libraries for which I don't need completion at all
- no threads, no mutexes, no locks
- object literal, rest-spread, destructuring, classes are just ordinary (and mutable) objects, etc...
If you think people are doing JS just because it's the only language in the browser (not true anymore) you should seriously reconsider. There were to-js compilers before and it was always awful (remember gwt? dart?)
Of course, it depends on use-case, JS is not the best language for everything.
JS is a bad language but it's the easiest environment to set up.
Back in the day we started with Qbasic not because it is a good language but because that was easy to set up, we all had it and our friends had it and our school computers had it.
And JS is less bad a language than Qbasic.
3 replies →
Transpilation certainly has been important, but in no way is that the only or even the most important advance. The most significant advances are the massive changes in architecture that have turned it into a modern, fully-featured language. You can use most of those in all modern browsers right now. It might not be the best language, and isn't a great choice for a first language to learn, but it is a good one to learn next.
no man its objectively good language, believe me.
see how that sounds? that's how you js haters sounds each time I see this bs here on this and many other platforms that wouldn't be possible without js.
2 replies →
This kid is practicing calculus at 12 years old. He will be able to handle a package manager.
It's still a waste of his time to deal with it. The brain has only so many ultra-neuroplastic years, why burn them on dicking around with npm when they could be leveraged to focus on more universal concepts?
because "full-stack"
JS is the New York of languages: dirty and gross and hella expensive, but if you can make it there, you can make it anywhere.
Isn't Liam's project proof that you don't need any complicated JS tooling?
A simple `node index.js` can go really far.
Yes amazingly he did this without the need of `left-pad` too. ><
Good job Liam
You need none of those things to get started with JS development
It’s still perfectly possible to just create a html document, shove in a script tag, and start developing
And if you want to use packages from the npm ecosystem you can easily use https://unpkg.com/
The only thing you need to learn programming with JS is a text editor and some rudimentary HTML knowledge.
Everything else is unnecessary, at least as far as the programming language itself is concerned.