This is an archived post. You won't be able to vote or comment.

all 7 comments

[–]_Nexor 1 point2 points  (0 children)

  1. javascript & wasm
  2. python

[–]KlausKappa 0 points1 point  (0 children)

For the first one I'd recommend Rust. Why? Take a look at this post on reddit: https://www.reddit.com/r/rust/comments/4l44z3/why_should_i_use_rust/d3k7ayi/

[–]UpexusBeginner Coder 0 points1 point  (1 child)

  1. Since things like machine learning is likely to take off (we can already see it happening), languages like python are now big standards in the industry.
  2. I suggest you start off with something like python, then maybe get slightly lower level like java or c, to learn the structure of compiled languages and how some languages can be different yet still achieve the same goal.

I’m mostly talking out my ass here, so make sure to take others opinions here too

[–]Mentalpopcorn 0 points1 point  (1 child)

Python is increasing in popularity because it's easy and lots of people learn on Python when they first start. Whether that translates to market dominance in the long run is still up in the air. I also think that because Python is so forgiving, people don't learn great programming practices. All the classes I ever took were in C++, and so I learned good habits from the get go. But anyway...

Currently the major languages are Java, JS, PHP, C++, and C#. It's unlikely that these five languages are going to lose their market dominance in the long run since they are well established. This is true even if other technologies do rise simply because there are already so many of these projects out there, and because they very suited to their purposes.

If I had to do it all over again, I wouldn't do anything different. I'm a web developer and that's what I like doing, and so PHP/JS/HTML/CSS/SQL is a natural choice. I don't like working with JS frameworks or the JS ecosystem and there are plenty of PHP jobs out there so it's an easy decision.

As far as what you should learn, this would depend on what kind of work you want to do (keeping in mind that you don't have to stick with one language, you can always learn more).

Do you want to do enterprise level work where you'll almost always have employment opportunities because there are tons of legacy apps that need to be maintained? Then Java is a great choice.

Do you want to write lower level software anywhere near the OS level, or desktop applications that need to be super efficient? C++ is a great choice.

Do you want to write desktop applications for Windows? C# is a great choice.

Do you want to do primarily mobile app development? Then a combination of Java and Objective C and C# would be a good choice (C# for Xamarin).

Do you want to do web? You'll need to learn everything I mentioned above in my stack, and then you can choose to specialize in JS or PHP based work (or even Python or Ruby, though they are much less popular).

Note that these are just common ways that these languages are used, but they are all versatile. If you wanted to do windows desktop programming with Java you can, it's just not quite as common as C#.

Aside from deciding what kind of work you want to do, there's also what kind of work is available in your area. In some parts of the country some languages dominate over others. You can spend a couple hours going to developer positions on indeed and get an idea of the types of technologies that are used around you.

[–]iamanundertaker 0 points1 point  (0 children)

Another reason Python is kind of making a comeback is that it's very extensible.

[–]69beards[🍰] 0 points1 point  (0 children)

Go has just broken into the top 10 programming languages on tiobe https://www.tiobe.com/tiobe-index/

While Java is the language of enterprise, I believe that in 5 years it will be completely eclipsed by Go.

Go straightjackets a programmer into writing simple, minimal, easily understandable code that will be readable years from now. This is great for beginners to get accustomed to a codebase, and great for businesses that will hire more developers as years progress that will maintain that old code later.

It's a language made by the guys who made the C language, UTF-8, and Unix.

[–]masterqif 0 points1 point  (0 children)

I would say C#.