C++ or Java to start? [SOLVED] | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
+ 27

C++ or Java to start? [SOLVED]

Which language do you think should start? Editing this exactly 2 years after (at the same hour): Well, firstly, I chose both. I learned first Java Core (from basic data types to Servlets), in this step I learn most of the topics of Java but I didn't understand how computers really work. So I decide to choose C (instead of C++), so i learned a lot of low level stuff (memory management with pointers, memory allocation, string and pointers, UNIX basics and low level files, some OS concepts, and Windows API programming). This give me a better understanding of how memory works in Java (especifically what garbage collector is, where the variables go, what is the real difference between Stack and Heap, and why is it divided in this way) and now I can use the JNI for OS Specific native code. But... I still felt that i needed to know more things about computers, so I picked two books (that I'm actually reading) - Assembly Language Step-by-Step 3rd Edition by Jeff Duntemann: This book gives a little more "easier" explanation of how computer works, from computer microarchitecture basics to x86 assembly programming (some instructions from Intel ISA) with a Linux System - Computer Organization and Architecture 10th Edition by William Stallings: this book give a more thorough description of how computer works, it's a little bit harder than the previous book. Now, parallel to this low level stuff I'm actually learning Web Development too, and those technologies help me understanding how the browser, web, and networking works and in the jump to Javascript (HTML and CSS are a little bit confusing, they have a lot of keywords xD). So, in response to my previus Question: ¿C++ or Java to start? I recommend start with both (understand the programming concepts like structured programming and some other modern paradigms like Object-Oriented Programming and write code that works in real life in a less time) and then delve into how computers works. Thank you all, you really helped me!!

28th Feb 2019, 11:58 AM
lTheCrow
lTheCrow - avatar
62 Answers
+ 32
 Here’s a really cool [ INFOGRAPHIC: ]  https://www.sololearn.com/post/69481/?ref=app  that should make things easier for you. 😉 ⇨ While C is one of the more difficult languages to learn, it’s still an excellent first language pick up because almost all programming languages are implemented in it. This means that once you learn C, it’ll be simple to learn more languages like C++ and C#. Because C is more "machine-level", learning it is great for teaching you how a computer functions.  ⇨ Java is an object-oriented and feature-heavy programming language that’s in high demand. It’s been built under the premise of "Write once, run anywhere", meaning that it can be written on any device and work cross-platform. Additionally, Java is often used for Android and iOS app development, as it’s the basis of the Android operating system, which makes it one of the best choices if you want to build mobile apps.
28th Feb 2019, 1:03 PM
Danijel Ivanović
Danijel Ivanović - avatar
+ 24
Maxi   ⟹ No matter what language you choose, you’d be well advised not to stop after your first language — the best programmers have a combination under their belt. After you learn one, the rest will likely be easier to pick up. ☆ "Learning is a never-ending journey" ☆
28th Feb 2019, 1:08 PM
Danijel Ivanović
Danijel Ivanović - avatar
+ 16
Java is a high-level, third generation programming language, like C, Fortran, Smalltalk, Perl, and many others. You can use Java to write computer applications that crunch numbers, process words, play games, store data or do any of the thousands of other things computer software can do. Compared to other programming languages, Java is most similar to C. However although Java shares much of C's syntax, it is not C. Knowing how to program in C or, better yet, C++, will certainly help you to learn Java more quickly, but you don't need to know C to learn Java. Unlike C++ Java is not a superset of C. A Java compiler won't compile C code, and most large C programs need to be changed substantially before they can become Java programs.
1st Mar 2019, 2:13 PM
Danijel Ivanović
Danijel Ivanović - avatar
+ 12
Java
1st Mar 2019, 1:52 PM
Salif Mehmed 🇹🇷🇧🇬
Salif Mehmed  🇹🇷🇧🇬 - avatar
+ 12
If you are starting out, pick any high-level (high-level = easier) language really. People are going to tell you which is better and whatnot. Truth is there is NO "best" language, only best tools for the RIGHT job. If you know what kind of programs you want to develop and what business you want to involve yourself into, research which high-level languages are better for that specific job and choose whichever. Note: when you are starting out your focus is not going to be which language you know, it'll be developing your logical thinking and ability to solve problems. Hope that helps!
1st Mar 2019, 3:22 PM
Marcia
Marcia - avatar
+ 11
Java may be a bit easier if you are new to programming.
28th Feb 2019, 12:22 PM
Sonic
Sonic - avatar
+ 11
Yes. C++ is an enormously large, complex, and complicated language. I don’t think there is a human being on this planet who fully knows C++ inside out, and that includes its creator, Bjarne Stroustrup! Java is a relatively simple language. For heaven sake, I know a 12-year-old girl who started to learn programming using Java! How hard can it be? Nevertheless, Java is a hugely capable language. That’s why: it’s the enterprise standard programming language it has more job postings than any other language at Indeed it has a rich ecosystem that is the envy of most other languages, inspiring lots of third-party JVM languages like Groovy, Scala, Clojure, Kotlin, Jython, JRuby, Redline Smalltalk, JScheme, Armed Bear Common Lisp, Rakudo Perl 6, Renjin, Jabaco, Oxygene, Gosu, NetLogo, etc. it runs on BILLIONS of device around the planet, including Android an all-out effort was made to optimize the hell out of JVM performance; it can compete with C++ in some instances! Java remains at or near the top of the lan
28th Feb 2019, 12:42 PM
Troy🌹
Troy🌹 - avatar
+ 11
Lol blackwinter . What kind of analogy is that? 😂
1st Mar 2019, 12:23 PM
Sonic
Sonic - avatar
+ 10
For me it was a little difficult to understand java at the beginning. Between these two I would prefer c++. After this I would also learn java.
1st Mar 2019, 8:06 PM
sil 🇬🇷
sil 🇬🇷 - avatar
+ 10
Maxi How is Java unlike C++? Two classes of language features have been removed from C++ to make it Java. These are those language features which make C++ unsafe and those which make it hard to read. Features removed that make Java easier to read and understand than C++ include #define, typedef, operator overloading, enum, unions and structs. The main feature removed to make Java safer and more robust than C++ is pointer arithmetic. Other features removed include global variables, standalone functions (everything is a method), friend functions (Everything in a package is a friend of everything else in the package.) and non-virtual functions. A number of features have been added to Java to make it safer including true arrays with bounds checking, garbage collection, concurrency, interfaces (from Objective C) and packages. There is no need to explicitly allocate or free memory in Java.
4th Mar 2019, 9:15 AM
Danijel Ivanović
Danijel Ivanović - avatar
+ 8
Though i agree with West _Side God on the fact of learning c++ in depth is very hard, i think than it is a good first language being it the my first one... Oblivious is full of concepts not present in many other languages, but these will make you more confident with the computer
28th Feb 2019, 2:36 PM
KrOW
KrOW - avatar
+ 7
I'd say if you want to start learning any programming language is just a matter of how much time and dedication you want to put on it, I wouldn't advice for you to go with OOP if you're just starting to learn if I was you i'd choose a higher level language like visualbasic scripting, vb .net or another scripting language like ruby or python. Personally if I had to choose between java or c++ I'd choose c++ cause java is slower than c++ and many of the different implementation have security holes all over them, just google 'java cve' and 'libc cve' make a comparisson and you'll see the difference, it is funny that java running on billions of devices is seen as some kind of advantage over c++ cause it is something you can do with c++ too
28th Feb 2019, 8:40 PM
Juan Sixto Nathan
Juan Sixto Nathan - avatar
+ 7
it highly depends on what you wanna do. every language has its pros and cons
1st Mar 2019, 1:18 PM
reza
reza - avatar
+ 7
mehn they are both kinda complex sometimes a basic from other simple programming language is need to begin....but i really go with c++ first
2nd Mar 2019, 6:13 AM
ᎯᏰᏰᎯ__ᏥᎿᏩ➰
ᎯᏰᏰᎯ__ᏥᎿᏩ➰ - avatar
+ 7
c++ language, is easy to understand if they know c language. Java language will be easier if they know both c++ and c languages so I choose to start with c++
2nd Mar 2019, 10:58 AM
Vaishnavi P
+ 6
Go with Python Buddy.... Know strange answer and off topic but trust me, after learning it you will grow really fast as compare in learning c++ Or JAVA. As in the end, it doesn't matter which language you chooses, what matters is the product in your hand. If you want the fastest way: Python If you want to do something in scientific computing, web development (strange!! But yes...), game development: C++ Anything else: JAVA 😄😄😄
1st Mar 2019, 12:15 PM
Ayush Sinha
Ayush Sinha - avatar
+ 6
Maxi now that you said you know something about OOP I'd still told you to choose c++ cause it is a very powerfull language you can do everything you do with java besides things you can't do with java, like use asm to optimize the code, however it's still your personal choice, experience and opinion on the matter that'll take you to one or the other. I'd advice you to code something in both languages like a simple CLI calculator and a bigger more complex program like a text processor so you can decide which one you'll take.
1st Mar 2019, 5:14 PM
Juan Sixto Nathan
Juan Sixto Nathan - avatar
+ 5
I want to learn both
1st Mar 2019, 1:45 PM
lTheCrow
lTheCrow - avatar
+ 5
I know the basic of Java and POO
1st Mar 2019, 1:46 PM
lTheCrow
lTheCrow - avatar
+ 5
C++ is the best foundation to start learning on if you don't like python C++ generally has the most support and has almost all coding concepts in it since it's so general
1st Mar 2019, 9:40 PM
Hektuhel
Hektuhel - avatar