Welcome to CrankyGoblin.Com Sign in | Join | Help

Public Class GeoffAppleby

Inherits Microsoft.VisualBasic.MVP : Implements IBrainFart
A Rant on a Comment to my Rant

A comment was left on my last post about the whole VB6 thing. I sat and wrote a response, and was just about to hit send, when I realised how damn long it was.

This thing was no response to a comment! This thing is worthy of a complete new post! Well, maybe not worthy, but I thought I'd make it more visible so that if nothing else, people can leave me even more hate mail :)

Anyway, here's the comment, by Jonathan West.

The point your blog misses is that Microsoft has not only dropped VB6, but also hasn't provided a usable upgrade path,unlike the other products you mention.

To ask for one is not either pro- or anti-NET. It has nothing to do with .NET at all.

To accept that Microsoft can get away without providing an upgrade path should be a worry to you. The key people in the developer tools division at Microsoft seem to have lost sight of the concept that a language and a platform are two separate things.

Platforms come and go. What will you do with the code you have written and need to maintain when the .NET platform goes and Microsoft abandons the languages that formerly targeted it? Of course, it will still be available for a while even after Microsoft stops selling it, so people will tell you "VB.NET hasn't gone away, carry on coding in VB.NET". But the time will come when modern platforms no longer support the latest version of the framework you can still compile to. At or before that point, you will be faced with abandoning all your code and starting again in a new language.

If anything, as a programmer in a new and untried language without any track record in long-term stability, it would be in your interest for the petition to succeed, simply to concentrate the minds of the people at Microsoft on the need to allow developers and application owners to preserve and manage their code assets, lest Microsoft pull the same trick on you in some years time.

So how about a signature from you?

And now for my well-written, witty comeback :) (Note: rants are written quickly and without much editing except for a spell check. IN this way, they're sorta similar to every other post I write. Oh well.)

Jonathan,
You see, this is where I disagree, on two points, and I have one last one to state at the end :)

1) I consider VB.net to BE a viable upgrade path. More to the point, I consider ANY .net language a viable upgrade path (well, some more than others - VB, C#, C++ are the prime candidates, as they are the 'mainest' of the main.

2) Yes, in the future, I'm sure there'll be something other than .net. What's the problems? Back in the day, when COBOL was invented, I'm sure this wasn't considered to be the THE language, that something better wouldn't come along. Same for C. Same for any language that isn't as popular now as it might once have been.

I've been discussing this a lot with people. One thing that I'm firmly convinced in is that software evolves. It's the best (and yes, sometimes the worst) thing about the IT industry.  Time in the IT world goes much faster than it does in the real world. Hardware improves in leaps and bounds. Software tries to keep up. Have a look at the progressions that each OS version the MS have released have made - from DOS, to windows 3, to win 95/98, to XP. The improvements made and the increasing number of things possible in each leap is huge. Having had now the opportunity to sit and use XP, I would become increasingly uncomfortable and restrained if you were to roll back my OS versions. Sitting on Win2K, not too bad, I suppose. Win98? Not pleasant. Win95, quite unpleasant. Windows 3.11 - no thanks.

The same can be said for individual pieces of software. Office is a prime candidate - Office 2003/XP is very pleasant to use. Office 2000, usable, but not as nice. Office 97, well, it's functional, but we hit problems for sure. Earlier than that? Please no.

Earlier versions of browsers. Earlier versions of anything. In almost all cases, the older versions are not as good, or as nice to use, or even desired.

Software languages are the same too. The original BASIC was very simple. When VB came along, people were amazed. As each version of VB came along, more and more things were possible. Pick someone who's still happy in front of VB 6, and ask them if they would be happy to revert back to VB 2 or 3. Would they be?

In ten years time, I'm going to look back at what I was able to do right now in .net and consider it to be pretty sad :)  .net might still be around then, it might not. who can say? This is no worry to me tho, for as the next version comes out, I'll happily upgrade. With development comes a responsibility to keep up. Not much software out there is really that innovative. It's all just a better or newer way of doing the same thing, over and over again. Otherwise, there'd be no need to write new versions of the same program - everything would stay at version 1 forever. New features are needed, better algorithms discovered, just a better look would be nice. All reasons for upgrading, all perfectly valid.

The language you write in is just another piece of software. Upgrades are needed. Sometimes major overhauls. To take VB6 any further and produce VB7, MS realised something pretty important - COM is shit. Now, I'm putting words in their mouths, I have no idea how the decisions were reached, but it seems pretty reasonable to me that in finding a better replacement for COM, .net was invented. This allowed a continuation of the language (and really, the language isn't all that different) without the COM reliance. Take away COM, and what's left of VB6? Just the language syntax. Well, they kept that. I don't see the big deal.

When a piece of software is written, part of the implicit contract that comes with it is that the program will work - for now. There's no guarantees it keep working in the future. So many factors could change along the way - service packs can change things, OS upgrades can change things, anything. At some stage in the future, it's a pretty safe bet that a version upgrade will be required/desired.

Realistically, who actually will currently need MS support for VB6? I can think of only two types of groups.

a) Something suddenly breaks. What would have caused this? Only system changes, by which I mean OS modifications - an upgrade or a service pack. If this is the case, and you're so heavily reliant on your currently broken software, you can roll back the change, or modify the code to support the difference. You can either modify the source (which doesn't require MS's help) or write it again (which gives you the opportunity to upgrade your language).

b) You're currently in development of a VB6 project. If this is the case, you've got problems. If it was started recently, the language choice was very very poor. If it was started a while ago, you've got more issues then no support for VB6 - the project to develop has taken way too long.

Maintaining an existing codebase doesn't require support from MS. It requires people that know the language to come and maintain it.

Projects I write now are currently on about a 50-50 mix of rewriting old stuff in different languages and writing new applications. All of it is being written in .net, and all of it is time being usefully spent. The stuff that is being rewritten is considered too slow and clunky now. The maintainability is shot, because of so many patches, the performance is less than desirable, because VB6 is not as easily optimised. It's now being rewritten into something that's extensible, maintainable, and it takes advantage of what .net has to offer - specifically in our case, web services, which hadn't even been invented when some of this stuff was written.

The new stuff is taking advantage of the exact same things as what we're getting out of the rewrite.

But along with this is firm knowledge that in another 5 years it's quite likely that they'll have to be reviewed again against what's available then. And again 5 years after that. If something better than .net is around great, we'll use it I'm sure. If not, then a version upgrade or two of the .net framework is fine.  Can I still maintain the old codebase? certainly! I'm not stupid enough to throw away the Cd's with the installs for VS2003, and I'm certainly not stupid enough to throw away the CD that contains the OS install that still actually runs VS2003, that way we can always go way back if we need to. For the same reasons, I've still got a copy of win95, win98, and windows 2000. It's for that reason I've still got a copy of my VB6 install. These things get kept so that we can do these things. I don't require MS support for it.

But I doubt I'll ever need to. Everything we currently have written for the .1.1 framework is going to upgraded to 2.0. When 2.1 comes out, we'll upgrade to that.

You see, part of maintaining the software is keeping it up to date, not just hacking in fixes and enhancements.

This is probably my biggest beef. People that are still relying on software VB6 have made an incorrect assumption about it - that the money they forked out back then was the end of the story. It's not. Software should be upgraded and reviewed at regular intervals, be it months or years, or whatever.  If the software that's being depended upon requires older OS's, then what support are they going to need for VB6, when the support for the OS has ended too? If the OS is kept up to date, then the software should be too.

3) (Yes, finally three!). No, you don't get a signature from me. You said nothing to convince me that I should. You're 'what if' that you presented didn't scare me, I look forward to it.

I have never signed a petition. I'm yet to see a petition that wasn't ever started by a closed minded, small minded minority, and this one doesn't do anything to change my mind from that.

Listening to: oceans - pearl jam - (2:42)
Posted: Friday, 11 March 2005 12:33 AM by Geoff Appleby
Filed under:

Comments

Paul Wilson said:

Jonathan seems to be "spamming" us all with this. :)
# March 10, 2005 9:26 PM

Jonathan West said:

if you can manage to get paid to write the same applications over and again in different languages, good luck to you, and I'm sure you have no reason to worry about languages being broken. But have a thought for the people being expected to pay you for this, and whether they might feel that they are getting a bad deal.

You could take your code from VB2 through to VB6 and with a few *minor* tweaks it would work in the later version. Even QB code with line numbers will compile if you paste it into VB6. So, we have essentially the same langauge (with lots of useful extensions as the years go by) moving across platforms from DOS to Win16/VBX to Win32/COM. I had a lot of discussions with the Microsoft people at the time of the original beta, and it was clear that only the DF/GC charge was really required by the platform change. All the other changes to the language (as opposed to the extensions to it) were because they thought they would "improve" the language.

You could make any number or scholarly arguments regarding these improvements, and I might well agree with some of them - for creating a new language. When extending an existing language, it is not clever to extend it in such a way that it is a full rewrite even to bring pure platform-independent algorithm code across. And yet that is what Microsoft did.

Lets have an extension of the support for VB6, a new version of VB on COM, just so that Microsoft can buy some time and see how to do a proper job of bringing the VB6 developer community onto new platforms. Otherwise, Microsoft will continue tot hink that its OK to break languages with each new platform, and you will continue to have to waste your employers' money by rewriting old code.
# March 10, 2005 10:08 PM

Steve Hall said:

To help clarify things: the necessity of upgrading languages and their runtimes has occurred many times ever since the first compiler was written. Upgrading from one major "release" of a language to another has NEVER been simple or trivial! I've spent hundreds of man-hours upgrading FORTRAN 66 code to FORTRAN 80, and COBOL 60 code to COBOL 68 and then to COBOL 74 and then to COBOL 80. COBOL 68 was a good example of a "breaking release".) It took until the mid-70's for all COBOL 60 apps to finally be upgraded to COBOL 68 with no unintended side-effects. Even porting FORTRAN or COBOL between different OS's was usually an upgrade that earned you battle-scars and free entry to the 5th circle of hades. (As Pinhead in "Hellraiser" said: "Your suffering will be legendary!") During almost all such conversions, I ended up fixing both compiler and run-time bugs for IBM (back when IBM was still publishing the source-code), since we couldn't wait for the normal patch cycle to cough up fixes. (Thus, I sympathize somewhat with those who feel that lack of VB6 support is putting them at risk, esp. since they don't have the source-code.)

I keep reading the common myth that "there are many COBOL and FORTRAN apps that have existed since time began that have NEVER been upgraded". (And this myth is used as the basis for the "continue VB6 support" argument.) Well, this "programs haven't been recompiled in 10-20 years myth" is not quite true! Most of those apps have gone through MANY, MANY conversions from one language version (i.e., ANSI standard) to another. Both FORTRAN and COBOL have gone through at least a half-dozen major releases in their 45-50 year history that have necessitated pretty much all apps being recompiled, even just to maintain their support with the compiler/runtime vendor. (Most main-frame OS's, like MVS and VM, are managed such that only one or two different run-time releases are installed concurrently. Keeping the run-times up-to-date necessitates at least testing, if not recompiling, most apps just to make sure they all continue to run without major conversions. I've been through many of just such conversions!) In short, there are VERY, VERY FEW load modules sitting on MVS/VM machines that haven't been recompiled since the 60's!

I think the reason this argument over language upgrades is so loud this time is due to 1) there being a large number of programmers (millions of VB programmers versus a few tens-of-thousands of FORTRAN or COBOL programmers in the 60's and 70's) and 2) most of them don't work within the confines of a data center. In the bygone era, when most programming was done in the rarified air of a data center, it was just like Las Vegas: what happened in the data center STAYED in the data center! When apps needed to be upgraded from one ANSI standard to another or from one OS to another, it was considered the normal course of things, and few people outside the data center (except the actual end-users) knew the hassles of the upgrades. Now, it seems EVERYONE (even non-users of the apps being upgraded) know about language upgrades and the hassles involved.

Now days, as data centers by and large no longer exist as big, over-budgeted, secretive organizations, there is accountability...and a lot of penny-pinching MBAs as executives who have figured out how to be cheap. This cheapness is the crux of everyone worrying about upgrading applications: how do programmers explain it to the cheap bastards that are running the show...that they have to actually keep up with the times or stuff breaks!

Most CEOs are horrified to hear about these "show-stopping details", as they somehow were conned into thinking (usually brain-washed at MBA school) that everything is a "1.0" product: there NEVER needs to be a 2.0 product.....and they mistakenly apply this rule to their own BI apps internally. Essentially, executives these days just don't understand versioning very well, and its effects have instilled fear into most programmers (mainly because a lot of them have actually ended up promising to their executives that their software is not only bug-free, but will never need a 2.0 release). (I hear this all the time these days: programmers having to commit in blood a ridiculous promise of bug-free software and "the 1.0 release will contain EVERYTHING you will EVER NEED!")

In my opinion, any company that has executives who firmly believe in never having 2.0 releases of products (externally or internally) is probably doomed to wallow in it's own gangrene of rotting software. This is NOT how you achieve the "I" in "BI"... Poor planning begets poor execution. If you forgot to plan for the eventual changes from VB6 to VB.NET, then you did your company a disservice! (Was maintenance somehow not part of the product plans?!?!!)

In short, it is the programmer's responsibility to make sure maintenance releases take into account changes in the language, run-time library, and OS platform. Anything less is hackware and doomed to rot at some point.
# March 11, 2005 12:20 AM

Chris Wallace said:

Points to above. WOW!
# March 11, 2005 8:29 AM

ben said:

# March 11, 2005 10:24 AM

TrackBack said:

# March 15, 2005 7:08 AM

LeVaN said:

http://www.avsugning-oslo.seksi-***.com ^^^ http://www.avsugning-sms.seksi-***.com ^^^ http://www.timido-americano-succhi.str0nz0.com ^^^ http://www.imbarazzato-studentessa-***.str0nz0.com ^^^ http://www.univision-noticia.100milfotos.com ^^^ http://www.mamadas-pollones-movies.100milfotos.com ^^^ http://www.sesso-chiquillas-culonas.allievo69.com ^^^ http://www.corsi-d-acqua.allievo69.com ^^^ http://www.loistava-beibit-tupla-penetraatio.huor4.com ^^^ http://www.sopoin-beibit-nyrkki.huor4.com ^^^ http://www.rohkea-tytsyt-nyrkki.hu0ra.com ^^^ http://www.halu-tytot-aasi-jotta-kita.hu0ra.com ^^^ http://www.molto-bollente-amatoriali-prostituta.fott1.com ^^^ http://www.debole-agente-di-polizia-doppio-penetrazione.fott1.com ^^^ http://www.emotivo-asiatiche-spogliarello.f0tti.com ^^^ http://www.amiable-amatoriali-fottilo.f0tti.com ^^^ http://www.imu-torrent-hermaphrodite.s3ksi.com ^^^ http://www.vapaa-pilavideot-lesbisk.s3ksi.com ^^^ http://www.amateur-grandissime-porche.ragazza69.com ^^^ http://www.lo-succhio-il-rilasciare.ragazza69.com ^^^ http://www.ridicolo-nonne-merda.corneo69.com ^^^ http://www.sex-prote-klipaki.corneo69.com ^^^ http://www.infermiere-porche.dibujitosporn.com ^^^ http://www.bebitas-clip.dibujitosporn.com ^^^ http://www.piedi-e-tette-di-fuori.disponibile69.com ^^^ http://www.nella-residenza-gola-profonda.disponibile69.com ^^^ http://www.trepadas.gayfrei.com ^^^ http://www.prepago-medelln-download.gayfrei.com ^^^ http://www.gays-culeando-jpg.petarda2fotos.com ^^^ http://www.senha-de-site.petarda2fotos.com ^^^ http://www.sexo-galerias-maduras.lesbianavideo.com ^^^ http://www.travestis-lindos-jpg.lesbianavideo.com ^^^ http://www.xxx-flacas-mamando.pollonesamateur.com ^^^ http://www.fotos-gay-peludos.pollonesamateur.com ^^^ http://www.gif-relato-lesbiana.sexoexnovia.com ^^^ http://www.lesbiana-cachonda-cuadros.sexoexnovia.com ^^^ http://www.casa-relax.latinas-putas.com ^^^ http://www.video-pornos.latinas-putas.com ^^^ http://www.***-desnuda.putasmorochas.com ^^^ http://www.sexo-abuelas-gratis.putasmorochas.com ^^^

# November 28, 2006 1:35 AM

pola said:

http://sentimento-agente-di-polizia-strip.e71fjt8dy.info/ **#**

http://geisha-picture.ghkr4icqw.info/ **#**

http://www.ea2gpm6.info/feticismo-porno.html **#**

http://www.i5rio48ku.info/3ixfoqq.html **#**

http://spagnolette-di-troie.gw3x6095.info/ **#**

http://poor-spirited-infermiera-figa-fotti.mdp4vw4oxcdk.info/ **#**

http://www.ea2gpm6.info/fiche-calde.html **#**

http://insensato-ragazze-***.mdp4vw4oxcdk.info/ **#**

http://www.h6yzmdsm.info/produttori-vino-veneto/ **#**

http://comfortable-bionde-gruppo.gzdfwhf.info/ **#**

http://tirocinio-bologna.h6yzmdsm.info/ **#**

http://www.cde467zt.info/jixaq2xvlk/ **#**

http://segretaria-ass-to-mouth-in-anticamera.ghkr4icqw.info/ **#**

http://ciechi-sardegna.mdp4vw4oxcdk.info/ **#**

http://ciccione-gay.cde467zt.info/ **#**

http://www.d0tsozq.info/indescrivibile-bellissime/ **#**

http://www.jpeq50t4gzp.info/outlet-bologna-abbigliamento.html **#**

http://www.d0tsozq.info/k7w59ieoz6.html **#**

http://www.g4sgtrt7hatu.info/calze-e-collant-e-sesso/ **#**

http://racconti-e-foto-di-incesto.j95c8-r-1.info/ **#**

http://www.bv2x0l2df5r.info/44i76axsy5/ **#**

http://loghi-suonerie-www.ghkr4icqw.info/ **#**

http://itinerario-pesca.g4sgtrt7hatu.info/ **#**

http://ciampino-autonoleggio.gzdfwhf.info/ **#**

http://www.i5rio48ku.info/9jr18dw2.html **#**

http://www.hlc4w7c48p.info/fanalini-targa.html **#**

http://espresso-pod.fj5sm.info/ **#**

http://www.jkpaip.info/donne-che-fanno-pompini-ad-animali.html **#**

http://www.h6yzmdsm.info/appartamento-brescia.html **#**

http://www.ea2gpm6.info/nude-lady.html **#**

http://www.jpeq50t4gzp.info/148217468/ **#**

http://campania-lavoro.keuo0.info/ **#**

http://lenti-close-up.h6yzmdsm.info/ **#**

http://www.jkpaip.info/prenotazione-hotel-amorosi.html **#**

http://fumettista-roma.jpeq50t4gzp.info/ **#**

http://desiderare-fighetta-sesso.hlc4w7c48p.info/ **#**

http://prezzo-voli.g4sgtrt7hatu.info/ **#**

# January 2, 2007 11:07 AM
Leave a Comment

(required) 

(required) 

(optional)

(required) 

To submit your comment, click on these pictures:
  • Geoff's tongue
  • Geoff has an idea
  • Geoff the big mouth
Gaptcha Image - No Peeking! Gaptcha Image - No Peeking! Gaptcha Image - No Peeking!
Gaptcha Image - No Peeking! Gaptcha Image - No Peeking! Gaptcha Image - No Peeking!
Gaptcha Image - No Peeking! Gaptcha Image - No Peeking! Gaptcha Image - No Peeking!
Can't recognise the people in these pictures? Look here for a quick introduction.
There's a time limit for you to get your comment submitted before this set of pictures expires. If you think it's been longer than 10 minutes, get some new pictures first (you won't lose what you've typed so far).
Get some new pictures 

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS