Jump to content

Java or C++ ? (Computer Science)

COCOBYTES

Java or C++ ?

Which one is more preferable?

I am an incoming college student and I want to study computer science and their is 2 choices, it's java and c++

Thanks! 

Link to comment
Share on other sites

Link to post
Share on other sites

C++, after learning that java should be really easy

Muh rig: i7 4770k, Cooler Master Hyper 212 Evo, MSI Z87 G45, Kingston Hyper X Blu 8GB, Samsung 840 EVO 120 + WD Blue 1 TB, Asus GTX 770 2GB, Corsair 200r + 2x Corsair AF 120 Blue + 1x Stock corsair fan, Corsair TX650, LG 27EA33V IPS, Steelseries Sensei Raw + QCK mini, CM Quickfire Ultimate Blue.

Link to comment
Share on other sites

Link to post
Share on other sites

Learn either and the other will come easily. The syntax is similar. That said java wipes your butt for ya, and has a very large API. Good for beginners. 

Personally I learned C++ first. 

muh specs 

Gaming and HTPC (reparations)- ASUS 1080, MSI X99A SLI Plus, 5820k- 4.5GHz @ 1.25v, asetek based 360mm AIO, RM 1000x, 16GB memory, 750D with front USB 2.0 replaced with 3.0  ports, 2 250GB 850 EVOs in Raid 0 (why not, only has games on it), some hard drives

Screens- Acer preditor XB241H (1080p, 144Hz Gsync), LG 1080p ultrawide, (all mounted) directly wired to TV in other room

Stuff- k70 with reds, steel series rival, g13, full desk covering mouse mat

All parts black

Workstation(desk)- 3770k, 970 reference, 16GB of some crucial memory, a motherboard of some kind I don't remember, Micomsoft SC-512N1-L/DVI, CM Storm Trooper (It's got a handle, can you handle that?), 240mm Asetek based AIO, Crucial M550 256GB (upgrade soon), some hard drives, disc drives, and hot swap bays

Screens- 3  ASUS VN248H-P IPS 1080p screens mounted on a stand, some old tv on the wall above it. 

Stuff- Epicgear defiant (solderless swappable switches), g600, moutned mic and other stuff. 

Laptop docking area- 2 1440p korean monitors mounted, one AHVA matte, one samsung PLS gloss (very annoying, yes). Trashy Razer blackwidow chroma...I mean like the J key doesn't click anymore. I got a model M i use on it to, but its time for a new keyboard. Some edgy Utechsmart mouse similar to g600. Hooked to laptop dock for both of my dell precision laptops. (not only docking area)

Shelf- i7-2600 non-k (has vt-d), 380t, some ASUS sandy itx board, intel quad nic. Currently hosts shared files, setting up as pfsense box in VM. Also acts as spare gaming PC with a 580 or whatever someone brings. Hooked into laptop dock area via usb switch

Link to comment
Share on other sites

Link to post
Share on other sites

Ultimately, it doesn't matter. C++ will possibly give you a bigger headache. The plus side is that it will teach you more about low-level programming.

Java has a more relaxed programming environment, and is a better tool for learning OOP, in my personal opinion.

 

I'd go mental if I had to make that choice at an early stage though. They should make that decision for you.

Want to solve problems? Check this out.

Link to comment
Share on other sites

Link to post
Share on other sites

C++ is really unforgiving tbh, Java is really nice to program with and you can switch to something like C# from it very easily.

 

but I guess C++ would be advantageous since going from C++ -> Java is monumentally easier than going from Java to C++.

 

C++ is only really used when performance matters though, so unless you are doing that kind of work its not worth it.

Link to comment
Share on other sites

Link to post
Share on other sites

I'm not going after anyone in particular with this but I really can't understand why there seems to be this opinion that C++ is so difficult and bad to start with. Honestly it seems to me like it's breeding a reputation of fear and terror around the language! I would direct you to Kate Gregory's material; she has done some very good beginner friendly videos wherein she actively tries to discourage this opinion of C++.

The single biggest problem in communication is the illusion that it has taken place.

Link to comment
Share on other sites

Link to post
Share on other sites

Both have similar syntax. I kind of prefer Java, but that's just me.

I cannot be held responsible for any bad advice given.

I've no idea why the world is afraid of 3D-printed guns when clearly 3D-printed crossbows would be more practical for now.

My rig: The StealthRay. Plans for a newer, better version of its mufflers are already being made.

Link to comment
Share on other sites

Link to post
Share on other sites

Thanks for the suggestions guys!

Link to comment
Share on other sites

Link to post
Share on other sites

Do Java. 

 

As somebody who did both Electronic/Computer Engineering and Computer Science at University, I would say for the most part Java is more suited to the kinds of things a Computer Scientist is mainly concerned with doing.

Well, perhaps not more suited, but it is easier and perfectly adequate.

Link to comment
Share on other sites

Link to post
Share on other sites

I'd go for C++. Ultimately you have to worry about more stuff in C++ than you do with Java, which will actually help you out in the long run even though it is a pain to learn at first. If you start with Java you might get too used to things like its automatic garbage collection which, if similar code was written in C++, would cause tons of memory leaks.

 

Overall, I'd pick C++ mostly because it instills good programming practices in you from the get-go, meaning transitioning from one language to another (a necessary skill for programmers) will likely be easier.

Link to comment
Share on other sites

Link to post
Share on other sites

Do C++. You will undestand better how a computer works because C++ is a low level language ( or high level low level language, if you compare it with assembly language)

In my fist year I did assembly language, C and C++ ( and computer architecture plus automata theory and formal languages) and I learned (at home) python and javascript (plus frameworks) and I think that understantig how a computer works really helped me.

Link to comment
Share on other sites

Link to post
Share on other sites

Java is generally easier to learn and is a more practical programming language than C++.

C++ will make you a better programmer but it isn't the most practical to program in and isn't friendly to beginners.

 

I recommend C++ since it will help you to recognize problems that are not necessarily apparent earlier and it is more of a 'universal' programming language when it comes to concepts. You can move quite easily to other programming languages from C++ and it's better to destroy a sand castle now than a skyscraper later on.

Link to comment
Share on other sites

Link to post
Share on other sites

...it's better to destroy a sand castle now than a skyscraper later on.

 

I really like your analogy  :D

The single biggest problem in communication is the illusion that it has taken place.

Link to comment
Share on other sites

Link to post
Share on other sites

Both. 

 

Java does a fantastic job with teaching OOP. 

C++ is more preferable overall. 

Interested in Linux, SteamOS and Open-source applications? Go here

Gaming Rig - CPU: i5 3570k @ Stock | GPU: EVGA Geforce 560Ti 448 Core Classified Ultra | RAM: Mushkin Enhanced Blackline 8GB DDR3 1600 | SSD: Crucial M4 128GB | HDD: 3TB Seagate Barracuda, 1TB WD Caviar Black, 1TB Seagate Barracuda | Case: Antec Lanboy Air | KB: Corsair Vengeance K70 Cherry MX Blue | Mouse: Corsair Vengeance M95 | Headset: Steelseries Siberia V2

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

I'm not going after anyone in particular with this but I really can't understand why there seems to be this opinion that C++ is so difficult and bad to start with. Honestly it seems to me like it's breeding a reputation of fear and terror around the language! I would direct you to Kate Gregory's material; she has done some very good beginner friendly videos wherein she actively tries to discourage this opinion of C++.

 

I would just say don't start with C++ because it should be avoided wherever possible. In my opinion, it is a disgusting, ugly, and often confusing language and in many situations its unique features are not really necessary. And I say this as someone who has to use it every day at work (not through choice).

 

Don't get me wrong, every programmer should probably learn it at some point, but it's a horrible language to start with. I think having a confusing, messy language that complains about every little mistake is discouraging to most new starters. Far better, I think, to start with something a little more forgiving and then show your code to more experienced people who can dissect your code and give you tips and ideas on best practices and whatnot... You want to encourage people to want to continue, and that is going to happen more with easier languages that don't have a hissy fit over everything.

 

Sorry... This isn't really a complete thought... I just don't like C++ very much. I'll have to think on it some more, though, probably.

Link to comment
Share on other sites

Link to post
Share on other sites

I would just say don't start with C++ because it should be avoided wherever possible. In my opinion, it is a disgusting, ugly, and often confusing language and in many situations its unique features are not really necessary. And I say this as someone who has to use it every day at work (not through choice).

 

Don't get me wrong, every programmer should probably learn it at some point, but it's a horrible language to start with. I think having a confusing, messy language that complains about every little mistake is discouraging to most new starters. Far better, I think, to start with something a little more forgiving and then show your code to more experienced people who can dissect your code and give you tips and ideas on best practices and whatnot... You want to encourage people to want to continue, and that is going to happen more with easier languages that don't have a hissy fit over everything.

 

Sorry... This isn't really a complete thought. I'll have to think on it some more.

 

That really upsets me  :wacko:

 

I can see your point though, about how a beginner could become overwhelmed and disheartened. I'll admit there were points when I did, though I would encourage perseverance in light of the gains over going for something easier. Moverover if we look to C++ 11 and beyond we can see that they are really making efforts to make it easier and friendlier, see here.

The single biggest problem in communication is the illusion that it has taken place.

Link to comment
Share on other sites

Link to post
Share on other sites

That really upsets me  :wacko:

 

I can see your point though, about how a beginner could become overwhelmed and disheartened. I'll admit there were points when I did, though I would encourage perseverance in light of the gains over going for something easier. Moverover if we look to C++ 11 and beyond we can see that they are really making efforts to make it easier and friendlier, see here.

 

I'm sorry, I didn't mean to upset you! :(

 

Perhaps it is just the code that I have so far been exposed to, but I just don't find C++ very pleasant to look at and, subsequently, not particularly conducive to readability... to some extent I think those are important in a first language. (admittedly, though, the OP never said whether it was their first language) I'm sorry for using such strong language, like disgusting and ugly, that was exaggerated. I guess we've both just had very different experiences with it. As an Electronic Engineer lower-level stuff is very much where I started out, but I have really come to appreciate the niceness of higher level languages which just make things a breeze and make it easier to create something functional in less time... though, having said that, perhaps my lower level introduction shouldn't be overlooked so easily... hmm. As I said, this is not a complete thought. I am still in the process...

I do agree about C++11... that is very nice to see.

 

Again, sorry to have upset you. Just ignore me. I say stupid, not very well thought out things all the time... >_>

Link to comment
Share on other sites

Link to post
Share on other sites

C++ is a good language and will stand the test of time. however right now the hot language is java.

Link to comment
Share on other sites

Link to post
Share on other sites

C++, Ofc, if you know C++ and the Logic behind it you can learn all other languages in like 1-2 weeks.. Trust me Im a Senior IT student.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×