jump to navigation

Learn to Program (With Python) April 29, 2011

Posted by PythonGuy in Beginning Programming.

There are a finite number of broad skills that any successful programmer must master. The language used to program is only one of them.

Let me list them out as best as I can:

  1. Understanding what’s possible in programming, that is, the science bits.
  2. Understanding how to put things together to accomplish a specific goal, or the engineering bits.
  3. Understanding the programming process, where things go wrong, and how to manage that. This is the management bits.
  4. Understanding how to work as a team. This is more than making friends, and has to do with how to divide up tasks and bring things together in harmony.
  5. Understanding the platform and environment you are programming in, its limitations and capabilities.
  6. Understanding the code base you are working on, where things are and how things are organized.
  7. Understanding the programming language used, its strengths and weaknesses and how to work around them.

Of those skills, the only one people seem to pay attention to is the last one. However, on the stack of things, that’s probably the least important thing. Sure, if you’re working on a project written in Java, you’re going to write Java. But compared to understanding the environment and platform, understanding how to manage the programming problem, working with your teammates, and figuring out the science and engineering of programming, it’s the least of your concerns.

If you’re a beginner programmer, I strongly recommend you choose a language that is as easy as possible to learn (Python), that expresses the vast majority of programming concepts (Python) and that has a strong community built around it (Python).

There are other really, really good choices you can make, and a couple very, very bad choices you can make for a first programming language. Java and C’s community makes up for its language deficiencies, but you are going to fight an uphill battle mastering a difficult language unnecessarily. Perl and Ruby both have a strong community, and a more moderate learning curve than C or Java, but again, why complicate matters with a language that is more difficult than it needs to be?

One day, you’ll likely find yourself working on a C, Perl, or Java project. However, if you’re been successful in learning all the other skills that have to do with programming, you’ll pick up these languages in no time flat.


No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: