|

Learn a Programming Language

Note: This article was published while I was in my early 20s. I was much younger and dumber. Please don't hold it against me. One of the perils of having a 20+ year old website!

Over at LifeHacker, they are hosting a spirited discussion on what the programming language to learn first is. I think this is a pretty interesting discussion to have and want to comment on what the others are saying, as well as justify my stance. First of all, I did weigh in, saying:

I’d say if you’re not going to be a serious applications programmer, learn some weak-typed language like PHP or Javascript first to get your feet wet with program logic without having to worry about whether your types (the difference between say a number and a word) are correct. This will help you with the control structures(if statements, loops), how the logic works and how to solve some basic problems. Then you can move on to a more advanced language and learn the different types, objects, etc.

Many of the others who commented said that Javascript is not a programming language, it’s a scripting language. Is there a huge difference? Maybe, but not to someone first learning. They will not be doing things a programming language calls for- they will be learning control structures and how a program works, what kind of logic goes into writing a program, etc. To be honest, I first learned Java when I was a freshman in college, but I didn’t really understand programming until I picked up PHP over winter break of that academic year. So is there a difference? Sure. Is it a huge deal to someone starting out? Not at all.

Then we’ve got those who say, “Learn C first, it’s the best” or someone even said, “Learn Assembly.” I know how to program and Assembly is hard. You’re not writing code in something that looks remotely like English and you need an understand of how data is represented on a machine. It sort-of applies for C too, as C is a low level language. Don’t get me wrong, C is the best language I’ve coded in- it’s fast and you can do really powerful stuff. But I think pointers alone is enough to turn someone off to C and programming in general.

Finally, we’ve got those who say learning an Object Oriented (OO) language is the way to go. I can see that. I feel there is enough abstraction there that the learner might be ok. They shouldn’t dive right into object, however, because objects are pretty difficult to visualize if you’re just starting out.

I still say my approach is at least a good one. Learning a simpler language that doesn’t put restrictions on data types will allow the learner to focus on program logic more than data representation. They will begin how to think like a programmer and can move up from there. PHP isn’t a bad place to start because it acts like a simple language (weak typed, syntax is pretty easy to understand), but you can do some powerful things like create objects.

Teaching yourself to program is a pretty daunting task to begin with. However, if you pick up a good book and start with a simple language, you should be fine.

PS- HTML is not a programming language. It’s a Markup Language. You will not learn anything about programming.

Similar Posts

  • You Don’t Need to Work Weekends.

    People who tell you that you need to work on weekends are liars. They need to work on weekends. I know that’s a spiky point of view. But it’s true. The people who are telling you need to work on weekends to be successful as a business owner are probably the same people who are…

  • |

    What is a Hackathon?

    According to Wikipedia, a hackathon is defined as: …an event in which computer programmers and others involved in software development, including graphic designers, interface designers and project managers, collaborate intensively on software projects. Basically, it’s a place were people who work with computers can come together to hopefully make something awesome. There are all types…

  • | | |

    How I Built the “WordPress: Year in Review” Website

    Earlier this month I launched WordPress: Year in Review, a content project where I’m wrapping up everything that happened with WordPress and in the community this year through an eBook, podcast, and video series. It’s an immense undertaking, so I decided to seek community support through sponsors and crowdfunding. We’re 3 weeks into September and I’m nearly 2/3 of the way to my crowdfunding goal which is exciting! I thought I’d take some time here and explain how I built the site.

  • | |

    iPod Shuffle: So Small, So Complex

    Note: This article was published while I was in my early 20s. I was much younger and dumber. Please don’t hold it against me. One of the perils of having a 20+ year old website! With all the news in politics happening lately, I’ve almost forgotten why I started this blog: to talk tech. It’s…

  • |

    What I Learned from 2 Weeks without Data

    When I arrived in Italy for what would be an epic 2 week honeymoon, I had a plan in mind to make sure I would not be without a cell phone and data connection. My wife got me a Nexus 5X last Christmas so I decided to sign up for Google’s Project Fi for international…

One Comment

  1. I just started with Object Oriented BlueJ programming as my first language and its really easy to get a hang of the syntax and basic functions. I would say thats the way to go for any other beginners.

Comments are closed.