|

Learn a Programming Language

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.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *