Import blogger data.
This commit is contained in:
14
_posts/technology/2006-08-22-programming-theory.html
Normal file
14
_posts/technology/2006-08-22-programming-theory.html
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: post
|
||||
title: 'Programming: The theory'
|
||||
date: '2006-08-22T04:14:00.000-04:00'
|
||||
author: Anna Wiggins
|
||||
tags:
|
||||
- programming
|
||||
- Technology
|
||||
modified_time: '2013-10-22T11:19:50.878-04:00'
|
||||
blogger_id: tag:blogger.com,1999:blog-4209116010564764361.post-3711031036226478256
|
||||
blogger_orig_url: http://www.stringofbits.net/2006/08/programming-theory.html
|
||||
---
|
||||
|
||||
One of my biggest problems with the IT community, both in amateur programmers and prospective employers, is the following question: "So, what programming languages do you know?" This implies that learning a language is an extremely difficult task, and collecting languages like trophies is somehow a worthy pursuit.<br/><br/>A programming language is a tool. A skilled craftsman isn't good at her trade because she knows how to use a given set of tools; anyone can learn that. Rather, true skill comes from knowing how to *apply* the tools. The fundamental concepts behind programming are the skills on which we should be focusing.<br/><br/>This applies to academia as well. The language you use to teach students, especially the first language they encounter, *is* important. I'm not about to advocate "teaching languages" like Pascal, though. I think it's important to choose a real-world language, with all the pitfalls and caveats of a real-world language, as a student's first language. At the same time, it should be a language with the features available to demonstrate all the fundamental concepts in programming. A language that doesn't support recursion would be a Bad Choice, for example.<br/><br/>So, when someone (a peer or a hopeful programmer-to-be) asks me "what languages do you know?", I won't respond "Well, I know C, C++, Java, perl, php, xhtml/xml/css (if you count those), lisp, prolog, LotusScript, Javascript, LSL..." etc. Instead, I'll say "I've used a number of languages, but the key thing is that I know how to learn any language." When an employer asks, I suppose I'll have to say "Well, I know @languages...". Then, though, I might add "...but I consider the fundamental concepts behind programming languages to be more important, because mastering those means I can learn to get around in any language given a week or two of study."<br/><br/>In summary: Learning a programming language is trivial, once you know the fundamental concepts of programming.
|
Reference in New Issue
Block a user