Should I learn C ++ and Java at the same time?

I would like to start writing Android apps. This is obviously all in Java. Programming tasks on Craigslist is at least 100 Java to 1 C ++. I want to learn Java.

Unfortunately, the CS program that I am considering teaches C ++, not Java, so C ++ is what I learn. (I’m sure that learning with C ++ will teach me how to program well, but it will also be Java, and then I can get the job done. It is disappointing that CS programs stick to the languages ​​that they have been using for 20 years, instead of teaching languages ​​that help students succeed.)

My question is, is it a good idea to hack Java books on my shelf after I finish my homework in C ++. Will I end up embarrassing, or will I get the best in both? Has anyone studied both C ++ and Java at the same time?

Edit: Thanks for all the quick answers! I did some programming, and I think I can easily pick up languages. Comparing side by side, I turn to me. But I also tend to bite off more than I can chew, and learning C ++ and Java seems like a lot of food, which can cause me problems.

+6
java c ++
source share
15 answers

I do not see a real problem with this. As an added bonus, you can read books on the relevant sections side by side and see how they compare and compare the differences in how languages ​​handle things.

For example, when you read about pointers in C ++, this can help you visualize how Java reference types work to a certain extent.

Do not be discouraged, your school teaches C ++, be grateful. Read The Dangers of Java Schools . You are not in a technical school that wants to learn the hottest language at the moment. You can learn computer science. My school teaches Java as an introductory language, and I think this is a huge mistake. We need to learn C, so by the time we get to know Java (say, an object-oriented class), we’ll find out what is actually happening and nothing “magic” is happening to us.

The knowledge that you gain in your degree and even from using C or C ++ will surpass the latest “popular” language.

+24
source share

C ++ is a language that takes weeks to learn and years to learn. Therefore, the sooner you take up, the faster you master it.

Do not confuse the number of tasks. The ratio of boring and interesting assignments is probably also between 100 and 1, as you said. Also these days, higher-level things, knowing that the low level pays.

IMHO the most interesting (programming) tasks are C ++ tasks. Although there may be interesting projects in Java or C #, most of them involve moving data (from DB to html or gui, back to DB ...). It depends on what you want to program for life, -).

If you are interested in robotics, computer vision, computer graphics ... you should definitely go for C ++.

+8
source share

Learn C ++ first. Learn C too. Learn Lisp or Scheme. After that, Java will become a piece of cake.

+5
source share

Here's a document that I found inspiring.

Even if it is a little long and doesn’t really fit your question, I hope you see the answer in it. Make sure you read it to the end. It is worth a read.

+5
source share

If you haven't programmed it yet, just learn C ++. It has the most basic things that JAVA has plus a bit more. When you get started with C ++, JAVA will be easy.

+4
source share

Not necessarily more Java jobs than C ++ jobs, it varies greatly from region to region; where are you looking

I think C ++ is a great foundation, and learning Java would be easier if you know C ++, and that it is usually a simpler language to learn. If you have the ability to program, you can learn both languages ​​at the same time.

However (and which is big, however), if most of the actual programming that you do at school is in C ++ (homework, projects, etc.), and Java is what you will do as a hobby and less commonly, you will improve in C ++.

When you go for an interview, it’s better to be good in one language than to be mediocre in both.

+4
source share

100 Java to 1 C ++? I just searched on dice.com and it returned 9322 for Java and 4777 for C ++. Of course, Java is more in demand, but the ratio is close to 2: 1. In addition, there is also a "spare" side of the equation - there are more Java competitors than Java competitors.

+3
source share

As a student and programmer, I must say that it is too easy to distract from different technologies.

If you are doing C ++, you should study hard for it, otherwise you will be spending a lot of time learning Java.

C ++ has a whole bunch of things that Java doesn't have, and if you study, you won’t get labels if you start writing Java in your C ++ tests!

My advice is to find a project with which you can use C ++ (maybe some opengl?) - maybe there are some better suggestions (I'm not coding in C ++). This way you will enjoy yourself by learning what you should learn :)

+3
source share

If you are smart, you will not be embarrassed.

Actually, I would say - learn another language, Perl or Python.

+2
source share

Learning any number of different languages ​​is always good practice. This can help you better understand the concepts and theory underlying learning, rather than focusing on syntax and keywords. At the same time, the ideas are quite similar, but it can be difficult to understand both simultaneously and because you can transfer the syntax along the way.

The main difference is garbage collection, and I think that once you learn C ++, you will learn to understand and appreciate the benefits of the garbage collector. Attempting to learn Java at the same time may confuse or confuse you. Learn key concepts, have a good approach to C ++, then move on to Java when you're ready.

+1
source share

I recommend that you definitely study both. If your C ++ course is completed, you will become the best Java programmer and do some work with it. If you are still confused, you can still stop reading Java books until the course ends.

I always learn C ++ and other languages ​​at the same time and enjoy it. I would say that I am learning something, not confused.

+1
source share

Just ask yourself how easy it is to learn concepts for you now. How deep understanding do you get?

If you understand well, it will be easy for you to distinguish and separate them. If this is a little difficult for you, you can probably get confused.

+1
source share

Just learn C ++ right now if you think you might get confused in learning two languages ​​at the same time. You do not want to endanger your grades.

Later, near the end of the semester or after it, take a few days to learn Java. It does not matter. Once you become familiar with C ++, it will be easy and fast to learn Java. And you have something to look forward to: Java has a cleaner syntax and is easier to understand (without pointers, etc.).

+1
source share

Why can't I see recommendations for learning C #? In any case, I would learn C ++ and C # at the same time. I think you should not banks in one or two languages. Learn new every year or so. Once you have mastered OOP and design patterns, languages ​​become trivial (mostly). Then you can have more than one resume. You should also think about what you want to do exactly ... web development? low level stuff? Creating device drivers? Expand your horizons a bit and expand what makes YOU, as a programmer, ticking.

+1
source share

I spent years, each of which worked in C → C ++ → Java and now C #.

IMO, C ++ is a great first language because you will learn much more about what happens under the hood (things like pointers and heaps that are hidden in Java and C #), while using an object-oriented language . I recommend diving into C ++ while you are in C ++ classes.

I am also a proponent of learning assembly language. Even in Java or C #, there are times when it is useful to dive into the assembly level in the debugger.

Once you know C ++ well, Java and C # and other static languages ​​will become easy for you. The more difficult part will be learning how to make good use of the libraries that come with these languages.

I will leave the topic of dynamic languages ​​different because I have no experience speaking.

+1
source share

All Articles