|
-
May 31st, 2004, 07:20 AM
#1
Becoming a C _developer_
I've for long known the C syntax and I like it very much. I can easily understand C programs and I've myself written lots and lots of Win32 API code. However, since my mainstay has been VB, I'm not at all confident of calling myself a C programmer and I still believe I do not know C. That is true because when I look at projects on SourceForge, I do not see myself as capable as re-creating that stuff. I can't write sound editors, zip/compression apps, binary editors et al.
As a self-analysis, I believe I know the C syntax but I score rather measley on the vocabulary. So I ask you gurus: what's your advise to someone who's known only the C syntax for a long period of time now, say more than 6 years, has done some Windows Programming but nothing else in C. What's your tip to this self-learner who wants to take the next step in writing apps alike those that feature on SourceForge. Where do I look next? How do I improve my C vocabulary? Should I first browse the standard library documentation? What next? I believe C in itself is such a small language with a very general function set dealing with basic data types in the standard library. Am I right in assuming that for doing a particular non-generic application like the ones mentioned above, I'd have to depend on a library and read its documentation? Do these developers developing, say, a database application that provides a C front-end connecting to a MS SQL Server database do the connection thing from scratch in C or do they rely on an external pre-packaged library?
How do I proceed improving my vocabulary? I want to quickly begin writing a useful application that I can proudly boast of.
-
May 31st, 2004, 07:51 AM
#2
If I were you I'll start from analysing code samples from MSDN - next write some apps and "learn during the process". That's the best way - I think.
To be honest I've learn C++ and MFC that way pretty much.
-
May 31st, 2004, 08:19 AM
#3
estudiantin,
if you feel comfortable with C syntax, but have no experience -
I suggest to consider moving to C++ studies.
me, for example, as a C developer who is used to "dirty C" -
find its a big switch in the way of thinking between C and C++,
though the syntax is familiar.
if you concentrate on C in the present, and would like to move
to C++ in the future - acquiring C development habits could slow you down.
Any way, I suggest to learn Data structures before getting into any application developement with C/C++.
Regards,
Guy
Last edited by Guysl; May 31st, 2004 at 08:21 AM.
**** **** **** **** **/**
-
May 31st, 2004, 12:08 PM
#4
I agree with Guysl that if you want to learn C++ in the future, learn it now and leave 'C' behind 
The reason is that 'C' programming introduces you to habits that you have to change when you program in C++. Not just for the aesthetic differences (C++ classes as opposed to straight C procedural code, for example), but in many cases, if you are programming in C++, the C++ way is the only correct way to do things. For example, using memcpy on a non-POD C++ struct or using malloc() to create an object -- sure, it will compile and link, but whether it will run is a different story.
A lot of C programmers who change to C++ encounter these problems, and don't understand why their C-style of programming in a C++ program is causing all sorts of errors (compile and run-time errors). It shocks them that their malloc() call or memset/memcpy is the culprit, when in C, these things work all the time. Successful C programmers who change to C++ are ones who understand that C and C++ are two different languages, and try not to mix C-style coding in a C++ program.
If you do go to C++, I recommend the book "Accelerated C++" by Koenig & Moo. This book is geared toward the programmer who knows another language and are just beginning C++. Yes, you have 6 years of C experience -- believe it or not, you are still just a beginner in C++.
Regards,
Paul McKenzie
-
May 31st, 2004, 03:11 PM
#5
Well, I have 6 years of C experience, too, but it's nothing more than a number. I believe I know all C's syntax (or at least know where to find them ), but of course, (C) programming is not that. In C, I think knowing about computer is important. I mean knowing how it works, not only what to do. So If I were u, I'd begin with 'Computer Architecture'
Trust urself!
-
June 1st, 2004, 07:31 AM
#6
Thanks for your advise, friends.
-
June 17th, 2004, 12:30 PM
#7
By Windows you mean Microsoft, right? When I bought Microsoft Visual C++ 6.0, it comes with a book that get's you started. It teaches you how to use the Wizard to create applications. That's the first step. Be able to use MVC++ to create "something" (usually a "hello world" application where a window comes up with "hello world" written on it). Once you can do that, pick another "something" (make it basic - ex. make an app that does something when you reisze the window). Once you figure that out, pick another "something" that's basic (add a bitmap to a window). Use the VC++ help and search for "bitmap", come here or try MSDN and search for "adding a bitmap to a dialog", etc. After a few minutes, you'll find the snippet of code you need. Start building up from there. Now you might try moving the bitmap around the screen when you press the arrow keys. This will get you to understand using MFC and how Windows uses "messages" and "message handlers" to do just about everything. When you get stuck, come to the forum, do a search, and if you can't find the answer, ask the question to get you by. Then just keep building up from there. Once you start learning the MFC classes, it snowballs.
Last edited by Yasoo; June 17th, 2004 at 12:35 PM.
-
June 17th, 2004, 06:29 PM
#8
Thanks, Yasoo. That sounds like a plan to go by.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|