|  | |
07-18-2005, 11:13 AM
|
#11 (permalink)
|
Super Techie Join Date: Feb 2005 Posts: 262
| It depends nick.
C# would certainly be the easiest of the 3 to learn and completely object oriented, but its also the most limited (windows only currently.) And since it is a managed language (aka converted to the CLI in the .NET framework) it is not nearly as powerful *** c/c++ (note: if you use C++ in .NET with managed code there is no difference in power, but they are both less powerful than unmanaged code)
C is the most established version, its not though (which may or may not be a negative, its debateable.)
C++ is great if you are an object oriented programmer but still wish to maintain.
OpenGL is not mainstream but it is cross platform
DirectX is the "standard" but it is windows only, and like said before its an obtuse library set.
If you plan on doing windows only standalone "lite" games (ie. games like collapse) I would suggest C# and DirectX.
If you are planing on doing anything with more graphical requirements C/C++ with OpenGL
If you want to make games that people can play in a webbrowser the only real option is Java.
__________________ AMD Athlon 64 3000+ (Overclocked to 3300+)
ASUS K8V-Deluxe
1GB PC3200 DDR
2x200GB Seagate SATA RAID 0
BFG 6800GT OC w\\128MB Ram
2x 19\" Samsung 930B LCDs |
| |
07-18-2005, 11:58 AM
|
#12 (permalink)
|
Ultra Techie Join Date: Sep 2003 Location: Bamberg, Germany Posts: 549
| I think you mean fast or efficient speed wise, not powerful. C# is penty powerful, it's just not as fast as C++ or C. |
| |
07-18-2005, 05:41 PM
|
#13 (permalink)
|
True Techie Join Date: May 2005 Posts: 141
| heh heh, I thought I would just toss in a little Microsoft Fan boy here....I loveeeeee Visual Studio and C# |
| |
07-18-2005, 06:44 PM
|
#14 (permalink)
|
Ultra Techie Join Date: Jul 2005 Posts: 530
| When I was just starting to get deep into programming in high school, I looked at learning how to use DirectX and OpenGL. In the end, I found OpenGL to be VERY suitable for use by total newbies like myself.
I was a seasoned C++ programmer but all I had messed with as far as graphics before that was mode 13h programming direct to the frame buffer.
In a few months worth of free time in my AP CS class in high school I made this game with C++ and OpenGL: http://www.theheadfl.com/about/game/index.html
__________________ Desktop machine: 2 x Opteron 246, Asus K8N-DL, 2GB PC3200 ECC Reg., XFX GeForce 6600GT, 74gb WD Raptor, 2 x 19\" LCDs, Windows XP x64
Server machine: Intel P4 3.0GHz 2MB EM64T, ECS i865pe, 1GB PC3200, 36gb WD Raptor, Windows Server 2003
Laptop: Dell Inspiron 9100 (Intel P4 3.2GHz 1MB Prescott, i865pe, 512MB PC3200, Mobility Radeon 9700, DVD+R/DL Burner), Windows XP
Linux: P3 450Mhz, 386MB ram, Slackware 10.1 (Running mySQL/Apache) |
| |
07-18-2005, 06:48 PM
|
#15 (permalink)
|
Ultra Techie Join Date: Jul 2005 Posts: 530
| Quote: Originally posted by Iron_Cross I think you mean fast or efficient speed wise, not powerful. C# is penty powerful, it's just not as fast as C++ or C. | No, what he said was correct.
Powerful would be how many capabilities and how much flexibility a language has. In the case of C/C++ in particular, you can do anything. That includes passing all sorts of pointers to all over the place, overloading almost EVERY operator, and writing directly to any memory location you want. You even can drop down to assembly code and use that inline if you want. Its all up to the programmer to sort it out.
C# definitely does not have these features that make it 'powerful'. However, he correctly stated that managed C++ in .NET is equally powerful to C# because they compile down to the same common runtime language code. (The only thing I would add though is that C++ I believe is one of the only .NET languages that can use both managed and unmanaged code simultaneously)
As far as the speed issue, while I would agree for unmanaged code C++ is faster, the newer refinements to C++ in .NET make it a moot point. Its no faster than VB now, its all the same common runtime language code.
__________________ Desktop machine: 2 x Opteron 246, Asus K8N-DL, 2GB PC3200 ECC Reg., XFX GeForce 6600GT, 74gb WD Raptor, 2 x 19\" LCDs, Windows XP x64
Server machine: Intel P4 3.0GHz 2MB EM64T, ECS i865pe, 1GB PC3200, 36gb WD Raptor, Windows Server 2003
Laptop: Dell Inspiron 9100 (Intel P4 3.2GHz 1MB Prescott, i865pe, 512MB PC3200, Mobility Radeon 9700, DVD+R/DL Burner), Windows XP
Linux: P3 450Mhz, 386MB ram, Slackware 10.1 (Running mySQL/Apache) |
| |
07-19-2005, 09:23 AM
|
#16 (permalink)
|
Ultra Techie Join Date: Sep 2003 Location: Bamberg, Germany Posts: 549
| Quote: |
Powerful would be how many capabilities and how much flexibility a language has. In the case of C/C++ in particular, you can do anything. That includes passing all sorts of pointers to all over the place, overloading almost EVERY operator, and writing directly to any memory location you want. You even can drop down to assembly code and use that inline if you want. Its all up to the programmer to sort it out.
| Actually you're quite wrong. C# Can use Pointers, overload operators, and write to memory...Don't get me wrong, I do know there is some stuff that you can do better in C++ than in C#, but as far as power goes, I'm sure that most people who are seasoned programmers in both C++ and C# would agree that they are roughly equal. |
| |
07-19-2005, 01:44 PM
|
#17 (permalink)
|
True Techie Join Date: Jun 2005 Posts: 211
| Well from all the dicussion I think im going to learn C++ now (might learn others in the future, who knows). Does anybody know of or have used a really good tutorial to get me started? |
| |
07-19-2005, 02:53 PM
|
#18 (permalink)
|
CECS Major Join Date: Jul 2005 Location: Louisville, KY Posts: 387
| I do warn you. C++ is a very complete but very hard language for "noobs". I chose to start out with C++ and it was quite difficult since I had no prior programming experience. [Just a little warning that it's going to be a long and rough road]. I suggest picking up a book called "C++ for Dummies 5th Edition" at your local Barnes & Nobles, Walden Books, or somewhere online like Amazon to start you out. This is a terrific book for c++ beginners because it assumes you have no prior programming knowledge. Hope that helps-
::-Chase-:: |
| |
07-19-2005, 03:29 PM
|
#19 (permalink)
|
Ultra Techie Join Date: Jul 2005 Posts: 530
| Quote: Originally posted by Iron_Cross Actually you're quite wrong. C# Can use Pointers, overload operators, and write to memory...Don't get me wrong, I do know there is some stuff that you can do better in C++ than in C#, but as far as power goes, I'm sure that most people who are seasoned programmers in both C++ and C# would agree that they are roughly equal. | As far as I knew pointers to functions were not possible in C#.
EDIT: And looking at Microsofts FAQ for C++ programmers on C# reminds me of other things... no overloading the [] operator, no fall-through cases in switch statements...
__________________ Desktop machine: 2 x Opteron 246, Asus K8N-DL, 2GB PC3200 ECC Reg., XFX GeForce 6600GT, 74gb WD Raptor, 2 x 19\" LCDs, Windows XP x64
Server machine: Intel P4 3.0GHz 2MB EM64T, ECS i865pe, 1GB PC3200, 36gb WD Raptor, Windows Server 2003
Laptop: Dell Inspiron 9100 (Intel P4 3.2GHz 1MB Prescott, i865pe, 512MB PC3200, Mobility Radeon 9700, DVD+R/DL Burner), Windows XP
Linux: P3 450Mhz, 386MB ram, Slackware 10.1 (Running mySQL/Apache) |
| |
07-19-2005, 05:04 PM
|
#20 (permalink)
|
Ultra Techie Join Date: Sep 2003 Location: Bamberg, Germany Posts: 549
| You can overload the [] operator. Code: <access_level> <return_type> this [ <param_type> someVar ]
{
get{ /* do stuff */ }
set{ /* do stuff */ }
}
Also, I know there is no fall-through, which drives me nuts, but you can achive the same effect with goto statments Code: switch( <some_val> )
{
case 1:
// do stuff;
break;
case 2:
goto case 3;
case 3:
// do other stuff
break;
default:
// do other other stuff
break;
}
} |
| |  | | | Thread Tools | | | | Display Modes | Linear Mode |
Posting Rules
| You may not post new threads You may not post replies You may not post attachments You may not edit your posts HTML code is Off | | | | |