Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › C++ VS C# or something else?
New Posts  All Forums:Forum Nav:

C++ VS C# or something else?

post #1 of 26
Thread Starter 
Hi there,

I'd like to work with programming, but i'm really not sure where to start.
First i thought C++ was the way to go, but after reading on the internet i'm not sure if C# would be a better choice?

I already bought a book on C++, but its pretty old, so i know some basic stuffs like cout, cin, while and for loops, variables and so on. Which was easy to learn cause the syntax is pretty close to PHP.

What i would like to work with is game programming (Hobby, would like to know, and learn how a game engine is build) and basic software development with possibilities of using databases, MySQL or MSSQL.

From what i've read C++ should still be the most used when building game engines, but C# and java is the only educational languages i can find in Denmark.

So what would any of you suggest is worth learning?

Thanks in advance,

/Chup
Corsair 450D
(14 items)
 
  
CPUMotherboardGraphicsRAM
Intel i5-4690K Asus VII Hero Asus GTX660 G.Skill RipJaws  
Hard DriveCoolingCoolingCooling
Samsung 840 Evo MCP355 + EK Housing + Acrylic top EK-CoolStream PE 240 EK - Supremacy Clean CSQ - Plexi + Nickel 
CoolingOSMonitorKeyboard
2 x Corsair SP120 Silent Windows 8.1 LG 29" 29EA93 Razer Black Widow 
PowerCase
Corsair AX1200i Corsair 450D 
  hide details  
Reply
Corsair 450D
(14 items)
 
  
CPUMotherboardGraphicsRAM
Intel i5-4690K Asus VII Hero Asus GTX660 G.Skill RipJaws  
Hard DriveCoolingCoolingCooling
Samsung 840 Evo MCP355 + EK Housing + Acrylic top EK-CoolStream PE 240 EK - Supremacy Clean CSQ - Plexi + Nickel 
CoolingOSMonitorKeyboard
2 x Corsair SP120 Silent Windows 8.1 LG 29" 29EA93 Razer Black Widow 
PowerCase
Corsair AX1200i Corsair 450D 
  hide details  
Reply
post #2 of 26
Hmm, game programming and database programming in some cases are almost opposite ends of the scale.
One of the things that covers both bases pretty well is c# as you can write games in XNA which most XBOX 360 indie games are written in.
    
CPUMotherboardGraphicsRAM
I7 920 Gigabyte EX58 XFX Radeon 4870 X2 6GB Corsair 
Hard DriveOptical DriveOSMonitor
500GB Maxtor LG DVDRW Vista Ultimate x64 2 x Edge IO 22" 
KeyboardPowerMouseMouse Pad
Razer Arctosa XFX 800w BTC Cheetah Gaming Mouse None 
  hide details  
Reply
    
CPUMotherboardGraphicsRAM
I7 920 Gigabyte EX58 XFX Radeon 4870 X2 6GB Corsair 
Hard DriveOptical DriveOSMonitor
500GB Maxtor LG DVDRW Vista Ultimate x64 2 x Edge IO 22" 
KeyboardPowerMouseMouse Pad
Razer Arctosa XFX 800w BTC Cheetah Gaming Mouse None 
  hide details  
Reply
post #3 of 26
I suggest you learn java first. It's fairly straight forward and once you've got a good hold on it, it's very easy to learn other object oriented programing languages.

Once you get started, this is great for practice.
http://codingbat.com/java
1055T
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X6 1055T @ 4GHz GIGABYTE GA-870A-UD3 SAPPHIRE TOXIC Radeon HD 5850 1GB G.SKILL Ripjaws 4GB DDR3 
Hard DriveOptical DriveOSMonitor
Intel 40GB SSD WD Caviar Black 1TB ASUS DVDRW Windows 7 Home Premium 64-bit ASUS Glossy Black 23" 
KeyboardPowerCaseMouse
ADESSO SlimMedia Pro Corsair AX 850 700D + window side panel RAZER DeathAdder 
Mouse Pad
RAZER Goliathus 
  hide details  
Reply
1055T
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X6 1055T @ 4GHz GIGABYTE GA-870A-UD3 SAPPHIRE TOXIC Radeon HD 5850 1GB G.SKILL Ripjaws 4GB DDR3 
Hard DriveOptical DriveOSMonitor
Intel 40GB SSD WD Caviar Black 1TB ASUS DVDRW Windows 7 Home Premium 64-bit ASUS Glossy Black 23" 
KeyboardPowerCaseMouse
ADESSO SlimMedia Pro Corsair AX 850 700D + window side panel RAZER DeathAdder 
Mouse Pad
RAZER Goliathus 
  hide details  
Reply
post #4 of 26
Quote:
Originally Posted by jfiaff View Post
I suggest you learn java first. It's fairly straight forward and once you've got a good hold on it, it's very easy to learn other object oriented programing languages.

Once you get started, this is great for practice.
http://codingbat.com/java
Why Java? He asked about C++ and C#, Java isn't as nearly as developed and nice to program in as C# is.
My System
(13 items)
 
  
CPUMotherboardGraphicsRAM
Intel i7-970 @ 4GHz ASUS Rampage III Black Edition Gigabyte GTX 460 1GB SLI Corsair Vengence LP 24GB 1333Mhz 
Hard DriveOSMonitorKeyboard
OCZ Vertex 3 120GB Windows 7 Enterprise SyncMaster P2770 Microsoft Ergonomical 4000 
PowerCaseMouseMouse Pad
CoolerMaster M850 850w Fractial Design R3 - White Steelseries IKARI Steelseries 
  hide details  
Reply
My System
(13 items)
 
  
CPUMotherboardGraphicsRAM
Intel i7-970 @ 4GHz ASUS Rampage III Black Edition Gigabyte GTX 460 1GB SLI Corsair Vengence LP 24GB 1333Mhz 
Hard DriveOSMonitorKeyboard
OCZ Vertex 3 120GB Windows 7 Enterprise SyncMaster P2770 Microsoft Ergonomical 4000 
PowerCaseMouseMouse Pad
CoolerMaster M850 850w Fractial Design R3 - White Steelseries IKARI Steelseries 
  hide details  
Reply
post #5 of 26
Visual Basic 6.0

So easy your grandma can code it:

Private Sub Button1_Click()
Me.Print "Hello World"
End Sub
BACI DESTROYER
(15 items)
 
  
CPUMotherboardGraphicsRAM
6700K @ 4.7 w/EK Monoblock ASUS Maximus Gene VIII NVIDIA TITAN X Pascal w/EK Waterblock & Backplate 32GB Gskill DDR4 3200Mhz w/EK Monarch ram block 
Hard DriveHard DriveCoolingOS
Samsung 950 Pro NVMe 512GB WD Black 4TB EK Revo D5, Nemesis GTS 420 + 280 rads, 5x 14cm... Win 10 Pro 
MonitorKeyboardPowerCase
ASUS SWIFT PG279Q 1440p 165Hz Razer Blackwidow Chroma Corsair RM1000x Fractal Design Define S 
MouseMouse PadAudio
Razer DeathAdder Chroma Razer Sphex Schiit Stack DAC&AMP + JBL LSR305 Studio Monitors 
  hide details  
Reply
BACI DESTROYER
(15 items)
 
  
CPUMotherboardGraphicsRAM
6700K @ 4.7 w/EK Monoblock ASUS Maximus Gene VIII NVIDIA TITAN X Pascal w/EK Waterblock & Backplate 32GB Gskill DDR4 3200Mhz w/EK Monarch ram block 
Hard DriveHard DriveCoolingOS
Samsung 950 Pro NVMe 512GB WD Black 4TB EK Revo D5, Nemesis GTS 420 + 280 rads, 5x 14cm... Win 10 Pro 
MonitorKeyboardPowerCase
ASUS SWIFT PG279Q 1440p 165Hz Razer Blackwidow Chroma Corsair RM1000x Fractal Design Define S 
MouseMouse PadAudio
Razer DeathAdder Chroma Razer Sphex Schiit Stack DAC&AMP + JBL LSR305 Studio Monitors 
  hide details  
Reply
post #6 of 26
Quote:
Originally Posted by frW View Post
Why Java? He asked about C++ and C#, Java isn't as nearly as developed and nice to program in as C# is.
Im learning C# using this book.
So far it seems pretty easy to use. Im really enjoying it so far.

I also bought a Sams teach yourself C# in 24 hours and its not nearly as good as the book i linked to earlier.
    
CPUMotherboardGraphicsRAM
e8400 Asus P5Q EVGA 470 4x1Gb 800mhz Gskill 
Hard DriveOptical DriveOSMonitor
WD320 / WD500 LG 20x Windows 7 64-bit Samsung ToC 2x27" 
KeyboardPowerCaseMouse
Steelseries 6G/V2 Corsair 650 watt Modded Lian Li A05 Logitech G9 
  hide details  
Reply
    
CPUMotherboardGraphicsRAM
e8400 Asus P5Q EVGA 470 4x1Gb 800mhz Gskill 
Hard DriveOptical DriveOSMonitor
WD320 / WD500 LG 20x Windows 7 64-bit Samsung ToC 2x27" 
KeyboardPowerCaseMouse
Steelseries 6G/V2 Corsair 650 watt Modded Lian Li A05 Logitech G9 
  hide details  
Reply
post #7 of 26
Start with Visual Basic .NET. It really is an easy language to learn. Once you've learned it, move over to C#. The transition should be painless, considering that the syntax is very similar.
    
CPUGraphicsRAMHard Drive
Intel Core i7-4650U Intel HD Graphics 5000 Samsung 8GB DDR3 Samsung 512GB SSD 
OS
Macintosh OS X "Yosemite" 
  hide details  
Reply
    
CPUGraphicsRAMHard Drive
Intel Core i7-4650U Intel HD Graphics 5000 Samsung 8GB DDR3 Samsung 512GB SSD 
OS
Macintosh OS X "Yosemite" 
  hide details  
Reply
post #8 of 26
Thread Starter 
Thanks for all the answers.

So in general C++ is the most comon game developing language.
But its also possible to use C# or java, but C# is a better choice over java?

If i were to start learning C# and then later on if needed, how hard is it to learn C++?
Or would it be better to do it the other way around?

I'm not sure i want to spend time learning Java, or VB .Net as they do not seem as 'big' as C++ and C#
Corsair 450D
(14 items)
 
  
CPUMotherboardGraphicsRAM
Intel i5-4690K Asus VII Hero Asus GTX660 G.Skill RipJaws  
Hard DriveCoolingCoolingCooling
Samsung 840 Evo MCP355 + EK Housing + Acrylic top EK-CoolStream PE 240 EK - Supremacy Clean CSQ - Plexi + Nickel 
CoolingOSMonitorKeyboard
2 x Corsair SP120 Silent Windows 8.1 LG 29" 29EA93 Razer Black Widow 
PowerCase
Corsair AX1200i Corsair 450D 
  hide details  
Reply
Corsair 450D
(14 items)
 
  
CPUMotherboardGraphicsRAM
Intel i5-4690K Asus VII Hero Asus GTX660 G.Skill RipJaws  
Hard DriveCoolingCoolingCooling
Samsung 840 Evo MCP355 + EK Housing + Acrylic top EK-CoolStream PE 240 EK - Supremacy Clean CSQ - Plexi + Nickel 
CoolingOSMonitorKeyboard
2 x Corsair SP120 Silent Windows 8.1 LG 29" 29EA93 Razer Black Widow 
PowerCase
Corsair AX1200i Corsair 450D 
  hide details  
Reply
post #9 of 26
Depends where. 'Big' in the game world no, but in business n-tier development to databases vb was probs the 'biggest' and pretty much is ahead with c# only catching up recently.
    
CPUMotherboardGraphicsRAM
I7 920 Gigabyte EX58 XFX Radeon 4870 X2 6GB Corsair 
Hard DriveOptical DriveOSMonitor
500GB Maxtor LG DVDRW Vista Ultimate x64 2 x Edge IO 22" 
KeyboardPowerMouseMouse Pad
Razer Arctosa XFX 800w BTC Cheetah Gaming Mouse None 
  hide details  
Reply
    
CPUMotherboardGraphicsRAM
I7 920 Gigabyte EX58 XFX Radeon 4870 X2 6GB Corsair 
Hard DriveOptical DriveOSMonitor
500GB Maxtor LG DVDRW Vista Ultimate x64 2 x Edge IO 22" 
KeyboardPowerMouseMouse Pad
Razer Arctosa XFX 800w BTC Cheetah Gaming Mouse None 
  hide details  
Reply
post #10 of 26
Quote:
Originally Posted by Chup View Post
Thanks for all the answers.

So in general C++ is the most comon game developing language.
But its also possible to use C# or java, but C# is a better choice over java?

If i were to start learning C# and then later on if needed, how hard is it to learn C++?
Or would it be better to do it the other way around?

I'm not sure i want to spend time learning Java, or VB .Net as they do not seem as 'big' as C++ and C#
No language is "better" than the other. They're simply different.

First of all, the reason you're seeing C/C++ being so common is because of how low-level it is. You're directly manipulating hardware. Because of this, C++ is going to be common and by far the most versatile. In contrast, it's going to be the least portable (meaning you don't need a virtual machine like JVM is needed to run Java, or a runtime like .NET is needed to run C#, etc). So when you build with C/C++, you need to understand that your program will run different on computers depending on what hardware is being used. It's also likely going to take the longest to learn.

You will find that the syntax in Java is very similar to the syntax in C/C++. It seems like you're under the impression that C# is more common than Java... I can say with confidence that's not true at all. Java is very, VERY common. It's a very good language to learn because of it's portability. It runs inside a virtual machine. That virtual machine (JVM) runs on Windows, Mac OSX, Linux, Android, prettymucheveryotheroperatingsysteminexistence, etc etc. When you code in Java, the specs of the machine that will be executing the code are irrelevant. If you want to learn C++, it might be in your best interest to start playing with Java, as someone had suggested above.

I disagree with people saying to start with VB. VB is dying, but .NET is not dying. The new VB.NET will be around for a while, but I can't really see a reason why you would build with VB when you could build with C# if you're going to be using the same runtimes anyway (like .NET4). I guess it's a little easier to code with VB, and that might be why. But C# is so easy to learn that you might as well just skip VB all together.

Once you get a good language or two down, the others will come easily. I work with a handful of different languages every day at work. You get to a point where you can learn a new language in a couple days because the syntaxes are so familiar. (I said learn, not master.)

My biggest advice to you:

Be patient. No matter where you decide to start. You must remain patient.
Edited by Plex - 1/19/11 at 11:17am
Intellect v2
(9 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i7-6700K Processor ASUS ROG MAXIMUS VIII HERO LGA1151 DDR4 M.2 SAT... EVGA GTX 1080 SC ACX 3.0 Crucial Ballistix Sport 32GB DDR4 2400 MT/s (PC... 
CoolingKeyboardPowerCase
Noctua NH-D15 Das Keyboard 4 Professional (Brown) Corsair AX860 Fractal Design Define R5 
Mouse
MIONIX NAOS 7000 
  hide details  
Reply
Intellect v2
(9 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i7-6700K Processor ASUS ROG MAXIMUS VIII HERO LGA1151 DDR4 M.2 SAT... EVGA GTX 1080 SC ACX 3.0 Crucial Ballistix Sport 32GB DDR4 2400 MT/s (PC... 
CoolingKeyboardPowerCase
Noctua NH-D15 Das Keyboard 4 Professional (Brown) Corsair AX860 Fractal Design Define R5 
Mouse
MIONIX NAOS 7000 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Coding and Programming
Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › C++ VS C# or something else?