I have now few years of Perl experience with me and feel comfortable. It's also coupled with my degree in computer science. I am at a point in my career that I am happy with what I am doing. Now, I am transferred to a group where VB and .Net gets priority over anything else, especially Perl. I have mastered Perl so that I can implement any thing that is easily possible for the language. In order to gain proficiency like this in .Net and leave Perl, it would take few months as I believe. Should I go about it or stick to Perl? If at all I have to go with .Net what are the starting tips, that you would mention?
Thanks for your wisdom.

Replies are listed 'Best First'.
Re: Perl to VB.NET
by nicholasrperez (Monk) on Aug 01, 2007 at 18:30 UTC
    From someone who knows multiple languages (and also started off learning Perl first): take the core ideas in Perl and use them as a foundation or spring board to learning other languages.

    At first, it will be hard. Consider hashes and arrays. Perl's built-in data structures are, I think, probably the most important part of the language. Not so in other languages. So take the time to find out where those tools reside. In the .NET world, Hashtable and ArrayList are off in the System.Collections namespace.

    And there are other examples that are similar. Don't throw away all of your knowledge gained from learning Perl first. Just map the ideas from one to the other and you will be successful.
Re: Perl to VB.NET
by derby (Abbot) on Aug 01, 2007 at 17:15 UTC

    Your job may see perl and .net as mutually exclusive but you don't have to view it that way. Learning multiple languages is not a zero sum gain game.


    Updated: As grinder pointed out to me ... it's zero sum game not gain.

Re: Perl to VB.NET
by dogz007 (Scribe) on Aug 01, 2007 at 19:35 UTC
    nicholasrperez has a good idea above when he says to "map" your ideas from Perl to .Net. Perhaps you could ease the transition by constructing tools in .Net to help you manipulate arrays and hashes just as you would in Perl (i.e. functions such as map, grep, push, pop, shift, unshift, splice, reverse, join, keys, delete, sort, etc.). This would not only give you excellent practice in .Net programming, but would also allow you to directly carry over many of your Perl techniques into your new .Net environment.
      Some of those are already available as methods of the various container classes.

      holli, /regexed monk/
Re: Perl to VB.NET
by CountZero (Bishop) on Aug 02, 2007 at 15:58 UTC
    As someone who has switched from VBA and VBA to Perl, I would say to be very careful to map your Perl knowledge to VB or you will be writing Perl in VB and you will never learn to write proper VB.Net.

    I do not mean to say that you have to start from scratch. As an experienced programmer you have a lot of meta-knowledge on programming and solving programming problems, only apply this experience the VB.Net way and not the Perl-way.


    A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

Re: Perl to VB.NET
by Aim9b (Monk) on Aug 09, 2007 at 15:17 UTC
    You needn't "switch" to .Net, just 'include' it in your problem solving toolkit. Multiple languages (& more importantly, when to use each) is what distinguishes great programmers from the merely good ones. You also may need to hone your salesmanship skills, in order to convince mgmnt "when" perl is a better tool for some task, than C++ or VB.