What are some good coding languages for beginners?

In summary, if you are interested in learning how to code before taking core computer science classes, some good coding languages to consider are Python, Java, and C#. These languages are freely distributed and come with good documentation. Other popular languages, such as C, Javascript, Common Lisp, Scheme, Haskell, and ML, are also worth exploring. It is possible to find tutorials and resources for these languages online. It is important to choose a language that sustains your interest and to consider the availability of IDE tools. Some people may recommend starting with a more basic language, such as BASIC or Turtle Graphics, before moving on to more complex languages. Ultimately, it is beneficial to pursue a degree in computer science to gain formal training and improve job prospects.
  • #1
KamenRiderTorbjorn
71
8
I'm 23 and currently still in undergrad. I want to learn how to start coding before I take my core classes for computer science. What are some good coding languages to start with?
 
Technology news on Phys.org
  • #2
KamenRiderTorbjorn said:
I'm 23 and currently still in undergrad. I want to learn how to start coding before I take my core classes for computer science. What are some good coding languages to start with?
I suggest Python. It's a high-level language that is freely distributed, and comes with pretty good documentation. See https://www.python.org/downloads/.
Java also would be good, but I think it would take a bit longer to get comfortable with its extensive API (applications programming interface). See https://java.com/en/download/.
If you plan to do Windows programming, C# is a good place to start. There's a free version of C#, I believe, with Visual Studio Community Edition. See https://visualstudio.microsoft.com/vs/getting-started/. I have had Visual Studio in various editions for a number of years -- a very pricey edition is available for free because of the agreement the school I teach at has with Microsoft. Students are able to download this product for free as well.
 
  • Like
Likes StoneTemplePython and QuantumQuest
  • #3
Mark44 said:
Visual Studio ... a very pricey edition is available for free because of the agreement the school I teach at has with Microsoft
Visual C# is present on the free download Community Visual Studio 2017 along with VB.NET
 
  • Like
Likes harborsparrow
  • #4
Do these languages come with tutorials? What about C#? Also out of curiosity can you get employment by being self taught? Reason I ask is because I want to build up a resume.
 
  • Like
Likes harborsparrow
  • #5
KamenRiderTorbjorn said:
Do these languages come with tutorials? What about C#? Also out of curiosity can you get employment by being self taught? Reason I ask is because I want to build up a resume.

In my experience, no because most companies looking for programmers go for degreed programmers considering them a known quantity. Some really small mom and pop operation might hire you but the pay will be low and it won’t help you to move to the bigger ranks.

My suggestion is to go to school and get a degree. It’s a lot of work but you will gain some good training, maybe an internship and definitely get a better paying job.
 
  • Like
Likes Klystron
  • #6
KamenRiderTorbjorn said:
What are some good coding languages to start with?

Depends on what you find interesting. I think just about anything that is reasonably popular except C++ could work as a first programming language as long as it can sustain your interest. Some ideas:
  • C, if you find the idea of mucking around with lower-level details of how the computer works interesting.
  • Python, if you want to get started building practical things quickly and easily, like programs that do networking or show graphical interfaces.
  • One of the web development languages like Javascript, if that's what you find interesting.
  • Common Lisp, if you want to learn about high-level programming concepts.
  • Scheme, Haskell, or ML if you're very theoretically/mathematically oriented.
Most programming languages including all the ones above are free to use, and it's possible to find tutorials and sometimes entire books about them freely online, so there's nothing stopping you from installing and trying out more than one of them just to see what you like. Note that some of these languages require more independence to learn than others, if you're learning by yourself.

This essay by Peter Norvig includes some good advice about programming language choice among other things.
 
  • #7
Out of curiosity why is everyone turning anyway from C++? By the way @jedishrfu I understand what you're saying, but I at least want to learn how to code before I jump into a CS program.
 
  • #8
A lot of jobs are web based applications and so knowledge of java is critical for server side programming. Similarly for mobile apps with Java on Android and Swift on IOS.

In my experience, I used C++ for several years and hated it because of the standard template library that seemed tacked on to the language. There were also certain fragilities when building dynamic libraries that one would trip over costing a fair amount of debug time. Java to me was a breath of fresh air with its relative simplicity and singl inheritance tree.

The IDE tools also make a big difference. My coding of C++ was always slowed because I had to look up apis that were inherited by a given class that just took way too long to do. Now the IDE tool can look it up for you speeding development along.
 
  • #9
I'm thinking for someone that has NO programming knowlwdge, a much more basic start would be better. For instance the BASIC language or maybe even Turtle Graphics. There is free download for BASIC at https://www.microsoft.com/en-us/download/details.aspx?id=46392

Turtle Graphics is aimed at the Elementary (Primary or Grade) school level so it won't keep your interest for long, but it does start from the very beginning.
 
  • Like
Likes Janosh89
  • #10
For kids that might work but for high school or college, Python seems to be the preferred route or Java via the Pocessing IDE. These folks don’t want to have start from scratch to learn a more professional language so that why Python is used. Processing provides a nice environment with immediate graphical feedback.

These discussions come up endlessly and while BASIC is good for learning its somewhat dated now and introduces some bad programming practices that must be unlearned.
 
  • #12
KamenRiderTorbjorn said:
Out of curiosity why is everyone turning anyway from C++?
Just FYI, C++ is a bastardized language with object oriented capabilities overlayed on C, but not enforced. That is, you CAN write object oriented code with C++ but you don't have to. Java is much cleaner in the respect that it enforces object orientation.
 
  • #13
I have a background in Fortran, but lately I've been studying C# so that I can understand some of the things that my grandson is doing in his programming. My background has helped me get through many of the beginning concepts, and I've written some decent programs to solve some physics forums problems. But, the concept of object oriented language is new to me, and I'm struggling to get an understanding of Classes, and working with Classes. I've looked over many online references, and have gotten some understanding, but I'm still struggling. Any recommendations on good (and simple, straightforward) sources would be greatly appreciated. Thanks.

Chet
 
  • #14
KamenRiderTorbjorn said:
I want to learn how to start coding before I take my core classes for computer science.

I'm not sure this is a great idea. There is a difference between programming and slapping together some lines of code. Presumably your classes will teach you to do it right. Why do you want to jump in early and teach yourself what you are likely to have to unlearn?
 
  • #15
I recommend C as it is a low level language. I learned JAVA and OOP first, then C, but I think learning C is a good way to start. Enjoy!
 
  • Like
Likes FactChecker
  • #16
Chestermiller said:
I have a background in Fortran, but lately I've been studying C# so that I can understand some of the things that my grandson is doing in his programming. My background has helped me get through many of the beginning concepts, and I've written some decent programs to solve some physics forums problems. But, the concept of object oriented language is new to me, and I'm struggling to get an understanding of Classes, and working with Classes. I've looked over many online references, and have gotten some understanding, but I'm still struggling. Any recommendations on good (and simple, straightforward) sources would be greatly appreciated. Thanks.

Chet
My preference is to get a good book. There are a lot of C# books, but I would highly recommend Jeffrey Richter -- https://www.amazon.com/dp/0735667454/?tag=pfamazon01-20, and the price is very reasonable. Richter was a long-time consultant on the .NET Framework team at MSFT, so he knows his stuff.
 
  • Like
Likes Klystron
  • #17
Mark44 said:
My preference is to get a good book. There are a lot of C# books, but I would highly recommend Jeffrey Richter -- https://www.amazon.com/dp/0735667454/?tag=pfamazon01-20, and the price is very reasonable. Richter was a long-time consultant on the .NET Framework team at MSFT, so he knows his stuff.
Thx. Ordered.
 
  • #18
@Chestermiller, Regarding your sig line, my cousin lives just outside Ann Arbor on 12 Acres. Here's an Google Maps view photo of his barn. The M is quite visible, but the full message is M GO BLUE.
The barn is very well known around Ann Arbor.
mgobluebarn.jpg
 

Attachments

  • mgobluebarn.jpg
    mgobluebarn.jpg
    34 KB · Views: 370
  • Like
Likes jtbell and Chestermiller
  • #19
KamenRiderTorbjorn said:
I'm 23 and currently still in undergrad. I want to learn how to start coding before I take my core classes for computer science. What are some good coding languages to start with?
You might have a look at rosettacode.org -- from that site:

Rosetta Code is a programming chrestomathy site. The idea is to present solutions to the same task in as many different languages as possible, to demonstrate how languages are similar and different, and to aid a person with a grounding in one approach to a problem in learning another. Rosetta Code currently has 881 tasks, 221 draft tasks, and is aware of 699 languages, though we do not (and cannot) have solutions to every task in every language.​
 
  • #20
KamenRiderTorbjorn said:
I'm 23 and currently still in undergrad. I want to learn how to start coding before I take my core classes for computer science. What are some good coding languages to start with?

Examine your upcoming course textbooks and consider adopting and adapting a simple pseudo-code language. Pseudo-code allows you to understand and express CS concepts, structures and functions independent of specific computer languages and platforms.

My personal pseudo-code adapts to what I'm studying and which languages are required for projects. For instance, when I converted from coding FORTRAN to C# at work, address pointers began appearing in my pseudo-code while "this variable is replaced by this value" statements began looking more C-like. When I studied small-talk and Common Lisp my pseudo-code adapted to emphasize objects and embedded functions. A shared common pseudo-code helps you participate with other students, mentors, teachers and scientists without needing a common computer language.

My references are too dated to suggest a pseudo-code text but examples abound in nearly every CS textbook.
 
  • Like
Likes sysprog

1. What are the most popular coding languages for beginners?

The most popular coding languages for beginners are Python, JavaScript, HTML/CSS, Java, and C++.

2. What makes these coding languages good for beginners?

Python is easy to learn and has a simple syntax, making it a great language for beginners. JavaScript is commonly used in web development and has a large community for support. HTML/CSS is essential for creating websites and is relatively easy to understand. Java is a versatile language used in a variety of industries and has a strong foundation for learning other languages. C++ is a widely used language for creating applications and games.

3. Are there any coding languages specifically designed for beginners?

Yes, there are coding languages specifically designed for beginners, such as Scratch and Blockly. These languages use visual blocks to represent code, making it easier for beginners to understand and learn the basics of coding.

4. How do I choose which coding language to learn first?

It depends on your personal interests and goals. If you are interested in web development, HTML/CSS and JavaScript would be good choices. For data analysis and machine learning, Python would be a good language to start with. If you are unsure, it's always helpful to research the job market and see which languages are most in demand.

5. Can I learn multiple coding languages at once?

While it is possible to learn multiple coding languages at once, it is generally recommended to focus on one language at a time, especially for beginners. Learning the fundamentals of one language will make it easier to pick up other languages in the future. Once you have a strong foundation, you can then branch out and learn additional languages.

Similar threads

  • Programming and Computer Science
Replies
8
Views
875
  • Programming and Computer Science
Replies
12
Views
1K
  • Programming and Computer Science
Replies
20
Views
514
  • Programming and Computer Science
Replies
11
Views
2K
  • Programming and Computer Science
Replies
6
Views
1K
  • Programming and Computer Science
4
Replies
107
Views
5K
  • Programming and Computer Science
Replies
5
Views
845
  • Programming and Computer Science
Replies
3
Views
1K
  • Programming and Computer Science
Replies
21
Views
2K
  • Programming and Computer Science
Replies
3
Views
1K
Back
Top