|
I'm a college junior majoring in Computer Science and have been learning C++ since the first day.
But nowadays I'm hearing more and more people talking about how Java and C# are the best languages to go for at the moment as those are seemingly the only thing companies are using nowadays.
Every time I turn around the corner there's gonna be someone talking about either of those languages and barely hear anything about C++.
Now my question is: If Java and C# are currently the main trend, why are teachers at the universities teaching C++ and even Lisp? Is it because that's all they know or I'm just taking the Java and C# thing too seriously?
I'm confused...
Thanks~
|
Whereas Java and C# are easy, convenient and powerful, C/C++ is still the best for performance. In other words, different jobs requires different languages. You don't do game programming in Java, and you don't program microchips in C. That's why some universities still teach perl and cobalt, etc.
|
How do you pronounce C# when talking? I've never heard of it before.
|
# is sharp, just like reading notes. Thus C# = C-sharp.
|
On April 19 2009 11:18 EsX_Raptor wrote: I'm a college junior majoring in Computer Science and have been learning C++ since the first day.
But nowadays I'm hearing more and more people talking about how Java and C# are the best languages to go for at the moment as those are seemingly the only thing companies are using nowadays.
Every time I turn around the corner there's gonna be someone talking about either of those languages and barely hear anything about C++.
Now my question is: If Java and C# are currently the main trend, why are teachers at the universities teaching C++ and even Lisp? Is it because that's all they know or I'm just taking the Java and C# thing too seriously?
I'm confused...
Thanks~ they teach these languages so you can get a grasp of the different ideas in programming.
such as c++ for it's pointer, java for oop and etc.
|
Also, once you learn a language like c++, learning other languages will be incredibly easy.
|
Kyrgyz Republic1462 Posts
The universities' goal is to teach you not the particular language, but the general concepts of programming. What you learn with C++ translates well to all other languages.
Also it is good to know how the stuff works on lower level, in C/C++ you can work directly with memory, interact with OS functions and do all sorts of hacks which you cannot do in Java/C#.
Java and C# do many things for you, such as automatic memory management or the huge class libraries that can handle routine tasks (managing strings, data collections, network, etc.), which in the end results in increased productivity because it makes programs less prone to human error. That is why they are so popular.
In practice, C/C++ is used where performance is critical: in applications such as games, graphics software, video encoding, software for embedded systems and so on. For tasks such as business/financial applications Java/C# is usually a better choice.
|
On April 19 2009 11:49 Megalisk wrote: Also, once you learn a language like c++, learning other languages will be incredibly easy.
Yes, that's a big part of it. C# and Java are very protected environments; C++ is about as far from a protected environment as you can get. So if you can manage C++, you can easily manage C#/Java.
On April 19 2009 12:13 Random() wrote: software for embedded systems
You'd be surprised how much embedded systems rely on Java implementations.
|
That's really nice, thank you guys for your insight on this.
Now that I think about it, it's true. The reason they teach us C++ is because the language has a lot of things in it that are very useful in understanding the main concepts other programming languages, paradigms, styles and such are all about.
Another question: I've heard before that C++ is used a lot in game programming. But I've also heard that Java is good for this end too? o,o or maybe I heard wrong cause I don't really think such a slow executing language can have a place in today's gaming industry.
|
On April 19 2009 11:39 Jonoman92 wrote: How do you pronounce C# when talking? I've never heard of it before.
http://lmgtfy.com/?q=c# programming language
srsly though, c++ is a great thing to learn dont worry about anything else, c++ is very useful and a great language to know.
|
Don't be afraid to learn new languages. In many cases (Python, perl) it's incredibly easy.
What Random() says is exactly correct. C++ teaches the basics of C (And thus, the imperative programming skills he mentioned) and it also teaches the *basics* of OOP. It's the language which arguably gets your feet wet in the most areas at once.
[If someone wanted to blast me for not promoting Java for its threading model they would not be wrong, however if people really cared about teaching kids that they'd be learning Haskell, etc.]
Honestly, no matter what you learn now, you will be doing things differently in the workplace. Don't worry about it.
|
On April 19 2009 12:22 EsX_Raptor wrote: That's really nice, thank you guys for your insight on this.
Now that I think about it, it's true. The reason they teach us C++ is because the language has a lot of things in it that are very useful in understanding the main concepts other programming languages, paradigms, styles and such are all about.
Another question: I've heard before that C++ is used a lot in game programming. But I've also heard that Java is good for this end too? o,o or maybe I heard wrong cause I don't really think such a slow executing language can have a place in today's gaming industry. 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.
|
On April 19 2009 12:22 EsX_Raptor wrote: Another question: I've heard before that C++ is used a lot in game programming. But I've also heard that Java is good for this end too? o,o or maybe I heard wrong cause I don't really think such a slow executing language can have a place in today's gaming industry.
People write games in Python (Frets on Fire)...
There's a lot to be said for rapid prototyping, as well. Write the game in a 'slow' language, then rewrite the performance-critical bits in C.
In PC gaming, at least, there's a very, very wide field of games that require no performance whatsoever. Solitaire, say. Or starcraft.
|
On April 19 2009 12:24 Divinek wrote:Show nested quote +On April 19 2009 11:39 Jonoman92 wrote: How do you pronounce C# when talking? I've never heard of it before. http://lmgtfy.com/?q=c# programming languagesrsly though, c++ is a great thing to learn dont worry about anything else, c++ is very useful and a great language to know.
is it me or has LMGTFY gone from being funny in a passive-aggressive sort of way to just outright dickishness
|
C flat? or C sharp. thats the question. I think this is one of those things where it cant hurt to know them all bro.
|
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?
On April 19 2009 12:32 miseiler wrote: There's a lot to be said for rapid prototyping, as well. Write the game in a 'slow' language, then rewrite the performance-critical bits in C. same thing here, can a game written in, say python, be also merged with other C code?
|
|
|
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? Show nested quote +On April 19 2009 12:32 miseiler wrote: There's a lot to be said for rapid prototyping, as well. Write the game in a 'slow' language, then rewrite the performance-critical bits in C. same thing here, can a game written in, say python, be also merged with other C code?
You can't merge two languages really. You can rewrite both into one, thats about it. Unless you include like assembly and stuff.
|
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:
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 =)
|
|
|
|