Skip to main content
GameDev.net gamedev.net
🔒 Locked

Is C++ dying?

Started by Digigamer15 Jan 13, 2003 at 10:26 PM 115 replies 15.1k views
Original Post
Digigamer15
Digigamer15
Next year at my high school the computer science class will be teaching Java instead of c++. The teacher claimed that c++ is dying. At first when I heard this from my friend I thought no way! c++ is used to code xbox, gamecube, ps2, and GBA games how could it be dying and java be taking over!? But then I just read about how some collage will be removing c++ from its program and teach java next year as well. So what do you guys think/know? Is c++ dying and Java taking over? And if not now what about the near future? ----------------------------- Programming is confussing! AIM: Trebor DoD
zealouselixir
zealouselixir
quote:
Original post by Digigamer15
The teacher claimed that c++ is dying.


The teacher is an idiot, and likely has no (edit: recent and relevant) professional programming experience.

The Java switch is the academic manifestation of the OOP-whoring that's been reaching a climax for the past few years. Give it time, and it'll settle down. No matter which way it comes out, C++ will most likely emerge as strong as before.

Later,
ZE.



//email me.//zealouselixir software.//msdn.//n00biez.//
miscellaneous links


[edited by - zealouselixir on January 13, 2003 11:35:13 PM]
[twitter]warrenm[/twitter]
Kaezin
Kaezin
At my school they''re doing the same exact thing, next year you can''t take any more C++ classes (which is extremely stupid), only Java classes. It''s dumb because we have AP C++ yet only regular Java, so now new programmers will be spending a year less time getting experience. I hate my school with a royal passion though, they do a LOT of stupid things.
Half the people you know are below average.Trogdor the Burninator
mond
mond
quote:
Is c++ dying and Java taking over?

You know those cans of peanuts you can buy, but when you open them up, a bunch of spring-loaded snakes pop out? That's what asking this question is like. I think the answer you'll mostly get here is : "No, C++ isn't dying.", simply because so many of us live and breathe C++ on a daily basis.

From an academic point of view, I can certainly understand why Java is being chosen as the teaching language. It's in widespread use so students get some skills that are applicable to the real world, it's object-oriented from the ground up (no religious wars on this statement, please!) unlike C++ which can be procedural or OO, and it's portable to most any platform so students can write the same code on Windows, Linux, Mac OS with little or no modifications. You also throw out the use of pointers and more advanced (relatively) memory management issues which can make life easier on students that don't inherently grasp a programming language. Sure there are other languages, like Smalltalk, Objective-C, Scheme, Delphi, but none of those has the mainstream usage of Java. This keeps college kids from griping that they're not getting taught a language that's instantly employable.

My $2.00

greg

[edited by - mond on January 13, 2003 11:47:44 PM]
Miserable
Miserable
Java is possibly easier to teach because it saves the teacher from the nightmare of managing a full class of newbie programmers all crashing their programs due to mistakes relating to pointers. Personally I think that Java has some ugly syntax in places where newbies really don''t need it (console input, for instance - or just the need for a class and all the access modifiers just to get an application to run), but if I personally favour C++ over Java in this regard, this may be a consequence of the fact that I subjectively like C++ better.

Outside of academic environments, the question needs context. Java is good for some things. C++ is good for some things. The areas may partially overlap, but neither is universally better than the other, nor is either language likely to replace the other.
HalcyonBlaze
HalcyonBlaze
I honestly think that C++ isn''t even close to dying. Java is chosen my instructors to probably teach object oriented programming or programming in general because it is easy. I mean imagine having to teach students strings in C++ and then imagine how much easier it is to teach students strings in Java. Not having to worry about pointers and what not also makes Java much easier to teach. I think that it''s just a hype that will eventually settle down. Java is a good language and is very useful for creating applications that work on the internet. But if you are looking for peak performance graphics...Java is the wrong place to be looking.

- Halcyon
"Computers in the future may weigh no more than 1.5 tons."- Popular Mechanics, 1949
Ranok
Ranok
C++ is not dying because you can do things in C++ that are not possible in java. Case in point, my University move from C++ to Java three years ago but have now decided to move back to C++.

Why you ask? Two Reasons:
1. Once you learn C++ it is almost trivial to move to Java coding, whereas the opposite is not true (moving from Java to C++).

2. For some types of programming you simply cannot use Java. For example, Operating Systems is a required class for all CS majors at my University and all programming is done in C/C++.
---Ranok---
niyaw
niyaw
you can help collegeboard feel better by writing the most cryptic, roundabout, hard to understand code on the ap exam. answer questions in ways they don''t expect.

disclaimer: of course, this assumes you know what you''re doing.
inuendo1
inuendo1
wa****s
Yay im new!c++ = c2? yar newbus!!!
Beer Hunter
Beer Hunter
Cobol is still not dead.
Methinks that c++ will be around for a while yet.
Arild Fines
Arild Fines
quote:
Original post by Miserable Personally I think that Java has some ugly syntax in places where newbies really don't need it (console input, for instance

Newbies have no need for console input in Java.



"The fact that a believer is happier than a skeptic is no more to the point than the fact that a drunken man is happier than a sober one." -- George Bernhard Shaw

[edited by - Arild Fines on January 14, 2003 1:11:34 AM]
--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
DerekSaw
DerekSaw
Everything will be dying.
"after many years of singularity, i'm still searching n the event horizon" o
inuendo1
inuendo1
why
Yay im new!c++ = c2? yar newbus!!!
DerekSaw
DerekSaw
quote:
Original post by inuendo1
why

quote:
someday

"after many years of singularity, i'm still searching n the event horizon" o
Infin
Infin
I disagree with some of you when you say that Java is being adopted in schools because it''s easier to learn.

My college actually started us out on C++ because, to the infant programmer, the procedural facet of C++ is much simpler then Java''s pure OOP design. Later on in first year, some of the OOP elements of C++ were introduced, as well as a optional course on Scheme for Functional Programming. Over the summer, an online course was taken to as an intro to Jave, which was easy because students already knew C++. Then second year, Data Structures and Software Engineering were taught using purely Java.

I think this was a great approach because it gave students the Industry required experience with C++, and exposed them to an enitierly different way of programming with Scheme, but when the Science elements of CompSci started showing up, Java was used because of it''s elegence and clarity.

But to the question of whether C++ is dying?

Programming languages are like cars. Some are cheap to use and always work well (Honda Accord), some are extremely expensive and are plaugued with mechanical problems (Ferrari), and some are just poorly designed and don''t work properly (American). But a certain make of car can''t die , it just might not be common. It depends on what you need from a car. If speed is the primary concern, and you can spend as much as you want, by all means, get a ferrari, but if you just need something cheap and easy, get a Honda.

Different programming languages have different sets of goals. C++ gives you so much flexibility that you can create really fast code, but more often really buggy and complex code. Java''s usually neat and orderly because you don''t have that same freedom.

And while certain models of cars might be popular for x and y reasons, they''ll always be someone who needs what one car offers.
People will always want to drive Ferraris cause there Ferraris. The interesting question, and the destiny of C++ is wheather or not people will need that extra speed and low level flexibility in the future. And I''d say that nomatter how fast computers get, games will always need that speed to push just a few more polygons. But I think we''ll see C++ (or some similairly speedy and flexible language) become primarily associated with the gaming industry.

So no, the ferrari will never die, cause people will always race.
aNonamuss
aNonamuss
Just think, this will only make us C/C++ programmers that much more elite. There will be an upcoming generation of programmers who do not understand the underworkings of Java (pointers, memory access, etc...) just as there is C/C++ generation who do not understand the underworkings of C/C++ (e.g. the Assembly Code it is translated into).

I''m sure the people who programmed in Assembly Code felt defensive when C came around. Now those same Assembly programmers are some of the best C programmers out there, optimization-wise. Because they know what the C code is actually getting transferred into, and how to optimize it. They come from a generation of cycle-counters. (NOTE: Not that cycle-counting guarantees faster code.)

It''s only making us C/C++ programmers that much more valuable, of course you will also have to know Java to truly be that "Diamond in the Rough" businesses will be looking for, but Java is a cakewalk as long as you fully understand object-oriented programming using C++.

Just my opinion. In order to be an excellent mechanic you have to know the underworkings of the car, the better you know how everything is built and runs, the better the mechanic you will be.

--aNona
HyprLogik
HyprLogik
C++ will die off in the next year when it''s replaced by natural language compilers. One example that comes to mind is typing up, "Bitch, make me a sandwich," and the compiler spits out a sandwich on the fly. Of course, it will also be a nice innovation for gamers; e.g., "Make up a cool game for me! With sharks that have laser beams attached to their heads!" and such.
Old Bjarne will flip over in his grave. Wait, he''s not dead yet is he. Anyway, yeah, so that''s my too sense.
|-|A[k3R$Z R //|-|AT |V|Ak3 t|-|3 //0R|D g0 R0||||D!!
Landsknecht
Landsknecht
quote:
Original post by Arild Fines
Newbies have no need for console input in Java.


Huh? That's like saying a c++ newb has no need of cin. Or c newbs don't need scanf()... Sorry Arild, I agree with a lot of your posts, but this one makes no sense.

My sig used to be, "God was my co-pilot but we crashed in the mountains and I had to eat him..."
But folks whinned and I had to change it.


[edited by - landsknecht on January 14, 2003 5:11:51 AM]
My sig used to be, "God was my co-pilot but we crashed in the mountains and I had to eat him..."
But folks whinned and I had to change it.
Arild Fines
Arild Fines
quote:
Original post by Landsknecht
Huh? That''s like saying a c++ newb has no need of cin. Or c newbs don''t need scanf()... Sorry Arild, I agree with a lot of your posts, but this one makes no sense.

A C++ "newb" needs cin because there is no other portable way of getting user input - and programming gets boring pretty fast if you only write non-interactive programs.
In a beginner Java class(at least it was this way in the Java class in which I was a TA), the preferred way of doing user IO is with the JOptionPane class:

  
String name = JOptionPane.showInputDialog( null, "Enter your name here" );
JOptionDialog.showMessagePane( null, "Your name is " + name );

No, they don''t necessarily grasp excatly how it works, but at this point it doesn''t matter. It''s all a series of magic incantations to them anyway. At least they are dealing with full words here

And even fewer at this stage of their education understand the underlying complexities of cin and cout.
--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.