I'm actually in school for something very similar to you, though I decided to dual in engineering and psych...but my goal is the same.
I love how people keep saying Java is slower, quoted from one of my other posts:
[quote]Java is definitely NOT bad for things that require speed...what exactly are you looking at, String Theory simulations, pixel perfect dynamic lighting, AI!? The speed differences between Java and C++ is minimal and depending what benchmarks you are testing (string manipulation, low level operations, floating point evaluations) Java can actually be faster...or slower. But it's never to the point where Java is omfg slow :/
Java apps are also far easier to crossplatform.[/quote]
I would say first determine what platform you want to work on. If you want to work strictly on windows then for sure go with c++ as it offers all the low-level stuff you may need as a software engineer. If you want to be platform independent then I would say Java and here's why:
* I'm not convinced that Java is slow/as slow as people say in any means by the numerous benchmarks out there, despite what forum-lore says
* Java is easier to cross platform
* Java is Purely OOP, while C++ is OOP-based
* You said software engineering, not game programming
For Java you don't have to cross-compile though.
And if you want to cross-compile C++ code, then you also need the library for each platform you compile for on the dev-computer.
[quote=bootv2]C++, because I don't know any other language.[/quote]
I'm not trying to insult you, but have you ever actually coded Java? I'm not trying to start a Java vs C++ flamewar here as obviously each has their uses. ZeekyHBomb is right, for Java there is no cross-compilation as its all run from a virtual machine...so actually you the coder don't need to do anything!
OGL for Java is different case entirely tho because here you are trying to wrap a platform dependent library through a platform independent language. Naturally you'll have to use a different library for the specific platform you want to develop. Which would be 100% true for any language at all.
When you start introducing wrappers then the game changes entirely. Also for games c++ would definitely be the better choice because you don't need wrappers and such. But the OP was talking about software engineering...which doesn't mean strictly games.
[QUOTE=OMGCarlos;28069624]so actually you the coder don't need to do anything![/QUOTE]
Not completely true.
You could falsely rely on sizes to specific datatypes (though I think in Java all are well defined?), different endianness, use a hard-coded path-separator in paths, AWT can work a little differently on different platforms, causing the GUI to glitch and [url=http://www.mactech.com/articles/mactech/Vol.14/14.05/WritingJavaCross-Platform/index.html]this little thing[/url] about threads.
In C++ you have to look out for the same stuff. If you use the same compiler-frontend and cross-platform libraries then I think you're not going to hit any more barriers than with Java, apart from the cross-compiling of course.
[QUOTE=yakahughes;28061812]No, slow code makes already slow Java slower.[/QUOTE]
I'm sorry that every line of code you write is slow. Can the rest of us code fast Java, C# and C++ meanwhile? Thanks.
[QUOTE=gparent;28072758]I'm sorry that every line of code you write is slow. Can the rest of us code fast Java, C# and C++ meanwhile? Thanks.[/QUOTE]
Java IS a slow language comparing to C# and C++ no matter how optimized or "professional" your coding is. Stop blindly defending it.
I brought up JIT, now why don't you give some reasonable arguments supporting static compiling, instead of just a statement that probably is just your biased opinion.
C++ is the only relevant language of those three, and the most used.
Fanboys of other languages will side with their own inferior languages though.
[QUOTE=DarkCybo7;28074515]Implying he's not a C++ fanboy, as there supposedly is no such thing.[/QUOTE]
I gave you an artistic rating cause it's close to autistic
[QUOTE=bootv2;28074639]are you TRYING to get a flamewar up and running? all languages are good for something, java is good for simple and fast development, c++ is good for speed, there's something good to every language. please for the love of this thread don't say all other languages are inferior to c++[/QUOTE]
Sorry but what's the industry standard again? oh yeah
Java is probably most used to create Java applets, but that's far as it goes. Most of the software and applications you use are probably written in C/C++, sorry
[QUOTE=DarkCybo7;28074607]I gave you an artistic rating cause it's close to autistic[/QUOTE]
Oh, you're totally right. No normal person would be sarcastic to someone being hypocritical.
[QUOTE=bootv2;28074639]are you TRYING to get a flamewar up and running? all languages are good for something, java is good for simple and fast development, c++ is good for speed, there's something good to every language. please for the love of this thread don't say all other languages are inferior to c++[/QUOTE]
[url]http://www.p-nand-q.com/humor/programming_languages/java2k.html[/url]
For a good laugh. It actually a nifty idea; I mean how would you come to think of something like this?
[QUOTE=DarkCybo7;28074664]Sorry but what's the industry standard again? oh yeah[/QUOTE]
[url]http://langpop.com/[/url]
[url]http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html[/url]
[url]http://www.devtopics.com/most-popular-programming-languages/[/url]
Just google popular programming language or something similar.
Talk about citing unreliable sources.
I do like Java because of web support, I've talked to adults that are in the programming industry and according to them there's a big boom in web-ready applications, I think all languages have a purpose, but it depends on what you're wanting to do.
If you're looking to appeal to the wide range of clients you'll get by knowing C/C++ then learn that, if you want to do web-ready applications or whatever else Java is good for (Sorry, I don't know much about Java) then learn Java.
[QUOTE=DarkCybo7;28074828]Talk about citing unreliable sources.[/QUOTE]
For now.
I agree with DarkCybo7 Java really sucks, JavaScript is simpler and much easier to do games with. Just compare <img src="playerSprite.png"> with some advanced Swing shit.
[QUOTE=DarkCybo7;28074828]Talk about citing unreliable sources.[/QUOTE]
[QUOTE=ZeekyHBomb;28074795]Just google popular programming language or something similar.[/QUOTE]
I intended to account for this. I choose the first 3 applying matches btw, you can check yourself.
Apparently the differences between C# and Java are few. So I'm learning C# now, and when I fell I've learnt enough I'll move to Java, then C++.
[QUOTE=tommyc225;28077001]Apparently the differences between C# and Java are few. So I'm learning C# now, and when I fell I've learnt enough I'll move to Java, then C++.[/QUOTE]
After learning C# and then Java, it might be slightly more difficult to learn C++, because you'll have an expectation of how things should work, and it will be invalid. Like learning long division after having learned to use a calculator. Consider learning C++ first (or at least switching Java and C++ in your list if you're really set on learning C# first).
In what way is C++ different? All I understand is it has lower level functions.
[QUOTE=tommyc225;28077227]In what way is C++ different? All I understand is it has lower level functions.[/QUOTE]
C++ is native code while C# runs in a VM (basically). This puts you nearer the hardware and makes the variety of errors you can make larger, as well as making the penalties for messing up more severe.
I can't explain it very well and that isn't the only way in which they're different, but trust me, they're way different. The only thing similar is (a portion of) the syntax.
Also, pointers.
You have to manage your memory yourself. Most of the other differences are syntax differences. C# has tons of extra features you won't find in C++ like Lambda expressions but I'm guessing you're probably not using them. I don't think there's any issue going from C# to C++ at all. It'll feel uncomfortable at first but once you get to grips with it, you'll probably already understand things like OO.
DarkCybo7 is obviously trolling, as he gives no references to any of the diarrhea spewing out of his/her/its mouth. I would like to know which asshole you are pulling all your information out from...oh wait, you're banned for trolling, never mind.
I was defending Java not because I feel it's superior or whatever, but simply because people said it was slow. That's it.
And one other "philosophical" difference between (Java and C#) and C++ (I think this deserves a new post, not just an edit) is that in C++, it's [b]really[/b] valuable, if not essential, to know how things are working underneath, whereas with the other two, the languages and their VMs abstracts that part away from the programmer. This is what makes C# and Java so-called productivity languages; you don't care how things are being done, only what result you get. The effect is more per-programmer productivity and less knowledge about what is going on underneath. This can be very good for certain applications, and not so good for others.
Also with C++ I find that I learn more about computers in general, such as knowledge of the PE executable format, Windows internals, etc. Just something to think about.
[QUOTE=tommyc225;28077227]In what way is C++ different? All I understand is it has lower level functions.[/QUOTE]
The higher level a programming language is, the more limited its use is (in general)
Alright, I'll take it all into consideration. I think I'll stick with C# and then move up to C++ after.
Quick question, can C# be used to make android apps?
[QUOTE=tommyc225;28077739]Alright, I'll take it all into consideration. I think I'll stick with C# and then move up to C++ after.
Quick question, can C# be used to make android apps?[/QUOTE]
Nope, don't think so.
Yea thats a good question I'm not really sure. I know the OS uses XML, C, Java, C++ in that order but idk anything about c# being used.
[QUOTE=tommyc225;28077739]Alright, I'll take it all into consideration. I think I'll stick with C# and then move up to C++ after.
Quick question, can C# be used to make android apps?[/QUOTE]
[url]http://www.monodroid.net[/url]
It's not out yet though, and you'll have give up some of your crack money too. It's gonna cost $400.
[editline]dsadsad[/editline]
Don't want to stir up the whole Java vs. C++ thing again, but the Github language list gives you quite a nice, trustworthy idea of language popularity:
[url]https://github.com/languages[/url]
Sorry, you need to Log In to post a reply to this thread.