Everyone is a Programmer

Many believe that not everyone is cut out to be a programmer. That’s hogwash, and here’s why:Programming:

  • Programming is a way of telling a computer what to do.
  • Every form of programming, with the possible exception of assembly/machine code, involves some form of abstraction. Many modern languages don’t even let you monkey with memory allocation, let alone register assignments.

Abstraction vs. Flexibiity

Different programming languages have differing levels of abstraction, and different capabilities:

  • Perl is great for text processing, less so for 3D rendering or device drivers.
  • Java is good for corporate database apps, less so for utilities or text processing.
  • Flash is perfect for simple games, less so for first-person shooters and data processing applications.

Beyond Traditional Languages

There are other ways to “tell a computer what to do,” with even higher levels of abstraction and corresponding limited flexibility:Spreadsheet programs are great for defining moderately complex calculations on data sets, but not so useful for creating games or educational software.Photoshop is ultra-high abstraction programming: “telling a computer what to do.”Other forms of ultra-high abstraction include spreadsheets and customizable databases.There is currently a (perceptual) gap between ultra-high abstraction models and other forms of programming.The gap is closing (slowly).Eventually there will be no gap.


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