Computer Forums

Member Login

Remember Me? Sign Up! | Forgot Password
 
Slogan
 
Closed Thread
Old 07-18-2005, 11:13 AM   #11 (permalink)
 
Super Techie

Join Date: Feb 2005

Posts: 262

jinexile

Default

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
jinexile is offline  
Old 07-18-2005, 11:58 AM   #12 (permalink)
 
Ultra Techie

Join Date: Sep 2003

Location: Bamberg, Germany

Posts: 549

Iron_Cross

Send a message via ICQ to Iron_Cross Send a message via MSN to Iron_Cross Send a message via Yahoo to Iron_Cross
Default

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.
__________________

See today\'s Penny-Arcade!(May contain foul lanuage)
Pain is weakness leaving the body.

PM Me for my MSN
Iron_Cross is offline  
Old 07-18-2005, 05:41 PM   #13 (permalink)
 
True Techie

Join Date: May 2005

Posts: 141

Something Sexy

Send a message via AIM to Something Sexy
Default

heh heh, I thought I would just toss in a little Microsoft Fan boy here....I loveeeeee Visual Studio and C#
Something Sexy is offline  
Old 07-18-2005, 06:44 PM   #14 (permalink)
 
Ultra Techie

Join Date: Jul 2005

Posts: 530

TheHeadFL

Send a message via AIM to TheHeadFL
Default

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)
TheHeadFL is offline  
Old 07-18-2005, 06:48 PM   #15 (permalink)
 
Ultra Techie

Join Date: Jul 2005

Posts: 530

TheHeadFL

Send a message via AIM to TheHeadFL
Default

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)
TheHeadFL is offline  
Old 07-19-2005, 09:23 AM   #16 (permalink)
 
Ultra Techie

Join Date: Sep 2003

Location: Bamberg, Germany

Posts: 549

Iron_Cross

Send a message via ICQ to Iron_Cross Send a message via MSN to Iron_Cross Send a message via Yahoo to Iron_Cross
Default

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.
__________________

See today\'s Penny-Arcade!(May contain foul lanuage)
Pain is weakness leaving the body.

PM Me for my MSN
Iron_Cross is offline  
Old 07-19-2005, 01:44 PM   #17 (permalink)
 
True Techie

Join Date: Jun 2005

Posts: 211

Dr Nick

Default

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?
Dr Nick is offline  
Old 07-19-2005, 02:53 PM   #18 (permalink)
Chase's Avatar
 
CECS Major

Join Date: Jul 2005

Location: Louisville, KY

Posts: 387

Chase is on a distinguished road

Send a message via MSN to Chase Send a message via Yahoo to Chase Send a message via Skype™ to Chase
Default

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-::
Chase is offline  
Old 07-19-2005, 03:29 PM   #19 (permalink)
 
Ultra Techie

Join Date: Jul 2005

Posts: 530

TheHeadFL

Send a message via AIM to TheHeadFL
Default

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)
TheHeadFL is offline  
Old 07-19-2005, 05:04 PM   #20 (permalink)
 
Ultra Techie

Join Date: Sep 2003

Location: Bamberg, Germany

Posts: 549

Iron_Cross

Send a message via ICQ to Iron_Cross Send a message via MSN to Iron_Cross Send a message via Yahoo to Iron_Cross
Default

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;
}
}
__________________

See today\'s Penny-Arcade!(May contain foul lanuage)
Pain is weakness leaving the body.

PM Me for my MSN
Iron_Cross is offline  
 
Closed Thread

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On