CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 8 of 8
  1. #1
    Join Date
    May 2004
    Posts
    43

    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.

  2. #2
    Join Date
    Dec 2003
    Location
    Republic of Ireland
    Posts
    383
    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.

  3. #3
    Join Date
    Mar 2004
    Location
    Israel
    Posts
    638
    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.
    **** **** **** **** **/**

  4. #4
    Join Date
    Apr 1999
    Posts
    27,449
    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

  5. #5
    Join Date
    Jan 2004
    Posts
    56
    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!

  6. #6
    Join Date
    May 2004
    Posts
    43
    Thanks for your advise, friends.

  7. #7
    Join Date
    Jun 2004
    Posts
    106
    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.

  8. #8
    Join Date
    May 2004
    Posts
    43
    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
  •  





Click Here to Expand Forum to Full Width

Featured