Best variant of C for a beginner?
C
 44%  [ 12 ]
C++
 18%  [ 5 ]
C#
 37%  [ 10 ]
Objective-C
 0%  [ 0 ]
Other (C or not); specify in post
 0%  [ 0 ]
Total Votes : 27

Is C truly as difficult to learn as some people seem to consider it to be? I'm actually quite good with learning anything which makes logical sense (and I assume nearly all languages do), and C is used widely. It's obvious that many have a bias against C#, while many encourage it. I would prefer to develop for platforms other than Windows, and C seems to be the best language for covering multiple platforms, judging by the input I've received here. What benefits does C# have over C (excluding ease of learning, unless it's truly significant enough to worry), and would they matter enough to constrain myself to compatibility with Windows?
To someone who already has programming experience, there's little reason to not learn to use C. C has a few gotchyas in it that, while apparent to people who know how computers work on an intimate level, alienate newbies. If C is their first experience with programming, they might assume all languages are like C, and not pursue the wonderful art of programming. If you know any form of Basic, though, that's enough to push through the barriers that C puts up, because you'll know that C isn't the end-all be-all. C is definitely a worthwhile language to pick up; just get your feet wet with another language first. I tend to recommend any combination of Game Maker, TI-Basic, C# or Python to any aspiring programmer.
technomonkey76 wrote:
Is C truly as difficult to learn as some people seem to consider it to be? I'm actually quite good with learning anything which makes logical sense (and I assume nearly all languages do), and C is used widely. It's obvious that many have a bias against C#, while many encourage it. I would prefer to develop for platforms other than Windows, and C seems to be the best language for covering multiple platforms, judging by the input I've received here. What benefits does C# have over C (excluding ease of learning, unless it's truly significant enough to worry), and would they matter enough to constrain myself to compatibility with Windows?


Go for C++ over C.

But yes, it is difficult to learn. It quickly becomes hard to do correctly, there are a ton of pieces you have to learn before you can do anything useful, the standard library consists of almost nothing compared to other languages, and one mistake and your program just aborts - no stack trace, nothing, just *poof* and it's not running anymore.

You really need to already be disciplined in architecture and design before you start with an unmanaged language like C or C++.
There's a fun discussion over on /. today on the subject of "What's to love about C". There's further discussion on the relative advantages and disadvantages of Obj-C and C++ in this comment thread: http://developers.slashdot.org/comments.pl?sid=2952181&cid=40519493

Worth a read for people with an interest in this topic.
I'm probably angering a lot of fellow nerds, but I think that C is superior to every other language in its family. It's fast, it's simple, and has been consistently popular since the 70's.(It even has a goto, which I'm proud to say I never, ever use!)
ghest1138 wrote:
I'm probably angering a lot of fellow nerds, but I think that C is superior to every other language in its family.


You are angering people by necro posting, not for being wrong.

Quote:
(It even has a goto, which I'm proud to say I never, ever use!)


Then you probably haven't written much actual C code. Gotos are fairly common, used to deal with errors and cleanup. Either that, or religious devotion to an ideal you don't really understand has led you to write *bad* code as a result.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 3 of 3
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement