By using this site, you agree to our Privacy Policy and our Terms of Use. Close

Forums - General - Which programming language is more useful to learn, C++ or C Sharp?

 

Which programming language is more useful to learn generally, C++ or C Sharp?

C++ 18 52.94%
 
C sharp 7 20.59%
 
Neither. I suggest something else. 9 26.47%
 
Total:34

 From my little research, I've gathered that C++ is the most used programming language by game developers. But what if one wants to lerarn a language for it's overall usefulness, and not just for games?

1. Which language is more widely used?

2. Which is easier to learn and use?

3. Which is better to learn for game development?

4. Which is better to learn for software, programs and app development?

5. What's the major difference between them, anyway?



http://img244.imageshack.us/img244/7530/gohansupersaiyan239du.jpg" type="application/x-shockwave-flash"> http://www.deviantart.com/download/109426596/Shippuden_Team_7_by_Tsubaki_chan.jpg" type="application/x-shockwave-flash"> http://image.hotdog.hu/_data/members0/772/1047772/images/kepek_illusztraciok/Bleach%2520-%2520Ishida%2520Uryuu%25201.jpg" type="application/x-shockwave-flash">

3DS: tolu619

Wii U: FoyehBoys

Vita, PS3 and PS4: FoyehBoys

XBoxOne: Tolu619

Switch: Tolu619

Kugali - We publish comics from all across Africa and the diaspora, and we also push the boundaries of Augmented Reality storytelling. Check us out!

My thread for teaching VGC some Nigerian slangs

Around the Network

First a disclaimer: I have very little C++ experience and have mostly used C# and Java as my main programming languages.

1. Which language is more widely used?

- C++ is more widely used.

2. Which is easier to learn and use?

- I would say C#, both because it's a simple language to start in, but also very well documented by Microsoft.

3. Which is better to learn for game development?

- C++ is probably the way to go, though you can work with C# as well. Minecraft was written in Java for example, so creating games in C# is definitely not out of the question.

4. Which is better to learn for software, programs and app development?

- It depends on what you want to do, but I would probably say C#. You can write webapps with it using ASP.NET, Windows Phone 7 apps are written in C# and Android apps are written in Java (C# and Java resemble eachother alot, so experience with one will usually help with the other), just as examples.

5. What's the major difference between them, anyway?

- C++ is much older than C# and is used across platforms everywhere. So C++ code can be run on any big platform you want, and the code is compiled directly to machine code, which means your code will be about as quick as it can reasonably be. C# on the other hand is much more limited in the platforms that are supported (both Linux and Mac can run C# code, but not as well as Windows), and C# is not translated directly to machine code, but runs in a virtual machine, meaning it is slower to execute than C++ code is.

Aside from that, you have the various differences in the languages themselves, which is more really a matter of preference than anything else. You can see some concrete examples here if you'd like.

Just ask if you want to know more.



Speaking from experience, learning a particular language is the second most import thing to learn. Learning the fundamentals of computer science is far more important. Learning the syntax and ins and outs of a language is important, but if you have good fundamentals, learning the language is easy and optimizations come after experience.

For example, I started a new job in November which required action script. I knew nothing about actionscript but got the job anyway. After a few weeks I picked it up enough to be proficient/pretty damn good at it and am now one of the better actionscript coders at the job.

Learning a language is important, but languages are just tools to get the job done and just learning how to use a tool without understanding what your doing means that if you ever need to learn another tool, you'll be screwed.

That said, C++ is more widely used and is, in general, a "better" language in the sense that you have pretty damn good low level control and room for optimizations. On the downside, there are lots of caveats and it can be very easy to make mistakes that are hard to debug (memory leaks are easier to make, pointer arithmetic is tough).

So, to answer your question, learn theory first and learning languages becomes WAY easier. If you just want "quick" game development, learn actionscript, java script, objective C or C# as they are easier with less caveats but are less "powerful" (low level). If you want more hardcore/optimized work C++ is the way to go.



EDIT: I doubt twesterm (below) meant me :P

I doubt you're going to get too many answers here so I'm going to give the opinion of a person rather new to programming: me. You should probably be a bit vary about my answers because, like I said, I'm pretty new.

You should probably replace C# with Java, then we can have an actual discussion. C# is Windows-only and AFAIK it's not as popular as Java either. Of course if you're a huge Windows-fan, C# will do just fine... But otherwise I say you'd do well to use Java instead of it.

Let's make it a comparison between C++ and Java instead. (OK, I'll have C# in there as well.)

1. Which language is more widely used?

I'm not a pro myself so I can't really answer this question. Both have their uses, and both seem to be very popular. C# is the least used of these, that's for sure.

2. Which is easier to learn and use?

Java, by far. I suppose the same applies to C# as well.

3. Which is better to learn for game development?

C++. It gives you better performance. But like Rainbird said, Java works too and I suppose so does C#.

4. Which is better to learn for software, programs and app development?

Like I said, I'm no pro so I can't really answer this one either. Depends on where you want to work? I'm pretty sure most PC applications, games or not, aren't really programmed in Java/C# though. Java/C# should be just fine in mobile/maybe web development.

5. What's the major difference between them, anyway?

I think Rainbird answered this question better than I could have.

Overall, I don't think it's important what language you learn first. Once you learn once language and the right way to think these things, it should be pretty easy to learn a new language as well. Besides, most languages have some similarities.

I had two basic programming courses in the last year, and we used Java on both of them. Then we had a two-week C++ course so we could learn to do the same things in C++. I don't think I can do all the same things in C++ as I can in Java but I'd say I'm close enough so that it won't take very long to get to the same point. The biggest difference right now is probably the lack of routine in C++.

I think it would be a good idea to learn Java first, then figure out how to do the same things in Java. Shouldn't really be too hard unless you intend to go deep, and you should get a better idea about the whole thing that way.



Above poster is 100% right. Learning any one particular language isn't so important but learning the different types of languages is more important. If you know one object oriented language, you can learn any of them with ease.

Also, if you're looking into game programming what language and language types you know aren't the most important things. You need a pretty heavy background in math and physics.



Around the Network

1. Which language is more widely used?

Probably C++

2. Which is easier to learn and use?

C# by far. C++ is one of the most difficult object oriented languages to learn because the need to use pointers and the manual memory management.

3. Which is better to learn for game development?

C++ is vastly used to develop games because of its performance.

4. Which is better to learn for software, programs and app development?

C# because of the visual studio.net one of the best tools to develop software out there.

5. What's the major difference between them, anyway?

C# is a young language made by MS to replace Visual Basic and C++ as the default programming language for application in the Windows, also it works very for web development. C++ is a old language that is used mostly for device drives, desktop applications, mobile devices, operational systems and games. Both are object oriented, C++ is almost 100% backward compatible with C while in C# you have a garbage collector to manage automatically the memory. Finally a C++ program is native program witch means that it runs directly in the operational system but a C# program runs in a virtual machine (which runs in your computer), the virtual machine can just interpret the code or compile it into a native code and then run it. Actually it depends of the C# virtual machine where the program is running.



To reply what you've all said so far, first of all, my first programming experience was teaching myself a little visual basic. (Oooo..........I made a smash bros power level calculator!).
Then I was taught FORTRAN in school(yes, yes, I know).
Then I'm currently learning C-script and using it to program a game.
However, I might soon do an internship at my dad's office and might have to develop apps for him that have nothing whatsoever to do with gaming.
By the way, I'm about to write my second year exams. Studying Physics at the university. I'll wait for more replies before deciding which of the two to learn first.



http://img244.imageshack.us/img244/7530/gohansupersaiyan239du.jpg" type="application/x-shockwave-flash"> http://www.deviantart.com/download/109426596/Shippuden_Team_7_by_Tsubaki_chan.jpg" type="application/x-shockwave-flash"> http://image.hotdog.hu/_data/members0/772/1047772/images/kepek_illusztraciok/Bleach%2520-%2520Ishida%2520Uryuu%25201.jpg" type="application/x-shockwave-flash">

3DS: tolu619

Wii U: FoyehBoys

Vita, PS3 and PS4: FoyehBoys

XBoxOne: Tolu619

Switch: Tolu619

Kugali - We publish comics from all across Africa and the diaspora, and we also push the boundaries of Augmented Reality storytelling. Check us out!

My thread for teaching VGC some Nigerian slangs

1. Which language is more widely used?

In general I'm not certain, outside of legacy applications and projects with unusual performance requirements C++ isn't used much in most business applications anymore; but C# is far from ubiquitous, and there is a lot of competition from various other programming languages, and even those who focus on the .Net platform may choose other languages to develop with.

2. Which is easier to learn and use?

C# by far, but that isn't saying much ...

C# is a newer, higher level language with far more libraries, documentation and frameworks which gives you a lot for "free". With that said, C# is still a very clumsy language with some semantics and syntax which make it less than ideal to learn to program with.

3. Which is better to learn for game development?

If you want to be a high end game engine developer you would want to know C++ ...

For a novice programmer who wanted to develop games I would suggest you learn the scripting language that is associated with a very simple game engine.

For a more experienced programmer who wanted to develop some simple games on their own, I would recommend C# because Microsoft has created some nice abstractions and integrations between the .Net framework and DirectX to make game development easier.

4. Which is better to learn for software, programs and app development?

Any language will do, but C# (more or less) limits you to development for windows platforms ...

5. What's the major difference between them, anyway?

C++ is a low level pre-compiled procedural programming language with some object oriented programming concepts built into it ...

C# is a mid-level interpreted object oriented programming language ...

 

 

 

In general, I would recommend neither for a beginner though ...

Scratch is probably a good place to start because it was specifically designed to make programming more accessable ( http://scratch.mit.edu/ )

Many people I know rave about smalltalk, and Squeak is the open source implementation of smalltalk ( http://www.squeak.org/ )

Beyond those, Python and Ruby are also good options.



HappySqurriel said:

1. Which language is more widely used?

In general I'm not certain, outside of legacy applications and projects with unusual performance requirements C++ isn't used much in most business applications anymore; but C# is far from ubiquitous, and there is a lot of competition from various other programming languages, and even those who focus on the .Net platform may choose other languages to develop with.

2. Which is easier to learn and use?

C# by far, but that isn't saying much ...

C# is a newer, higher level language with far more libraries, documentation and frameworks which gives you a lot for "free". With that said, C# is still a very clumsy language with some semantics and syntax which make it less than ideal to learn to program with.

3. Which is better to learn for game development?

If you want to be a high end game engine developer you would want to know C++ ...

For a novice programmer who wanted to develop games I would suggest you learn the scripting language that is associated with a very simple game engine.

For a more experienced programmer who wanted to develop some simple games on their own, I would recommend C# because Microsoft has created some nice abstractions and integrations between the .Net framework and DirectX to make game development easier.

4. Which is better to learn for software, programs and app development?

Any language will do, but C# (more or less) limits you to development for windows platforms ...

5. What's the major difference between them, anyway?

C++ is a low level pre-compiled procedural programming language with some object oriented programming concepts built into it ...

C# is a mid-level interpreted object oriented programming language ...

 

 

 

In general, I would recommend neither for a beginner though ...

Scratch is probably a good place to start because it was specifically designed to make programming more accessable ( http://scratch.mit.edu/ )

Many people I know rave about smalltalk, and Squeak is the open source implementation of smalltalk ( http://www.squeak.org/ )

Beyond those, Python and Ruby are also good options.


 I already know the basics of programming and I'm currently making a game using 3D GameStudio which uses C-script. I just wanted to know what to learn for future use. I think I'll go for C sharp. Since you say it's limited to Microsoft systems, I'll learn Java afterwards.



http://img244.imageshack.us/img244/7530/gohansupersaiyan239du.jpg" type="application/x-shockwave-flash"> http://www.deviantart.com/download/109426596/Shippuden_Team_7_by_Tsubaki_chan.jpg" type="application/x-shockwave-flash"> http://image.hotdog.hu/_data/members0/772/1047772/images/kepek_illusztraciok/Bleach%2520-%2520Ishida%2520Uryuu%25201.jpg" type="application/x-shockwave-flash">

3DS: tolu619

Wii U: FoyehBoys

Vita, PS3 and PS4: FoyehBoys

XBoxOne: Tolu619

Switch: Tolu619

Kugali - We publish comics from all across Africa and the diaspora, and we also push the boundaries of Augmented Reality storytelling. Check us out!

My thread for teaching VGC some Nigerian slangs

Depends what your goal is.

C++ is used for hardcore shit. Its a bitch to learn and use, but its far more powerful and used for primary coding of OS, games, etc.

C# is easier, more friendly, and used for a wider range of lower level applications and web based stuff. However, in this realm Java is still king and a far better foundation to learn from.

In the past 10 years after college, I've used Java based technologies over 90% of the time. With SQL, HTML, C#, various scripting languages etc making up the rest.

I've never used C++ as I focus on web based stuff.

So it comes down to what type of development you are intending to do?