DEV Community

Discussion on: Do you hate JavaScript?

Collapse
 
dubyabrian profile image
W. Brian Gourlie

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.

Thread Thread
 
nicolasnarvaez profile image
Nicolás Narváez

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.

Thread Thread
 
hishamfangs profile image
Hisham El-Fangary • Edited

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.

Thread Thread
 
dubyabrian profile image
W. Brian Gourlie

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.

Thread Thread
 
mateiadrielrafael profile image
Matei Adriel

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:)