If you don't know C, learn it. Its very different from python and java, but will give you a feel for whats going on "under the hood" so to speak in both those languages.
I agree with octo_t and would also suggest learning C. If you have ZERO experience, start learning Programming with "Scratch" http://scratch.mit.edu/ (or "BASIC" when you like retro). Yes seriously, even if it looks childish, just do it. That's logic 101.
After at least 1-2years I would suggest that you start learning Lisp, then Elixir http://elixir-lang.org/
If you thought becoming a programmer is easy, everybody can do that, you're right, but becoming a good programmer is NOT. You have to learn the scientific background, if you want to understand things and not just use what get. For that matter I would recommend reading SICP.
Well, let's say you don't want to become a good programmer, but just make money, then go and learn ABAP, Cobol, ADA or JavaEE. (Just beware that some Pro C guy, could make you jobless one day, by writing a LLVM back-end that converts existing code to LLVM bytecode and then to C.
There are many people who have the same question, I would recommend @pg to propose a FAQ containing info about it.
That's the best advice I can give you currently, but if you know somebody who can give you better advice, then please let me know about it too. Because what doI know, nothing, everybody can benefit from your and other people's experiences.
The main difference you will probably notice pertains to addressing the computer memory, through pointers and through manual memory allocation/deallocation.
In a broad sense, Java is pretty similar to C. I think if you wanted a perspective-altering experience, learn something like Lisp or Haskell. But I agree that there is value in learning C. You should probably learn both C, and Lisp or Haskell or Scheme or whatever functional-ish language looks interesting.
(This is with the assumed goal of getting an overview of programming language styles. If you have specific application-building demands, then language choice may be more dictated by that, e.g., Objective-C for iOS.)
Depends on what you want out of learning a new language. If you want to become more familiar with the fundamentals of computers and how they work, C is the best option; if you want to learn a new paradigm and way of thinking, I recommend Haskell; if you plan on doing any web stuff, JavaScript is pretty much a must; and if you want to be at the forefront of new language developments, go for one of the shiny new languages like Go or Rust (I'm currently taking this route).
this is a questions asked quite often and i guess there is only one answer: what do you want to achieve? Do you want to make Web Apps, Mobile Apps, Desktop Apps, Games,... there are so many different directions you can go, that you should first answer the questions WHAT and then answer the question HOW and not the other way around.
@wusatiuk is soo right, we should never give an answer to thise before OP tells us what he wants to achieve.
C++/C# looks like the thing you want. The other answers are STILL valid though. Depends on what platform you want to develop for. C# is windows only (don't argue with mono).
People reading this having the same question should give us this info next time:
Age: Kid,Jr,Senior
Experience:
What you want to achieve: Desktop,Mobile,Web
Platform support: iOS, Android, Windows, Linux, OSX, HP-UX, ...
I recommend doubling-down and focusing on Java. It'll help you get fundamental programming concepts down and will give you a strong foundation in object-oriented programming.
I recommend learning C after Java. It's much more difficult to learn, but your prior Java experience will help you pull through.
Note: this all depends on what you mean by "some" programming experience.
C or C++ (or both) and C#. This new languages like, Rust,Go etc you may learn after C or C++ (IMHO). It's because by using C programming language you learn much more how the computer/software works in background than using high-level ones. But don't give much of your time on it, if you aren't focusing system applications.
From a similar position I found scala was the best help professionally. It combines the best of both - lightweight syntax like python, but with strong typing and the java library ecosystem - better still, you can introduce it into a java project bit by bit.
C was trivial to learn, don't listen to them. I learnt that first, and it made learning other languages easy (most popular languages are modeled after C). Mobile is a hot market, so it'd be good to learn Objective C. Also, Javascript is another popular one. Then I hear talk of learning Haskell and Lisp "just because," but I don't do anything "just because."