dcsimg
CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Page 2 of 2 FirstFirst 12
Results 16 to 26 of 26

Thread: What should one learn in C++ to develop programs like yahoo messenger ?

  1. #16
    2kaud's Avatar
    2kaud is offline Super Moderator Power Poster
    Join Date
    Dec 2012
    Location
    England
    Posts
    6,411

    Re: What should one learn in C++ to develop programs like yahoo messenger ?

    Well ... if you really need performance, you need C++. Websites like Facebook switched parts of their codebase to C++ years ago to give them tremendous speed improvements and power consumption improvements.
    Yes - but these companies have hundreds of programmers and tens (hundreds?) of thousands of invested hours!

    Can i learn to program a small Windows GUI messenger with those books alone ?
    With help from the MS website for things like Winsock, MFC class details not in Prosise's book etc then probably. However, if you don't already know MFC then I wouldn't suggest you start learning it. IMO you'd be much better off learning a modern x-platform framework like QT.

    As I mentioned in post #5, if you want to stick to c++ there's always c++/cli which is MS's version of c++ married with the .net framework - if you want to learn c++ and .net. But note there are some differences between standard c++ and c++/cli.

    What are your future goals in terms of getting a job/new job - what would you be looking for, as that could affect choices made now.

    Also, IMO, when learning something new don't start with something complicated - start with something simple then gradually work your way up to the complicated assimilating the new knowledge as it's learnt. So IMO I would avoid trying to learn c++ at the same time as learning a framework. I would suggest learn c++ first with console programs then when you're comfortable with c++ (and in particular advanced classes and the Standard Library (STL)) then start with the chosen framework. Most framework documentation assumes you're a competent c++ programmer.

    If you already have some c++ knowledge, then I would suggest 'Professional c++' by our own great guru Mark Gregoire (see Mark G's post signature for details).

    If you want to learn a gui as well as c++ then Bjarne Stroustrup (inventor of c++) book Programming: Principles and Practice Using c++ (2nd ed covers c++14) introduces FLTX as a gui library. FLTX (http://www.fltk.org/index.php) is x-platform and is small and fast. You'd need other libraries (eg Winsock etc) to produce a web application but if don't want to go down the qt route then I would have a look at this as an alternative to MFC.
    All advice is offered in good faith only. All my code is tested (unless stated explicitly otherwise) with the latest version of Microsoft Visual Studio (using the supported features of the latest standard) and is offered as examples only - not as production quality. I cannot offer advice regarding any other c/c++ compiler/IDE or incompatibilities with VS. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/ and can be used without reference or acknowledgement. Also note that I only provide advice and guidance via the forums - and not via private messages!

    C++17 Compiler: Microsoft VS2017 (15.8.4)

  2. #17
    Join Date
    Sep 2017
    Posts
    25

    Re: What should one learn in C++ to develop programs like yahoo messenger ?

    Thanks for all the replies ,
    I found this book after researching online for sometime .

    An Introduction to Design Patterns in C++ with Qt 4

    http://ptgmedia.pearsoncmg.com/image...Ezust_book.pdf

    What do you think of this book ?
    declare integer line firstNumber, secondNumber, sumOfTwoNumbers;
    scanf("%d %d", &firstNumber, &secondNumber); // scanf() function is used to read character from keyboard
    printf("Enter two integers: "); // printf() function is used to print the “character ” onto the output screen.

  3. #18
    2kaud's Avatar
    2kaud is offline Super Moderator Power Poster
    Join Date
    Dec 2012
    Location
    England
    Posts
    6,411

    Re: What should one learn in C++ to develop programs like yahoo messenger ?

    This book was published in 2004 and hence only covers c++98. QT5 is the current version of QT. How different QT5 is from QT4 I couldn't say. Also note that for Windows systems it refers to MinGW for compiling and not MS VS. MinGW gives a 'linux' like command line and all examples assume you have this.

    Some of the info provided that is correct for c++98 is just wrong for later versions - eg function return values by copy. There is no mention of move semantics which was a big change in c++11 over c++98. Some info is correct but outdated - such as how to avoid a class being copied by making its copy constructor private. Now you would just use =delete for the constructor.

    For an introduction to c++98 and QT4 for a linux system it's OK. The problem, of course, is that the info is dated and partly incorrect for current c++.
    All advice is offered in good faith only. All my code is tested (unless stated explicitly otherwise) with the latest version of Microsoft Visual Studio (using the supported features of the latest standard) and is offered as examples only - not as production quality. I cannot offer advice regarding any other c/c++ compiler/IDE or incompatibilities with VS. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/ and can be used without reference or acknowledgement. Also note that I only provide advice and guidance via the forums - and not via private messages!

    C++17 Compiler: Microsoft VS2017 (15.8.4)

  4. #19
    Join Date
    Sep 2017
    Posts
    25

    Re: What should one learn in C++ to develop programs like yahoo messenger ?

    Thanks a lot for all the valuable information , 2kaud and everyone else who has helped in this thread .

    i am downloading this file right now , qt-opensource-windows-x86-5.11.1.exe

    I have decided to learn C++ programming with QT 5 starting from today on wards as soon as i finish this download .


    Anyway i have started reading this book

    https://culturalengineerassociation....g_cookbook.pdf

    declare integer line firstNumber, secondNumber, sumOfTwoNumbers;
    scanf("%d %d", &firstNumber, &secondNumber); // scanf() function is used to read character from keyboard
    printf("Enter two integers: "); // printf() function is used to print the “character ” onto the output screen.

  5. #20
    2kaud's Avatar
    2kaud is offline Super Moderator Power Poster
    Join Date
    Dec 2012
    Location
    England
    Posts
    6,411

    Re: What should one learn in C++ to develop programs like yahoo messenger ?

    Good luck!
    All advice is offered in good faith only. All my code is tested (unless stated explicitly otherwise) with the latest version of Microsoft Visual Studio (using the supported features of the latest standard) and is offered as examples only - not as production quality. I cannot offer advice regarding any other c/c++ compiler/IDE or incompatibilities with VS. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/ and can be used without reference or acknowledgement. Also note that I only provide advice and guidance via the forums - and not via private messages!

    C++17 Compiler: Microsoft VS2017 (15.8.4)

  6. #21
    Join Date
    Nov 2000
    Location
    Voronezh, Russia
    Posts
    6,592

    Re: What should one learn in C++ to develop programs like yahoo messenger ?

    Quote Originally Posted by mandhabudhi View Post
    I would love to see a few examples first about what can be done with C++ and web programming .
    Anything can be done if you are skilled enough in C++ and know enough about "web programming" whatever you think it is. It's just a matter of time, money and desire to get job done the way you want it.

    Can you suggest a good book about Web programming and C++ ?
    Can you explain what do you mean by Web programming? Web site programming? Web service programming? Web API programming? Plain socket programming? Or something else? Book suggestion is going to depend on the answer.
    Best regards,
    Igor

  7. #22
    Join Date
    Sep 2017
    Posts
    25

    Re: What should one learn in C++ to develop programs like yahoo messenger ?

    Thanks for the reply Igor Vartanov ,
    I had this dynamic website for a while in html javascript php mysql . I put together this website from various examples , It had a login / logout /file upload etc . The only thing it lacked was a comment section underneath the file uploads .

    I was thinking about doing the same thing with C++

    But i left that idea , because i wanted to learn more about game development and all .

    Then i thought C++ was a good language to learn about game programming .

    I am not sure about what are all the things i can do with C++ and QT 5 right now ,
    But that is where i am going to focus from now on .

    Maybe learning QT 5 is more better for the future
    declare integer line firstNumber, secondNumber, sumOfTwoNumbers;
    scanf("%d %d", &firstNumber, &secondNumber); // scanf() function is used to read character from keyboard
    printf("Enter two integers: "); // printf() function is used to print the “character ” onto the output screen.

  8. #23
    Arjay's Avatar
    Arjay is offline Moderator / MS MVP Power Poster
    Join Date
    Aug 2004
    Posts
    12,733

    Re: What should one learn in C++ to develop programs like yahoo messenger ?

    Accomplishing a task is more of the frameworks and libraries available to the language, rather than the language itself.

    Take developing a web application that uses a database to supply and write data. Short of an academic exercise, you'll need a framework that allows you to develop the site that runs on a specific hosting platform, as well as a process that allows the code to be deployed. For database connectivity, you'll need a framework that can connect to the db and read and write data.

    Therefore, the framework (and underlying language) chosen will dictate how efficiently the task can be developed, tested and deployed.

    Looking at the database part of the abive website example, the code must be able to connect to the db and extract the data. Ignoring NoSql storage, in sql the code must be able to access the tables and form the relationships between the tables. Often times an ORM is used to take the db schema and turn it into an object representation of the schema that is accessible from code. These sorts of ORMs allow data retrieval in a few lines of code, handle connection pooling and a list of other features.

    In C++, the list of db frameworks are limited and I don't know of any native c++ ORMs. In C++, you can always drop down to using ODBC, which has the benefit of being cross platform, but the disavantage is you have to manually code up everything, and spend the time to debug everything when issues occur. GC has seen many questions over the years of folks spending weeks tracking down issues with why a column of ODBC data doesn't appear correctly. With an ORM, it would be exceedingly rare to run into such basic issues that cannot be quickly solved.

    Gaming is a completely different animal from db interactions and has it's own set of concerns.

    Getting down into the weeds more than I intended, but the point is picking the right framework is important to get something done in a reasonable time frame.

    Other than for acedemic ventures, it seems like the industry is well past hand coding of such functionality and a developer must now know of the existence of available frameworks and how to use them.

  9. #24
    Join Date
    Sep 2017
    Posts
    25

    Re: What should one learn in C++ to develop programs like yahoo messenger ?

    Thanks for the reply Arjay ,

    I have some noob questions regarding frameworks and libraries .

    What exactly are these frameworks and libraries , Who makes them ?

    Is QT 5 used for game developments ?

    What other frameworks are used for game development in C++ ??
    declare integer line firstNumber, secondNumber, sumOfTwoNumbers;
    scanf("%d %d", &firstNumber, &secondNumber); // scanf() function is used to read character from keyboard
    printf("Enter two integers: "); // printf() function is used to print the “character ” onto the output screen.

  10. #25
    Join Date
    Feb 2017
    Posts
    343

    Re: What should one learn in C++ to develop programs like yahoo messenger ?

    Quote Originally Posted by mandhabudhi View Post
    Is QT 5 used for game developments ?

    What other frameworks are used for game development in C++ ??
    Qt is a general applications framework. The ambition I think is to provide the same functionality for C++ that Java and .NET offer in their quite extensive standard libraries.

    Frameworks for game developments are usually referred to as "game engines". Here's a list,

    https://instabug.com/blog/game-engines/
    Last edited by wolle; September 2nd, 2018 at 05:14 AM.

  11. #26
    Join Date
    Sep 2017
    Posts
    25

    Re: What should one learn in C++ to develop programs like yahoo messenger ?

    wolle

    I never knew all that until now ,

    Thanks
    declare integer line firstNumber, secondNumber, sumOfTwoNumbers;
    scanf("%d %d", &firstNumber, &secondNumber); // scanf() function is used to read character from keyboard
    printf("Enter two integers: "); // printf() function is used to print the “character ” onto the output screen.

Page 2 of 2 FirstFirst 12

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Windows Mobile Development Center


Click Here to Expand Forum to Full Width




On-Demand Webinars (sponsored)