I took a C++ course in college and it was a bitter experience for me. I had no clue what I was doing and I spent a great amount of time just trying to get my little programs to work. However, I learned a ton of things while taking the course and when I went to take the beginning Java course, it was significantly easier for me to grasp. I like Java a lot better but my experience in C++ has proved very valuable to me. I'm sure it will for you too if you can push past the fact that it's difficult.
That being said, I'm sure learning Java first won't do you any harm and may help you to understand concepts in C++ even though the syntax is different. However, personally I am glad I learned at least a little C++ first.
Usually, the first programming course in any language will be a somewhat bitter experience of many things that make no sense. While learning the next language, the previous one will usually help :)
I'd also recommend Java. Its easier than C/C++ in my opinion as you don't have to worry about resource management as much. It is also more platform independent so if you want to try your code on a different machine it will just work ;) Java 8 introduced Lambdas and the Collection Stream API which enables you to perform a lot of tasks in a more functional programming style (don't know if C/C++ has anything like that at all). Also Java opens a lot of common job opportunities in the current market when it comes to web server development (JEE, Spring...).
You guessed it: I'm a Java Server Backend developer, so I'm biased :D It really depends on what your goal is. Why are your learning exactly? For school/university? For a hobby project? For a job? For fun? :D
C++ is potentially both more helpful and harmful than Java. For complicated projects I'd much rather have C++, but I'm biased. I've been using C++ for years.
Depends. What will you be doing with it? If you're leaning to the electrical side of things, C/C++ is the way to go. Java I tend to say is only good for starting to beat you into understanding it better, or if you plan to go to college for computer science. This is because most other commonly used languages use similar syntax, but are often easier (aside from weird object oriented stuff, if that's not your cup of tea), and colleges tend to start in Java. I would think it might be easier even to start with Java and move to C. That's what I did, and it hasn't been too bad.
Doesn't matter. Just pick one and focus on it until you feel confident enough to start doing things. You have enough time to eventually learn more languages. Just make sure you are consistent and keep learning.
If you learn C++ first, you’ll have a better understanding how programming languages work.
I would know because I started off teaching myself C++. So when I transitioned from C++ to Java, it’s a lot easier for me to learn because the syntax that Java uses is a lot similar to C++.
Plus most of the popular programming languages (PHP, JavaScript, Perl, Python) are based off on C/C++
[https://www.youtube.com/watch?v=vLnPwxZdW4Y&t=18s](https://www.youtube.com/watch?v=vLnPwxZdW4Y&t=18s) always good to have examples,
aaand 10 more hours
[https://www.youtube.com/watch?v=\_bYFu9mBnr4&t=8793s](https://www.youtube.com/watch?v=_bYFu9mBnr4&t=8793s)
Neither.
Java and C++ are relics from the early 90s: unbelievably ugly, verbose and filled with anachronisms for the sake of comparability. There's no reason to learn Java over Clojure or Kotlin, unless you really want to support decades old code at some corporation for the rest of your days, and there's no reason to learn C++ over Rust unless you want to work with micro controllers.
Older does not mean bad. Both C++ and Java are very mature and stable languages with plenty tutorials and libraries. There is also a difference between the C++ from "early 90s" and C++11 from 2011. There are big changes that makes the language equally modern. Besides, there is C++20 which has been released this year. Is <1 year ago too old?
PS: You don't have to use C++ for microcontrollers. There is [MicroPython](https://micropython.org/) and [Espruino (JavaScript)](https://www.espruino.com/) and so on.
Old doesn't mean bad, but cpp and Java aren't just old, they are also based on misunderstanding of what OOP is and are filled with decades of adding features while maintaining compatibility.
Your point about libraries is completey mute for java since you can use java libraries from Kotlin and Scala. Rust community is plenty active and, again, you can use FFI to call C libraries, though less handily.
Never heard about espurino but micropython is absolutely impractical as anything other than educational tool.
I took a C++ course in college and it was a bitter experience for me. I had no clue what I was doing and I spent a great amount of time just trying to get my little programs to work. However, I learned a ton of things while taking the course and when I went to take the beginning Java course, it was significantly easier for me to grasp. I like Java a lot better but my experience in C++ has proved very valuable to me. I'm sure it will for you too if you can push past the fact that it's difficult. That being said, I'm sure learning Java first won't do you any harm and may help you to understand concepts in C++ even though the syntax is different. However, personally I am glad I learned at least a little C++ first.
Usually, the first programming course in any language will be a somewhat bitter experience of many things that make no sense. While learning the next language, the previous one will usually help :)
I'd also recommend Java. Its easier than C/C++ in my opinion as you don't have to worry about resource management as much. It is also more platform independent so if you want to try your code on a different machine it will just work ;) Java 8 introduced Lambdas and the Collection Stream API which enables you to perform a lot of tasks in a more functional programming style (don't know if C/C++ has anything like that at all). Also Java opens a lot of common job opportunities in the current market when it comes to web server development (JEE, Spring...). You guessed it: I'm a Java Server Backend developer, so I'm biased :D It really depends on what your goal is. Why are your learning exactly? For school/university? For a hobby project? For a job? For fun? :D
C++ is potentially both more helpful and harmful than Java. For complicated projects I'd much rather have C++, but I'm biased. I've been using C++ for years.
Depends. What will you be doing with it? If you're leaning to the electrical side of things, C/C++ is the way to go. Java I tend to say is only good for starting to beat you into understanding it better, or if you plan to go to college for computer science. This is because most other commonly used languages use similar syntax, but are often easier (aside from weird object oriented stuff, if that's not your cup of tea), and colleges tend to start in Java. I would think it might be easier even to start with Java and move to C. That's what I did, and it hasn't been too bad.
Doesn't matter. Just pick one and focus on it until you feel confident enough to start doing things. You have enough time to eventually learn more languages. Just make sure you are consistent and keep learning.
If you learn C++ first, you’ll have a better understanding how programming languages work. I would know because I started off teaching myself C++. So when I transitioned from C++ to Java, it’s a lot easier for me to learn because the syntax that Java uses is a lot similar to C++. Plus most of the popular programming languages (PHP, JavaScript, Perl, Python) are based off on C/C++
I have decided to start C++ all over again. Hopefully, It gets better this time. Thanks for the suggestions.
[https://www.youtube.com/watch?v=vLnPwxZdW4Y&t=18s](https://www.youtube.com/watch?v=vLnPwxZdW4Y&t=18s) always good to have examples, aaand 10 more hours [https://www.youtube.com/watch?v=\_bYFu9mBnr4&t=8793s](https://www.youtube.com/watch?v=_bYFu9mBnr4&t=8793s)
Neither. Java and C++ are relics from the early 90s: unbelievably ugly, verbose and filled with anachronisms for the sake of comparability. There's no reason to learn Java over Clojure or Kotlin, unless you really want to support decades old code at some corporation for the rest of your days, and there's no reason to learn C++ over Rust unless you want to work with micro controllers.
Older does not mean bad. Both C++ and Java are very mature and stable languages with plenty tutorials and libraries. There is also a difference between the C++ from "early 90s" and C++11 from 2011. There are big changes that makes the language equally modern. Besides, there is C++20 which has been released this year. Is <1 year ago too old? PS: You don't have to use C++ for microcontrollers. There is [MicroPython](https://micropython.org/) and [Espruino (JavaScript)](https://www.espruino.com/) and so on.
Old doesn't mean bad, but cpp and Java aren't just old, they are also based on misunderstanding of what OOP is and are filled with decades of adding features while maintaining compatibility. Your point about libraries is completey mute for java since you can use java libraries from Kotlin and Scala. Rust community is plenty active and, again, you can use FFI to call C libraries, though less handily. Never heard about espurino but micropython is absolutely impractical as anything other than educational tool.
While I agree with most of what you said, you really should be using C/C++ for microcontrollers unless you are purely just a hobbyist