I am a python developer with around 1 yoe looking to make a jump. I am thinking to improve my programming skills in a complied language since most of the job requirements I see mention that they need java or c++ experience. I worked with both java and c++ in school. I don’t really have a preference for java or c++, but kinda intimidated by c++ as I found it a bit harder than java and also people in general talking about C++ being more cumbersome to deal with. Which language should I choose for better career growth(looking into distributed systems/ cloud domains). Java or C++? TC:125k 1YOE
Java will definitely cast a wider net for job opportunities. The only reason I’d recommend C++ from a career perspective is if you want to work on stuff that’s basically only in C++ (game engines, low latency work, low level OS and networking virtualization, etc). I also personally think C++ is just a better language than Java despite its flaws but that’s just personal preference.
"complied" language -> OP should just use Java.
Building a deep knowledge of C++ will teach you enough to pick up any other language & use it highly effectively. You’ll understand what the systems are really doing. Java is widely used, but poorly put together, you won’t learn any good fundamentals with it.
^This
C would be a much better option for programming close to the hardware to learn the fundamentals.
C++ is the only language.
Trump is the only president.
Don’t listen to Nvida. C++ has become a clusterfuck and is irrelevant for most jobs. Even Bjarne Stroustrup, the creator of the language, regrets its existence. If you’re working on web applications or cloud like most software devs, go with Java. Rust and go are preferred over C++ for system software.
Rust and Go are preferred for system software? Operating systems, High perf databases, storage systems, etc are still written in C and it takes an unprecedented scale effort to move anything at system level away from C or C++.
That’s at the extreme of system level software. I meant more like Kubernetes. Also, a lot of the newer databases use a storage layer written in c such as rocksdb and implement the higher level functionality in another language such as Go.
Thanks for the replies guys
If you are a good coder, and you get denied because of a language you don’t have experience in... hiring manager is a fool. Smart ones know a good engineer can pick up fairly quick....... but learn java.
Definitely context dependent. For better or for worse, if you have high YoE C++ definitely has enough random esoteric stuff where language specific expertise/experience has real value.
Depends on the case. If you know a real language like C++ you can pick up anything. If you’ve only used python or go; you’re pretty useless doing anything more complicated.