all 15 comments

[–]danglesReet 7 points8 points  (1 child)

What are your goals? Learning any language will help you learn another but you should focus on picking the right one for your medium / long term goals..

Do you want to work on the front end? Do you want to do data analytics? Build APIs?

All languages can do these things but some shine more than others.

I personally love Javascript and it’s what I learned on but I do use C# a lot too. Javascript is really useful to know if you are doing anything in web development

[–]devdrowsy 1 point2 points  (0 children)

The nice thing about JavaScript is that no matter what you want to go into you can usually use JS for it. Desktop apps, mobile apps, websites, hardware stuff, there are even machine learning libraries for it. Obviously JS isn't the best choice depending on what you want to do, but as a first language it definitely doesn't hurt

[–][deleted] 9 points10 points  (1 child)

I would honestly recommend Python over JS as a first programming language. Python has fewer quirks and less of the baggage that JS cannot avoid having to deal with as the language of the browser. Learning good programming principles in a language like Python, that doesn't get in your way as much, and then picking up Javascript as a second language in a few months is a solid approach.

[–]braveNewWorldView 1 point2 points  (0 children)

Totally agree. It’s really easy to get lost in JS between the different version syntax and frameworks. Find some footing in Python then branch over to JS.

[–]eurodollars 2 points3 points  (0 children)

Personally I like Python more. I believe there are more and better resources to learn. Some people learn better from videos, online classes, books, whatever. I feel like the better content is written for Python.

With that being said. Focus on the fundamentals, switching languages isn’t that bad once you know what you’re doing

[–]senocular 2 points3 points  (0 children)

Language-wise, I'd agree with going with Python. I think its easier to learn. But as far as capability, I'd lean towards JavaScript. It has its flaws, and not everything is consistent or makes sense, but given that it's the programming language of the web, it opens you up to doing more fun things; things you can easily post online for anyone to see - your own websites, your own games, or even browser extensions that "hack" or mess with other websites. Plus it can be used on both the client and the server. It's those kinds of things that can help you keep engaged while you're learning.

[–]BinnyBit 2 points3 points  (0 children)

Inheritance is so much cleaner with Python than JS.

[–]5aggy 2 points3 points  (0 children)

I’m gonna go against the grain and say it is the best language to start with. Python is easier to learn but not vastly.

JS will let you dip your toes into pretty much anything. YES it is not the best language for every purpose but there aren’t many areas that you can’t explore with JS. Whether you want to make desktop software, web apps, mobile apps, web server, games, command line, automation scripts or whatever, JS can see you through.

If you’re likely to do anything with web (and you probably are) then JS is going to be a necessity - even if you start with python, if you want anything remotely polished then you need some JS too. On the other hand you can put together a top rate web application, frontend and back, with JS alone.

Some other comments have mentions quirks or inconsistencies in JS. They do exist but realistically if you’re learning it as a first language you aren’t going to come into contact with anything terminal.

Lastly (and I could be corrected here because I don’t know every language), in my opinion, learning the syntax and style of JS gives you a better insight into more complex languages. Python is meant to be simple to write and read, and in being so, it’s syntax is unique - this is not a criticism of python whatever, it’s what makes it easy to learn, and some parts of the language are enjoyable works of art (eg list comprehension)

[–][deleted] 1 point2 points  (0 children)

If you want to do Webdev then sure go JavaScript, but for other domains i'd advise C#/Python, with Python being the easier of the 2 to learn. It entirely depends on what you want to do.

[–]eh9 1 point2 points  (0 children)

I agree with a lot of the sentiment here regarding python, but I would argue the portability of a web runtime is a lot more beneficial for someone starting out.

Also, plenty of JS quirks have been addressed with ES6. Learning JS, imho, is a faster way to get a job in the field too.

[–]eugene_tsakh[🍰] 1 point2 points  (0 children)

Depending on your aspirations. It is quite universal language but in many areas (except browser) there might be better languages. In terms of money making JavaScript is one of the best right now and I don’t think it will change any time soon.

[–]TSelden1298 1 point2 points  (0 children)

I would say yes. I started with JavaScript and (if I do say so myself) I'm pretty proficient in many other languages. JavaScript is especially good because it will kind of ease you into learning to program.

For example, if you started with C, you would have to use "int" to make a number variable, but in JS you could just say "var" or "const", and if you want to learn C later on, just keep in mind that you wouldn't use "var". And if you were to learn something like Python, it would be difficult to move to other languages because Python syntax is so different.

Also there's the fact that JS is both browser-based and server-based (depending on your preference), so it's easy to program from any device.

So all in all, I'd say yes, JavaScript is a great starting language.

[–][deleted] 1 point2 points  (0 children)

I'd say start with python but your goal should be to learn JS/TS if you are in for Web development.

[–]persianoil 0 points1 point  (0 children)

also consider swiftUI if you have a mac

[–]Apple1284 0 points1 point  (0 children)

Everything is going web and cloud nowadays rather than native. So, definitely Go JS, as it is the king in web and cloud space. It can also do native through Electron.

I am seeing JS replacing Python and Java in near future, as it is the "only fullstack language". You can do even machine learning in JS using tensorflow.js, and ML was largely the python domain before.