Skip to main content
15 answers
17
Asked 2421 views

What is the best coding language to learn as a beginner??

I'm a student in high school and I'm very interested in coding. However, all the computer science and coding classes at my school and in my area are for scratch. Could anyone help me pick a language to learn that I will actually use in the future?

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

17

15 answers


5
Updated
Share a link to this answer
Share a link to this answer

Esther’s Answer

I vote for Python! It’s very beginner-friendly. Though there are some other languages that would work too.

Another note: When you start learning to code, I think it’s important to make sure to have fun with it too. Let yourself play. Experiment. Do projects you enjoy. Fun is a great teacher, especially when it comes to coding.
5
1
Updated
Share a link to this answer
Share a link to this answer

Wioletta’s Answer

I encourage you to kick off your programming journey with a "high-level" language. Python, which is currently the most popular, is a great choice. It's user-friendly and enjoyable, plus you don't need any special software to get started. However, if you're someone who values patience and in-depth understanding, starting with a "low-level" language like C/C++ could be beneficial. Mastering these foundational languages can make learning others a breeze in the future.
1
1
Updated
Share a link to this answer
Share a link to this answer

Peter’s Answer

Harmit's suggestion of starting with Python as your first programming language is a great one, and here's why. Python has three key features that make it an excellent choice for beginners.

Firstly, it's an interpretive language, which means you can debug your code as you write it. This feature allows you to learn and correct your mistakes in real-time, enhancing your understanding and proficiency.

Secondly, Python uses strong typing, reducing the likelihood of making errors when dealing with different data types. This feature makes Python more user-friendly and less error-prone, especially for beginners.

Thirdly, Python enforces some basic formatting rules, making it less likely for you to make syntax errors as you start learning the language. This helps you focus more on learning the language's vocabulary and less on fixing errors.

Remember, the value of a programming language lies in its ability to help you accomplish your tasks efficiently and effectively, even if there's a learning curve involved. I hope this explanation makes sense. Best of luck on your coding journey!
1
1
Updated
Share a link to this answer
Share a link to this answer

Harmit’s Answer

Hi Keiana! There are many coding languages available that you can learn. Scratch is a great starting point, and it is awesome that you're excited and ready to learn more. I recommend starting with what is called a "high-level language", such as Python, Processing (which is a sort of precursor to Java), Java, C#, or C/C++. Each of these has its own advantages/disadvantages and unique challenges, but there is no real "right" or "wrong" answer.

For getting your first step into programming, I recommend either Python or Processing as they are easy to understand and have simple syntax, but still allow you to have the freedom and room to explore multiple solutions and options while learning and practicing coding techniques. There is a large variety of resources with vast amounts of knowledge online that can guide you through the process, such as W3Schools or CodeAcademy.

Good luck on your journey!
1
0
Updated
Share a link to this answer
Share a link to this answer

Robert’s Answer

I have seen the "Scratch" classes, and I agree with you that they are a waste of time. The Scratch classes are a natural result of the current push toward STEM majors from both schools and parents -- and there being both a lack of teachers at the high school level for STEM subjects, and also a lack of curriculum.

The programming language I use to teach beginners in my Girls Who Code group is Python.

Python is a mature language, and it has a much more natural language syntax that is more forgiving for a beginner than C++ or Java. You can learn all of the needed basics with Python (program flow, data types, scope, conditionals, loops, functions, objects, etc.) using Python. Bonus: there are a lot of Youtube videos and websites like W3Schools waiting to teach you Python, for free!

Is Python a great language to write code for a major web or desktop project? No. It isn't even portable. Python code can't natively run on another computer unless that computer also has Python installed. Python is a learning language, and also a programmer toolkit language and data science language. Most programmers don't use Python as their day-to-day production level language.

But that's okay. Once you understand the mechanics of programming picking up the syntax of another language which is used as a production language (C, C++, C#, Java, JavaScript, Rust -- to name a few) will be fairly easy for you.

So, my recommendation is Python as a first (learning) language. Even though it will be unlikely you will use Python as a future production language, you will use it for small tasks you want to script and be done with, without having to spin up a full Java or C# program to do it.

Robert recommends the following next steps:

Learn Python as your first language
Master the mechanics of programming (program flow, data types, scope, conditionals, loops, functions, objects)
Pick up your next language (which you will use as your day-to-day language in a job) after that
0
0
Updated
Share a link to this answer
Share a link to this answer

Shaoyu (Shawn)’s Answer

Python is an excellent choice for beginners looking to dip their toes into the world of coding. It's the go-to language for Data-Science & Engineering, and there's a wealth of beginner-friendly resources like "Python Tips & Tricks for Beginners" and "Python Dash Emerging Visualization Solution" to help you get started. Python's popularity is skyrocketing globally, and it's fast becoming the common tongue among programmers.

Even though there's no definitive answer to this question given the context, it's worth highlighting that Python's versatility goes beyond data science. You can use it for a host of other exciting tasks like web development, game development, and automation. Plus, Python boasts a large and welcoming community, providing a supportive environment for newcomers to find resources and seek help when required.

So, dive in and enjoy the journey!
0
0
Updated
Share a link to this answer
Share a link to this answer

Sujith’s Answer

Hey there! Just a little reminder that the "perfect" language for you really hinges on what you're aiming for and what piques your interest. If data science catches your fancy, Python could be your go-to. On the other hand, if you're all about web development, JavaScript might be your best bet. Kicking off with a language that resonates with your passions and future goals can make the journey of learning a whole lot more fun and inspiring. Plus, as you rack up experience, you'll find picking up multiple languages becomes a breeze. So, feel free to dive into different languages as your interests and requirements change and grow.
0
0
Updated
Share a link to this answer
Share a link to this answer

Marissa’s Answer

Python and Javascript are two great languages to start with. Start with small projects and solving problems with them. As you progress in your career, you'll gain exposure to other languages. Continue to expose yourself to other languages as you grow while picking up project or revisiting older projects.
0
0
Updated
Share a link to this answer
Share a link to this answer

Helena’s Answer

Seconding Python learning! Very beginner friendly and there's a ton of resources available. Ruby on Rails is another great beginner-friendly language that helps make learning fun.

I would also suggest finding a real-life solution you might want to write a program for. It is much easier to understand the power of programming if you see yourself solve a problem through coding. For example: I know someone that created their own (very simple) program that hosted a list of computer games and randomly chose one for them to play each day.
0
0
Updated
Share a link to this answer
Share a link to this answer

Grace’s Answer

I would recommend JavaScript! There is a great JavaScript community so you'll have support as you learn.
0
0
Updated
Share a link to this answer
Share a link to this answer

J’s Answer

Choosing a first programming language to learn may seem tricky, but I suggest choosing the option that you have the easiest access to. So, if your high school teaches programming in a specific language, then take that class. Learning effectively is tied to practice and instruction. Having a teacher you see every day is better for many folks than learning online.

If you are lucky enough to have multiple options, then pick the class where you have a friend or someone you can study with. As another contributor noted, fun needs to be part of your learning process.

One of the most important things to learn in beginning programming classes is how to identify the problem, break the problem into little pieces, and solve those little problems. You'll then combine all those little solutions to resolve the bigger problem.

So, you'll be training yourself to deconstruct problems so that you can build solutions with your programs.
0
0
Updated
Share a link to this answer
Share a link to this answer

Jack’s Answer

There might not be a one-size-fits-all solution, but my friendly advice is to kick off with a user-friendly coding language that has a vast online community (plenty of folks online ready to help with your queries).

In my opinion, the top choices would be Python or JavaScript.
0
0
Updated
Share a link to this answer
Share a link to this answer

Charles’s Answer

Unironically, scratch is a great language for beginners because it teaches you many basic concepts that you will encounter later in "real" programming languages, but in a way that doesn't bog you down with syntax from the get go.

With that being said, as many commenters have already mentioned, Python is a great language for beginners because its syntax is closer to English than most other languages out there. It is typically used for writing scripts, because it is easy to produce working code, but harder in terms of maintaining a large production-facing codebase. So it's good to start out with, but once you are familiar with basic programming concepts you can move onto other languages.

Most languages these days will support multiple programming paradigms so you absolutely can do object oriented and functional programming with Python, just don't expect it to be as well supported as C++ for the former, and Haskell for the latter, for example. Javascript is another language that supports multiple paradigms, but the syntax is closer to C derivatives. It's the language of choice for web development, so if that interests you, Javascript (and its extensions) will be the easiest language to do that with.
0
0
Updated
Share a link to this answer
Share a link to this answer

Fazail’s Answer

I would definitely recommend Python! It has a very natural syntax and tones of resources available online to help you ramp up.
0
0
Updated
Share a link to this answer
Share a link to this answer

Nelson’s Answer

Your learning style will guide you in choosing the right path:
* If you're naturally curious and enjoy delving into the mechanics of how things work before building on them, you might find a lower-level language like assembly or C to be a great fit.
* If you thrive on productivity and enjoy the thrill of getting complex tasks done quickly, only to understand the process later, then a higher-level language like Python for general logic, or C#/Unity for games, could be your perfect match.
* If you prefer to grasp basic concepts first and gradually advance, simplified methods like Scratch or Flowgorithm could be the way to go.

Regardless of your choice, a book or an online tutorial can be an effective compass, guiding you towards a fruitful outcome and minimizing frustration. Over time, however, I would suggest selecting a project that sparks your interest and discovering independently how to accomplish it. Tutorials can indeed fast-track you to the finish line, primarily along the "happy path", but the most profound learning often stems from those challenging moments when you're left scratching your head, unable to figure out why something isn't working. It's in these moments of struggle and the subsequent research and problem-solving where true learning happens. If you can navigate through the frustration, the sense of accomplishment at the end is immensely rewarding, and the knowledge gained is invaluable.
0