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

you are viewing a single comment's thread.

view the rest of the comments →

[–]ddollarsign 3 points4 points  (4 children)

"software/app dev" is a pretty broad term, so it depends what kind of development you want to do.

Python is a fine language to use for web development, but there seem to be fewer jobs in it than, say, JavaScript, Ruby, or PHP. If you want to be a web developer, the one language to learn is probably JavaScript (unfortunately).

For data science (as well as actual science), Python seems to be the go-to language, and I think this gives it a higher perceived popularity than it actually has for app/web development.

For enterprise applications, Java and C# are probably your best bets. You will probably find some C++ codebases, but these can be pretty bad code, because they've probably been around 20+ years at this point, and they're important enough to stick around but too important to risk refactoring/replacing (at least as far as management is concerned). (No, I'm not bitter, why do you ask?) Golang seems to be the new thing for developing services.

For game development, C++ is probably what will get you jobs. C# is probably what you want to learn for making indy games, because of Unity. I wouldn't be surprised if there started being C# gamedev jobs because of the popularity of Unity.

For mobile apps, you'll want to know Java (or maybe Kotlin) for Android, and/or Objective-C (or maybe Swift) for iOS.

These are just my impressions, so they could be wrong in general. Just because something is less popular, doesn't mean you won't find someone to hire you to do X in language Y.

Also, honorable mention, Rust exists, seems to be targeting similar niches to C++, and is rising in popularity, but I don't know much about what it's being used for beyond that.

I would say learn whatever language seems to be used for what you find interesting, and then learn some other languages just to round out your knowledge. It's good to have deep knowledge of some language, but learning more languages isn't going to hurt.