6 answers
Updated
688 views
How long should it take to learn a coding language, and where does someone start when learning by themselves?
I'm sure each language takes it's own amount of time to learn but on average how long should I be expecting myself to take? I've heard C++ is the best to start learning with, is that true at all, or should I try a different language?
Thank all of you for answering. I'll take all of this into consideration as I move forward.
Login to comment
6 answers
Updated
Adit’s Answer
The time it takes to learn a coding language can vary based on several factors such as the complexity of the language, your prior experience, and how much time you dedicate to learning. However, here's a general breakdown:
Average Time to Learn a Programming Language:
Beginner-friendly languages (like Python or JavaScript): You can expect to grasp the basics within 2-3 months if you dedicate 10-15 hours a week to learning.
More complex languages (like C++ or Java): Learning the basics can take 3-6 months with consistent effort.
Factors that Affect Learning Time:
Your Previous Experience: If you're entirely new to coding, it may take a bit longer to understand concepts like loops, conditions, and variables.
Depth of Knowledge: Learning basic syntax and concepts is the first step, but mastery (like building full applications, optimizing code, or understanding deeper concepts like memory management) can take months or even years.
Consistency: The more consistently you practice, the faster you'll learn. Dedicating regular time each day is better than cramming sporadically.
Starting with C++ – Is It the Best Choice?
C++ is a powerful and widely-used language, but it's not necessarily the easiest to start with. Here's why:
C++ complexity: C++ is a language that gives you a lot of control over your system’s memory, but it also comes with more complex syntax and concepts (like pointers and manual memory management).
Better alternatives for beginners: Many people recommend starting with easier-to-learn languages like Python or JavaScript because they allow you to focus on learning programming logic without the overhead of managing more advanced features like memory.
Where to Start Learning on Your Own:
Pick a beginner-friendly language: If you're new, start with Python. It's intuitive and widely used across fields like web development, automation, and AI.
Use free resources:
FreeCodeCamp: Great for learning JavaScript and web development.
Codecademy: Offers free and paid content for various programming languages.
Coursera or edX: These platforms have free courses on Python, C++, and others from top universities.
Work on projects: Start building simple projects early on (like calculators, games, or websites). This will help you apply what you’ve learned.
Join coding communities: Websites like Stack Overflow, GitHub, and forums can help you get advice and feedback on your progress.
Conclusion:
On average, you can expect to get comfortable with a programming language in 2-6 months depending on the language.
If you're entirely new, starting with Python or JavaScript might be more manageable than C++.
Dedicate regular time to practice, work on small projects, and use online resources to aid your self-learning journey.
By following these steps, you'll gradually build the skills you need to become proficient in programming.
Average Time to Learn a Programming Language:
Beginner-friendly languages (like Python or JavaScript): You can expect to grasp the basics within 2-3 months if you dedicate 10-15 hours a week to learning.
More complex languages (like C++ or Java): Learning the basics can take 3-6 months with consistent effort.
Factors that Affect Learning Time:
Your Previous Experience: If you're entirely new to coding, it may take a bit longer to understand concepts like loops, conditions, and variables.
Depth of Knowledge: Learning basic syntax and concepts is the first step, but mastery (like building full applications, optimizing code, or understanding deeper concepts like memory management) can take months or even years.
Consistency: The more consistently you practice, the faster you'll learn. Dedicating regular time each day is better than cramming sporadically.
Starting with C++ – Is It the Best Choice?
C++ is a powerful and widely-used language, but it's not necessarily the easiest to start with. Here's why:
C++ complexity: C++ is a language that gives you a lot of control over your system’s memory, but it also comes with more complex syntax and concepts (like pointers and manual memory management).
Better alternatives for beginners: Many people recommend starting with easier-to-learn languages like Python or JavaScript because they allow you to focus on learning programming logic without the overhead of managing more advanced features like memory.
Where to Start Learning on Your Own:
Pick a beginner-friendly language: If you're new, start with Python. It's intuitive and widely used across fields like web development, automation, and AI.
Use free resources:
FreeCodeCamp: Great for learning JavaScript and web development.
Codecademy: Offers free and paid content for various programming languages.
Coursera or edX: These platforms have free courses on Python, C++, and others from top universities.
Work on projects: Start building simple projects early on (like calculators, games, or websites). This will help you apply what you’ve learned.
Join coding communities: Websites like Stack Overflow, GitHub, and forums can help you get advice and feedback on your progress.
Conclusion:
On average, you can expect to get comfortable with a programming language in 2-6 months depending on the language.
If you're entirely new, starting with Python or JavaScript might be more manageable than C++.
Dedicate regular time to practice, work on small projects, and use online resources to aid your self-learning journey.
By following these steps, you'll gradually build the skills you need to become proficient in programming.
Updated
Elliot’s Answer
It depends. How much, how fast, how deeply you study it. It depends. Which language? HTML will start to make sense a lot faster than C++ will.
How long does it take to be a skilled plumber, electrician, or doctor? Years!! Everybody wants immediate results, but it takes TIME and diligent, smart practice. Coding and programming takes many months really if not years as well (to really get proficient). You won't go to a boot camp and suddenly be great at this.
Start with HTML, CSS, and JavaScript and look at a website like W3schools.com. You will learn a lot quickly there, but you also need to begin to build projects and USE the language daily to make faster progress. There are many, many starter projects and ideas you can search for in your chosen language.
Search for the best books on the languages that interest you. Watch some videos. Take an online course (LinkedIn, Coursera, Edx, etc.). Talk to other coders in the community. Go to a developer conference! Do you know what language you want to start with? Java? Python? Why? Do you know what they do and what their strengths and weaknesses are? What do you want to build? Why? Does it interest you? Start by asking what you want to build or create first and then select the language that is appropriate for that. If you can confidently answer some of these questions you are on your way. If not, work more on WHY you want to do this! There are good reasons - discover them. This is a very interesting , exciting, and rewarding field. I love this work. Best of luck.
How long does it take to be a skilled plumber, electrician, or doctor? Years!! Everybody wants immediate results, but it takes TIME and diligent, smart practice. Coding and programming takes many months really if not years as well (to really get proficient). You won't go to a boot camp and suddenly be great at this.
Start with HTML, CSS, and JavaScript and look at a website like W3schools.com. You will learn a lot quickly there, but you also need to begin to build projects and USE the language daily to make faster progress. There are many, many starter projects and ideas you can search for in your chosen language.
Search for the best books on the languages that interest you. Watch some videos. Take an online course (LinkedIn, Coursera, Edx, etc.). Talk to other coders in the community. Go to a developer conference! Do you know what language you want to start with? Java? Python? Why? Do you know what they do and what their strengths and weaknesses are? What do you want to build? Why? Does it interest you? Start by asking what you want to build or create first and then select the language that is appropriate for that. If you can confidently answer some of these questions you are on your way. If not, work more on WHY you want to do this! There are good reasons - discover them. This is a very interesting , exciting, and rewarding field. I love this work. Best of luck.
James Constantine Frangos
Consultant Dietitian & Software Developer since 1972 => Nutrition Education => Health & Longevity => Self-Actualization.
6333
Answers
Gold Coast, Queensland, Australia
Updated
James Constantine’s Answer
Hello Christopher!
You've made a great choice to learn coding on your own. I started the same way back in 1972 when I was 15. Our physics teacher introduced us to computer cards, which we filled out with a simple pencil. We wrote a basic algebraic program which was processed by the PDP10 computer at Queensland University. That computer was massive, taking up an entire floor!
I don't have a formal degree in information technology. Instead, I've been self-taught over the past 52 years. I've learned 10 different computer languages on my own. Before the internet, I would visit libraries, especially university ones, to read books about programming. Once the internet became available around 1996, I started exploring coding sites. I also purchased books on programming, like those on Visual Basic 30 years ago. Nowadays, there's an abundance of online resources for learning programming.
My academic background is diverse. I have a Bachelor of Science in Biological Chemistry, a Master's qualification in Biochemistry, a Graduate Diploma in Orthomolecular Nutrition, a Graduate Diploma in Nutrition and Dietetics, and a Graduate Diploma in Public Health.
I've been using Microsoft Visual Studio for about 30 years now. It's quite comprehensive. If I need reading materials, I often visit PDF Drive, a site that offers free books. With my background in nutrition and programming, I've been writing nutrition education software since 1994.
You can become proficient in a computer language within a year. You don't necessarily need to attend college; there are plenty of coding sites to learn from. I personally recommend Microsoft Visual Studio because it offers a variety of programming languages and I'm familiar with it. I've been using Microsoft Visual Studio 2022, and they've been incredibly helpful.
In your situation in all generality I think C++ might be the language of choice.
God bless,
JC.
You've made a great choice to learn coding on your own. I started the same way back in 1972 when I was 15. Our physics teacher introduced us to computer cards, which we filled out with a simple pencil. We wrote a basic algebraic program which was processed by the PDP10 computer at Queensland University. That computer was massive, taking up an entire floor!
I don't have a formal degree in information technology. Instead, I've been self-taught over the past 52 years. I've learned 10 different computer languages on my own. Before the internet, I would visit libraries, especially university ones, to read books about programming. Once the internet became available around 1996, I started exploring coding sites. I also purchased books on programming, like those on Visual Basic 30 years ago. Nowadays, there's an abundance of online resources for learning programming.
My academic background is diverse. I have a Bachelor of Science in Biological Chemistry, a Master's qualification in Biochemistry, a Graduate Diploma in Orthomolecular Nutrition, a Graduate Diploma in Nutrition and Dietetics, and a Graduate Diploma in Public Health.
I've been using Microsoft Visual Studio for about 30 years now. It's quite comprehensive. If I need reading materials, I often visit PDF Drive, a site that offers free books. With my background in nutrition and programming, I've been writing nutrition education software since 1994.
You can become proficient in a computer language within a year. You don't necessarily need to attend college; there are plenty of coding sites to learn from. I personally recommend Microsoft Visual Studio because it offers a variety of programming languages and I'm familiar with it. I've been using Microsoft Visual Studio 2022, and they've been incredibly helpful.
In your situation in all generality I think C++ might be the language of choice.
God bless,
JC.
Updated
Marco’s Answer
Programming is like many other disciplines - the more time you spend, the more you will know.
If you are interested and have some time, I recommend you take a few short classes of a few hours apiece. You will be told specifically what to do, so what you are building is familiarity. Think of this like buying a box of pasta and you are following the cooking instructions.
If that interests you enough, then the next step is to find a class. Sure, you can try to work things out on your own, but the faster and easier way if you are not yet familiar with programming is to take a longer class where you are given problems to solve. The most important part here is solving some standard problems. If I use the cooking example again, this may be the equivalent of making your own pasta sauce. You have to learn how to cut vegetables, cook them, and so on. These classes may take a few months' of time. You are still working somebody else's problems.
The next part is about solving problems that are specific to you. At this point, you'll have enough experience to know where to look and what to search. If I keep with he cooking example, this is you imagining a new dish and trying your own recipes.
Good luck!
If you are interested and have some time, I recommend you take a few short classes of a few hours apiece. You will be told specifically what to do, so what you are building is familiarity. Think of this like buying a box of pasta and you are following the cooking instructions.
If that interests you enough, then the next step is to find a class. Sure, you can try to work things out on your own, but the faster and easier way if you are not yet familiar with programming is to take a longer class where you are given problems to solve. The most important part here is solving some standard problems. If I use the cooking example again, this may be the equivalent of making your own pasta sauce. You have to learn how to cut vegetables, cook them, and so on. These classes may take a few months' of time. You are still working somebody else's problems.
The next part is about solving problems that are specific to you. At this point, you'll have enough experience to know where to look and what to search. If I keep with he cooking example, this is you imagining a new dish and trying your own recipes.
Good luck!
Updated
Jenna’s Answer
For learning the fundamentals of a computer programming language, you will find an abundance of resources online. Keep in mind that once you master the basics of one programming language, you will find it much easier to learn other languages. The most important thing is to find a learning resource that works for you. I usually recommend Python or JavaScript as a first language. Once you can complete the easiest challenges on the Code Wars website, you know the basics. You can focus on building something and considering larger questions and ways to write code at a professional level.
C++ lends itself to understanding more about how computer programming languages work, so schools often prefer to teach a C language. I would recommend learning Python or JavaScript first simply to lower the learning curve a little bit to improve the chances of really getting started without being overwhelmed or frustrated. You will start to see similarities and differences in various languages. There is a book called Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers) by Bruce Tate (and a sequel with seven more languages) that does a deep dive into the differences among languages.
Here are two recommendations for teachers I especially love:
Brad Traversy of Traversy Media on YouTube:
https://www.youtube.com/watch?v=hdI2bqOjy3c
Mosh Hamedani of Code With Mosh on YouTube:
https://www.youtube.com/watch?v=W6NZfCO5SIk
C++ lends itself to understanding more about how computer programming languages work, so schools often prefer to teach a C language. I would recommend learning Python or JavaScript first simply to lower the learning curve a little bit to improve the chances of really getting started without being overwhelmed or frustrated. You will start to see similarities and differences in various languages. There is a book called Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers) by Bruce Tate (and a sequel with seven more languages) that does a deep dive into the differences among languages.
Here are two recommendations for teachers I especially love:
Brad Traversy of Traversy Media on YouTube:
https://www.youtube.com/watch?v=hdI2bqOjy3c
Mosh Hamedani of Code With Mosh on YouTube:
https://www.youtube.com/watch?v=W6NZfCO5SIk
James Constantine Frangos
Consultant Dietitian & Software Developer since 1972 => Nutrition Education => Health & Longevity => Self-Actualization.
6333
Answers
Gold Coast, Queensland, Australia
Updated
James Constantine’s Answer
AI ADDENDUM
According to Ask Ai www.iAsk.ai:
How Long Should It Take to Learn a Coding Language?
Learning a coding language can vary significantly based on several factors, including the complexity of the language, your prior experience with programming concepts, the amount of time you dedicate to learning, and your personal learning style.
Time Commitment: On average, if you are dedicating around 10-15 hours per week to study and practice coding, you might expect to become proficient in a beginner-friendly language like Python in about 3-6 months. For more complex languages such as C++ or Java, it may take 6-12 months to reach a similar level of proficiency. Mastery of any language can take years and involves continuous learning and practice.
Language Complexity: Different programming languages have different levels of complexity. For example:
Python is often recommended for beginners due to its simple syntax and readability.
JavaScript is essential for web development and has a relatively gentle learning curve.
C++, while powerful and widely used in systems programming and game development, has a steeper learning curve due to its complex syntax and concepts like memory management.
Learning Path: When starting to learn a coding language by yourself, consider the following steps:
Choose Your Language: Based on your goals (e.g., web development, data science), select an appropriate language. Python is highly recommended for beginners due to its versatility.
Online Resources: Utilize online platforms such as Codecademy, freeCodeCamp, or Coursera that offer structured courses.
Books and Documentation: Reading books specific to the language you choose can provide deeper insights. For instance, “Automate the Boring Stuff with Python” is great for Python learners.
Practice Projects: Apply what you’ve learned through small projects or challenges on platforms like LeetCode or HackerRank.
Community Engagement: Join forums or communities (like Stack Overflow or Reddit) where you can ask questions and share knowledge.
Consistency Over Intensity: Regular practice is crucial in programming. Even short daily sessions can be more effective than infrequent long sessions.
Feedback Loop: Seek feedback on your code from peers or mentors which will help you improve faster.
In conclusion, while it varies by individual circumstances, expect around 3-12 months to gain proficiency in a coding language depending on its complexity and your dedication. Starting with Python may be beneficial before moving on to more complex languages like C++ if your interests align with systems programming or game development.
Top 3 Authoritative Sources Used in Answering this Question:
1. Codecademy Codecademy offers interactive coding lessons across various programming languages and provides insights into how long it typically takes beginners to learn different languages based on user data.
2. Coursera Coursera features courses from universities that outline expected timelines for learning programming languages as well as structured pathways for self-learners.
3. Stack Overflow Stack Overflow is a community-driven Q&A platform where experienced developers share their insights regarding the time commitment needed for various programming languages based on real-world experiences.
Probability that the answer is correct: 95%
JCF
According to Ask Ai www.iAsk.ai:
How Long Should It Take to Learn a Coding Language?
Learning a coding language can vary significantly based on several factors, including the complexity of the language, your prior experience with programming concepts, the amount of time you dedicate to learning, and your personal learning style.
Time Commitment: On average, if you are dedicating around 10-15 hours per week to study and practice coding, you might expect to become proficient in a beginner-friendly language like Python in about 3-6 months. For more complex languages such as C++ or Java, it may take 6-12 months to reach a similar level of proficiency. Mastery of any language can take years and involves continuous learning and practice.
Language Complexity: Different programming languages have different levels of complexity. For example:
Python is often recommended for beginners due to its simple syntax and readability.
JavaScript is essential for web development and has a relatively gentle learning curve.
C++, while powerful and widely used in systems programming and game development, has a steeper learning curve due to its complex syntax and concepts like memory management.
Learning Path: When starting to learn a coding language by yourself, consider the following steps:
Choose Your Language: Based on your goals (e.g., web development, data science), select an appropriate language. Python is highly recommended for beginners due to its versatility.
Online Resources: Utilize online platforms such as Codecademy, freeCodeCamp, or Coursera that offer structured courses.
Books and Documentation: Reading books specific to the language you choose can provide deeper insights. For instance, “Automate the Boring Stuff with Python” is great for Python learners.
Practice Projects: Apply what you’ve learned through small projects or challenges on platforms like LeetCode or HackerRank.
Community Engagement: Join forums or communities (like Stack Overflow or Reddit) where you can ask questions and share knowledge.
Consistency Over Intensity: Regular practice is crucial in programming. Even short daily sessions can be more effective than infrequent long sessions.
Feedback Loop: Seek feedback on your code from peers or mentors which will help you improve faster.
In conclusion, while it varies by individual circumstances, expect around 3-12 months to gain proficiency in a coding language depending on its complexity and your dedication. Starting with Python may be beneficial before moving on to more complex languages like C++ if your interests align with systems programming or game development.
Top 3 Authoritative Sources Used in Answering this Question:
1. Codecademy Codecademy offers interactive coding lessons across various programming languages and provides insights into how long it typically takes beginners to learn different languages based on user data.
2. Coursera Coursera features courses from universities that outline expected timelines for learning programming languages as well as structured pathways for self-learners.
3. Stack Overflow Stack Overflow is a community-driven Q&A platform where experienced developers share their insights regarding the time commitment needed for various programming languages based on real-world experiences.
Probability that the answer is correct: 95%
JCF