|Original post by Greycrow|
C++ vs. C# is a HOT topic these days.
A rather frequent topic, and generally a silly topic.
|I personally try to keep up with both.|
|1) OLD habits die hard. We learn C and C++ in school. So we become comfortably with the language. It's hard for people to try to learn a whole new (And I mean that) language like c# when they are use the old. I think that's wrong thinking if you are looking for a JOB in programming. You need to learn it ALL.|
I've done FORTRAN. I had no problems learning C#. If you're stuck in the old ways, perhaps it's not that it's hard to learn, but that you’re just stuck in the old ways and resistant to change.
|2) ABSTRACTION - This may be reason number one. If you are just staring out in programming, c# is a very abstract language. It is not as close to the machine, and so some people feel disconnected from it. C is very close to the machine.|
Assembler is even closer. programming in C we feel that connection more strongly. But again I still think we need to learn it ALL.
You are really no more closer to the machine in C/C++ than you are in C#. All three of them run against a reference machine that exhibits certain behaviors. Furthermore with modern things such as virtualization, virtual memory (old idea really), etc. you are quite distant from the actual hardware. The same is true of assembly as well.
|3) There are things in c# that are just plain frustrating in c# and some people just give up and do it in C. You could argue perhaps that you just don't know enough about the language to do it. But does ANYONE really know all of it?. No , of course not. I've seen PHD's stumped by .NET.|
There are plenty
that are extremely painful to learn/do.
|4) C books are 200-300 pages. C# books are up to 1500 pages!. Which is easier to learn?|
C#. Because you’ll be up and running in an hour or less. Those 200-300 page books also generally start with “Learn” and end with “in 21 days.” Which is generally a prime example of exactly why C++ shouldn’t be your first language, also the C++ standard is over 700 pages.