C++ Advise

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Allonii

    #1

    C++ Advise

    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



  • maverik

    #2
    Re: C++ Advise

    On Nov 18, 2:53 pm, Allonii <allo...@hotmai l.comwrote:
    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.program mer.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.

    Comment

    • Tim Slattery

      #3
      Re: C++ Advise

      Allonii <allonii@hotmai l.comwrote:

      >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.publi c.vc.* hierarchy.

      --
      Tim Slattery
      Slattery_T@bls. gov

      Comment

      • Andreas Duffner

        #4
        Re: C++ Advise

        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

        Comment

        • Pete Becker

          #5
          Re: C++ Advise

          On 2008-11-18 09:18:44 -0500, Tim Slattery <Slattery_T@bls .govsaid:
          Allonii <allonii@hotmai l.comwrote:
          >
          >
          >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.
          Only if "WIndows application" means windowing application, as distinct
          from "applicatto n 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).

          --
          Pete
          Roundhouse Consulting, Ltd. (www.versatilecoding.com) Author of "The
          Standard C++ Library Extensions: a Tutorial and Reference
          (www.petebecker.com/tr1book)

          Comment

          • Boris

            #6
            Re: C++ Advise

            On Tue, 18 Nov 2008 12:53:48 +0100, Allonii <allonii@hotmai l.comwrote:
            [...]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

            Comment

            • Tim Slattery

              #7
              Re: C++ Advise

              Pete Becker <pete@versatile coding.comwrote :
              >Only if "WIndows application" means windowing application, as distinct
              >from "applicatto n 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
              Slattery_T@bls. gov

              Comment

              • =?UTF-8?B?RXJpayBXaWtzdHLDtm0=?=

                #8
                Re: C++ Advise

                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

                Comment

                • Allonii

                  #9
                  Re: C++ Advise


                  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

                  Comment

                  • red floyd

                    #10
                    Re: C++ Advise

                    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++.

                    Comment

                    • f.fracassi@gmx.net

                      #11
                      Re: C++ Advise

                      On 19 Nov., 09:50, Allonii <allo...@hotmai l.comwrote:
                      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)


                      Comment

                      Working...