Dr. Jerry Pournelle

Email Me


Why not subscribe now?

Chaos Manor Subscribe Now



Useful Link(s)...

JerryPournelle.com


Hosting by
  Bluehost


Powered by Apache

Computing At Chaos Manor:
The Mailbag

Mailbag for May 28, 2007
Jerry Pournelle jerryp@jerrypournelle.com
www.jerrypournelle.com
Copyright 2007 Jerry E. Pournelle, Ph.D.

May 28, 2007

I am writing this on break from duties as Guest of Honor at Balticon, and it will have to be brief. Thanks all!

Subject: On breaking software in a complex ecosystem

Good evening Jerry.

I still recall with pleasure the user's column you used to write on Ezekial, and was interested in the idea of a complex ecosystem that Dr Kay discussed. I am aware he is speaking of hardware, but the same thing is happening elswhere. I can recall three incidents in the last year that illustrate this.

The first is public domain: John Ringo has written up in his inimitable fashion the joy he had adjusting to Word 2007. To quote the man: read this link.

So I booted up Word, started Windows Media, went back to Word and (expletives deleted). What in the [expletive deleted] is THAT? THAT'S WORD?

Let me be clear. The new word looks not a bit like the old one. It doesn't work like the old one or any previous version. It has so little compatibility, I might as well go over to Open Office. There are no menus, only toolbars, most of which are filled with junk I don't use and I've been unable to find much of what I do use. Fortunately, most of the keyboard shortcuts haven't changed. Otherwise I'd be truly [expletive deleted]. But what the [expletive deleted]. I could stumble along with it. And since I had a more "normal" keyboard on the new computer (my choice, can't bitch) several keys I'm used to hitting from muscle memory have moved. Thus adding another layer of complexity.

Now a couple of mine

About two years ago a research group I am part of had finished a project and had to write it up. As in most academic groups, we were scattered over four universities in two countries. We agreed to use Word and Endnote. The problem was versions: there are incompatabilities between Endnote 7 and Endnote 9, and also between Word for the Mac and 2003.

I recently revised some work for a publication group. The editorial staff had decided to bring in content management, and distributed a word template. Now I (for many reasons) don't like Windows, and only use it when the people pay me scads of money tell me I have to. (Me academic. Me able to choose, so have openSUSE at work -- in case I have to use SAS -- and ubuntu at home). My co-author therefore started the edit by opening up the word macro in Word 2003 and then imported the previous revision. We broke the macro, instantly. I then fired up wine, where I have a version of Office 97 for such emergencies (as an aside, winetools is brilliant for setting these things up) and... broke the macro. Since I have a clinical job where I have to use windows, after work fired up their system -- and again, no dice. By now we were getting close to deadline, so we did the revision, and when the IT people complained, I marked up the changes using the highlight tool -- in Open office.

It's clear that Microsoft has chosen not to keep compatibility across Officexen. One solution would be to set standards -- such as open text document. We need this now, as most editors are going to weep when they have to interact with authors once they upgrade.

Chris Gale

Microsoft had the usual dilemma, and chose to bite the bullet: a new interface for Office. Most people who spend a week with Office 2007 begin to like it. I know I would except that I find I have to work with Word 2003, and switching from 2003 to 2007 and back is very difficult. On the other hand I have so far found no problems at all in working with a novel kept in Office 2003 format but often edited in Office 2007. In fact I just turned in a copy to my agent...


Subject: Solaris

Sun wants to promote Solaris. They have taken the step now of not only making it freely available for download but will mail you a DVD free.

I ordered the DVD and loaded it on a couple computers at work that were scheduled to be reloaded anyway. People tried it, and now we are using it on some of our net stations. It is not the Perfect Answer to All Problems, but it does free up some of our Windows licenses and moreover does not crash.

We are buying a support contract for ten machines now.

Is it better than Linux? Only in the sense you don't have to explain "which" Linux to anyone-it's a standard configuration. We looked at FreeBSD a while ago for that reason, but never did anything about it. I think we will be using more Solaris, not to replace Windows, but to supplant it.

James

Frees up Windows licenses and does not crash sounds pretty good...


Subject: The Mailbag for May 21... Dead Languages

When I read this statement from one of your correspondents it struck me with some amusement.

"Why haven't all COBOL programs been updated to a more recent technology?"

Truth is, they pretty much already have been. I doubt there are many programs out there still being maintained under DOS (mainframe or PC) and that run under such a primitive OS. Indeed, when I compile legacy COBOL in a maintenance mode, I am often sitting at a multi-windowed PC using an Eclipse-based interface. (IBM's WebSphere Development Studio Client.) This is available on all the major IBM platforms, and the same Eclipse IDE is available for free to Linux and Windows users for use with PERL or Python, or whatever language is needed.

PC COBOL compilers are pretty awesome these days too. Download the free MicroFocus .Net compiler and try it out. It is astonishing what you can do with COBOL. (see this link)

Even RPG has gone visual today, with companies like ANSA doing full .NET implementations that run under Windows, and IBM providing VisualAge RPG for Windows free with WsDC.

Sure the legacy programs still exist out there, but they are not maintained the "old" way, at least not in many shops, and they certainly run under the latest operating systems. (z/OS, z/VM, i5OS, Linux, AIX, HP-UX, Windows Vista and Server 2003, etc.) Perhaps that does not qualify as rewriting the programs to come up to the current 2007 idea of standards, but after all - that may not be all that good of an idea anyway. Some standards change over time...

-Paul R.

I used FORTRAN and RATFOR up to the point when I pretty well quit programming. One remembers what one learned. But I do believe structured languages are best.


Subject: VB6 - Long Live the King

Jerry, As long as there is a need for VB6, and developers who love it (warts and all), there will be Google groups and web sites to support it. C'mon gang, when was the last time you went to Microsoft (of all places) for VB6 help? Just like I did, you go to Google, type in "+VB6 +MyProblem", get your answer and move on.

Note I say "did" - 2-3 years ago, we wanted to take our Delphi-based app mobile, and I HATE maintaining code in ONE place, much less two or three (Windows, Palm and PocketPC). At the time, AppForge had this great VB6 add-in (later VB.Net, also) that allowed one to use VB code, without too many limitations, in a mobile app. And it worked really well. Single point maintenance, native-look apps. I loved it. I didn't love their licensing, though - and then the doors closed at AF, forever. Really, really bad news.

Fortunately, we were already looking at expanding our product line to a web service and associated web application - all with the (remember, lazy hateful me) same core code. Weeellll, VB6 mightn't be the best choice for that, so I took a look at what's our there (VB.net, Python, etc), ran across NetBeans (free Java IDE) and especially all the tutorials, and I am sold. Good-bye VB*, middle-finger to AF (and Oracle, who bought the IP with no thought to current users, for that matter), hello NB6 (hmmm, "VB6"->"NB6"???) and as huge a fire-hose as a I can handle (maybe more, ahem). We will end up with Wintel, Mac, Linux, Palm and PocketPC apps, and the web service and web app - all from a single code base. And just in time, Sun comes out with JavaFX to increase portability!!! Free!!! I don't have to join an MSDN, I don't have to buy the IDE.

That said, if we hadn't been so dependent on AppForge, we'd still be using VB6...just no reason to change, although VB.Net has some cool stuff, but not enough to warrant a re-write. And our VB6-based software works just fine on Vista. I don't think VB6 will die for lack of support. It will, someday, die because it has been replaced by a truly better product - or at least when all the VB6 developers have retired - and maybe that will be VB7(open source, of course).

Dave Curry
Inyokern, CA

Long Live the King!

Dr. P,

While I sympathize with the vast pool of Visual Basic developers who feel abandoned by Microsoft, I still am compelled to disagree with all the arguments I've seen put forward that Microsoft is wrong for terminating support for VB6.

Simply put, if you want Uncle Bill to support your toolset, you have to make it worth his while.

Microsoft's fundamental raison d'etre is to make a profit. Whether they admit it or not, the people signing petitions demanding that Microsoft continue support for a software system which is no longer sold are demonstrating a communistic preference to subsidize their own business with Other People's Money. How many of the people ardently demanding continued support (at Microsoft's expense) would be willing to pay for continued support out of their own pocket?

There is a clear business opportunity for some company to profit by ensuring the ongoing viability of VB6-dependent applications, but it is obvious (to me, at least) that Microsoft has looked at that opportunity and concluded that the probable cost outweighs the probable income. Until somebody (or a bunch of somebodies) convinces Microsoft otherwise, the most likely avenue for continued support is via a third party, very much like what happened with OS/2.

Either way, VB6 programmers who need (or want) ongoing support will need to pay their own freight in obtaining that support.

Regards, Bill Clardy


Subject: May 21st mail bag responses

Jerry,

Looks like my comments of a couple of weeks ago regarding the demise of VB6 / VFP have struck a nerve with some of the other readers. Although I know I'm running a rather high risk of deceased equine flagellation, I'm going to ask your indulgence to give me a change to offer a rebuttal or two.

James Chamier writes:

I was moved to write when I read the letter from Jonathan House published on Mon 14th. He missed the point completely when he said "These are scripting languages provided by a single vendor (Microsoft) that have reached the end of their support life cycle." Anyone who calls VB just a "scripting language" has missed the point.

He has also missed that point that high level languages provide the flexibility and stability that modern applications miss. Basic has always been inherently safe, no need to worry about "buffer overflows" as the compiler or runtime automatically handled it.

I'm not quite sure what points I am missing here. Yes, it was a bit disingenuous to call VB "just a scripting language". VB6 and VFP did indeed have OO characteristics, but the vast majority of VB / Visual Foxpro code that I have reviewed in my career utilized the language in a scripted manner - massive chunks of code, no attempt at code re-use, etc. Be honest now, of all of the VB / VFP code out there, how much of it really is well designed and reusable, and how much of it is big piles of spaghetti code, that only the original developer has any hope of maintaining?

I'm also not understanding the comment about "high level languages". Are you claiming that Basic is considered a "high level language"? High level languages utilize higher-order symbolism to allow the expression of more complex functionality. For example, in any OO language you can declare that a specific class should "inherit" the attributes and behavior of another class, allowing you to essentially duplicate the desired behavior in a separate software element without having to repeat any of the code from that original class. Try pulling that off in Basic.

Neither of these points that I seem to have missed change the fundamental issue. VB and VFP are single-vendor languages. As such, all of the code you develop in the language exists at the pleasure of the emperor, so to speak. In this case Emperor Bill (or one of his vassals, more likely) has decreed that VB and VFP are no longer the currency of the realm. I'm not sure where the Basic digression comes from - Basic is not VB / VFP, and those that choose to continue to develop in Basic aren't locked in to using only MS Basic.

Many large companies rely on in-house applications written by staff who are not professional developers, but have produced something incredibly valuable. This is the legacy of VB. It was an enabling technology. How can we let that vanish?

I'll be honest with you. Statements like the one above are sufficient to give me night-terrors. Imagine that you are a major shareholder of a financial institution, and the CTO of the organization comes out with a statement like the one above. You'd be dumping that stock faster than you can say "Capability Maturity Model". I've served as a principal officer in three separate software development companies and I can tell you that there was never a time where I would allow software written by non-professionals to be used at the enterprise level. Even software that WAS written by professionals had to pass through a vigorous testing and QA cycle before it was allowed to be used in a production environment. Perhaps you can elaborate on how using a non-professional friendly development language is an advantage for the businesses that I have managed software development for?

Robert Conley writes:

The issue here that Microsoft actions destroyed the single most popular programming language on the planet. Despite months of warning and pleading by various noted Visual Basic developers they released an incompatible product. But unlike Borland or other programming tool vendors they have so many streams of revenue that they are insulated from the immediate consequences of their actions.

I'm going to have to take issue with Mr. Conley on the above paragraph. VB is not the most popular programming language on the planet. Rather than citing reams of dry Forrester or Gartner studies, I'm going to point to this slightly tongue-in-cheek popularity test - the number of jobs requesting specific programming skills:

http://www.tiobe.com/tpci.htm

I will agree that MS was indeed insulated from financial "harm" by the fact that they have their fingers into quite a few different pies. But I am of the opinion that the primary motivation for the VB / VFP end-of-life has more to do with their ongoing .NET migration effort than actual losses sustained in supporting the VB / VFP product lines.

This is a textbook example of why you shouldn't select languages supported by a single vendor. What is going to happen to all of that .NET community when MS decides to move in a different direction with their language support? Never happen, you say? Tell that to all of the developers that thought that VB was going to live forever.

I have to disagree most strongly with the fact that MS is the 800 pound elephant. An 800 pound elephant is a runt, at best! Now an 800 pound gorilla, that's another story...

Seriously, most companies do touch MS software on a regular (if not daily) basis. And yes, most software out there is not for the internet, nor is it pre-packaged applications such as the ones cited above. There isn't just hundreds and hundreds of developers out there in those markets, there are thousands and thousands. That being said, I'd challenge you to produce evidence that proves that most of them are programming on a MS language, let alone VB as the most prevalent language.

And aren't you tired of getting MS induced colds by now?

Final thoughts. Jerry, I am in complete agreement that ADA would have been an excellent language choice for the software industry, especially the ADA 95 revision. But as you indicated in your summation, it won't happen. Beyond the bureaucracy there is far too much momentum within the industry towards Java and .NET, and all of that C/C++ code isn't going to go away any time soon. Disclaimer: By industry I mean the general business industry, not the military and aerospace sectors.

Warm regards,

Jonathan House Technology Operations Director, Amirsys Inc.

And perhaps that is enough on the VB6 issue.


Subject: You forgot one.

"IBM is the only major user of Linux and Open Office with the resources to stand up to Microsoft."

What about Google? Google used Linux to run its empire. Google search is powered by Linux. If Microsoft has a sure fire tool to get a bunch of money from Google or destroy them don't you think they would use it?

What about Intel which has contributed a lot of code to Linux? Would Microsoft have the guts to sue their soul mate Intel?

And this statement is one I really think you got backwards.

"IBM is the only major user of Linux and Open Office with the resources to stand up to Microsoft. It also has no real interest in doing so. It is extremely likely that Microsoft will make IBM a fairly generous offer that includes cross licensing and the agreement not to sue each others' customers - i.e. a deal very similar to the one Microsoft has with Novell - and that IBM will take the offer."

Microsoft has no real interest with going after IBM at all. IBM is the IP monster not Microsoft.

Finally you have the real question. Can software be patented at all? That is an unanswered question. I think Microsoft knows that the answer is no. Right now Microsoft is waving around a machine gun. It will not pull the trigger because it is loaded with blanks. The problem for them is. Everybody knows it.

LW

I would not have thought that what I said about IBM implied that IBM or Microsoft had much incentive to challenge each other; quite the contrary. As to Google, they certainly have the resources, but beyond hampering Microsoft I don't see the motive.