6 answers
Asked
953 views
how many programming languages should I learn? what programming language is best for beginners?
this question is for software development.
Login to comment
6 answers
Updated
Dexter’s Answer
Hi Fernando,
Most programmers I know learn a various amount of programming languages, but they tend to specialize in one or two of them. The thing is that once you learn one, the other programming languages get much easier to learn.
As a beginner, I recommend learning a high level programming language, such as Python, Ruby, or PHP first as they're easy to pick up, and if you decided to specialize in them, they're infinitely useful. Once you dip your toes into programming however, and you want more control over the programs you build and/or you want to see how it all works behind the scenes, then I would learn a low level programming language, such as C (or maybe a mid-level like C#, Java, etc. ). Learning this will give you a good feel for how different it is to program in high/low levels, and at that point you can go even deeper (Assembly?) or just start building stuff that you want to build with one of the programming languages that you've learned.
I think it's important though, to specialize in one or two of the languages instead of trying to learn a dozen different languages. While it's tempting to list out a dozen languages in your resume, it's much more important to learn one of two of these programming languages in-depth, so that you'll be able to contribute in a meaningful way to a project.
In summation, if I were to pick up a programming language from scratch, I'd probably learn Python and just get really good in that. With Python, I probably won't be making games (if you want to do that, I'd start with C), but I could do web development, machine learning work, various infrastructure scripting, and so much more.
Anyways, I hope this was helpful!
--
Dexter
Most programmers I know learn a various amount of programming languages, but they tend to specialize in one or two of them. The thing is that once you learn one, the other programming languages get much easier to learn.
As a beginner, I recommend learning a high level programming language, such as Python, Ruby, or PHP first as they're easy to pick up, and if you decided to specialize in them, they're infinitely useful. Once you dip your toes into programming however, and you want more control over the programs you build and/or you want to see how it all works behind the scenes, then I would learn a low level programming language, such as C (or maybe a mid-level like C#, Java, etc. ). Learning this will give you a good feel for how different it is to program in high/low levels, and at that point you can go even deeper (Assembly?) or just start building stuff that you want to build with one of the programming languages that you've learned.
I think it's important though, to specialize in one or two of the languages instead of trying to learn a dozen different languages. While it's tempting to list out a dozen languages in your resume, it's much more important to learn one of two of these programming languages in-depth, so that you'll be able to contribute in a meaningful way to a project.
In summation, if I were to pick up a programming language from scratch, I'd probably learn Python and just get really good in that. With Python, I probably won't be making games (if you want to do that, I'd start with C), but I could do web development, machine learning work, various infrastructure scripting, and so much more.
Anyways, I hope this was helpful!
--
Dexter
Updated
Michael’s Answer
Hey Fernando,
Coding is awesome, and here's an enjoyable way to dive in:
https://www.codecademy.com/welcome/find-a-course
Codecademy is where I gained some of my initial abilities, and it's free!
When I first started learning to code, I enjoyed making things with buttons.
You should explore MIT Scratch for quickly developing ideas:
https://scratch.mit.edu/projects/editor/?tutorial=getStarted
Looking back in Computer Science history, most languages share similar concepts and practices. Understanding these concepts is more helpful than just learning the style/syntax of a specific language.
My ultimate suggestion for getting into programming and finding a starting point is with Processing:
https://processing.org/tutorials
Processing is great because it supports various coding styles (Python, Java, JavaScript), and there are numerous libraries available to help create things swiftly.
Aim to build projects that excite you or that you'd like to share with friends and family. Having something to show off will motivate you to improve your skills further.
Good luck and have a blast!
- Baur
Explore Codecademy: https://www.codecademy.com/welcome/find-a-course
Learn about MIT Scratch: https://scratch.mit.edu/projects/editor/?tutorial=getStarted
Try out Processing: https://processing.org/tutorials
Coding is awesome, and here's an enjoyable way to dive in:
https://www.codecademy.com/welcome/find-a-course
Codecademy is where I gained some of my initial abilities, and it's free!
When I first started learning to code, I enjoyed making things with buttons.
You should explore MIT Scratch for quickly developing ideas:
https://scratch.mit.edu/projects/editor/?tutorial=getStarted
Looking back in Computer Science history, most languages share similar concepts and practices. Understanding these concepts is more helpful than just learning the style/syntax of a specific language.
My ultimate suggestion for getting into programming and finding a starting point is with Processing:
https://processing.org/tutorials
Processing is great because it supports various coding styles (Python, Java, JavaScript), and there are numerous libraries available to help create things swiftly.
Aim to build projects that excite you or that you'd like to share with friends and family. Having something to show off will motivate you to improve your skills further.
Good luck and have a blast!
- Baur
Michael recommends the following next steps:
Updated
Dennis’s Answer
I think you're getting good advice in the other posts and you should certainly follow most of it. However, I'm going to give you a slightly different answer.
Programming as a career isn't just about which languages you know and "what should I write here?". Programming as a career is much more about understanding the concepts of what's being asked of you and how you can translate that into an efficient program. So, if I was starting out all over again, I would start to think about the way I see the world and how it relates to a program that I can create.
For example, in most programming courses you're going to hear about (1) declarations, (2) control statements, (3) loops and (4) data structures. If you can start to develop skills around how you use these - regardless of language - that's when you start to train your brain to think like a programmer and be able to put code together in your head. And if you can do that, then the actual language you pick just becomes another tool you choose and you will be able to work in any number of languages over your career. You won't just be a "python guy", you'll be a well-rounded programmer that thinks in the right way.
So, all that to say, work on your concepts, work on understanding what object-oriented-programming (OOP) is and understand control statements and loops. If you can do that then you will just keep growing and growing in your skills. Good luck!
Programming as a career isn't just about which languages you know and "what should I write here?". Programming as a career is much more about understanding the concepts of what's being asked of you and how you can translate that into an efficient program. So, if I was starting out all over again, I would start to think about the way I see the world and how it relates to a program that I can create.
For example, in most programming courses you're going to hear about (1) declarations, (2) control statements, (3) loops and (4) data structures. If you can start to develop skills around how you use these - regardless of language - that's when you start to train your brain to think like a programmer and be able to put code together in your head. And if you can do that, then the actual language you pick just becomes another tool you choose and you will be able to work in any number of languages over your career. You won't just be a "python guy", you'll be a well-rounded programmer that thinks in the right way.
So, all that to say, work on your concepts, work on understanding what object-oriented-programming (OOP) is and understand control statements and loops. If you can do that then you will just keep growing and growing in your skills. Good luck!
Updated
Elliot’s Answer
Fernando, I'm not sure what (if any) background you have thus far, but why not start out with web development (HTML and CSS)? Get some webpages going and you can start to learn some Javascript or Jquery. Its fun! This will keep you busy for months and you can learn many programming concepts with JS. Once you are ready to move beyond these you can dig into PHP or Python and maybe a database like MySQL or SQLite. These are all good beginner options. I assume you are a beginner as you said.
Updated
Tony’s Answer
If the question is how many should I learn to decide whether I want to pursue this as a career, then I would suggest a good variety: (1) a scripting language like bash or python; (2) database with Structured Query Language SQL; and (3) compiled language like C, Rust or Golang.
I started learning FORTRAN and PASCAL. I wrote programs every day during my first summer learning to code. Then I had to learn BASIC and COBOL for Business Programming Class. Then PL/X for Work. Then C++ and Java for side project. Then HTML, CSS, SQL and PHP for a Website application. Then Rust for a job interview for writing video games. Then switched to Python and JavaScript for the job I have now.
When you get a job, you will probably only use a single language for most of your primary work.
As a beginner, I would suggest Python. You can use it for a variety of things, teaches all the basic concepts, and can be used for AI Machine Learning, can be used to write computer video games, and can be used for Websites.
Learn Python programming language
I started learning FORTRAN and PASCAL. I wrote programs every day during my first summer learning to code. Then I had to learn BASIC and COBOL for Business Programming Class. Then PL/X for Work. Then C++ and Java for side project. Then HTML, CSS, SQL and PHP for a Website application. Then Rust for a job interview for writing video games. Then switched to Python and JavaScript for the job I have now.
When you get a job, you will probably only use a single language for most of your primary work.
As a beginner, I would suggest Python. You can use it for a variety of things, teaches all the basic concepts, and can be used for AI Machine Learning, can be used to write computer video games, and can be used for Websites.
Tony recommends the following next steps:
Updated
Chris O.’s Answer
Hello there!
It's wonderful to hear that you're considering diving into the world of programming. You're in for an exciting journey, and you should be proud of taking this step! Most developers specialize in just 1-2 languages, so as a beginner, Python is an excellent starting point. It's a highly popular and versatile language used in various fields such as automation, gaming, and data science.
Since Python is based on C, mastering it will open doors for you to easily learn other C-based languages like Java, C++, C#, and PHP. When I learned C#, it definitely made picking up Python (which I learned 3 years ago) and PHP much smoother.
As you get comfortable with Python, I would recommend exploring SQL (Structured Query Language) at a later stage. While it's not exactly a "programming language" like Python, it's immensely useful for manipulating database structures and handling data-related operations like SELECT, INSERT, UPDATE, and DELETE. Understanding where data comes from and how to manage it will be invaluable for certain projects.
Regardless of whether you ultimately choose to learn SQL, you'll find Python to be a fantastic and flexible language. It will give you the foundation you need to succeed in your programming journey and help narrow down other languages you may want to learn in the future.
So keep going, believe in yourself, and enjoy the incredible world of coding! Best of luck, and happy coding!
It's wonderful to hear that you're considering diving into the world of programming. You're in for an exciting journey, and you should be proud of taking this step! Most developers specialize in just 1-2 languages, so as a beginner, Python is an excellent starting point. It's a highly popular and versatile language used in various fields such as automation, gaming, and data science.
Since Python is based on C, mastering it will open doors for you to easily learn other C-based languages like Java, C++, C#, and PHP. When I learned C#, it definitely made picking up Python (which I learned 3 years ago) and PHP much smoother.
As you get comfortable with Python, I would recommend exploring SQL (Structured Query Language) at a later stage. While it's not exactly a "programming language" like Python, it's immensely useful for manipulating database structures and handling data-related operations like SELECT, INSERT, UPDATE, and DELETE. Understanding where data comes from and how to manage it will be invaluable for certain projects.
Regardless of whether you ultimately choose to learn SQL, you'll find Python to be a fantastic and flexible language. It will give you the foundation you need to succeed in your programming journey and help narrow down other languages you may want to learn in the future.
So keep going, believe in yourself, and enjoy the incredible world of coding! Best of luck, and happy coding!