What do you think about my language choice set for the future (knowing I want to work as a software and app developer) ? Anything to add / remove ?

- C++: Fast and well-documented, so I think it's a standard even in the next decades to come

- Java: Although I think that this language will more likely die in the next decade, I'll maybe keep this language because some dinosaurs enterprises still rely on it. Ah and mainly because it's still widely used in Android apps programming. For now.

Talking about Android, does learning Kotlin worth it ?

- Python: Will mainly use it for automation and prototyping, but nothing more, as it seems not to be widely use in the software development field (or it is ?). I'll also keep it for hobbies, however.

- Rust: This language seems to be a rising star in the industry since it is very clean, classic, as fast as C / C++ while introducing more safety. However I'll wait a bit for this one since it requires more complicated and abstract knowledge I do not have yet.

- Javascript (or more particularly JSX): Hurts to say I'll keep it, even more than Java. I'd let it in the web development hell I won't step in if it was not used in webapps / cross-platform mobile applications. And since this kind of stuff looks trendy, I don't think I can avoid it. Plus, I liked working with React Native. Sorry.

- C#: Seems to be a must when working on Windows software interfaces, so guess I'll have to learn this one. Will do so gladly, it looks better than Java

  • 7
    Language choice depends upon the constraints and requirements of the project. It seems unlikely that ONE person will work in all these domains (Mobile Dev, Frontend dev, System dev, Backend services, Desktop App dev) you mentioned.

    I would suggest to chose one dynamic language and one statically typed language. If you want to work on data, then python.

    To answer the other question, yes if interested in Android dev, definitely learn Kotlin and flutter.

    And No, Java isn't going anywhere.
  • 4
    Learn them all to a conceptual, basic functional level. It doesn't take much time, and the variety of ideas and techniques exposed in each makes you that much better. It's also a hedge on hireability.
  • 0
    @asad-u Thank you for your advice !
    I know it's unlikely that a single project requires all of these at the same time, I'd like to keep these languages just to fit the demands actually

    As I'd like to become a software dev, I'm not really planning to work much on data, though Python is the only dynamically typed language I like for now. I used to love Javascript because I was blinded by how many platforms you could make your stuff work on, now I know it's nothing but an half-assed resource hog it's more difficult for me to work with it.
    For the statically typed language I'm hesitating between C++ I'm currently starting with and Rust.

    Alright, so I'll consider learning Kotlin and getting over whatever prevented me from diving in.
    However for Dart I already tried, and was utterly deceived. I tried it first summer of 2018, wonder if it evolved right since.
  • 1
    @SortOfTested Thanks ! I know the basics and some underlying ideas of these languages (except Rust and C# which I spent too few time learning it to say I got a thing, plus never coded with it), is that what you mean by "conceptual, basic functional level" ?
  • 2
    Specifically: Language, paradigm, syntax, conventions, "standard library", compilation strategy, deployment strategy, runtime considerations. Be able to use those to produce a running application that meets the language's general established conventions.
  • 0
    @SortOfTested Alright, thank you a lot !
  • 0
    @M1sf3t Well some classical things (like for loops) were ok, I started to struggle understanding when I reached something so technical I told myself "Uh ok, not for now". I can't remember what this thing was, though.
  • 5
    Yeah, java has been dying for the past what? 20 years? If it keeps being dead like that, we might even reach a year when its the 3rd on the most popular language list, can you imagine that?

    Also, did you ever consider that maybe language is a tool and if you are good, you can just learn the one your job needs in like a week?
  • 1
    @M1sf3t rust is great until you start actually using it for a project
  • 4
    Take one dynamic, one static typing and one functional.

    It can be all in jvm like clojure, groovy, java 🙂

    if you want to work for finance java is probably beat choice

    for games c++

    Chose industry not language because it’s just a tool.
  • 0
    @yellow-dog I'm not the only one saying this language is dying. But I do not want to start a language war, Java was my first language and I still appreciate it.

    I know a language is just a tool, but it's better for companies to hire someone who already know about the tool than hire someone with no prior knowledge about it.
    "if you're good you can just learn the language your job needs in like a week"
    No. You can learn the basics and play around with it, but that doesn't mean you know the language. Good luck getting a medium level on C++ in a week.
    Also, "I know x language" on a resume is easier to prove than "I can learn fast"
  • 4
    @CodeTalker yes, people have been saying its dead for the past 20 years

    Judging by your comments you are a beginner, so yes you absolutely should focus on one language and learn the fundamentals, but as you will get more experience, you will start to realize that there is a reason companies let you choose language when doing their interview tests.
  • 0
    @yellow-dog Focusing on one language is a wise advice I've seen very often. I'll do that once I know which language I'm the most easy with, but for that I must continue to work with all of these anyway.

    I didn't know company let you choose language during interviews. Wonder why
  • 1
    @CodeTalker just my opinion but I don't like to say one language or framework is better than another until I am at least intermediate in both. I say choose C# or javascript only for employability and just stick with that only. Chase 2 rabbits catch none.
  • 0
    I personally still don't understand the hate JavaScript gets -- the worst part is the difficulty in delaying functions which isn't hard to do
  • 0
    Personally I'd go with C instead of c++ but they have similarities and from what I have seen job lisitings often state that either is fine
  • 0
    Personally I'd go with C instead of c++ but they have similarities and from what I have seen job lisitings often state that either is fine
Add Comment