Fog Creek Software
Discussion Board




Technology ought to last longer

I have this belief that a given technology ought to last longer than my underwear. With Microsoft, it simply is not the case. ADO, DAO,OLE DB, Active X, OLE, ODBC, .NET, Assemblies blah blah blah.

Now if the blurb is right, Longhorn will be based on the SQlServer database engine. Apparently, MS will provide "backward compatibility". This essentially means another round of code rewrites. Basically because to optimize your application for longhorn, you simply cant use the old API any longer. I dont mean this for every application though. So for those of you who ported to .NET, welcome to another round of code rewrites. You can also bet that it will lead to new viruses, new bugs, new nuisances.

Joel was making the point that they develop new technology to screw their competitors. I dont think so. It probably has to do more with incompetency. I mean look at Oracle. Oracle 7 and Oracle 9i, there is no fundamental difference.  Oracle 9i is way ahead of 7, but still anyone using 7 can port and use 9i. Same is with almost all other technology i have used except those coming from MS stables. Technology improvement essentially means you can port if you want to, but you can assume that the old stuff works still. I mean, i agree oracle upgrades are a pain. But you dont have to rewrite or face 100 bugs  as in the case of MS.

I think there is something fundamentally wrong with their codebase, if they cant make incremental improvements and have to rewrite each time.

I work with a wonderful tool called Centura team developer (www.guptaworldwide.com). I dont belong  there, but you can check out their software sometimes. Their codebase is almost the same from 1985. Upgrades are never a problem. It usually takes 10-20 minutes to change the DLL file names.

Centura/Gupta  is way, way , way ahead of Visual basic when it comes to basic client server.  I know both VB and Centura.

Centura sells for 5000$ a license seat, but they claim that client server coding is 4 times faster than VB. Having used both, it is an understatement. Unfortunately, they fucked their marketing up. So no one uses them. Upgrades are never,never a problem. I suspect Delphi also to be the same and very stable. Any comments from DElphi users?

Unfortunately, Microsoft f***ed both Centura/Gupta as well as Delphi.

Anon
Sunday, January 04, 2004

A typo

<<I work with a wonderful tool called Centura team developer (www.guptaworldwide.com). I dont belong  there, but you can check out their software sometimes. Their codebase is almost the same from 1985>>

I meant 1995 and not 1985. Sorry.

Anon
Sunday, January 04, 2004

I have studied Microsoft's behavior for many years.


Other software companies behave like this:

They have a version of their product. They incrementally polish it.

Version X+1 is version X plus a few features, and a lot of polishes.


Microsoft behaves like this:

They have version X of the product, but usually, with a few exceptions, they don't polish it.

This is why a lot of software from Microsoft doesn't look super-polished.

Their goal is not to add a few features and polish.

Their goal is to make a leap ahead - to add something to their product which represents an important competitive advantage.

So.. many times they rewrite large parts of applications, etc - in order to leap ahead of their competition.


So - in the end - the software of the competition is very polished, and users work well with it, they like it.

But.. the software from Microsoft is unpolished, but has major new features which are "must buy" features.

People hate the MS products because they are unpolished, but buy them because of these features.


Look at what happened with VB 6 vs. Delphi.

Did they attempt to incrementally improve and polish VB 6 so it can compete with the (largely superior) Delphi?

No!

They attempted to leap ahead of Delphi (and Java), by creating Visual Studio .NET.

MX
Sunday, January 04, 2004

"Unfortunately, Microsoft f***ed both Centura/Gupta as well as Delphi."

I don't know about centura, but Borland did that to Delphi...

Smitty Werbenmanjansen
Sunday, January 04, 2004

"Other software companies behave like this:
They have a version of their product. They incrementally polish it."

"Did they attempt to incrementally improve and polish VB 6 so it can compete with the (largely superior) Delphi?"

Seems to work wonders for Microsoft products.  Maybe other companies should be doing the same...

Smitty Werbenmanjansen
Sunday, January 04, 2004

MX,

If you need to rewrite your entire application to leap ahead, then your product is fundamentally unsound.  Is it not?

Anon
Sunday, January 04, 2004

Anon, are you sure you want to use Gupta as an example?

Per their web site, it looks like they're re-writing their applications to utilize the .Net framework. They tout it as a means to "future proof" your applications? Don't those two things run counter to your arguments above?

Nick
Sunday, January 04, 2004

You can still run DOS applications written in 1985 on Windows XP.

All of the technologies you mentioned still work. You can still write Win16 apps if you want to, and they will (for the most part) still run just fine.

Granted, MS is always coming out with new and "improved" stuff. Some of it is incremental improvement, some of it is genuinely fixing stuff they messed up (no more ActiveX controls, hallelujah!), and others, well, it's groups at MS justifying their existance. :-)

Chris Tavares
Sunday, January 04, 2004

All I can say is that I'm glad there has been a company of first class software developers like Microsoft. Otherwise our software would have been developed by twerps like those on this thread, with their ridiculous claims.

Microsoft's main products reflect more than a decade of continuous improvement which make them the industry leaders in their sectors. Word, Excel, Windows, VB and the C++ compilers are flagship examples.

Visual Studio .Net is a development tool and thus is not a competitor to Java, which is a platform and a language.

version 1.0
Sunday, January 04, 2004

Yeah, borland fuxxored delphi marketing all on its own... Still its a pretty solid product with an active user community. Delphi could have been way bigger.

MS wants to lead the industry and keep their competitors on their toes. Everyone knows that if MS invests in a technology there will be money in adopting it early (for thirdparty shops) because you can sail along on MS' marketing push.
As the competetive standards and platforms become more established, MS presents new technologies more often, and earlier.

My guess is that it will backfire eventually, but then again, they may have the sense to see when that is about to happen.

Eric DeBois
Sunday, January 04, 2004

"I mean look at Oracle. Oracle 7 and Oracle 9i, there is no fundamental difference."

The same holds true for SQL Server 7 SQL Server 2000.  That would be an apples to apples comarison. 

Mike
Sunday, January 04, 2004

Nick,

Gupta has to been caught by the marketing bug. They are trying to market as developers these days look at hype too.

Their codebase consisting of base classes, functional classes is real strong.

As fr SqlServer 7, Sql server 2000 comparison, a more apt comparison would be between yukon and SqlServer 7.

Anon
Sunday, January 04, 2004

In UNIX the situation is vastly different. If we take a common GNOME 2.x system for example, then everything that is of critical importance is written in ANSI C: the kernel, the Standard C Library, the support libraries, X-Windows, Gtk+ and GNOME themselves, the compiler, the shell and command line utilities - everything. And you can fully program and modify everything. No need for C++, Java, .Net or
whatever.

Of course, ANSI C and UNIX have seen several good revolutions during the time. It is possible that many times backwards compatibility was somewhat broken, or that entire
codebases had to be refactored or re-written. But it enabled keeping the core system in good shape. This may be one argument why Joel's "Things you must never Do Part I" (which is otherwise very good) may not apply to all open source technologies. In open source you sometimes wish to radically change the behaviour of programs. (and you also have an implicit monopoly).

Shlomi Fish
Sunday, January 04, 2004

Unix was written before you had C++, Java or .NET

Stephen Jones
Sunday, January 04, 2004

"I have this belief that a given technology ought to last longer than my underwear."

So change your underwear more often. Problem solved.

sgf
Sunday, January 04, 2004

Yeah, I don't get what the whining is about.

Look at the major evolutions of development technology from Microsoft:

DOS = 1981
16-bit Windows = late 1980s (not sure when)
32-bit Windows = 1993
.NET = 2001

We're talking about some pretty slow sweeping changes here. Yes, their data access team is on some kind of crack-induced frenzy, but it's really pretty isolated.

Microsoft apps aren't incrementally improved and highly polished? Have you ever USED Office? That product DEFINES incremental (snail-like) improvements and severe polish.

Brad Wilson (dotnetguy.techieswithcats.com)
Sunday, January 04, 2004

Office and Windows are consumer products. With these, Microsoft applies the standard "incremental improvements and polishes" strategy.

For developer and admin products, Microsoft applies the "leap ahead" strategy.

MX
Sunday, January 04, 2004

With both Office and the OS MS has applied the incremental improvement strategy, but I think the OP was referring to its effect on developers.

Even here it is hard to get exact details. Most of the limits that MS has been putting on development for Windows (such as limiting the right to write to the registry, or insisiting that installed files go in a certain place) has been for the benefit of consumers, who do need saving from the delusions of grandeur that incompetent programmers and marketing types suffer from. Also, iI thought that the WDM model has meant that you only need to write one driver for Windows whether 98, 2K or XP, though the amount of incompatible hardware around suggests that something here is not going according to plan.

I would be interested to know how the Longhorn planned reduction of Windows API calls from the present 70,000 to around 10,000 is going to affect things.

With regard to developer tools, the big change seems to be .NET, and school is still out on that one. Certainly the split between VBA and VB.NET is a real gamble.

But programming languages have always been changing. Java was almost unheard of in 1996. I remember in the mid 80's teaching English to a guy who did the programming for the Spanish airtravel control systems, and he would spend a long time explaining to me the beauties of Fortran and how ADA was going to blow it all away.

to be frank we are using the Wintel platform because the three big players, IBM, Intel and MS, considered backward compatibilty to be one maginitude more iimportant than any other factor.

Stephen Jones
Sunday, January 04, 2004

>I have this belief that a given technology ought to last longer than my underwear<

Well, if you wear your underwear inside out as well as inside in, then it won't last as long, therefore great technologies will last longer than your underwear.

Problem solved. The bill for my services is in the mail.

Next!

PrideGoesBeforeAFall
Sunday, January 04, 2004

> For developer and admin products, Microsoft applies the "leap ahead" strategy.

Sorry, MX, that just isn't true. Visual Basic came out around 1990 as version 1.0, and Visual C++ around 1991 as version 1.0, incorporating a C++ compiler that was already at, I think, version 5 or 6.

Those products were gradually refined throughout the 90's, and the versions for .Net represents a further logical refinement.

Me and the view out the window
Sunday, January 04, 2004

Windows has 70,000 API calls??

Dang, no wonder I'm so confused.

Tony Chang
Sunday, January 04, 2004

Can't find the original source but Googling brings up this:

http://www.iapplianceweb.com/story/OEG20030507S0037

---"First, the software giant aims to slash the number of API calls in the Win32 API set from more than 70,000 to fewer than 10,000 to help developers better exploit the next-generation Windows shell, user interface (code-named Aero) and .Net framework components in Longhorn, according to sources familiar with the Longhorn plans.

"Win32 has like 76,000 APIs, and they're taking it down to 8,000 with Longhorn technology," said one source familiar with the plans."----

Stephen Jones
Monday, January 05, 2004

This source appears to be the one that the other took; where the original came from is another matter.

http://www.crn.com/sections/BreakingNews/breakingnews.asp?ArticleID=41763

The article is dated May 2003

Stephen Jones
Monday, January 05, 2004

I don't think Microsoft do rewrite stuff that often.  A lot of it is just marketing.

Microsoft do everything to make each release look like a revolutionary new product rather than an incremental improvment.

Underneath, however, they keep reusing the code, hiding it beneath new layers.

Ged Byrne
Monday, January 05, 2004

MS is big, profitable, a monopoly, and concidered to be technically competent, so it can do pretty much what it wants. A smaller company can't.

On the other hand, I've ported reasonably complicated ancient (circa 1991) Win16 programs to Visual Studio .net and they work fine.

njkayaker
Monday, January 05, 2004

> Yes, their data access team is on some kind of crack-induced frenzy, but it's really pretty isolated.

Here.  Here.  I just want a database connection that doesn't leak memory.  Is that too much to ask?  ADO, et al has to be some of the worst code Microsoft has ever put out. 

christopher baus (www.baus.net)
Tuesday, January 06, 2004

*  Recent Topics

*  Fog Creek Home