Thread: About Learning C++ Programming For Software Development

  1. #1
    Registered User
    Join Date
    May 2012
    Posts
    1

    Question About Learning C++ Programming For Software Development

    Hey Brothers I'm Trying To Learning C++ Programming. I'm In First Level. I Read C Programming Language Books And I Know How To Write A Primary Programme.My Question Is

    1 To Learn C++ Should I've To Learn C Programme First
    2 What Is The Easiest Way To Learn Programming Quickly?(I Want To Mention That I've A Good Skill To Understand Logic Quickly).
    3 How To Design A Programming Structure Step By Step.
    4 How To Make A Software By Programme As Like A Antivirus, Digital Clock, A Software Which Is Use In A Shop For Maintain All The Financial Or Productivity Sector E G: Memo, Price Of Product, Calculating Stock...

    Please Help Me To Learn C++..

    I Look Forward To Hearing You..

  2. #2
    Registered User
    Join Date
    May 2010
    Posts
    4,633
    To Learn C++ Should I've To Learn C Programme First
    No, if you want to learn C++ study C++, though similar these are two separate languages that use different methods.
    What Is The Easiest Way To Learn Programming Quickly?
    In my opinion, write programs, write programs, write programs, read programming books, write programs, write programs, read another book, etc.
    How To Design A Programming Structure Step By Step.
    Before you can design a program you need to thoroughly understand the problem. Every problem will have many possible different solutions, but until you understand the problem you will be unable to write any program in any language.
    How To Make A Software By Programme As Like A Antivirus, Digital Clock, A Software Which Is Use In A Shop For Maintain All The Financial Or Productivity Sector E G: Memo, Price Of Product, Calculating Stock...
    Read the above.

    Jim

  3. #3
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,660
    How about starting with learning that English doesn't capitalise every single word in a sentence.

    Now read this, and adjust your expectations -> Teach Yourself Programming in Ten Years
    You can't learn C++ "matrix style" by just plugging in and then saying "I know kung fu".
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  4. #4
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    Quote Originally Posted by Salem View Post
    You can't learn C++ "matrix style" by just plugging in and then saying "I know kung fu".
    You can't even learn kung fu that way.

    For most martial arts, the minimum time to achieve a basic mastery varies between three and five years. In those martial arts with a rank structure (eg belts) that basic level of mastery is typically indicated by something a "dan rank" - reaching the first degree black belt. And then the process of achieving true mastery starts, and continues for a lifetime. The only ways to marginally shorten that timeline are by significant intrinsic talent (the "natural"), significant dedication (eg many hours training and teaching), or previous relevant experience (existing proficiency in a technically similar martial art). There are, however, many many ways to make the learning experience take longer (lack of dedication, picking poor instructors, focusing on only one technique at the expense of others, giving up too early, ....).

    Although a lot of the best students take their time learning: they do not focus on achieving black belt in three years. They focus on developing skills and technique, might take five to eight years, and become the truly formidable martial artists.

    The same goes for computer programming. I know very few people with less than five years of experience who have really useful real-world software development skills. But, just as in martial arts, there are always people who believe their is some magical shortcut to gaining skills and too many books, schools, disreputable teachers, who cater to them.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  5. #5
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    And to answer the first question in the original post: it is not necessary to learn C in order to learn C++. It is possible to move from C to C++ but the result (for the first year or three) is usually a programmer who writes in an "extended C" rather than in C++. The process of moving from C to C++, or vice versa, involves a significant component of "unlearning" (moving away from good C techniques that are bad C++ techniques). That is why quite a few experts in C++ encourage learning it directly (i.e. if you already know C, that's fine, but if your goal is to learn C++, then you don't need to learn C first).

    As to the other questions, the answers depend on the person. Everyone has different learning and working styles. There is no simple "cook book" approach that works for everyone.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  6. #6
    Algorithm Dissector iMalc's Avatar
    Join Date
    Dec 2005
    Location
    New Zealand
    Posts
    6,318
    Quote Originally Posted by grumpy View Post
    You can't even learn kung fu that way.
    I believe it was a reference from the "Chuck" TV series.

    Does it have to be cheap too, or just the easiest? Afterall, I could offer to fly over there and teach you*, for say 1 million USD.
    *programming mastery not guaranteed
    My homepage
    Advice: Take only as directed - If symptoms persist, please see your debugger

    Linus Torvalds: "But it clearly is the only right way. The fact that everybody else does it some other way only means that they are wrong"

  7. #7
    Registered User
    Join Date
    May 2012
    Posts
    4
    I would suggest you first learn *general* details on computer organization and specifically memory-organization and architecture. If you jump directly into a programming language, soon you'll become a wondering programmer (note that I don't think of this as a negative if some programmers have no idea how a CPU or how memory works). However, these areas help in understanding key concepts and also helps you when thinking of how to code a particular problem (as there are many ways, some more efficient and elegant than others). My suggestion assumes you want to learn *programming* not just a programming language.

  8. #8
    [](){}(); manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    *nullptr
    Posts
    2,657
    Quote Originally Posted by c_dever View Post
    My suggestion assumes you want to learn *programming* not just a programming language.
    Why do you suggest learning *programming* at the same time with Computer Architecture, unless learning assembly language?

    Learning the general details is okay, I guess... but in my experience, it becomes common sense material once you learn a little bit of programming the other way round.
    Last edited by manasij7479; 05-05-2012 at 06:35 PM.

  9. #9
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    I would suggest you first learn *general* details on computer organization and specifically memory-organization and architecture.
    It is generally accepted that knowing details like cache size, bus width, and other architecture characteristics make programmers worse at developing "environment oblivious" algorithms because they try to fit the task to their understanding of the environment instead of a natural expression of the task at hand.

    You may have been an unusual case, but a person as new as the original poster would usually not benefit from knowing those sorts of things because they will not be meaningful until he obtains an understanding where working at that such a low level is natural.

    Soma

  10. #10
    Registered User
    Join Date
    May 2012
    Posts
    4
    Somehow I had the feeling my suggestion would be misinterpreted. I was merely suggesting that noors provide himself with some good basic knowledge/background. I did not indicate he should go and study Intel, ARM or any specific CPU or hardware implementation. We all want to be good "programmers" and by that definition, good "software engineers". If the goal is to get there, it makes sense to arm yourself with subjects that will help during the endeavor.
    Last edited by c_dever; 05-05-2012 at 09:39 PM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Software Development. Other costs.
    By Mario F. in forum General Discussions
    Replies: 5
    Last Post: 10-24-2009, 11:34 PM
  2. Embedded Software development
    By sumit_gautam in forum C Programming
    Replies: 0
    Last Post: 02-16-2005, 04:58 AM
  3. software development approach...
    By dkt in forum A Brief History of Cprogramming.com
    Replies: 6
    Last Post: 10-16-2001, 09:15 PM