|
C++ is a very nice language in that it encompasses a lot of concepts. However, starting with C++ (i.e., if you haven't done any programming before) is a questionable choice.
Java and C# are indeed the "main trend" of software development these days for Windows application. Java is pretty much the standard for any back-end server due to its enormous core libraries and documentations. Windows application in anything other than C# is simply a pain in the ass.
Performance these days are generally negligible (relatively speaking), as they can be easily made up with hardware improvements (relatively speaking). These is why more and more companies choose "less efficient" (arguable) languages such as Java and C# over C/C++. However, there are definitely cases where certain languages are preferred over others. Some examples include video games (although C# seems to be gaining popularity), and any application where timing is absolutely crucial (such as hedging firms/arbitrage detection algorithms).
|
I have a friend who is also looking to learn a programming language during the summer and he asked me what to learn... I suggested him C and C++ as a lot of you guys did, though I also suggested Python, he suggested Java, and a friend suggested C#.
In your opinion, what is the best compilerIDE (per language) to use when learning?
I can google some but I wanna hear what TL thinks.
edit: also, are there any downloadable programming textbooks? (or simple, thorough learning guides)
|
On April 19 2009 12:50 Not_Computer wrote: I have a friend who is also looking to learn a programming language during the summer and he asked me what to learn... I suggested him C and C++ as a lot of you guys did, though I also suggested Python and Java.
In your opinion, what is the best compiler (per language) to use when learning?
I can google some but I wanna hear what TL thinks.
Do you mean "compiler" or "IDE"?
|
On April 19 2009 12:48 EsX_Raptor wrote:LMAO im reading this and it's giving me the lols xD however, i dont fit his complaints about today's kids majoring in cs (i actually had to deal with recursion and pointers A LOT... so i guess this is more university-dependent rather than generational?) edit: Show nested quote +On April 19 2009 12:46 keV. wrote: You can't merge two languages really. You can rewrite both into one, thats about it. Unless you include like assembly and stuff. thank you for clarifying this =)
Heh, yea joel is great and he makes me feel alot better about the classes I take when I get owned by the midterms. Wasn't calling you a java school guy anything, I just thought it was a good read and pretty relevant. The problem really is that all those thousands of "game design" and crap 1.5 to 2 year schools are preparing you for a job that is already done by thousands of people in India.
|
On April 19 2009 12:50 Not_Computer wrote: I have a friend who is also looking to learn a programming language during the summer and he asked me what to learn... I suggested him C and C++ as a lot of you guys did, though I also suggested Python and Java.
In your opinion, what is the best compiler (per language) to use when learning?
I can google some but I wanna hear what TL thinks.
Assuming you mean IDE,
I like JCreator for java. A nice clean interface. Extra stuff doesn't get in the way of beginners.
I heard Eclipse is good with a lot of powerful tools as well
|
On April 19 2009 12:52 Cambium wrote:Show nested quote +On April 19 2009 12:50 Not_Computer wrote: I have a friend who is also looking to learn a programming language during the summer and he asked me what to learn... I suggested him C and C++ as a lot of you guys did, though I also suggested Python and Java.
In your opinion, what is the best compiler (per language) to use when learning?
I can google some but I wanna hear what TL thinks. Do you mean "compiler" or "IDE"?
I'm a noob
edit: yes, IDE
|
If you can handle pointer arithmetic and some of the more complex data structures, the time it takes to learn a new language is pretty much negligible.
|
Correct me if I'm wrong, but I think that you hear a lot about Java and C# in the same way you hear a lot about linux. A lot of noise is made because finally there is an alternative to the defacto standard. It doesn't necessarily mean it is widely used in comparasin.
|
That's an IDE.
I primarily code in Java, and most people (99%?) use Eclipse. I've done C/C++ on Unix with VI and GCC/G++. On windows, Visual Studio is actually not THAT bad (although horribly slow), I really like their debugger.
|
Also, in response to original post, I think java is taught more than c++ now is because its newer, has better documentation and organization (C++ data structures, classes, pointers get really confusing taken all at once), it's use in web apps, and it's easy accessibility (the whole thing is object oriented unlike C++ which mixes and matches). Well at least that's how java has come across in my high school compsci class.
|
On April 19 2009 12:55 fight_or_flight wrote: Correct me if I'm wrong, but I think that you hear a lot about Java and C# in the same way you hear a lot about linux. A lot of noise is made because finally there is an alternative to the defacto standard. It doesn't necessarily mean it is widely used in comparasin.
Java is definitely more widely taught. Its easier to teach and easier to learn.
|
On April 19 2009 12:55 fight_or_flight wrote: Correct me if I'm wrong, but I think that you hear a lot about Java and C# in the same way you hear a lot about linux. A lot of noise is made because finally there is an alternative to the defacto standard. It doesn't necessarily mean it is widely used in comparasin.
It actually is.
Java is by far the most popular programming language used today.
Here's the first link from Google: http://www.devtopics.com/most-popular-programming-languages/
Not saying it's 100% reliable, but it definitely shows a trend.
I've had three different jobs (vastly different) in the past, all companies used Java in some way (two used it for server, one used it to build an online App).
|
On April 19 2009 12:56 arcticStorm wrote: Also, in response to original post, I think java is taught more than c++ now is because its newer, has better documentation and organization (C++ data structures, classes, pointers get really confusing taken all at once), it's use in web apps, and it's easy accessibility (the whole thing is object oriented unlike C++ which mixes and matches). Well at least that's how java has come across in my high school compsci class.
Java is also great because the code is generally much cleaner (less hacks), which provides extra readability, maintainability and reusability.
|
On April 19 2009 12:50 Not_Computer wrote: In your opinion, what is the best compiler (per language) to use when learning? yeah assuming you mean IDE, I'd say Microsoft Visual C++ Express Edition. It is free and very good.
Also, I'd recommend your friend starts out with C++. Yes, it is hard, but I'm now convinced it's honestly the best language to start out with as it teaches you a lot about the known paradigms.
edit: also what Cambium said..
|
no fucking way, start with c++? C++ is a fucked up language. Go for C if you wanna learn pointer arithmetic and other interesting stuff. Then choose an OOP language that's not C++ lol.
|
traditional com science courses always start you off in C or C++ and that's the way it should be. Some modern university give you C#, JAVA etc to better equip you for jobs and there is also nothing wrong with it.
Learn the concepts and take an elective in C# if you must but you really should just pick things up by self study.
|
United States3824 Posts
I think we should only code in 80x86 assembly.
|
Heres my two cents. If you do learn all the fucked up stuff about C++ (and yes, there's plenty), when you try to pick up some of the more modern languages, you will be in a much better position than someone trying to go the other way. And there's still tons of work that must be done (and will need to be for the foreseeable future) in an "unmanaged" language. For example, there is a disclaimer in the Java License agreement that the language cannot be used in Aircraft autopilots or the controls systems of nuclear power plants. That basically means for those types of situations, ether C or C++ will be used and which one is used will depend on the situation. Plenty of C gets written every day for embedded devices.
To pick a completely random analogy, think of going from C++ to Java like playing an RTS without automining/MBS and then switching one that had that stuff. So the answer is obvious: Garbage collectors will ruin competitive programming.
Seriously though, I'm really glad I learned C/C++ first. It might have been easier the other way but I feel like I'm a better programmer in the end.
|
i heard java is a dying language.
|
On April 19 2009 12:36 EsX_Raptor wrote:Show nested quote +On April 19 2009 12:31 Phyre wrote: If you want to be a game programmer C++ is the only choice for AAA (read: big) game studios. From what I've heard, casual/smaller game studios might work in things like Flash/Actionscript or Java for mobile development. Where I work all the game related stuff is done in C++ and we use C# for tools. nice! =) but i dont get something, how is c# used for tools? can c++ and c# be merged or something? Tools meaning stuff like say... a program that provides a GUI for a level designer to configure an AI Bot. The tool is external to the game, it's a windows app. Throwing together little windows apps quickly is something C# excels at. Lots of little tools are made to help developers develop more efficiently.
So let's say you were making a game, perhaps you would use C# to make your level editor or something.
|
|
|
|