Never needing to look outside our own box to find a solution sounds like a good thing (and it is), but after years of not having to look elsewhere for solutions, I found myself questioning whether I was missing out!

It is so rare that I come across a coding problem that requires more than 2 minutes searching CPAN before I discover a solution (or several!).

Rare. Maybe too rare. So rare in fact that I feel insulated from the rest of the coding world. I have never come across a problem I could not solve with Perl.

The added bonus of direct access to the source code of CPAN modules has given me an accelerated learning path (compared with Java or .NET) - further perpetuating the cycle of Perl-only knowledge. Or is it?

I happen to work at a 50/50 Microsoft/OSS shop where everything *we* write is written in VB, and anything *I* write is in Perl. At one point we were going to convert everything to Perl, but nobody else bothered learning Perl. To make a long story short, we're doing .NET now.

Having spent the last few weeks porting some VBScript code to C#, it's not much different than when I ported something similar from VBScript to Perl. It could be that it was me doing the porting both times, and that both Perl and C# have a C-style syntax.

In the past I have experimented with C++. Even though it is considered a "real" programming language, I couldn't see how anyone got anything *done* in it - so much that I took for granted with Perl simply was not available to me.

Learning C# was very different. Even though it has static typing and "One Way To Do It", its garbage collection and the .Net framework class library (analogous to a proprietary CPAN) means I can be more productive than I would be with C++, since most of the wheels I need have already been built and are part of the standard install. (Nice run-on sentence!).

I look forward to Perl6 with its vast CPAN library, built-in object system, threading and delegation. The "insulation" factor will probably still be there, but since Parrot will promote interoperability, the insulation may be more transparent.

When putting a smiley right before a closing parenthesis, do you:

Use two parentheses: (Like this: :) )
Use one parenthesis: (Like this: :)
Reverse direction of the smiley: (Like this: (: )
Use angle/square brackets instead of parentheses
Use C-style commenting to set the smiley off from the closing parenthesis
Make the smiley a dunce: (:>
I disapprove of emoticons
Other