Lazycoder

11Apr/053

Andys thoughts on Bill’s VB6 link

9 x 9 lightly greased pan: Thoughts on Bill’s VB6 link

hmmmm, I agree with the overall tone of this post. Except I don’t think it has anything to do with a specific language being better than another due to any implied “tax”. I think it has to do with a developers attitude and approach towards their career. Developers that spend all of their time on a single platform, IMO, are worse off than developers that try on other platforms and languages for size. Back when I was doing mostly ASP/VB development, I purposefully hosted my personal web site on a Linux box and set up Linux machines at home. I ported my old ASP code over to PHP to learn a new language. I’ve never used C professionally, never needed to get that close to the metal. I did use C++ during some of my ASP development to get around some threading issues that VB6 and ASP have. Now, I’ve got an iBook and I’m learning Objective-C, the Cocoa framework, and Ruby even though I’m doing nothing but .NET development at work. My point is, I make sure that my skill set is a moving target. If the VB6′ers had started migrating their old source code to C++/C#/Java or almost anything else, they wouldn’t have needed to petition MS to extend support for VB6. I mean, they had at least FIVE YEARS to think about porting or ending support for their own applications.

But I don’t want to pick on the VB6 folks. This kind of programmatic tunnel vision isn’t limited to them. You see it in people who never write a line of code on any platform other than Microsoft or Linux. Or developers who only write in C# or C++ and not VB.NET. Forcing yourself to write an existing application in a language you aren’t used to tests your overall architecture. Forcing yourself to program in a language your aren’t familiar with forces you to be a better programmer. A while back I had a nerdpithany, all programming, at it’s core, is just moving bits around and the only difference between all programming languages is the syntax. All languages have flow control, decision support, a method for storing information. The only thing that’s really different is the words you use to do that. A bubble sort is a bubble sort and a linked list is a linked list no matter what language you write it in. The frameworks differ from platform to platform, but how you structure your applications, the algorithms you follow, and the “mini-patterns” you use will be basically the same. If you don’t bother learning other platforms and languages, you’ll be one of those people sitting at home, unemployed complaining about how the “economy sucks”. I’m not saying anything new and my point isn’t particularly Insightful, at least not to me. I grew up coding on a TI-994A and a Commodore 64. If I had stuck with those platforms and never learned the PC platform where would I be today?

  • http://spaces.msn.com/members/andythecornbread/ Andy

    Scott,
    I agree with you I just pick on C and C++ as the languages to learn because they have historically been the dividing line at which the VB types fall off. If developers don’t diversify they will have to pay the tax. If they diversify they are still going to have to pay a tax but they get to choose when, where, and which tax. It essentially allows them to pick their battles and that is the kind of developers industry/corporations need.

  • Scott

    Oh I agree. I tell kids who ask me what languages they should learn to learn C/C++ even though I use C#/PHP mostly. It’s much easier to transition from C++ to a managed language than the reverse. Plus understanding how memory management really works pays off when you move to a GC managed language like Java or the CLR.

    Although it’s harder than hell to get the C++ folks to let go of their typing system enough to get comfortable with Ruby or Objective C. ;)

  • http://www.codinghorror.com/blog/ Jeff Atwood

    > It’s much easier to transition from C++ to a managed language than the reverse. Plus understanding how memory management really works pays off when you move to a GC managed language like Java or the CLR

    I think this is kinda.. bad advice. I’ll let Jon Galloway explain why, because he does it so much better than I do:

    http://weblogs.asp.net/jgalloway/archive/2005/02/16/374212.aspx

  • Pingback: Lazycoder weblog » Bad developers are made not learned.