Going further back ... to C

After speaking with Charles yesterday about learning C++, he suggested that looking into C first might help me with learning C++.  So on his suggestion (he is a pretty smart guy so I'll take his suggestion) I just ordered The C Programming Langugage from amazon.  That book has gotten great reviews.

Doing little C first actually puts my mind at ease a little... why you might ask?  Since I started programming with high level languages first and then back filling some of the lower level languages (like C), the questeion always is - how low do I go?  Looking at a career as a software developer, I have always thought that I should at least have a good understanding and be able to hack something together in the assembler, C, C++, VB, Java, and now with .Net VB.Net and C# (fortran use to be on the list, but has been removed in the last two years).  So doing a little C now only leaves assembler on my list.  Maybe some rainy week off I'll get to that one. 

Where should I get a C compiler?  I have MSDN Universal, so I have most of Microsoft's compilers, but should I check some others out?  Hopefully I be starting the C side project in the next couple of weeks... got to finish my last MCSD exam first.

Time to catch up on my blog reading ...1577 unread....

posted on Saturday, April 24, 2004 11:54 AM

Feedback

# re: Going further back ... to C

You definitely can't go wrong with Visual Studio. MS's C++ compiler has gotten a lot better than VC6, with something like 95% standards compliance now. I would recommend going that route.

The other option is to download Cygwin (http://www.cygwin.com/), and use GNU tools. I would recommend against this, though, as that's more the Unix way of doing things, and I'm not sure how easy it would be to get that setup to write Windows apps (which obviously can be done out of the box with Visual Studio).

The other advantage to Visual Studio, of course, is that you already know the IDE from using C# (although it is interesting to see just how much better the IDE support is for C# than C++ - the C# editor does all sorts of fancy indenting tricks that just aren't done for C++, probably because it's so hard to parse).
4/24/2004 9:56 AM | milbertus

# re: Going further back ... to C

Milbertus: Thanks, that's good to know about VS.Net. Playing around with C++.net I have noticed that the C++ IDE doesn't have all the features that C# has... probably will force me to learn it better in the end though.
4/24/2004 10:34 AM | Jason haley

# re: Going further back ... to C

Jason,

vc++ with the vs ide is the way to go. nothing better out there....

WM_MY0.02$
thomas woelfer
4/24/2004 10:46 AM | thomas woelfer

# re: Going further back ... to C

My Advice: Do NOT attempt C before C++.

There's a whole helluva lot of C that you are going to have to FORGET to properly understand C++. There's a lot of really bad C++ code out there, written by C programmers who refuse to give up C idioms.

For example, C programmers love using pointing, but in modern C++ (with std::string and std::vector), you will almost NEVER have to use a pointer.

My choice of a first language before C++, would be C# or Java. They have very little that you'll have to forget to learn C++.



James M. Curran
MS MVP/C++
4/26/2004 5:06 AM | James Curran

# re: Going further back ... to C

James: Thanks for your comment. My plan is actually finish off the Visual C++.Net first (since I'm about 100 pages into it) and then look at C/C++ sort of at the same time. I currently use C# and find the C++.Net pretty similar (not quite as productive as C#, but close).

Pointers are something that I really want to get familiar with, soley due to the fact, I know so little about them right now (theory but not practice). I'll take your advice and use them only when needed, but first have to learn more...
4/26/2004 5:11 AM | Jason Haley

Post Comment

Title  
Name  
Url
Comment   
Please enter the following code into the box below to stop spammers

  
Enter Code Here *