With years of experience, If we see the resume of the developer it looks good. But still, the code was often not easy to understand and organized properly. Some programmers do not know the Java, but after their training or if they are being helped they can master and become out as a top java programmer.
So learning a programming language C or C++ can help you much more:
C and C++ is a language which is not often used in your profession but it will give you a lesson for a lifetime. And the hardest problems, the ones that the top engineers are asked to solve, will sooner or later hit some foundational C code.
- The Java virtual machine is written in ANSI C
- Linux is written in C (and some assembly, but mostly C)
- Python is written in C
- Mac OS X kernel is written in C
- Windows is written in C and C++
- The Oracle ORCL +0% database is written in C and C++
- Cisco routers, those things which connect the Internet, also C
Name anything that is foundational, complex, and performance critical. It was written in C, with a sprinkling of assembly thrown in.
If you are willing to become a better Java programmer, you should learn the programming language C. You will have a sense of multiple things like you will get to know when the stack is used by JVM and when Heap is being used. You will get more Intuitive sense of the working of garbage collection. You will have a better sense of the relative performance cost of objects versus primitives.
If you are willing to learn C, it will take you towards becoming an Objective-C programmer. You will know how to manage your ref counts and which piece of code should "own" an object. Youll be able to avoid memory leaks.
Which programming language is better C or C++? You should lean on C++ as it is very similar and it is an object-oriented programming language. If you have already decided that you will be going to program only in functional languages, learning how to think in binary teaches some the organizational patterns that help you to maintain some large projects.
So maybe you won't make as much per hour as you would during some brief, weird supply/demand anomaly like COBOL in 99, but once you know C, you can learn that language, and the next, and the next. Because if there's one longterm constant in this industry, today's hot skill is a quaint novelty in a few years. Learn the skills behind the skills and you will do great.
You should be clarified:
Nobody says you to program in C for a living. Or learn C as your only language. Or that you can make more per hour on C than programming in Foobar. Generally speaking, you shouldn't even program your applications in C unless you have a really good reason.
But you should learn C. Because its the abstraction other languages use to understand the physical machine. You can strut like a champ when the other programmers are still scratching their heads. And that will make you more SENIOR and earn you more money in the long run.
If you want to become a best-paid driver for Formula 1, you just need to learn how to take that engine apart. If might help you to move towards a better job. And as the cars change and evolve over time, you will get what makes them different too.