|
|
|
And the Question is... "Recently I've heard stuff from people who think that within a few years C++ and other oops will be dead. In which case what the heck am I doing learning it?? This depressing view of C++ also goes along with the prediction that the new language is Java. Is this true? If not, what do you see as being the language trend of the future??" Submitted by: Kick, the Rubber Chicken Answered by: Brendan Vanous (programmer, Sierra On-Line) "Eww... Well, let me preface this by stating that I absolutely will not be drawn into any religious debates on this subject. So that being said, and all pro/anti-MS baggage aside, here's my take: "First off, I firmly believe in having as broad a base of knowledge as possible. Toward that end, learning both will definitely benefit you. Both of these languages have benefits, both have flaws. That's why we have standards committees to keep the languages evolving. "Will Object-Oriented Programming (OOP) die? No, I can't really see that happening. Before achieving my epiphany and realizing what I should be doing (that is to say, programming games), I spent some years (no, I'm not going to tell you - let's just say it took me a little while to come to my senses) developing software for more 'professional industry'-type companies. Object-Oriented Development (OOD) and OOP are firmly entrenched there, largely because of the time and cost savings of using those methodologies to create software. "As for C++ specifically, I think (particularly given the reference to Java) the problem the people you've heard from are thinking of primarily is portability. The best example for this is the Standard Template Library (STL). The STL was designed to provide algorithms and containers that most programmers wind up using over and over again as they work. However, not all STL implementations are created equal, and you can run into problems trying to port to a new operating system if you aren't careful in its use. In future, I'm sure they'll standardize these libraries more (it is, after all, relatively new - even for C++), but it is a problem at the moment. "Now, Java is an OOP language which was created for cross-platform development. In that, it has been very successful (although, for more advanced programs, you'll find it's easier to just use a platform-specific library for development - Java is also, after all, relatively new). However, it cannot be denied that, at the moment, Java programs are slower than programs developed in C/C++. From my point of view as a game developer, I can't afford to lose any speed (and I do mean any). I have no doubt in my mind that future implementations of Java will be more efficient, and when they are, I may very well consider it for development (if the feature set, at that time, contains everything I need). "Needless to say, I'll keep my eye on it. "What do I think is going to happen? Well, I think some people are going to go back to pure C, in order to ditch the cross-platform woes (some development houses never went to C++ to begin with), some people are going to stick with C++ for the added classes and templates, some people are going to use Java for the platform independence, and some people are going to use other development languages. "I also think there's going to be considerably more arguing going on over the 'fitness' of different programming languages than there will be actual programming, but maybe I'm just cynical... "But, I think the easiest way to analyze the potential for the death of a language is to remember two very important things:
|
|
|
|