I'm a complete beginner and have been learning Java for about two weeks using Liang's Introduction to Java, 10th edition. I'm currently working through the exercises in Chapter 7. I'm planning to return to university for a computer science degree, and the program starts with Java, so I chose it as my first language. My personal goal, though, is eventually to learn C or C++.
Ideally, I'd like to work through most or all of the textbook before the spring semester so I have a decent Java foundation. I'm unsure whether I should finish the textbook before starting another language, or begin learning C or C++ at some point while continuing to study Java. What would be a sensible milestone for switching—or is it better to focus entirely on Java for now?
5 Answers
A practical stopping point would be after the core Java material, including classes and object-oriented programming—roughly the early-to-middle chapters of the book. The sections on data structures and algorithms can also be valuable practice before implementing similar ideas in C. GUI-specific material such as JavaFX is less important if your main goal is eventually working with C.
When you do move on, start with one language rather than trying to learn C and C++ simultaneously. C and C++ overlap, but they aren’t interchangeable, and learning both at once can create confusion. C is a reasonable next choice if your university teaches it later, especially after you’ve developed a comfortable understanding of programming fundamentals in Java.
You can also reinforce your understanding by writing a few small programs in both languages once you’re ready. Comparing the same exercise in Java and C can show you how types, memory, pointers, and program structure differ. There’s no need to wait for a fixed amount of time—use your goals and how comfortable you feel with the fundamentals as the guide.
I’d stick with Java until you’ve built a solid foundation, rather than switching after only a few weeks. Focus on variables, control flow, methods, object-oriented programming, common data structures, and basic algorithms. Once those ideas feel comfortable, learning another language will be much easier because you’ll mainly be learning new syntax and different rules.
That makes sense. By “finish,” I mainly meant completing the textbook, not mastering the entire language. I’ll keep working through it and do most of the exercises instead of rushing to another language.
There isn’t really a point where you completely finish a programming language. You can start another one whenever you’re curious or when you need it. Since Java is directly relevant to your upcoming classes, though, it makes sense to prioritize it for now and treat C or C++ as a later project.

C probably will be my next language since it’s part of the university sequence, but that course is still quite a while away. For now I’m going to keep strengthening my Java skills.