Jump to content
  • Advertisement
Sign in to follow this  
phil05

will C++/Win32 last for a while?

This topic is 4972 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm probably the first to admit it, but it seems like learning C++/Win32 is actually a great investment although .NET is taking over. It seems like I'm learning what is making .NET possible. I'd rather learn how to make a window than have one provided for me. Even if I do use .NET, I know how that window was created. Know what I mean? Anyway, does C++ have a good future still? I'd learn applications programming at college, and would like to learn game programming at home. It seems like learning C++/DirectX is a great way to know how its working underneath the .NET framework. Any thoughts are welcomed.

Share this post


Link to post
Share on other sites
Advertisement
C++ will be a useful language for a long time to come. I wouldn't recommend learning C++ as your only language, but I do think that your programming toolbox would not be complete without it. There is such a huge amount of code in the world written in C++ that even with people trying to phase C++ out with C# and JAVA, C++ will still stick around the way FORTRAN has lasted.

Share this post


Link to post
Share on other sites
I got an A in C++ in college (98.5%). Not too shabby. After a while, I switched over to .NET thinking this is pretty cool. I get a ton of work done faster, but I'm always wondering how is the code working underneath? If I learn the easy way out, I'm not much of a scientist when I graduate from CS. It seems like C++/DirectX teaches you what .NET wrapped all over. For example,

// from the audiovideoplayback namespace (MDX)
Audio myAudio = new Audio(@"c:\audio.wav");
myAudio.Play();

Eh. Where's my degree?! I'm assuming you know what I mean here. I think C++ will last for games all the way. I doubt they'd be switched to .NET for a long time to come. Can you imagine Playstation 3 with just .NET?

Share this post


Link to post
Share on other sites
I concur with cwhite.
I can tell that in business industry there are many languages that continue to be used. They last because they were used a long time ago to code the core programs of the business industry information systems. In my company, we still use COBOL and FORTRAN for all evolutions of core programs: to recode all the programs into a more recent language is a huge undertaking and was estimated to take about 50 years (realistic if you take into account that the programs must evolve because of the company environment).
However, there are places (like in our dealing room) where we need lightning fast development: Microsoft Visual Basic was selected for its rapid window prototyping and ease of development. These programs last 6 months then are replaced by other kinds of programs (this is due to the pace of that particular financial sector: an investment strategy earns money for about 6 months then everybody learns to do the same and the margins fade out).
Between those two extremes, new specialized applications are developped in C. Why ? Because we have multiple platforms: Windows and UNIX. C compilers can be found for both platforms and we have a small team of developpers.
Thus in business industry, maintained programs over a long period make for keeping alive languages.

(congrats for your A)

Ghostly yours,
Red.

As a side note: in small companies here in France, we can still find working machines programmed with punched out ribbons. I know these ribbons are now computer generated and no more punched out manually. Still I have seen one day somebody who looked at the ribbon and said: "Hey I can optimize this !" and punch out manually a new ribbon.

Share this post


Link to post
Share on other sites
C# with managed directx is a viable games package and has fast become the graphics combo that Ive been asked to use at work.

Just remember that although the langauges etc might change the thinking and processes usually stay the same, so learning now is not a waste of time!!

Share this post


Link to post
Share on other sites
Sounds good! I noticed that. The code has the same idea, the mind just needs to make use of it with applied theories of AI, physics, etc.

Share this post


Link to post
Share on other sites
don't worry the win32 api isn't going anywhere. it's still a
good thing to learn. C# wasn't made to replace win32, it was
made to replace java. turns out alot of people that used to
use MFC are now using C# as well. here's a quote from MSDN...
it pretty much sums up that the win32 api isn't going away
anytime soon.

Quote:

Two common questions from C# users are, "Why do I have to write special code to use things that are built into Windows®? Why isn't there something in the framework to do this for me?" When the frameworks team was building their part of .NET, they looked at what they needed to do to make Win32 available to .NET programmers, and found out that the Win32 API set is *huge*. They didn't have the resources to code, test, and document managed interfaces for all of Win32, so they had to prioritize and focus on the most important ones. Many common operations have managed interfaces, but there are whole sections of Win32 that aren't covered.

Share this post


Link to post
Share on other sites
Quote:
Original post by phil05
I got an A in C++ in college (98.5%). Not too shabby. After a while, I switched over to .NET thinking this is pretty cool. I get a ton of work done faster, but I'm always wondering how is the code working underneath? If I learn the easy way out, I'm not much of a scientist when I graduate from CS. It seems like C++/DirectX teaches you what .NET wrapped all over. For example,

// from the audiovideoplayback namespace (MDX)
Audio myAudio = new Audio(@"c:\audio.wav");
myAudio.Play();

Eh. Where's my degree?! I'm assuming you know what I mean here. I think C++ will last for games all the way. I doubt they'd be switched to .NET for a long time to come. Can you imagine Playstation 3 with just .NET?

Unless you are an OS developer, from a CS standpoint, that is EXACTLY why you should use .NET. Computer science is not about programming, computer science is not even about computers, it's about solving problems using computers. To quote Allen Turing "Computer Science is as much about computers as astronomy is about telescopes."

If your purpose is to make a window that displays a picture, what purpose does it serve to know how the window works? Knowing how the window works is completely orthoganal to completing your task.

Share this post


Link to post
Share on other sites
It is important for any person who is programming that they have at least some experience with different programming languages.

Start with c++, it is boring, but you will learn how many things will work "under the hood".
Try assembly, at least be able to make a simple calculator (this will learn you how stuff really work, and about heap and stack and so on.
Try Java..
Try PHP ...
Try Html, Xml, you name it....

Having a broad base to stand on makes it more difficult to "put YOU out of business". And makes it alot easier to learn new programming languages.
Think of those who only did cobol and fortran ... many of those didn't learn new stuff, they are today NOT programming, I can tell you that.
EDIT: by the way, I am doing c++ and win32 today ... those things wont die out for a long time. But on another side, win32 will not get much new stuff, and c++ seems to me is growing slowly somehow ...

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!