Sign in to follow this  

Most common programming language to date?

This topic is 4259 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

Hi, I want to start learning a programming language but theres so many, I don't know where to begin. I know a little bit of Visual Basic and C++(pfft like a hello world program) and i'm not sure which I want to get serious about learning. And then there .net C++ and VB, I don't even know the difference between normal C++ and .net, if there is which is better to learn...? So I was wondering what the best programming language is now-a-days, and what kind of programming languages do the big game developers use, and what will they use in the future. Also if someone could explain what the difference .net C++ and normal C++ is? I know Visual C++ 6.0 is normal C++, and then that new 8.0 Express is .net or something... Sorry if this is the wrong section. Thanks

Share this post


Link to post
Share on other sites
Quote:

I know Visual C++ 6.0 is normal C++

WRONG, Visual C++ 6.0 was released before the FIRST C++ standard and therefore is very non-standard. It has so many problems that you shouldn't count on having any standard code compile with Visual C++ 6.0. The .Net in the newer versions just refers to the ABILITY to use .Net, you can still use native (normal) C++. Nowadays most people use C++, but I think we will soon see a shift in which programming language we use. Languages like C++ weren't build for concurrency, and concurrency will be a very big thing in the next couple of decades. I say Microsoft will get some new language out which will become mainstream. They are already developing stuff like:
C#
Polyphonic C# (addresses concurrency issues)
Cω (Comega)
And I believe they are developing more, of course there is also languages like VB and VB.Net, but I doubt they will take over in the game industry. Of course no one knows what will happen, and we might all be switching back to ADA and start using computers with bytes of 3.5 bits.

What the big game developers use, what the future languages will be and what a beginner should start with is very different questions though. A beginner should start learning how to program, this can be done in any programming language, though some languages are better suited for beginners than other. I would suggest you to look into Python, maybe get the free e-book (it's legal) called Learning computer science with Python or something like that. The last thing you should do though is to get Visual C++ 6.0, it's about as outdated as Windows 3.1.

Share this post


Link to post
Share on other sites
Whatever the compiler is, C++ usually codes more or less the same. While it's true that VC++ 6.0 is not 100% ANSI C++ compliant, a lot of common code exists. The adjustments to convert 6.0 code to .net code are minimal in my experience. Plus, learning 6.0 before or after .net will give you an understanding about how to write portable code. On numerous occasions, I've had to port between the two and each occasion was educational. :)

I would also recommend using .NET if you are able to, however, if like many other people, you only have access to 6.0, don't fret too much about it.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Well, I could use Visual C++ 2005 Express, as its free atm, in beta. But maybe it would be better to start with a basic compiler such as dev++, from bloodshed? Hmmm, or use python like suggested. Gah, why can't there be 1 programming language. ;-; Thanks for your input, would be nice to get some more.

Share this post


Link to post
Share on other sites
"Best programming language" is a loaded term. Different languages are good at different things. The most common for game development is C++. Many tools (map editors and such) are starting to get written in C#,and I'd guess C# will start becoming common for games in 4-5 years.

.net isn't a programming language it's (please correct any mistakes here, I'm not well versed in .net) more of a bunch of librarys and a virtual machine (much like the Java VM). Many languages work on it, but C# was designed for it.

Most games are written in two languages an engine language (handles resources, input, rendering, etc) and a scripting language (which handles game logic). The most common 2 scripting languages (as far as I know) are LUA and Python.

By .net C++ I assume you mean managed C++. This wikipedia article explains the differences better than I can. Basically the executable runs off of the .net virtual machine and has garbage collection. From what I've heard it's generally better just to use C# over managed C++.

Visual C++ 6.0 is prestandard C++, so it's a bad choice for a compiler (It has the wrong includes and has numerous template problems). 8.0 can handle standard C++ just fine (and managed C++ and C#, among others, depending on which edition you get).

In my opinion you should start with another language (python is a popular choice), before wrestling with C++'s syntax (Some of the most common problems I see in the beginners section are people not understanding C++'s rather complicated syntax). So I would suggesting going with python (and pygame) for a while to get comfortable with how to design games. Then move on to something like C++, and then you can use python as your scripting language (so you don't like learning python was a waste). But any half decent programmer can pick up a new language with out too much trouble and learning multiple languages can be extremely helpful in thinking of different solutions to problems.

Share this post


Link to post
Share on other sites
Get VS 2005 Standard Edition for free (not a beta). The IDE is the best in the business, as is the compiler. Porting between VS2005 (VS8) and gcc, etc., is much easier than it used to be (VC6 had limited template support, for example). Learn C++ and C#. Since you are just starting out, start with C#, then move to C++ (harder to learn, more error prone, but generates the fastest code possible* (including inline assembler, etc., which you can't do in C#).

Another reason I recommend C# is the (amazingly) fast compiler and the ability to make code changes while debugging. While python and other scripting languages have their uses, I would not recommend them (slower, primitive tools compared to C# with MS's IDE, unusual syntax/formating).

Add Whole Tomato's Visual Assist X (VAX), and you have an excellent, fast, and easy to use development environment. When using VAX (not the old mainframe), you'll rarely have an uncorrected typo before compiling, and it's much easier to reverse engineer/learn unknown code (global symbol searching, header/cpp swapping, much more. See their website).

See The Great Language Shootout for more languages (compare design philosophy, simplicity-vs-speed, etc.).


*In the past, Intel C and VectorWorks C could produce faster code for some cases (may still be true).

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by John Schultz
Get VS 2005 Standard Edition for free (not a beta). The IDE is the best in the business, as is the compiler. Porting between VS2005 (VS8) and gcc, etc., is much easier than it used to be (VC6 had limited template support, for example). Learn C++ and C#. Since you are just starting out, start with C#, then move to C++ (harder to learn, more error prone, but results in the fastest code possible (including inline assembler, etc., which you can't do in C#).

Another reason I recommend C# is the (amazingly) fast compiler and the ability to make code chanes while debugging. While python and other scripting languages have their uses, I would not recommend them (slower, primitive tools compared to C# with MS's IDE, unusual syntax/formating).

Add Whole Tomato's Visual Assist X (VAX), and you have an excellent, fast, and easy to use development environment. When using VAX (not the old mainframe), you'll rarely have an uncorrected typo before compiling, and it's much easier to reverse engineer/learn unknown code (global symbol searching, header/cpp swapping, much more. See their website).


Cool, I can't quite find the download url for the standard edition, rather this, then some beta. I'll have to look into python as well.

Someone said that C# was going to be used more later in the future, but i thought C++ had everything C# does and more... can anyone clarify?

(This is the opener... to lazy to login)

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
Cool, I can't quite find the download url for the standard edition, rather this, then some beta. I'll have to look into python as well.

Someone said that C# was going to be used more later in the future, but i thought C++ had everything C# does and more... can anyone clarify?

(This is the opener... to lazy to login)


Don't use python to start out; C# is a far better language for application development.

C# is "brand new" compared to C++ and python (python is interpreted; is a scripting language, not in the same class as C++ and C# (in same class as Lua, Perl, etc., see the Language Shootout page for performance comparisons).

C# is basically an improved version of C++ and Java (written/led by the same developer who created Delphi (also used to create C++ Builder), two of the best RAD development environments ever made (VB was also a pretty good RAD tool)).

The only reason you'd want to use C++ is for legacy code support, portability (C# is becoming more portable through Mono, etc.), speed, and team language familiarity (though moving from C++ to C# is pretty easy (moving from C# to C++ will be much harder).

From the link above, you'll find that you will get the free version of Visual Studio Standard in the mail (see the thread for more info).

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by John Schultz
Quote:
Original post by Anonymous Poster
Cool, I can't quite find the download url for the standard edition, rather this, then some beta. I'll have to look into python as well.

Someone said that C# was going to be used more later in the future, but i thought C++ had everything C# does and more... can anyone clarify?

(This is the opener... to lazy to login)


Don't use python to start out; C# is a far better language for application development.

C# is "brand new" compared to C++ and python (python is interpreted; is a scripting language, not in the same class as C++ and C# (in same class as Lua, Perl, etc., see the Language Shootout page for performance comparisons).

C# is basically an improved version of C++ and Java (IIRC written/led by the same developer who created Delphi (and perhaps C++ builder), two of the best RAD development environments ever made (VB was also a pretty good RAD tool)).

From the link above, you'll find that you will get the free version of Visual Studio Standard in the mail (see the thread for more info).



So, C# is better for applications, and python and lua for game part like DirectX? Or is C# the better choice in both cases.

thx

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
Quote:
Original post by John Schultz
Quote:
Original post by Anonymous Poster
Cool, I can't quite find the download url for the standard edition, rather this, then some beta. I'll have to look into python as well.

Someone said that C# was going to be used more later in the future, but i thought C++ had everything C# does and more... can anyone clarify?

(This is the opener... to lazy to login)


Don't use python to start out; C# is a far better language for application development.

C# is "brand new" compared to C++ and python (python is interpreted; is a scripting language, not in the same class as C++ and C# (in same class as Lua, Perl, etc., see the Language Shootout page for performance comparisons).

C# is basically an improved version of C++ and Java (IIRC written/led by the same developer who created Delphi (and perhaps C++ builder), two of the best RAD development environments ever made (VB was also a pretty good RAD tool)).

From the link above, you'll find that you will get the free version of Visual Studio Standard in the mail (see the thread for more info).



So, C# is better for applications, and python and lua for game part like DirectX? Or is C# the better choice in both cases.

thx


If you can use C#, there's probably no reason to use python or lua (you can dynamically compile C# (there is even a DirectX example showing how to do this).

If I had to choose between python and lua for a scripting language, I'd chose Squirrel with SqPlus (similar to lua, but improved design+syntax).

Using C# directly with DirectX is about as fast+easy to develop+debug as is currently possible. The only potential drawback is runtime speed (could put speed critical code in .dlls interfaced with Managed C++ (not for beginners; must known both C# and C++ reasonably well)). For learning game programming, C# should be plenty fast (the benefits outweigh any performance issues).

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by John Schultz
Quote:
Original post by Anonymous Poster
Quote:
Original post by John Schultz
Quote:
Original post by Anonymous Poster
Cool, I can't quite find the download url for the standard edition, rather this, then some beta. I'll have to look into python as well.

Someone said that C# was going to be used more later in the future, but i thought C++ had everything C# does and more... can anyone clarify?

(This is the opener... to lazy to login)


Don't use python to start out; C# is a far better language for application development.

C# is "brand new" compared to C++ and python (python is interpreted; is a scripting language, not in the same class as C++ and C# (in same class as Lua, Perl, etc., see the Language Shootout page for performance comparisons).

C# is basically an improved version of C++ and Java (IIRC written/led by the same developer who created Delphi (and perhaps C++ builder), two of the best RAD development environments ever made (VB was also a pretty good RAD tool)).

From the link above, you'll find that you will get the free version of Visual Studio Standard in the mail (see the thread for more info).



So, C# is better for applications, and python and lua for game part like DirectX? Or is C# the better choice in both cases.

thx


If you can use C#, there's probably no reason to use python or lua (you can dynamically compile C# (there is even a DirectX example showing how to do this).

If I had to choose between python and lua for a scripting language, I'd chose Squirrel with SqPlus (similar to lua, but improved design+syntax).

Using C# directly with DirectX is about as fast+easy to develop+debug as is currently possible. The only potential drawback is runtime speed (could put speed critical code in .dlls interfaced with Managed C++ (not for beginners; must known both C# and C++ reasonably well)). For learning game programming, C# should be plenty fast (the benefits outweigh any performance issues).


So, C# > C++ in almost every way? and it has a more likely chance to be used in the future rather then C++. Or is the difference between the two so minimuim it doesnt really matter. Would the standard hello world program in C++ work in a C# only compiler.

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
Would the standard hello world program in C++ work in a C# only compiler.


No.

C# would be something more like:

class MainEntry
{
static void Main()
{
System.Console.WriteLine("Hello, world.");
}
}

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
So, C# > C++ in almost every way? and it has a more likely chance to be used in the future rather then C++. Or is the difference between the two so minimuim it doesnt really matter. Would the standard hello world program in C++ work in a C# only compiler.


C# is quite a bit different from C++ (in the same way Java is different, though concepts such as classes, syntax (declarations, loop constructs, type names), etc., are similar). C# was designed improve on C++, as C++++ (4 '+'s), that's where the # comes from (4 '+'s arranged in a square). It is a better language in just about every way (except, for example, absolute runtime performance). For GUI development C#+WinForms is pretty hard to beat (though Delphi/BCB are still better in some ways, overall, the C# IDE, language, WinForms are a better package). Read the design philosophy and history here. C++ will continue to evolve, and is still required for most game development projects (not clear if .NET can run on PS3, Revolution, etc., though maybe possible using Mono or dotGNU), low-level OS support, embedded apps, etc. Thus, learn C# first, understand why C# was designed the way it is (read about the history), then get your feet wet in C++ (both languages are valuable for future work, etc.).

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by John Schultz
Quote:
Original post by Anonymous Poster
So, C# > C++ in almost every way? and it has a more likely chance to be used in the future rather then C++. Or is the difference between the two so minimuim it doesnt really matter. Would the standard hello world program in C++ work in a C# only compiler.


C# is quite a bit different from C++ (in the same way Java is different, though concepts such as classes, syntax (declarations, loop constructs, type names), etc., are similar). C# was designed improve on C++, as C++++ (4 '+'s), that's where the # comes from (4 '+'s arranged in a square). It is a better language in just about every way (except, for example, absolute runtime performance). For GUI development C#+WinForms is pretty hard to beat (though Delphi/BCB are still better in some ways, overall, the C# IDE, language, WinForms are a better package). Read the design philosophy and history here. C++ will continue to evolve, and is still required for most game development projects (not clear if .NET can run on PS3, Revolution, etc., though maybe possible using Mono or dotGNU), low-level OS support, embedded apps, etc. Thus, learn C# first, understand why C# was designed the way it is (read about the history), then get your feet wet in C++ (both languages are valuable for future work, etc.).



Thanks again, wow, dmreichard's script there is way different than C++, looks more simple. :P

Finally, so, C# can program games, but they will run slower than C++, and Python. But probably faster than Visual Basic. I find that VB is quite weak and slow, poor load times as well. Does C# suffer in the same way?

Share this post


Link to post
Share on other sites
C# uses JIT(Just in Time) compiling, and stores the compiled bytecode into a cache. As you run a .NET application multiple times, you will notice it becomes faster. JIT compiling is constantly evolving, and there isn't much of a speed difference between C++ and C# that a beginner should be worrying about. Remember that there used to be people who said C++ was too slow for games and C was the only way to go. [smile]

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
Quote:
Original post by John Schultz
Quote:
Original post by Anonymous Poster
So, C# > C++ in almost every way? and it has a more likely chance to be used in the future rather then C++. Or is the difference between the two so minimuim it doesnt really matter. Would the standard hello world program in C++ work in a C# only compiler.


C# is quite a bit different from C++ (in the same way Java is different, though concepts such as classes, syntax (declarations, loop constructs, type names), etc., are similar). C# was designed improve on C++, as C++++ (4 '+'s), that's where the # comes from (4 '+'s arranged in a square). It is a better language in just about every way (except, for example, absolute runtime performance). For GUI development C#+WinForms is pretty hard to beat (though Delphi/BCB are still better in some ways, overall, the C# IDE, language, WinForms are a better package). Read the design philosophy and history here. C++ will continue to evolve, and is still required for most game development projects (not clear if .NET can run on PS3, Revolution, etc., though maybe possible using Mono or dotGNU), low-level OS support, embedded apps, etc. Thus, learn C# first, understand why C# was designed the way it is (read about the history), then get your feet wet in C++ (both languages are valuable for future work, etc.).



Thanks again, wow, dmreichard's script there is way different than C++, looks more simple. :P

Finally, so, C# can program games, but they will run slower than C++, and Python. But probably faster than Visual Basic. I find that VB is quite weak and slow, poor load times as well. Does C# suffer in the same way?


Python will probably be slower than C# in most cases.

Share this post


Link to post
Share on other sites
Thanks guys, great community here are gamedev.net. Peopel like me are annoying, I know. ;)

For the free copy of Visual Studio 2005 Standard, after reading the thread i am getting the idea that they send you the copy via mail, not e-mail. I rather not give microsoft my address, is there any other way to get my hands on this?

Share this post


Link to post
Share on other sites
Quote:
Original post by plankton21
Thanks guys, great community here are gamedev.net. Peopel like me are annoying, I know. ;)

For the free copy of Visual Studio 2005 Standard, after reading the thread i am getting the idea that they send you the copy via mail, not e-mail. I rather not give microsoft my address, is there any other way to get my hands on this?


From the Language Shootout, python appears to be one of the slowest languages (speed is not what python is about; Perl is also quite slow (but still very useful for its designed purpose)).

In many cases C# is only slightly slower than C++. For example, for a game app using DirectX, where meshes, textures, etc., are all preloaded into GFX card memory, there will be very little difference in speed between C# and C++ (play with the DirectX SDK and examples and compare C# demos to the C++ demos).

Don't worry about giving MS your address; the only other way you can get Visual Studio Standard Edition is to purchase it (seems like a fair trade; throughout your life you will get a lot more worthless junkmail from companies other the MS). You could change your name slightly to track junkmail: Frederick Robert Smith becomes F. Bob Smith (any junk mail you get for F. Bob Smith, you know who's responsible ;-)).

As dmreichard noted, you could download C++/C# Express for free (may be more than enough to get started. They'll track your ip address, though [wink]). It appears the Express editions (as opposed to the free (by mail) Standard Edition) are only free for one year (not clear what happens after one year).

Share this post


Link to post
Share on other sites
The Express beta installation did'nt work properly twice, I would get stuck on 100% then it would hang, using 0% CPU. Checked the express beta forums, and theres still no solution to this problem, which has happened to quite a few people. Should'nt be the computer cause I got a beast of a PC. ;)

Share this post


Link to post
Share on other sites
Quote:
Original post by plankton21
The Express beta installation did'nt work properly twice, I would get stuck on 100% then it would hang, using 0% CPU. Checked the express beta forums, and theres still no solution to this problem, which has happened to quite a few people. Should'nt be the computer cause I got a beast of a PC. ;)


That's odd, have you tried downloading the ISO? Just a thought, but I don't understand why the web install wouldn't work.

Share this post


Link to post
Share on other sites
Quote:
Original post by dmreichard
Quote:
Original post by plankton21
The Express beta installation did'nt work properly twice, I would get stuck on 100% then it would hang, using 0% CPU. Checked the express beta forums, and theres still no solution to this problem, which has happened to quite a few people. Should'nt be the computer cause I got a beast of a PC. ;)


That's odd, have you tried downloading the ISO? Just a thought, but I don't understand why the web install wouldn't work.



Yeah, I tryed both, like I said hangs on 100% of the install, not the download. Its happened to more than just me, and I dont think theres a solution atm. :[

If someone zipped the entire folder of the finished folder, would probably work, but no one wants to do that!. :P

Share this post


Link to post
Share on other sites
Quick question, with the Free Visual Studio 2005 Standard Edition, it says offer ends April 17th, 2006. Does this mean its too late, after that point they will no longer be sending them out? People said it took 8 weeks before they received their copy.

6-8 week wait... x_x

Share this post


Link to post
Share on other sites
dude, buddy, why try the hard stuff first, get a hold of Q-Basic (DOS environment) its great for starting out, you will learn about functions and procedures, its not hard to learn, the help is great, and. ... its a hella lot easier to debug. hehe, start at basic (interpreters), then try c++ or pascal. Stay in the DOS environment as it is much easier to learn how a program is constructed, because you dont have to worry about windows crap, or system specific crap. I started on an Apple IIe, then migrated to a TI-85 :), now im on my windows machine hoping one day to get on linux.

Share this post


Link to post
Share on other sites

This topic is 4259 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.

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