Some Programming Languages to Consider Learning

Learning a new programming language can affect the way you think.  While most modern languages are Turing Complete and can theoretically all accomplish the same things, that’s not practically true.  Each language has its own strengths of expressiveness.  For instance, trying to write dynamically typed code in C++ is possible, but a pain in the…

3

10 Programming Languages Worth Exploring

Now that I’ve completed the final class toward my Masters Degree I have the time to explore some things of my own choosing.  One thing I intend to do is to learn a new programming language.  This article I discovered via Reddit is a good place to start.  It lists 10 languages worth learning.  These…

1

Stroustrup on What’s Wrong With CS Programs

Similar to thinking of Joel Spolsky (and me), Bjarne Stroustrup (the inventor of C++) says the way we teach CS today is broken.  That is, it is at odds with the needs of the industry.  Having just completed a Masters in CS I can say first hand that this is true.  Some of what I…

2

The Company You Work For Matters

In an episode of Stack Overflow Podcast, Jeff Atwood made an interesting point.  He spoke of the difference between companies that deliver code as their product (like Microsoft) and companies who use code to support other business interests (the IT department inside Weyerhauser for example).  In a company whose business model is to make and…

2

Hello World Podcast

MacBreak Tech has a recent podcast talking about learning to program.  They begin with the question “how do I start programming games” and break it down. Pick a project.  Don’t learn for learning’s sake.  Learn to accomplish something.  It will give you a structure to hang your learning on. Pick a language.  They suggest Python,…

1

Do We Need A New Kind of CS Degree?

Joel Spolsky suggests that we should have something called a BFA in Software Development.  That is, a Bachelor’s in Fine Arts focused on creating software.  I think he’s onto something.  I’ve called for something similar in the past.  Presently there are two sorts of degrees that seem to be offered in the market.  There are…

5

What Self-Taught Programmers Are (Often) Missing

Some self-taught programmers can hold their own with the best coders out there.  Others, although smart people, are fundamentally less good at programming.  While there is variation among classically trained coders too, they are on average better than their self-taught peers.   Why is that?  Why can’t self-taught programmers become as good in similar numbers?  There…

5

Practice, Practice, Practice Makes Perfect

I was sent a link to this article as a followup to my post about learning to program over a long period of time.  The article isn’t about programming but rather about comedian Jerry Seinfeld.  When he was young and working to be a comic, he had a particular technique for learning that applies to…

3

You Can’t Learn To Program In A Hurry

A friend turned me on to this essay from Peter Norvig entitled Teach Yourself Programming in Ten Years.  In it the author attacks the idea of the “Teach Yourself C++ in 21 Days” kind of books.  They make it look easy to learn to program.  Unfortunately, it isn’t.  You can’t become a good programmer in…

13

Why Algorithms Matter

New programmers often don’t appreciate the power of algorithms.  They have one criteria for a piece of code:  does it calculate the right answer?  If it does, they go with it.  Every CS program has at least one class on algorithms.  However, if you are a self-taught programmer, you may not have been exposed to the ideas. …

3