On Feb 23, 2006, at 10:13 AM, James H. wrote:
But more importantly, should Ruby be a first language taught,
period?
I tend to think no.
I see this comment a lot and it bugs me, so I’m going to take it out
on you. (I’m kidding there, really.)
I think it’s important to remember that there are many different
levels of programmer. Some programmers work on operating systems,
bank ATM software, or missile guidance code for a living and we sure
hope they have all the knowledge they can get. That’s not all of
us though!
Many people are coming to Ruby right now through exposure to Rails
for web programming projects. Do they need to know how absolutely
everything works under the hood? Well, it probably depends on the
project, but honestly I don’t think being able to roll their own
binary search off the top of their head is too useful to them.
I work daily with a guy who probably has less language experience
then me, but he sure knows which JavaScript library will help us get
this week’s work done in one day. (He showed me lightbox this
week.) His gift may just be that he follows different news sources
than me, meaning that it isn’t programming knowledge at all. His is
just a different kind of knowledge, but still very useful to both of us.
As another example, my wife works for a food company. She’s always
messing with some data it Excel or Access. One day, I was watching
over her shoulder when she was doing some horribly repetitive changes
to a document.
Soon after that I taught her enough Perl to roll a Unix filter style
input loop, very basic array and hash usage, and a small subset of
regular expression. You learn much more from the first three
chapters of Programming Perl, I assure you. (She has everything I
taught her on a couple of cheat sheets.)
I would not call my wife a programmer and she knows literally nothing
about C, but she does program, and I’m confident that I more than
doubled her productivity for tasks she is often faced with. There’s
nothing wrong with someone getting things done at her skill level.
I’m not arguing that knowing fifteen languages won’t help you as a
programmer. Obviously, experts get to be experts by soaking up all
the knowledge in their field they can get their hands on. What I
think you are forgetting is that we are not all experts. Some of us
aren’t even trying to be, and that’s okay too.
James Edward G. II