What are some good coding languages for beginners?

  • #1
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?
 

Answers and Replies

  • #2
34,687
6,393
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
phinds
Science Advisor
Insights Author
Gold Member
16,732
7,414
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
12,499
6,288
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
wle
323
146
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
12,499
6,288
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
Tom.G
Science Advisor
3,702
2,387
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
12,499
6,288
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
phinds
Science Advisor
Insights Author
Gold Member
16,732
7,414
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
20,867
4,546
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
Vanadium 50
Staff Emeritus
Science Advisor
Education Advisor
26,408
9,903
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
34
17
I recommend C as it is a low level language. I learnt JAVA and OOP first, then C, but I think learning C is a good way to start. Enjoy!
 
  • Like
Likes FactChecker
  • #16
34,687
6,393
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&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
  • #18
34,687
6,393
@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

  • Like
Likes jtbell and Chestermiller
  • #19
1,961
1,194
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
Klystron
Gold Member
782
1,096
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

Related Threads on What are some good coding languages for beginners?

Replies
3
Views
763
  • Last Post
Replies
4
Views
3K
  • Last Post
2
Replies
28
Views
6K
Replies
67
Views
23K
Replies
14
Views
767
Replies
38
Views
3K
Replies
8
Views
976
  • Last Post
Replies
16
Views
5K
  • Last Post
Replies
21
Views
9K
Top