Thread: Which is best to start?

  1. #1
    Registered User
    Join Date
    Mar 2006
    Posts
    3

    Which is best to start?

    Hey,
    I know a lot of people probably ask this, but after searching I couldn't see any definite thread.
    So my question is, which is best to start C++ or visual. I think I read somewhere that it was best to get used to C++ before moving on but is this really neccessary, if my aim is to move on would it not be easier to learn visual from the off?

    Having been looking at various books etc I had decided to go with "Primer Plus" if C++ is the best route, but I can't say I have found a similarly reputed title in Visual, would "Visual C# 2005 Step by Step" be a deacent purchase?

    Cheers for any input.

  2. #2
    Registered User
    Join Date
    Jan 2005
    Posts
    7,366
    The reason people suggest standard C++ first is because having a solid foundation in the language makes it much easier to find solutions to more advanced problems like GUIs.

    When you say visual, I'm assuming you mean windows programming with Visual C++. However, that might not be the best thing to shoot for. Many windows applications are written in C# or VB.Net. You mention the book Visual C# 2005 Step by Step, do you know that C# is a completely different language than C++? Pick the language you want to learn before you pick the book.

    If you want to create windows GUI applications, I would say that C# might be your best choice. If you want to learn C++, learn standard C++, not "Visual C++".

    Also note that I'm not sure C++ Primer Plus has that good of a reputation, at least not around here. Accelerated C++ and C++ Primer are probably more recommended (they certainly are from me) and You Can Do It! might be a good choice if you are a complete beginner to programming.

  3. #3
    Registered User
    Join Date
    Oct 2001
    Posts
    2,129
    Visual Studio is a line of Microsoft development tools. Visual C++ and Visual C# are two parts of that, usually sold separately. Visual C++ can compile C and C++ code. C and C++ are programming languages standardized by several sources, including ISO. C# is a separate language from C or C++.

  4. #4
    Hardware Engineer
    Join Date
    Sep 2001
    Posts
    1,398
    There are no graphics in ANSI/ISO standard C++. A "pure" C++ program can be compiled to run on any machine that has a keyboard, a monochrome text-only display, and a disk.

    However, there are libraries (libraries of functions) that allow you to write full GUI C/C++ programs. Some of these libraries are platform-specific, and some are cross-platform.

    If you want to program in C++, its best to learn standard C++ first. There is a lot to learn, and trying to learn GUI programming at the same time makes it tougher. Plus, it's a good idea to know what's "standard" and what's non-standard. If you want to "learn programming", it's best to start with regular test-based C++.

    If you want to start writing GUI programs from the beginning, one of the GUI oriented languages (JAVA, Visual Basic, C#) will get you there sooner.

    So, if you want to make "cool looking" programs right away, choose one of the visual languages. If you want to learn programing, and how programming works "under the hood", choose C++.

    The Forgers' Tutorial is a good tutorial that uses the Microsoft Win32 API library (Application Programming Interface). The tutorial shows you how to create a nice user interface, but you will need to learn (standard) C++ if you want your program to do anything useful.

  5. #5
    Registered User
    Join Date
    Jul 2006
    Posts
    162
    as long as developing for Windows isn't a problem...
    go with C#. It's a great language to use, it definitely makes life easy

    you could use DirectX and build games with it and such but it really is not ideal. It is an entirely OOP designed language/environment. (I'll never drop c++ though... :-) go get the express editions of visual studio, learn programming concepts in c#. You'll be fine with a high level approach, a lot of people do that. Then they dig in to the details as they need to. It's ok to do that.

    or you could go the java route... they're very similiar languages.

    something about java didn't quite stick with me though, i didn't use it for long. it wasn't hard to learn at least, considering how close to c# it is syntactically speaking.
    Last edited by simpleid; 08-21-2007 at 06:18 PM.

  6. #6
    NotSoAvgProgrammer
    Join Date
    Jul 2007
    Location
    Virginia, U.S.
    Posts
    57
    Well dang, I thought I was learning the "mack daddy" of gui languages, c++, but now I read this thread and it seems that you guys are suggesting visual c to be better for making gui's. What is c++ good for, apposed to the others?

    //////// Just a note, I do want to program for unix operating systems as well.

  7. #7
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    you could use DirectX and build games with it and such but it really is not ideal. It is an entirely OOP designed language/environment.
    What? DirectX is not C or C++. It is Microsoft COM which is object oriented but with a nasty Microsoft twist. And DirectX is not a language it is an API.

    You can use Visual C++ to create simple GUI applications via MFC or Microsoft Foundation Classes. But you can also use .NET with C++, however, I highly recommend you learn real C++ before you go digging into what Microsoft thinks C++ ought to be. .NET goes a bit far and actually redefines parts of the C++ language just so it works on Windows which is causing quite a stir and is now the source of endless debates.

    Since this is a C++ board I recommend using MFC under Visual Studio. As long as you have at least the standard version you can use MFC. If not you will have to use the Windows API and/or make your own framework which is not impossible but not for the faint of heart either. MFC is a bit dated and some say it is useless but it's not. MFC when used properly can shave days even months off of complex GUI projects. It is actually quite simple. Microsoft doesn't promote it anymore because they want to shove .NET down your throat. If you want 'Windows with classes' while staying inside the C++ paradigm, MFC is the way to go.
    Last edited by VirtualAce; 08-21-2007 at 11:09 PM.

  8. #8
    Registered User
    Join Date
    Mar 2006
    Posts
    3
    Wow, thanks for the help guys.

    Ok, well you have helped narrow me down to two routes which most take my interest.

    The C++ or C#.

    From the responses many of you reccomend doing C++ first and then later 'uprgrading' to C#.
    But would it be alright to take C# first as they are apparently similar languages? I understand this is probably not the ideal way to fully understand or approach programming of these languages, but is it approachable enough for a beginner without having done C++? It is not that I feel this is the easy way out as in the long term if I progress then I will need to fully understand it all but at the moment I feel during the learning process C# might keep my interest/determination etc longer.

    Thank you Daved for your book reccomendations, I didn't mean to sound so definite when I mentioned the Primer Plus book reputation, it was just one that I had seen eslewhere I am sure the ones you sggested are much more beneficial.

    I will go and check out the books thread to find some for both of these topics, but in the meantime is anyone off the top of their head able to reccomend and in the C# genre?
    Last edited by Shingo; 08-22-2007 at 04:13 AM.

  9. #9
    Registered User
    Join Date
    Jan 2005
    Posts
    7,366
    If you want to learn C++ and C#, I would do C# first, then C++.

    However, when you learn C++, I would say that you would get the most out of it by not concentrating on the GUI part at all.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Data Structure Eror
    By prominababy in forum C Programming
    Replies: 3
    Last Post: 01-06-2009, 09:35 AM
  2. Adventures in labyrinth generation.
    By guesst in forum Game Programming
    Replies: 8
    Last Post: 10-12-2008, 01:30 PM
  3. C++ gui for windows where to start
    By prixone in forum Windows Programming
    Replies: 2
    Last Post: 12-16-2006, 11:48 PM
  4. GNOME Desktop won't start (Mandriva)
    By psychopath in forum Tech Board
    Replies: 10
    Last Post: 07-19-2006, 01:21 PM
  5. Start bar color in WinXP
    By confuted in forum Tech Board
    Replies: 4
    Last Post: 05-03-2003, 06:18 AM