C, C++ Or C Sharp

Started by
27 comments, last by Washu 16 years, 11 months ago
hay guys; website is cool. This is my first day and i really enjoyed my first day in this website. and very well class good people i saw in this website. and all are very much champions. Well i am not a game developer but i want to be a game developer. Nowadays i am trying to integrate myself into Software Development. But this is really interested because i know how to model an objects and i also won prizes in website competition. my teacher told me that one day you will become a great and successful businessman. So I Completed 12 Class and i am joining MCS. but the thing is that i wanna learn game programming and i now that C, C++ and C Sharp has a very great values in programming. So i really wanna learn from beginning, And you guys have to help so can you guys tell me the websites or tutorial sites and please tell where can i download these softwares. And Tell me the name of the sites in which i can learn from very begining. Please Don't say that google "C" because google shows me millions of site and i want best of best sites. Thank you
Advertisement
Please use the search box at the top right to search for "C++ or C#". This discussion has been covered fully by many members of this community (of all levels of experience and wisdom) at least a dozen times in recent months.

General summary:

There is no need to learn C as a first language. C++ is heavy and complicated. C# gets recommended from time to time as a first language. I'd vote for C#.
[TheUnbeliever]
Quote:Original post by TheUnbeliever
Please use the search box at the top right to search for "C++ or C#". This discussion has been covered fully by many members of this community (of all levels of experience and wisdom) at least a dozen times in recent months.

General summary:

There is no need to learn C as a first language. C++ is heavy and complicated. C# gets recommended from time to time as a first language. I'd vote for C#.


Thanks for telling me i found alots of tutorial. My Cousin Gift me a "C Language" Book and i am also familiar with C interface but C works in Black Screen. And i found myself very depressed. Can you tell me is there any versions in C, i mean GUI Mode so i can better learn easily and to find bugs is very hard. i also worked in Visual Basic Which has a GUI mode plus when errors comes it shows with highlight that line and also with explanation and with error number and Visual Basic Smart Intelligence Mirror Shows me syntax, methods, as you know. So what about C Sharp, C++ are they in GUI And can we make samethings what me make in C Language

You can make GUI apps in any of those languages, it's just a matter of using a GUI library. For C or C++ there's Win32 and for C# or VB.Net there's WinForms.

If it's a GUI editor you're looking for, try Visual Studio Express.
Hi, my recommendation is buy a good book of C++. One good is Beginning C++ Game programming, second edition from J. S. Harbour, another one great book is Game Programming All in One, third edition from the same author.

I encourage you to learn C++ first, then you can move to C#. Both are Object Oriented Languages.

If you want an IDE try Bloodshed Dev-Cpp, is free and you will be able to build and compile both C and C++ programs.

For C# try SharpDevelop, and excellent IDE. Both of this are Open Source and FREE.

Microsoft launch recently a free line of their compilers called the Express edition. There you can find Visual C# Express edition and Visual C++ Express edition. They are very good and very powerfull tools.

And as said before, you can run all your C programs with Dev-Cpp or Visual C++ Express. Although C is not Object Oriented.
Quote:Original post by ejele012
I encourage you to learn C++ first, then you can move to C#. Both are Object Oriented Languages.
I would recommend that if a beginner wishes to learn a C-family language they should try the opposite approach, beginning with C# and learning C++ later if desired/required. My reasoning is as follows:
  • A beginner is trying to learn both the programming process and the details of thier chosen language at the same time. As both of these can be quite difficult tasks it would be wise to minimise the complexity of the language where possible to allow the beginner to focus on the actual task of programming. C# protects the user from a lot of unneccesary details they would have to deal with in C++.

  • C# allows the user to work with the excellent .NET framework which provides a lot of functionality they would otherwise have to either code themselves or use external libraries for in C++. C# therefore potentially allows the user to be more productive as they become more experienced.

  • C# (while still far from ideal) is generally accepted as a much more cleanly designed language than C++.

  • It's generally accepted that your first programming language is the most difficult to learn and that learning additional languages at a later stage will often be significantly easier. It therefore makes sense to tackle the difficult task of learning a first language using a relatively simple language.
Due to the reasons listed I would actually recommend a beginner not start with a language from the C family at all and to instead try Python or something like Phrogram.

I'm interested in your rationale for recommending the learning of C++ before C#.

Quote:If you want an IDE try Bloodshed Dev-Cpp, is free and you will be able to build and compile both C and C++ programs.
Dev-C++ lacks features and isn't up-to-date with modern editors. The free Visual C++ Express is by comparison an excellent and fully-featured product, but if for some reason you really don't want to use it code::blocks would be a better alternative than Dev-C++.

Quote:Although C is not Object Oriented.
Are you implying that that's a bad thing? I wouldn't recommend anyone use C (unless they're working on a specific task for which it's the best option), but not being Object Oriented isn't neccesarily a bad thing.

- Jason Astle-Adams

I would suggest, VERY STRONGLY, learning C++ as a first language (there really is not point in distinguishing C and C++ for the purposes of learning programming, as C has been pretty much replaced by C++ in virtually all areas -- and C++ basically is a glorified, upgraded version of C). It is, despite what many people claim, one of the quickest languages to learn and one of the easiest to use (until you get to advanced features and stuff). It also just happens to be by far the most common language in use in most fields of software development, from games to operating systems. C# and Java are slow running, inefficient languages with unnecessary complexities which slow the learning process and coding process as well.


[[ disclaimer: yeah, I know... I'm rather biased... sorry, this is just what experience has shown me]]
There was a saying we had in college: Those who walk into the engineering building are never quite the same when they walk out.
First of all thanks for all the buddies who gave advices and suggestions.

Quote:
Hi, my recommendation is buy a good book of C++. One good is Beginning C++ Game programming, second edition from J. S. Harbour, another one great book is Game Programming All in One, third edition from the same author.


Thank you @ ejele012, i will find these books in the market.

I installed Visual Studio and also Microsoft Visual C++.
and it has GUI mode. so i think it would be easy for me to learn but guys as ejele012 told me to bye books. so my question is that books will help me in this product i mean Microsoft Visual C++, and is there any difference in syntax and commands in C++ and Micorsoft Visual C++. Please name the books related to Microsoft Visual C++. and one last question
What is DirectX as far as what i have researched i found that Directx gives 3D environment and also 3D games uses Directx if yes then Maya or 3D Studio Max that were also created in C. uses Directx commands to show 3D GUI Mode.


Finally Thanks yo Moderator and Kazgorath and Scet for their advices
Thank you
Quote:Original post by medevilenemy
[[ disclaimer: yeah, I know... I'm rather biased... sorry, this is just what experience has shown me]]
A simple look at the many topics from users having extreme difficulty with C++ should show you that your experience is actually unusual though. Yes, C++ is certainly not an unlearnable language, and there are people out there who find it relatively easy and are very comfortable working with it, but are you really comfortable 'VERY STRONGLY' recommending it as a first language to others when there are so many examples of others obviously not sharing your pain-free experience of learning the language?

Quote:C# and Java are slow running, inefficient languages with unnecessary complexities which slow the learning process and coding process as well.
That's just plain flame-bait, you should know well and good that they don't run that slowly and that no beginner is actually going to be good enough at C++ to write a program that significantly (if at all) outperforms the versions they would be able to write in either C or Java. As for unnecessary complexities that slow the coding process, I'd have to say your experience is again unusual there; most people who advocate those languages do so largely because of the increased productivity that's possible.

- Jason Astle-Adams

Quote:Original post by medevilenemy
I would suggest, VERY STRONGLY, learning C++ as a first language (there really is not point in distinguishing C and C++ for the purposes of learning programming, as C has been pretty much replaced by C++ in virtually all areas -- and C++ basically is a glorified, upgraded version of C). It is, despite what many people claim, one of the quickest languages to learn and one of the easiest to use (until you get to advanced features and stuff).
Wow, I smell someone who has never bothered to even take one of my quizes, and who really doesn't have a strong understanding of the language he is touting.
Quote:It also just happens to be by far the most common language in use in most fields of software development, from games to operating systems.
Which is no excuse for learning it first, in fact it's exactly why you SHOULDN'T learn it first, since that trend is not true. It may be used quite commonly in game development, however that is usually in conjunction with other languages (such as python or lua). Furthermore, the complexity of the language is such that most "professional" programmers barely have a clue about the expected standard behavior of the code they produce.
Quote:C# and Java are slow running, inefficient languages with unnecessary complexities which slow the learning process and coding process as well.
Wow, congratulations. You apparently haven't been paying attention to the last several years worth of language development. Java and C# run very efficiently, very closely matching and sometimes exceeding the speed of C++ applications. There are a few areas in which they are weak, however even in those areas advancements are being made that are allowing them to quickly approach the speed of execution of C++. Considering the great amount of effort that has gone INTO the languages in making sure that they represent mostly defined behavior, without having gregarious areas of undefined behavior, like C++, the extra cost of execution speed is well worth the time saved in debugging, development, and deployment.

In time the project grows, the ignorance of its devs it shows, with many a convoluted function, it plunges into deep compunction, the price of failure is high, Washu's mirth is nigh.

This topic is closed to new replies.

Advertisement