If using javascript in a specific environment and in a procedural manner, then yes, it's as good a place as any to start. But you will hit a ceiling, and once you have a desire to do more, you'll inevitably run into issues that overwhelm even experienced developers.
Also, the intent isn't to evangelize any particular language. I would easily recommend languages that I'm not fond of to beginner programmers—PHP, Python, or Ruby—over javascript. The concepts learned from these languages will apply more generally to others, while also being generally more sane.
With all that being said, the world still needs javascript developers, so learning it is not without merit. It's more a question of whether or not it's a good introduction to programming, which is where I suppose we disagree.
The point was to "introduce programing", not the dificulties of becoming an expert on it: "but you will hit a ceiling".
JS is so easy to use for a beginner, that you can invoke a repl with a hotkey 80% of the time, and test core programing concepts with lots of variations.
I absolutely hate PHP's syntax and standards, and for a beginner it doesn't just look daunting with all the $ signs, but visually it looks quite ugly.
"But you will hit a ceiling, and once you have a desire to do more, you'll inevitably run into issues that overwhelm even experienced developers."
Used to be true, but it isn't anymore with ES6. I am yet to run into any ceilings or issues and I've been using it to develop extremely complex systems with large code bases.
Bar none, it is my number 1 choice for introduction to programming. Nothing comes close in terms of user-friendliness and ease of use.
Opening a browser console and typing "x=2+3" and getting an immediate response with any complications allows for an easy introduction to programming concepts without showing the student a bunch of class declarations and voids everywhere and asking them to ignore it for now.
If you could teach someone programming entirely in a browser console window, you may have a point. But you can't. Eventually, you will end up having to explain the many intuitive javascript quirks that have built up over the years. Including with ES6.
New developers will marvel at the simplicity and ease-of-use of javascript while they struggle to understand why this doesn't refer to the thing they expect it to, depending on the syntax they use to declare a function.
I dont think your "this" example is viable since every language has its parts which seem normal to everyone except begginers (like how a lot of starters i know asked me why 9 / 2 equals 4 when they try to do some random stuff in python).
Also, i think most people start wondering about what "this" means after they learned the basics (at least i did, idk about others)
I think almost any popular language is okay for starters, and just saying one of them isnt because of some quirks doesnt make that much sense since u can sya that about any other:)
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
If using javascript in a specific environment and in a procedural manner, then yes, it's as good a place as any to start. But you will hit a ceiling, and once you have a desire to do more, you'll inevitably run into issues that overwhelm even experienced developers.
Also, the intent isn't to evangelize any particular language. I would easily recommend languages that I'm not fond of to beginner programmers—PHP, Python, or Ruby—over javascript. The concepts learned from these languages will apply more generally to others, while also being generally more sane.
With all that being said, the world still needs javascript developers, so learning it is not without merit. It's more a question of whether or not it's a good introduction to programming, which is where I suppose we disagree.
The point was to "introduce programing", not the dificulties of becoming an expert on it: "but you will hit a ceiling".
JS is so easy to use for a beginner, that you can invoke a repl with a hotkey 80% of the time, and test core programing concepts with lots of variations.
I absolutely hate PHP's syntax and standards, and for a beginner it doesn't just look daunting with all the $ signs, but visually it looks quite ugly.
"But you will hit a ceiling, and once you have a desire to do more, you'll inevitably run into issues that overwhelm even experienced developers."
Used to be true, but it isn't anymore with ES6. I am yet to run into any ceilings or issues and I've been using it to develop extremely complex systems with large code bases.
Bar none, it is my number 1 choice for introduction to programming. Nothing comes close in terms of user-friendliness and ease of use.
Opening a browser console and typing "x=2+3" and getting an immediate response with any complications allows for an easy introduction to programming concepts without showing the student a bunch of class declarations and voids everywhere and asking them to ignore it for now.
If you could teach someone programming entirely in a browser console window, you may have a point. But you can't. Eventually, you will end up having to explain the many intuitive javascript quirks that have built up over the years. Including with ES6.
New developers will marvel at the simplicity and ease-of-use of javascript while they struggle to understand why
this
doesn't refer to the thing they expect it to, depending on the syntax they use to declare a function.I dont think your "this" example is viable since every language has its parts which seem normal to everyone except begginers (like how a lot of starters i know asked me why 9 / 2 equals 4 when they try to do some random stuff in python).
Also, i think most people start wondering about what "this" means after they learned the basics (at least i did, idk about others)
I think almost any popular language is okay for starters, and just saying one of them isnt because of some quirks doesnt make that much sense since u can sya that about any other:)