Chad Perrin: SOB

8 March 2006

I’m cheating on her, I’m afraid.

Filed under: Geek — apotheon @ 07:00

I’m a mediocre programmer using Perl. It’s the programming language I know best, and I certainly have talent, but I just don’t have enough serious software engineering and development experience to have cultivated some of the skills necessary to be really good at it. I’m working at that, though.

I keep running across things I want to learn. I want to learn Scheme and enough Ruby to be functional. I want to learn more C. I don’t really want to learn much Python or Java, but I’d like to know more of each, so there’s a bit of conflict there. I want to learn more Objective C. I still want to know more Perl. There’s so much Perl to learn. . . .

I was about eyeball deep in Ruby not too long ago. It’s an exciting, interesting, elegant, and easy language. It’s seductive. The weight of incredibly high traffic on the ruby-talk mailing list and my realization that I was spreading myself too thin in terms of what knowledge I was pursuing came to me at roughly the same time, so I decided to pretty much give up on dealing with any languages other than Perl for a while (shell scripting and PHP for lightweight, rapid web development now and then notwithstanding). I did so to allow me to focus more on Perl, to eventually get past the mediocrity barrier. I need to get Perl more firmly entrenched in my brain — or, rather, get general programming skills more firmly entrenched, which requires greater familiarity with some language — so I’ve gotten rid of some distraction.

Ruby keeps tempting me, though. Ruby, that temptress.

It may well be the “best” language I’ve ever had the good fortune to play with to any notable extent. An amazing, sleek, beautiful creature, that Ruby. I look forward to getting back to it at some point soon.

I still do love my Perl, though. I suppose I’m something of a philanderer, wedded to Perl and occasionally tempted to cheat with Ruby. Worse yet, they’re sisters.


  1. My curriculum for Perl mastery: 1) hash slices: @hash{@fields} = @values 2) OO: bless and @ISA 3) OO: AUTOLOAD 4) symbol table hash: %package:: 5) Data::Dumper and Storable 6) no strict; *{$package.’::’.$method} = sub {}; 7) Class::Std (to understand, but not to use), Fatal, anything in Perl Best Practices

    should keep you busy for a while :-)

    Comment by sosiouxme — 8 March 2006 @ 08:34

  2. Thanks, sosiouxme. Some of that was stuff I hadn’t really thought about yet.

    Comment by apotheon — 8 March 2006 @ 08:56

  3. Yes, they’re sisters — Ruby is the younger and better-looking one. But don’t feel bad, my nagging wife is the .NET Framework.

    Comment by Sterling Camden — 9 March 2006 @ 12:29

  4. Perhaps you should have said “The .NET Framework is my nagging wife.” The way you phrased that sounds like a comment about your spouse rather than about the framework. Hah.

    I’m amused by the analogy, in any case.

    Comment by apotheon — 9 March 2006 @ 01:50

  5. It could go both ways — just kidding, honey!

    Comment by Sterling Camden — 9 March 2006 @ 02:42

  6. I agree with you about Ruby. I too, took some time with her, but my need to master javascript to complete my current project called me back. Javascript, Ruby’s half brother! You can see quite a family resemblance. No argument here about her looks. She’s very lovely. I shall return to her, for the future will hold a warm and useful place for her. (I never really go to know her sister, though.)

    Comment by zetacon4 — 13 March 2006 @ 09:11

  7. Ruby is really catching fire lately. Have you seen how the Java people are switching to it in droves? Even some of the Python people are seeing ruby red. It seems that the tipping point came with the advent of Ruby on Rails.

    Comment by Joe Klemmer — 13 March 2006 @ 01:53

  8. I was aware that some of the more prominent and famous Java programmers had expressed a great deal of enjoyment of Ruby as a programming language, and had started using it as an example of some things that should probably be done differently with future development of Java, but I wasn’t aware of droves of Java programmers jumping ship. It certainly seems like the logical thing to do, though, considering that Java is a poor fit for a lot of things for which it is used, and Ruby is a better fit for most things than Java. That’s no better exemplified than with Rails, which makes any Java-based web application development look like a session on the rack in comparison — it’s slow, painful, and likely to produce something broken.

    I’ve long thought that I should probably “force” myself to learn Python despite my rather distinct distaste for it. Ruby is making it more and more difficult to consider learning Python, though, since Ruby seems to cover all the reasons to learn Python, and to cover them better (for my purposes at least) than Python does, so I can certainly sympathize with programmers moving more into the Ruby camp from Python as a primary language. While the language Ruby itself can provide all the necessary impetus, Rails was certainly the catalyst: Python has been well-regarded as a web development language, but Rails leverages capabilities Ruby has and Python doesn’t to provide possibly the best general-purpose web development framework ever made, putting all those popular Python frameworks to shame.

    Rails is definitely the “killer app” that brought the power, versatility, and fun of Ruby to the attention of the general programming public.

    Comment by apotheon — 13 March 2006 @ 06:52

  9. […] But the best thing by far is being your own boss, and making your own hours. At first, I worked way too much. Fear of not making enough to keep going. The last couple of years, though, I’ve scaled back my hours. I take a morning run with our dog, eat a great breakfast, and spend time with the kids before they go to school — then I go to work. I hardly ever work weekends any more, either. Family and life in general come first. And blogging — that’s another way to be more human and less machine. Don’t get me wrong, I love to code. But sometimes you need to expand your circle of friends beyond Ruby and Perl. […]

    Pingback by Chip’s Quips » Blog Archive » “But, you ARE the man” — 3 May 2006 @ 03:00

  10. […] can be good for you on its own merits. Believe it or not, it’s nice to have friends besides Perl and Ruby. So, try to get to know the people in your client’s office. Find out what’s important […]

    Pingback by The human side of IT consulting | IT Consultant | — 26 March 2010 @ 03:23

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

All original content Copyright Chad Perrin: Distributed under the terms of the Open Works License