What are some good coding languages for beginners?

  • Thread starter Thread starter KamenRiderTorbjorn
  • Start date Start date
  • Tags Tags
    Beginners Coding
Click For Summary
SUMMARY

The discussion centers around the best programming languages for beginners, with strong recommendations for Python, Java, and C#. Python is favored for its simplicity and extensive documentation, making it ideal for quick practical applications. Java is noted for its importance in server-side programming and mobile app development, while C# is suggested for those interested in Windows programming, particularly using Visual Studio Community Edition. The conversation emphasizes the importance of formal education in programming, as self-taught individuals may struggle to find employment in competitive job markets.

PREREQUISITES
  • Basic understanding of programming concepts
  • Familiarity with Integrated Development Environments (IDEs) like Visual Studio
  • Knowledge of object-oriented programming principles
  • Awareness of web development languages such as JavaScript
NEXT STEPS
  • Explore Python through the MITx course "Introduction to Computer Science" available at edX.
  • Investigate Java for server-side programming and mobile app development.
  • Learn C# using resources like Jeffrey Richter's recommended book available at Amazon.
  • Visit Rosetta Code to compare programming solutions across different languages.
USEFUL FOR

This discussion is beneficial for undergraduate students, aspiring programmers, and anyone interested in starting a career in software development, particularly those exploring beginner-friendly programming languages.

KamenRiderTorbjorn
Messages
71
Reaction score
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
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   Reactions: StoneTemplePython and QuantumQuest
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   Reactions: harborsparrow
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   Reactions: harborsparrow
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   Reactions: Klystron
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.
 
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.
 
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.
 
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   Reactions: 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   Reactions: 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   Reactions: 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: 432
  • Like
Likes   Reactions: 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   Reactions: sysprog

Similar threads

  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 16 ·
Replies
16
Views
4K
Replies
3
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
11
Views
4K
  • · Replies 25 ·
Replies
25
Views
880
  • · Replies 20 ·
Replies
20
Views
4K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K