Sign in to follow this  
Rouge_Raven

Future changes in used languages

Recommended Posts

I'm 14 years old, in 8th grade, and will be in College in 2011. I am enrolled for AP Computer Science next year for 9th grade at the High School, and will keep on moving up to AP Computer Science IV, hopefully, and will probably do something called "Independent Study" which allows me to do whatever I want, as an elective, as long as it is approved. About two years ago, they were using C++, but recently, have switched to using Java in the courses, and from what I've seen, depending on the college, it's either Java and C++. First, I was wondering, why the change to Java? As far as I know, 99% of commerical games, games you see on the shelves, or programs, are written in C/C++. Second, I was wondering, what language would probably be in use around 2015, with emphasis on game programming. Would it still be C/C++? Python? C#? Java? D? I realize that most projects use a combination of languages, Python being very popular for scripting, but for main programming, what it's primarily programmed in. I was curious, because if it isn't ever going to be Java, I could talk to the school about it, possibly get it changed, pending on available teachers to teach C++ instead of Java, that, or while learning Java, learn a language at home. Right now, I'm programming as a hobby in Blitz3D, but really would like to start using a language that would be beneficial in the long run. Please just answer the questions though, and not give me advice on, sticking with Blitz3D, keep it fun, etc. So, again: First, I was wondering, why the change to Java? As far as I know, 99% of commerical games, games you see on the shelves, or programs, are primarily written in C/C++. Second, I was wondering, what language would probably be in use around 2015, with emphasis on game programming. Would it still be C/C++? Python? C#? Java? D?

Share this post


Link to post
Share on other sites
Quote:
Original post by Rouge_Raven
First, I was wondering, why the change to Java? As far as I know, 99% of commerical games, games you see on the shelves, or programs, are primarily written in C/C++.


Well game development is a small percentage of total software development. C/C++ is king for commercial games, but Java is widely used for desktop applications and web service types of things. Also it is easier for beginner programmers to come to terms with, so it is often used in entry-level courses.

Quote:
Original post by Rouge_Raven
Second, I was wondering, what language would probably be in use around 2015, with emphasis on game programming. Would it still be C/C++? Python? C#? Java? D?


Nobody knows of course. I think that in 15 years it will not *matter* so much what language you use. We are seeing that now with the .NET stuff.

Share this post


Link to post
Share on other sites
Quote:
Original post by Rouge_Raven
*blablabla*

Second, I was wondering, what language would probably be in use around 2015, with emphasis on game programming. Would it still be C/C++? Python? C#? Java? D?


Well I think that (if we could still follow moore's law) and assuming we would still have pc that look like these. c++ would probably the most common, but if you look back, 15 years back the be more preciseley (or however you write that ;)) we are using totally different languages then back then so I don't think that it is possible to predict that will come.

Share this post


Link to post
Share on other sites
Well, 2015 is actually only 9 years from now, but yeah ;)

It comes down to this: expert programmers generally don't choose to become teachers. Therefore, those teaching you how to program really shouldn't be looked at as an authoritative source on the subject. There is a lot of garbage in schools.

Java is being switched to because teachers feel more comfortable using it. I think it would be nice for them to at least use one of the .NET languages, but average schools are usually obsolete in their knowledge. It's pretty much safe to say that the computer field advances much more quickly than history, or english, or math. That makes an incredible turnover in applicable knowledge - it doesn't make sense for a teacher to keep up with technology and stay at the cutting edge, and it's even harder if they don't actually do programming for a living.

You've got a head start to many of your peers. Take advantage of that, and start picking up programming books written by authoritative authors, and learn straight from them. Pay attention, and try to stay 'in the know' about the trends and such. Don't rely on school to give you an appropriate background as far as computing knowledge goes - it's time to branch off and start learning this stuff on your own. If you're dead-set on becoming a game programmer, then you certainly have a great opportunity to become one, if you chase it down and work towards getting the right knowledge under your belt. You have 10 years to do it - that's a lot of time.

Share this post


Link to post
Share on other sites
Computer Science, ideally, is a field in which you learn to program, not a field in which you learn a programming language. Show me a college student who complains about "having to learn an obsolete programming language" and I'll show you a guy whose skillset is going to be completely worthless in ten years regardless of what language they teach him. Bottom line: It does not matter which language you're working with; what matters is that you are learning the fundamentals of programming. (Learning multiple languages, of course, will be considerably helpful to you.)

Share this post


Link to post
Share on other sites
Quote:
Original post by RDragon1
Well, 2015 is actually only 9 years from now, but yeah ;)

It comes down to this: expert programmers generally don't choose to become teachers. Therefore, those teaching you how to program really shouldn't be looked at as an authoritative source on the subject. There is a lot of garbage in schools.

Java is being switched to because teachers feel more comfortable using it. I think it would be nice for them to at least use one of the .NET languages, but average schools are usually obsolete in their knowledge. It's pretty much safe to say that the computer field advances much more quickly than history, or english, or math. That makes an incredible turnover in applicable knowledge - it doesn't make sense for a teacher to keep up with technology and stay at the cutting edge, and it's even harder if they don't actually do programming for a living.

You've got a head start to many of your peers. Take advantage of that, and start picking up programming books written by authoritative authors, and learn straight from them. Pay attention, and try to stay 'in the know' about the trends and such. Don't rely on school to give you an appropriate background as far as computing knowledge goes - it's time to branch off and start learning this stuff on your own. If you're dead-set on becoming a game programmer, then you certainly have a great opportunity to become one, if you chase it down and work towards getting the right knowledge under your belt. You have 10 years to do it - that's a lot of time.


I disagree. The fundamentals of computer science, besides the mass introduction of object-oriented programming, haven't changed much in the last 40 years. And whatever a teacher can teach you in computer science is still incredibly relevant. Yes, languages have changed and continue to change. The most popular language in 10 years from now is possibly not even born. That's irrelevant. Computer science is not about the syntax of particular languages.

The easiest the language is, the best you can concentrate on what programming is all about. Therefore, schools should move out to the easiest, most powerful language.

Share this post


Link to post
Share on other sites
Quote:
Original post by Sneftel
Computer Science, ideally, is a field in which you learn to program, not a field in which you learn a programming language. Show me a college student who complains about "having to learn an obsolete programming language" and I'll show you a guy whose skillset is going to be completely worthless in ten years regardless of what language they teach him. Bottom line: It does not matter which language you're working with; what matters is that you are learning the fundamentals of programming. (Learning multiple languages, of course, will be considerably helpful to you.)


Quoted for emphasis.

Share this post


Link to post
Share on other sites
Quote:
Original post by RDragon1
Well, 2015 is actually only 9 years from now, but yeah ;)


See I'm already behind the times!

But seriously, I wish I had started when I was 14. Anything you learn will be helpful.

Share this post


Link to post
Share on other sites
As far as the future of languages, Tim Sweeney just published a paper on where he thinks game programming languages need to go. There is a huge debate about it here

As far as asking your school to switch from Java to C++, It's not really necessary.

Games can be written in virtually any language that you choose. C\C++ is a standard because to the power C\C++ gives the developer. However a typical software developer will never need to harness that power. Instead you will use that various libraries available to shorten to development process so that products can be delivered sooner.

Your real goal should be to improve your ability to write clean, understandable, and efficient (not optimized) code.

The need for a developer to know the little optimization tweaks of a specific language isn't that necessary any more. Plus regardless of the number of micro-optimizations you implement in a program, an inefficient algorithm is an inefficient algorithm regardless of the language it is written in.

Plus you have a huge start on your peers. I was 21 before I started teaching myself C\C++ to get away from the tedium of Law School.

Learn how to Program now. Worry about what language to use later.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
So how about C# and D?

From what I've heard, give C# C/C++'s community, fix the garbage collector, and it'll be perfect, and D seems to be on the right track. Any possibility those languages become much more popular in the future, provided we don't have a completely new concept to use instead of programming languages, or someone doesn't invent a C! language.

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
So how about C# and D?

From what I've heard, give C# C/C++'s community, fix the garbage collector, and it'll be perfect, and D seems to be on the right track. Any possibility those languages become much more popular in the future, provided we don't have a completely new concept to use instead of programming languages, or someone doesn't invent a C! language.


^ Yeah, and also, would it be a decent idea to start looking at Java? I won't be producing AAA MMOFPS's anytime soon, so speed shouldn't be a problem if it ever was, and it'll get me prepared for next year.

Share this post


Link to post
Share on other sites
Quote:
Original post by Rouge_Raven
First, I was wondering, why the change to Java?

Money. Specifically, Sun Microsystems' marketing and promotions money, given away liberally in the form of equipment and grants and free textbooks.

More money: being able to produce graduates with "marketable skills" increases demand for the school, which allows them to raise fees.

Share this post


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

Sign in to follow this