Hello guys. I am new in this forum and I would like to know the differences about the C <-> C++ <-> C# languages. Thank you....
Printable View
Hello guys. I am new in this forum and I would like to know the differences about the C <-> C++ <-> C# languages. Thank you....
Why do you want to know the differences? Are you trying to decide which language to learn?
There are a lot of differences. C is a structured language, C++ and C# are object-oriented. C and C++ are compiled languages where you sometimes have to deal with a lot of low-level memory management details yourself, whereas C# has a garbage collector that cleans up after you. C# is more Microsoft's thing, and it probably has more useful libraries since it is a more modern language. I imagine that C and C++ are used more widely, though.
You've asked a very broad question and so that's all you're going to get in terms of answers . . . .
This is bound to turn into a huge debate, and is probably suited for the general forum, not one specific language forum.
Quzah.
You are right, it is general question...:)
The year that pasted i have learn C...i made an efford. And from this September im going to C++...So by the end of 2011 i will know C & C++ but i have no idea about C#.
What is it and if it is usefull the "common" people and not the ones that work at microsoft. Can someone inform me?
I know several people who all work for different companies that use C#. C# is essentially Java with some modifications/fixes by Microsoft, but for Microsoft's .NET community. If you use Linux, it can work on Mono, but there are patent issues that may be of concern.
Moved - and try pasting your topic title into google.
Ok Salem. I just wast your opinions...your thoughts...thanks!
So what do you think all the hits on google are - opinion, or solid facts ?
There's no shortage of "opinion" on the differences between x and y. There's even a bunch of similar threads already on this board - did you search for them?
You might think your question is new, but it's just another "oh no, not another x vs. y" thread to some of us.
A better idea might be to ask for advice regarding what you want to do. Do you want to program games? Desktop applications? Web stuff?
If you tell us what you want, you may get a more concrete answer as to what language might be best suited for the task.
Basiclly, i know some things in C programming only. Next year i' ll expand my knowlenge in C++. I really don' t know which one to choose...i like gaming but one the other hand i' ll love web programing(webpages etc.)...
You should focus on "how to program" (which will last a lifetime), rather than any particular language or technology (which might last only a few years).
Once you get past the average student homework, there is so much to do which has nothing to do with where the braces go, or whether you need a ; at this point in the code.
You'll learn many languages in your career. After 2 or 3, they all start to look pretty similar (when you have a solid background on the fundamentals).
An example of one of the differerences, or different areas, of C/C++ and C#:
I work for an anti-malware company. That means creating virus scanner engine(s) and other things that work at a very low level of the system. The natural choice here is C, or C++, because you're on more or less on the lowest level for any "normal" programming (assembly coding is also sometimes necessary, combined with C). Also, with things like virus scanners the resource use gets very important.
I've several friends who works as consultants, creating mostly business software for the Windows platform. The natural choice there (apart from maybe Java), since it's all exclusively Windows and the .NET platform, is to use C# in .NET. It's about as portable as a grand piano, of course, but since it will never be ported to any other system(s) it's perfectly acceptable. For "lower level" system programming like scanner engines etc., I don't even think it's possible to use .NET. And if it is, it would die before it got started due to overhead, I think.
0.0001% of the market, maybe? You'll only likely see it on a few Microsoft devices.
And it will probably be... yes, you guessed it. Slow.
That framework is not a good idea for embedded devices.
Indeed. I keep telling people this and they just won't listen.Quote:
That framework is not a good idea for embedded devices.
You can use it if you interface with the hardware in C++ and write the bridge between the two in C++/CLI.Quote:
For "lower level" system programming like scanner engines etc., I don't even think it's possible to use .NET. And if it is, it would die before it got started due to overhead, I think.
Well I use C# at work. Sure it's nice, and fits really well with Microsoft-y things, but other than that I'm not so sure. It's got some really nice modern features though. Still sticking to C++ for hobby stuff ;)