|Think about Loose Coupling|
Re^2: The Perl Hacker Inferiority Complexby jdrago_999 (Hermit)
|on Jul 24, 2006 at 17:32 UTC||Need Help??|
Let me explain what I mean by "insecure".
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.