What is the best way to learn programming??? | Sololearn: Learn to code for FREE!


What is the best way to learn programming???

It is been 6 month that I started programming but I still face some problems how i can code effectively and not to forget the syntax of the language. I still can not make my own program without logical errors Question for the programmers: Did you feel in the beginning that coding is not your field because you are not capable of doing good programs. What advise you can give me to encourage beginners to complete the path.

8/3/2020 10:59:46 PM

Amal Gil

50 Answers

New Answer


[Part 1 of 5] Your main problem is that you are not focused! This can be seen from two points : 1. Your question title is "What is the best way to learn programming" and your question body is "Did you feel in the beginning that coding is not your field" and "What advise you can give me to encourage beginners". The two questions in body is totally irrelevant to the original question that you want to ask. 2. Your profile shows that you have "completed" irrelevant courses: HTML and CSS are for web design, but you don't have JavaScript to close the loop; SQL is database and PHP is server side, these two need practice on a computer with special setup; C is ok but SoloLearn code playground is console-based only. You learned five programming language which doesn't form a coherent set of knowledge base. For your main problem, I have answered a SoloLearner two years ago, here is the thread for your reference : https://www.sololearn.com/Discuss/1566003/?ref=app Stay focused!


Maybe you are trying to learn too fast. I would start over at the beginning of the lessons and work your way through them slowly. Take your time. Practice writing your own codes for every new concept. If anything doesn't make sense, see if you can find help in the lesson comments. Use Google a lot. It helps to see each new concept from several different viewpoints, so I suggest looking them up in a few tutorials, for example, for Python, https://www.programiz.com/python-programming https://www.learnpython.org https://docs.python.org/3.8/tutorial/ It's a slower process but it's worth it because the knowledge you get will stick. If you're still stuck, ask for help. The folks here love to help 😊 Good luck!


To be completly honest, I think the most essential skill for a programmer is learning how to search on google and how to solve problems without asking too many questions. You are asking too many questions which probably means you don't search much. And believe me, we all search for even sillier questions, but the difference is we spend time looking for the answer instead of just waiting for someone to answer. I'm not saying you should stop asking questions, but im my opinion the problem may come from the lack of searching. Hope this helps.


[Part 4 of 5] If, you didn't choose the web path, then you can only practice the basic programming logic on SoloLearn. Here are people's opinion on how to use SoloLearn: https://www.sololearn.com/discuss/1589935/?ref=app After learning the basics, you shouldn't practice on SoloLearn code playground, because it allows input once only, and is not interactive. Interactive program means input-output cycle. You should install the respective IDE on a computer, to be able to practice with interactive program. You should learn the chosen programming language with objectives too. I suggest you proceed with the following : 1. Build a desktop To-do List application with a Graphical Interface. 2. Upgrade your To-do List app with a database, so that it can store the list items. 3. Convert your To-do List app into a RESTful API web app. 4. Implement Authentication feature to your web app. These can help you to be ready to solve real world problems. In other words, prepare yourself for a developer job.


It is not a waste of time to search on google, it is the most effective way to solve problems. It may be hard at first, but the more you do it the better you become at it. Even if you don't find the exact result you need, you can find many similar solutions that you may remember the next time you encounter that specific problem. But to answer your main question objectively, I think the most effectivr way to learb programming is to practice. Solve competitive programming questions, create application, write small scripts... any code you write to practice something you don't know much about will help you understand it better. The reason I focus on searching on google is because when doing these projects you will encounter many problems (most likely), and asking questions will make you dependant om others, but searching will not make you depedant of anyone.


[Part 2 of 5] To continue my advice of staying focused, what do you stay focus on? You should decide based on what you want to achieve. Pick a purpose from below: - Web Development - Game Development - Mobile App Development - Artificial Intelligence - Desktop Software Different programming tech stack has different usage. Bono has summarized it clearly in his "What to learn next" code: What to learn next by Bono https://code.sololearn.com/Wukw9beaMo55/?ref=app Now you should be able to know which programming language you should learn. Stick to this language. Drop the others, focus on one tech stack. And go really deep in that tech stack.


[Part 3 of 5] Practice with a objective. Suppose that you chose the Web Path, you should think of what content you want to put in your webpage first. If there is no information that you want to share, then there is no reason to create a webpage. Common ideas are favourite movies, or national dishes. If these themes are not of interest to you, write about yourself. To write about yourself, you can begin with something very easy, such as the My Blog Project Template in HTML course. After that, come back to develop it from time to time, when you learn new CSS tricks or new JS tricks, or have new content to share. I am featuring seven of my favorites : https://code.sololearn.com/WS1l4514JQAx/?ref=app They all start from the same boilerplate. Look at how wonderful they have developed their blog. If they can do it, you can too.


[Part 5 of 5] Lastly, after choosing THE programming languages to learn AND the learning objectives, you should learn from a reliable material, which you find comfortable and easy to understand. If you have budget, try some paid course on Pluralsight or Udemy. They are teaching clearly. If you want to learn from free resources, there are some suitable YouTube videos too. For example, here is my Python learning guide: https://code.sololearn.com/Wh8a6I2sDpj7/?ref=app It is a guide with the links to resources corresponding to my previous suggested learning plan. I created it for another SoloLearner when he needed it. If you have chosen a programming language other than Python, let me know, and I can introduce learning materials to you too.


Though I am not a dedicated programmer, but I agree with David sir and blackwinter. You need to practice. It's something which is essential in every field, not only programming. If you have doubts, Google it out right away. Don't feel that asking answers for your doubts make you awkward. We all are humans, and prone to make mistakes. Practice and dedication. That's it. Also do try out the code coach challenges here, or there are many websites like: Codepen Stack overflow Hackerank And many more. Solve the challenges here (only after you learn!!! Don't jump in straightaway!!)


amal 01 your are asking for an advice and speaking in such a manner?.....


amal 01 As you told me that you want to dive in Java and JavaScript, here are the respective learning guides as I promised: Java Learning Guide https://code.sololearn.com/WZJGxNBr7Dj1/?ref=app JavaScript Tech Stack Learning Guide https://code.sololearn.com/WqB9Xob0ehT7/?ref=app


Getting comfortable with a programming language is the first step towards learning programming. People often start with C, C++, Java, or Python. I personally prefer C++ in the beginning as it is neither too simple (like Python is), nor too deficient in terms of libraries (like C is). C++ is pretty fast and has a good library support too - best of both worlds! Also, C++ is a good choice for competitive programming because it is pretty fast and has the support of Standard Template Library (STL). The choice of the first language is highly subjective based on your interests and goals. You may be interested in front-end, back-end, mobile app development, game development, data science, etc. If your main aim is to get a job then do check out our article on which programming language is best for getting a job? You can start with learning the basics - syntax, data types, variables, loops, arrays, etc. Try to solve simple implementation-based questions so as to get familiar with these basic concepts


Yh Aymane! Uve make a point!


Once you have learned data structures and algorithms, you should start solving problems on websites like SPOJ, Codechef, Codeforces, Topcoder, Hackerrank, Geeksforgeeks etc. The more problems you solve, the better it is. It is better, though, to solve problems in increasing order of difficulty. You can sort the problems in descending order of the number of submitted solutions and start solving. After solving around 100 mixed variety problems, you will become confident about your programming skills


Hope that you answered like this from the beginning rather than discouraging to ask. Thank you in any way.


I think that to ask someone for an advise is not something you can find it easily in google My question is very simple to understand and more that this is oriented to programmers who had encountered as me the same problem in the beginning. To know the effective method that can help me to not waste much time searching about it in google ,... is not something embarrassed. Be curious ,and stop asking whatever the say. Hope this is clear.


To be best programmer practice is must ! playing coding games attempting quizzes helps you to remember syntax ,trying again and again makes u perfect . Best to think like we are pro and we can do that this helps alot and always learn new things this will increase ur interest.☺️ Also read coders articles and follow them😍


Don't worry as a beginner you will face some errors in your coding But believe me if you're able to solve those errors in future you may not take much tym to resolve them! If you really want to become a better programmer you need to practice more and more programs. We all know there are different kind of platforms for practicing coding questions and challenges ,Even I was like you I am not that good that coding but I have practiced more nd more questions and for now atleast I can write my own code with any errors! Coding is not difficult but writing logic is difficult Try to be better in it! I hope you find something in it😊, Best of luck!!!


Edit: without any errors*


I don't think anyone here(on this platform or anyone outside) wouldn't have, had that "feeling" before starting programming. It could be either taking a liking to Programming or seeing someone code which piqued your interest. So I think it's not just about the feeling, it's about putting effort, time and money (if necessary) etc to achieving one's goal. You can't expect to understand something if you don't do your research, if you don't set an allocated to learning the programming language.