Programming 101: What Language Should I Learn First?

 In Uncategorized

This is the first part of a series I’ll be publishing for beginning programmers. I’m hoping it offers some insight to newbies and provides me with an opportunity to organize my thoughts on the subject. I’ll try to keep each article centered on one topic, but I may bounce around a little to include related topics that interest me.

A question I hear a lot from people who want to learn programming is, “what language should I learn first?” Many good answers have been provided to this popular question, but I’ll offer some insights that I wish I had known when I was getting started.

Don’t “Choose” a Language

With so many languages available, choosing a starting point can be intimidating. After all, you probably don’t know much about any of them yet, so how can you make the best choice with little or no knowledge?

I recommend you begin by learning the fundamentals of several languages.

My suggestion is that you don’t even think in terms of “choosing” a “first” language, but rather begin by learning the fundamentals of programming in general. Better to begin thinking about how to approach common problems in terms of procedural patterns and popular algorithms, than to focus on whether Java or Javascript is more suitable for hypothetical future projects.

Focus on the Fundamentals

If you’ve ever used sites like Code Academy or Code School, then you’ve probably noticed a pattern: the fundamentals of all programming language are very similar. They each provide a way to declare variables and assign initial values, write blocks of code inside functions to operate on those variables, and design a control flow to determine which path to take based on user interaction.

Here’s what you should focus on:

  • Variables
    • Declaring variables
    • Understanding types
    • Assigning values
  • Expressions
    • Operating on variables
    • Arithmetic Operations
    • Concatenating Strings
  • Control Flow
    • Conditional statements (if, else if, else…)
    • Case and switch statements
  • Loops
    • For loops, while loops, etc.
    • Incrementing
    • Break
    • Continue
    • Iterating through arrays
  • Functions
    • Writing functions
    • Calling functions
    • Passing parameters
    • Returning values

There’s plenty to learn beyond this, but until you’re confident with these fundamental elements, there’s no need work beyond this. When you’re learning how to think in terms of these common patterns, I’d recommend you do so by trying out several languages such as Java, Javascript, and PHP. The syntax will vary, but identifying the common algorithms is what’s important.

Don’t Dream Big, Try Small

Don’t get caught in the trap of dreaming big: creating the next Facebook or bringing the next high-grossing app to market is not a good first project. Instead, try to start building small things. Build a web form that uses Javascript to validate user inputs. Build a simple calculator in Java. Build a web scraper in Python. Or you can even find working code for a classic video game and modify it to add features or change the way it works.

Whatever you do, remember that the old saying about the best way to eat an elephant: one small bite at a time. I hope these thoughts resonate with you and get you excited about jumping into the exciting world of programming.

Good luck and happy coding!

Recent Posts