How hard is C++ programming?

I want to master programming in C and Python in one year. How much hard work and how many books must I do and read?

  • I'm interested to master Python and C programming in one year, and I'm a beginner and starting now. Please suggest me some self-learning tips.

  • Answer:

    I will be straightforward with you. I will be coming from the perspective of learning deep C and Python, so I am assuming that it will be difficult, since you want "mastery." First of all, remove your mindset of "mastering" languages in one year. All the more if two languages. I do not know if you are a prodigy or not, but if you're thinking that you can "master" C and Python in one year, think again. The C Language is not something to be taken lightly. Python will give you enough trouble if you are a beginner or someone without any programming background, which appears to be the case based on your question description. If you are in a rush, stop rushing, step back, and reflect on what you want to happen, then move from there. Second, programming languages are constantly evolving/changing. With C, you might be able to cover the scope you have set, which is "mastery." When it comes to Python, it's still an "active" language. One year will not be enough for two "hardcore" languages. One year will not be enough to "master" C, because programing, in general, is experience based. Yes, you might be able to know everything about the language, but the implementation, algorithms, its esoteric things will be the "gatekeepers" of the real programming experience and knowledge. Focus on one language at a time. Lastly, no matter how much hard work you put in and how many books you read, your programming efficiency will always depend on your work ethics and experience. Rather than saying 'mastery,' focus on the word 'proficiency.' This is all I can say to you. PS: I've also taken the liberty of editing your question and its description for clarity. Please remember to proofread your sentences and questions before posting.

Glenn Harvey Liwanag at Quora Visit the source

Was this solution helpful to you?

Other answers

#Update:1 Check this http://c.learncodethehardway.org/book/,a  very funky looking website. It's not like other regular C books but a  different one. It's not for professionals but for starters. Book  explains memory management tools right from the begining. The author  posts his demos. Suggested OS: Ubuntu / any Linux. Prerequisites: You  should know basic programming .Author has other two books whch gives  you basic skills . If you are eager you may complete it in 1 month. 1. http://learnpythonthehardway.org/book/ or 2. http://learnrubythehardway.org/book/ I don't know what's your background,but i should agree with 's Answer. I get the intent of your question,don't be disheartened or discouraged. If you want to be a geek among your friends or develop some cool apps and you've never done any programming before, i would suggest you start with Python. VIDEO COURSES:http://www.udacity.com offers some really good online courses in Python.[Search Engine,Google app Engine...] http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-introduction-to-computer-science-and-programming-spring-2011/ I'm not a big fan of https://www.coursera.org/ but there are some basic courses. If you're worried about bandwidth of your Internet :( BOOKS:There are some really good books for Python. 1.http://learnpythonthehardway.org/ 2.Thinking in Python 3.The Standard Library by Example PROBLEM SOLVING:These three books give you a basic idea like syntax,data types,etc..you'll be able to understand and write the code[atleast small programs]. You need to improve your coding by solving some programming questions .There are some really good sites where you can solve.This is the application part(what you've learned you need to apply.) 1.http://code.google.com/codejam/ 2.http://www.codechef.com/ 3.http://uva.onlinejudge.org/ 4.https://www.hackerrank.com(This is my favourite one) I don't know your pace and interest,do this and you're done with basics. You'll get many doubts or sometimes frustrated while solving some tough Problems then do check this awesome qna site ==> http://stackoverflow.com/questions/2573135/python-progression-path-from-apprentice-to-guru (Do check this link for a similar question,it even answers what python topics you need to understand thoroughly) Next level is Understanding basic algorithms.There is only one good book(mastering-basic-algorithms-in-python) but you'll find weird if you read it first time. Rather than a book there are video courses at  http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/MIT-OCW http://it-ebooks.info/search/?q=python&type=title If you don't want to spend money. Now choose your area of Interest(Web apps,gui,network security,scientific purposes) There are frameworks for each of this and many more. Now master any of these frame works. Now start contibuting or atleast check what other people are developing 1.https://github.com/ 2.http://code.activestate.com/recipes/popular 3.http://sourceforge.net/directory/language:python/freshness:recently-updated/?q=python http://4.Code.google.com If you do all this,I think you can find a decent job. By doing all these you'll know Python but not a Master/Guru. There is complete collection of resource which i compiled in one post in http://pythonnotesbyajay.blogspot.in/2013/03/ultimate-free-python-resources.html/. I've completed the Python Part,Hope some others will provide the 'C' resources.

Ajay Kumar

Becoming a master is a high high bar. I started programming when I was 8 years old and I was writing large programs (>2000 lines) by the age of 10. I have a masters in CS and I've been doing software development work for the past 10 years. I have a rated Master rating knowledge of C++ according to Brainbench. Plus I worked on a start-up that was acquired. That said I don't yet consider myself a master. If your really want to attempt mastery in a single year, consider this program. It's a year long masters program that accepts high aptitude beginners (even without CS background) and will put you through the wringer. http://csmasters.uchicago.edu/ If you have money and can travel, consider studying with Python guru Dave Beazley: http://dabeaz.com/chicago/index.html You can also try the C++ Grandmaster certification though passing it in a year at your current level might be impossible. http://www.cppgm.org/ Of course you will have to slog through the necessary books that all competent professionals read. There are good lists elsewhere. Many of them agree on the top 5-10 books you should read for C, C++, and Python. But what you really need is a "challenge project", a project that will take you a year to do that will prove your mettle. One suggestion I have is to implement your own database server that implements a simplified version of SQL and interfaces with clients that connect to it via socket.

Nathan Doromal

"master" is a strong word, I've been coding in C for over 20 years now and still have things to learn (albeit few and far between). I thought I was a master at C 15 years ago, but learning scheme and prolog gave me new insights in to C. I'd recommend you ignore "mastery" and focus on competency. When you can look at a problem and "yeah, C feels right for that" is what pops into your head, you can stop trying to force yourself to learn the language and let further development happen naturally. But you're never done "mastering" it, there's always room to grow.

Erik Greenwald

First of all complete the basics of Python and C, also see their comparison here: http://theprogrammersworld.blogspot.com/2014/11/a-very-quick-comparison-of-popular-programming-languages.html#.VNSQFS4SG1s You should start learning from books and practice online, resources for both programming languages are, For C Books http://amzn.to/1yrSVvw A must have if you are serious in C programming – http://amzn.to/1xKyZkw http://amzn.to/1wbOCP7 http://c.learncodethehardway.org/book/ (free) Tutorials (free) http://www.learn-c.org/ Tutorials Point -http://www.tutorialspoint.com/cprogramming/ http://c-faq.com/ For Python Official site: https://www.python.org/ https://www.python.org/about/gettingstarted/ Start with a code editor like http://www.sublimetext.com/, then maybe move on to IDE like https://www.jetbrains.com/pycharm/ or http://pydev.org/ for more complex projects. Courses Udemy – http://carlcheo.com/recommend/udemy-python Treehouse – http://carlcheo.com/recommend/treehouse-python-basics Free Udacity – https://www.udacity.com/course/cs101 Codeacademy – http://www.codecademy.com/tracks/python https://developers.google.com/edu/python/ Free Interactive Tutorial http://www.learnpython.org/ Books http://amzn.to/1H7leR4 http://amzn.to/1AjWqUi http://amzn.to/1xCUMxE (http://www.greenteapress.com/thinkpython/thinkpython.html) http://learnpythonthehardway.org/ (Free) If you want to create websites using Python, try https://www.djangoproject.com/: https://www.djangoproject.com/start/ Book: http://amzn.to/1I2d6Qy (http://chimera.labs.oreilly.com/books/1234000000754/index.html)

Warren K Guerrero

IMHO, you should write code everyday in these languages. Take your time to understand programming concepts and try to check out how those same concepts are implemented using other programming languages. Sometimes it takes more than 1 programming language to understand, and maybe master a concept.

Kobe Brian

Classic advice for those who want to "master" a language quickly: http://norvig.com/21-days.html

Nicolai Czempin

to master the main concepts of programming and the what is programming language I would advice you to start with python, it is very easy to master. then you can try learning any other programming language and IMHO that won't take more than few weeks of learning if you got well with python in the first step. you can first search quora for more about getting with python.

Ahmad Abd Arrahman

When it comes to mastery, there is no shortcut for putting in the required time and effort that makes you a Master. There is a 10,000 hours / 10 year rule which most proponents and cynics have come to agree with. See Peter Norvig's advice on Learn how to program in ten years. :)

Isaac Kunga

Cool, so what i would suggest you is not to go in the both boats in one time.If you are new to programming, you would expierience a hard way to learn C language without a good teacher.Get a good teacher for yourself, who actually knows how to teach.My greatest advice would be to atleast give 1 year to learn C language fully, do different basic algorithms, participate in competitions, and master in C.Next, if you wanna switch to python , by already knowing C langauge, it will just take hardly 15 days.Cheers!pLAY

Navdeesh Ahuja

Related Q & A:

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.