C++ Advise

Discussion in 'C++' started by Allonii, Nov 18, 2008.

  1. Allonii

    Allonii Guest

    Hello!

    I’m new to this forum and in need of some advice.

    I have learned the basics of java in the school as I’m studying
    computer science. I would rather learn C++ though.
    You can create windows applications, games, Linux applications, its
    faster, more power etc.
    And you get a nice .exe file when you compile in windows. (Which java
    lacks)

    I have already started to read an C++ book and I’m half way through,
    but when it comes to GUI applications I have some
    questions I would like to clear out.

    As I understand it C++ doesn’t provide a GUI library. But then we have
    Windows API and Visualc++. So my questions are.


    Windows API and VisualC++ they don't seem to be using the same
    library? Windows API is it too old to be using today?
    I know that in VisualC++ you can just copy and paste in the design
    mode to get a button but in WinAPI its lines of code.

    And another problem is that many C++ books don't even mention the GUI.
    Don't even know if there are books about it.
    Are there more libraries that one should be aware of?


    In other hand C++ is an "old" language compared to java, C#, VB but
    it’s still is the most powerful one (my opinion).


    Thanks in advance
     
    Allonii, Nov 18, 2008
    #1
    1. Advertising

  2. Allonii

    maverik Guest

    On Nov 18, 2:53 pm, Allonii <> wrote:
    > Hello!
    >
    > I’m new to this forum and in need of some advice.
    >
    > I have learned the basics of java in the school as I’m studying
    > computer science. I would rather learn C++ though.
    > You can create windows applications, games, Linux applications, its
    > faster, more power etc.
    > And you get a nice .exe file when you compile in windows. (Which java
    > lacks)
    >
    > I have already started to read an C++ book and I’m half way through,
    > but when it comes to GUI applications I have some
    > questions I would like to clear out.
    >
    > As I understand it C++ doesn’t provide a GUI library.


    Yes, the language doesn’t provide a GUI library.

    > But then we have
    > Windows API and Visualc++. So my questions are.


    Please go to the comp.os.ms-windows.programmer.win32 or like this.

    > Windows API and VisualC++ they don't seem to be using the same
    > library? Windows API is it too old to be using today?


    False. It depends on your task.

    > I know that in VisualC++ you can just copy and paste in the design
    > mode to get a button but in WinAPI its lines of code.
    >
    > And another problem is that many C++ books don't even mention the GUI.


    Probably you need book about GUI programming (as I understand, for
    Windows) not book about C++.

    > In other hand C++ is an "old" language compared to java, C#, VB but
    > it’s still is the most powerful one (my opinion).


    Hmmm. What's mean powerful? Again, it depends on your needs. Sometime
    it is powerfull. Sometimes not.
     
    maverik, Nov 18, 2008
    #2
    1. Advertising

  3. Allonii

    Allonii Guest

    > False. It depends on your task.

    Well my goal is atm to create simple windows application.

    > Probably you need book about GUI programming (as I understand, for
    > Windows) not book about C++.


    But then a programming language is needed.
    Do you recommend any GUI programming books for windows?

    > Hmmm. What's mean powerful? Again, it depends on your needs. Sometime
    > it is powerfull. Sometimes not.


    my needs atm are for now win applications. The good part about C++ is
    that you
    can use it to alot of things. For example

    >windows applications, games, Linux applications, its
    >faster, more power etc.
     
    Allonii, Nov 18, 2008
    #3
  4. Allonii

    osmium Guest

    "Allonii" wrote:

    >> Probably you need book about GUI programming (as I understand, for
    >> Windows) not book about C++.

    >
    > But then a programming language is needed.
    > Do you recommend any GUI programming books for windows?


    The bible for GUI on Windows is _Programming Windows_ by Charles Petzold, it
    is very well written. There are several editions of this book which kind of
    track the evolution of Windows. I have heard, but not verified, that some
    of the most recent editions might not be what you want. Microsoft has tried
    several things to make GUI "more manageable" , for lack of a better term.
    The drag and drop you mention is part of this. The Petzold series, at least
    until recently, has been for hard core programmers. Microsoft keeps
    floundering around searching for a silver bullet, the latest experiment is
    called .NET.
     
    osmium, Nov 18, 2008
    #4
  5. Allonii

    Allonii Guest

    > The bible for GUI on Windows is _Programming Windows_ by Charles Petzold, it
    > is very well written.  There are several editions of this book which kind of
    > track the evolution of Windows.  I have heard, but not verified, that some
    > of the most recent editions might not be what you want.  Microsoft has tried
    > several things to make GUI "more manageable" , for lack of a better term.
    > The drag and drop you mention is part of this.  The Petzold series, at least
    > until recently, has been for hard core programmers.


    Thanks
    But is the book up to date? its from 1998..

    So in this case the Windows API is too advanced and the VisualC++
    would be the "easy part".
    But then do it use the same library? Because when you open an win API
    code its not so easy to understand.


    > Microsoft keeps floundering around searching for a silver bullet, the latest experiment is
    > called .NET.


    I understand. But in other hand the API is old?
     
    Allonii, Nov 18, 2008
    #5
  6. Allonii

    Tim Slattery Guest

    Allonii <> wrote:


    >Windows API and VisualC++ they don't seem to be using the same
    >library? Windows API is it too old to be using today?
    >I know that in VisualC++ you can just copy and paste in the design
    >mode to get a button but in WinAPI its lines of code.


    Visual C++ is Microsoft's implementation of the C++ language. The
    Windows API comprises the functions built in to Windows that you
    *must* use to write a Windows application. You're probably seeing code
    written using MFC (Microsoft Foundation Classes), a set of classes
    that comes with VC++ that wrap many of the API functions and make
    writing Windows applications easier.

    The proper place to ask questions about writing Windows apps is the
    microsoft.public.vc.* hierarchy.

    --
    Tim Slattery

    http://members.cox.net/slatteryt
     
    Tim Slattery, Nov 18, 2008
    #6
  7. Allonii

    osmium Guest

    "Allonii" wrote:

    >I understand. But in other hand the API is old?


    The API evolves, yes its origins are old, 1987 or so.You seem to be hung up
    on the age of things and equate newness with goodness. IMO there is often a
    negative correlation. I suggest you transfer your questions to some of the
    other newsgroups proposed. And drop the flame inducing talk of other
    languages, such talk can only lead to tangents. And God knows, tangents are
    the fresh meat of Usenet - they waste thousands of man hours per day. And,
    yes, woman hours as well.
     
    osmium, Nov 18, 2008
    #7
  8. Hello,

    Allonii wrote:
    > As I understand it C++ doesn’t provide a GUI library. But then we have
    > Windows API and Visualc++. So my questions are.


    If you do not have a special reason to go for the Windows API, I'd
    suggest that you learn some ClassLibrary, which is easier to use.
    For example Qt ( http://trolltech.com/products/appdev ) or Gtk.
    I am using Qt since years, sometimes developing under Windows,
    sometimes under Linux, sometimes for the Mac.
    I do not care. Qt does it all.
    Example:
    int main(int nArgCount, char** ppSzArgs)
    {
    QApplication app(nArgCount, ppszArgs);
    QPushButton button("Press me");
    connect(&button, SIGNAL(clicked() ),
    &app, SLOT(quit() ) );
    return app.exec();
    }

    This would create a button, complete with event loop, text, clickable.
    And if you click it, it will send a message to the application
    which will end the queue...
    Same Sourcecode for all platforms.

    Building ?
    - qmake
    - make
    done.

    Just a suggestion.
    Andreas
     
    Andreas Duffner, Nov 18, 2008
    #8
  9. Allonii

    Boris Guest

    On Tue, 18 Nov 2008 12:53:48 +0100, Allonii <> wrote:

    > [...]Windows API and VisualC++ they don't seem to be using the same
    > library? Windows API is it too old to be using today?
    > I know that in VisualC++ you can just copy and paste in the design
    > mode to get a button but in WinAPI its lines of code.
    >
    > And another problem is that many C++ books don't even mention the GUI.
    > Don't even know if there are books about it.
    > Are there more libraries that one should be aware of?


    Another idea is to separate components and use the most suitable language
    to implement them. If you need speed for example you could create a native
    Windows DLL in C++. If you need a GUI you could use the .NET platform and
    create a .NET executable (for example with C++/CLI if you prefer to use
    something similar to C++) which can access the native Windows DLL. That
    way you are not stuck in a certain language but can choose whatever is
    best.

    Boris
     
    Boris, Nov 18, 2008
    #9
  10. Allonii

    Tim Slattery Guest

    Pete Becker <> wrote:

    >Only if "WIndows application" means windowing application, as distinct
    >from "applicatton that runs on Windows". You don't need any of the
    >Windows API to write a standard-conforming C++ application (i.e an
    >application that runs from the command line).


    Agreed, you can write a command-line app for windows using only
    standard C++, no Windows API call involved. You do have to use the API
    for a GUI application.

    --
    Tim Slattery

    http://members.cox.net/slatteryt
     
    Tim Slattery, Nov 18, 2008
    #10
  11. On 2008-11-18 12:53, Allonii wrote:
    > Hello!
    >
    > I’m new to this forum and in need of some advice.
    >
    > I have learned the basics of java in the school as I’m studying
    > computer science. I would rather learn C++ though.
    > You can create windows applications, games, Linux applications, its
    > faster, more power etc.
    > And you get a nice .exe file when you compile in windows. (Which java
    > lacks)


    You can compile Java code to native binaries too, it's just not how it's
    usually done.

    > As I understand it C++ doesn’t provide a GUI library. But then we have
    > Windows API and Visualc++. So my questions are.


    Not in the C++ standard, no. But there are many GUI libraries available
    for C++ programmers, some are platform-specific and others works on many
    platforms (such as Qt, wxWidgets, Gtk, etc.).

    > Windows API and VisualC++ they don't seem to be using the same
    > library? Windows API is it too old to be using today?


    When you create GUI applications in VC++ it is usually a MFC
    applications or a .Net application. MFC is a layer on top of the WinAPI
    which should make it easier to write GUI applications, and .Net
    applications are managed and not written in C++. Of course, if you want
    you can also use the WinAPI directly.

    The latest version of MFC was released with VS2008 and the WinAPI is
    constantly updated with each version/service pack of Windows, so while
    both have been around for a number of years none of them are by any
    means obsolete.

    > And another problem is that many C++ books don't even mention the GUI.


    That might be because C++ is complex enough to fill a whole book without
    even getting close to GUI programming. And also, GUI programming is
    complex enough that you should read a book dedicated to the subject.

    > Don't even know if there are books about it.


    There are lots, but you need to decide what GUI library/API you want to use.

    > Are there more libraries that one should be aware of?


    As mentioned earlier there are more libraries that provides GUI
    capabilities and many have the benefit of working on multiple platforms
    so it might be worth taking a look at them also before deciding which to
    learn.

    --
    Erik Wikström
     
    Erik Wikström, Nov 18, 2008
    #11
  12. Allonii

    Allonii Guest

    Thanks for all the replays

    > Not in the C++ standard, no. But there are many GUI libraries available
    > for C++ programmers, some are platform-specific and others works on many
    > platforms (such as Qt, wxWidgets, Gtk, etc.).


    So I know none of them, which one would be more easy to learn? And
    that not have played alot with ISO C++. If you recommend one could you
    also please give me a good ebookk to read?
    What about C++/CLI the VSC++ is using?

    Thanks
     
    Allonii, Nov 19, 2008
    #12
  13. Allonii

    red floyd Guest

    Allonii wrote:
    > Thanks for all the replays
    >
    >> Not in the C++ standard, no. But there are many GUI libraries available
    >> for C++ programmers, some are platform-specific and others works on many
    >> platforms (such as Qt, wxWidgets, Gtk, etc.).

    >
    > So I know none of them, which one would be more easy to learn? And
    > that not have played alot with ISO C++. If you recommend one could you
    > also please give me a good ebookk to read?
    > What about C++/CLI the VSC++ is using?
    >


    C++/CLI is *NOT* C++.
     
    red floyd, Nov 19, 2008
    #13
  14. Allonii

    Guest

    On 19 Nov., 09:50, Allonii <> wrote:
    > Thanks for all the replays
    >
    > > Not in the C++ standard, no. But there are many GUI libraries available
    > > for C++ programmers, some are platform-specific and others works on many
    > > platforms (such as Qt, wxWidgets, Gtk, etc.).

    >
    > So I know none of them, which one would be more easy to learn? And
    > that not have played alot with ISO C++. If you recommend one could you
    > also please give me a good ebookk to read?
    > What about C++/CLI the VSC++ is using?
    >
    > Thanks


    I can recommend Qt, because it is quite easy to use, and the (free
    online) Documentation is great. wxWindows seems to be quite popular,
    too, but I lack first hand experience. Gtk is a C lib but a full-
    featured(?) C++ wrapper exists (gtkmm).

    To find out which Library suits you, I would suggest that you read the
    Tutorials or "Getting Started" Sections of the respective Libraries
    Websites. (For qt this would be http://doc.trolltech.com/4.4/tutorials.html)
     
    , Nov 19, 2008
    #14
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Patrick imbault

    advise on alachisoft

    Patrick imbault, Nov 15, 2004, in forum: ASP .Net
    Replies:
    0
    Views:
    399
    Patrick imbault
    Nov 15, 2004
  2. Mako
    Replies:
    2
    Views:
    360
  3. Jerry
    Replies:
    1
    Views:
    327
    Rajeev Soni
    Aug 4, 2003
  4. Jay
    Replies:
    1
    Views:
    298
    Alvin Bruney [MVP]
    Mar 2, 2004
  5. walterd

    Navigation - Please Advise

    walterd, Apr 14, 2004, in forum: ASP .Net
    Replies:
    0
    Views:
    274
    walterd
    Apr 14, 2004
Loading...

Share This Page