![]() ![]() Is there an alternative? The consensus seems to be that the old Netscape code base was really bad. You are wasting an outlandish amount of money writing code that already exists. You might as well just close for business for the duration. You are putting yourself in an extremely dangerous position where you will be shipping an old version of the code for several years, completely unable to make any strategic changes or react to new features that the market demands, because you don’t have shippable code. You are giving a gift of two or three years to your competitors, and believe me, that is a long time in software years. ![]() You are throwing away your market leadership. When you throw away code and start from scratch, you are throwing away all that knowledge. If it’s like a lot of bugs, the fix might be one line of code, or it might even be a couple of characters, but a lot of work and time went into those two characters. The programmer might have spent a couple of days reproducing the bug in the lab and fixing it. That LoadLibrary call is ugly but it makes the code work on old versions of Windows 95.Įach of these bugs took weeks of real-world usage before they were found. Another one fixes that bug that occurred when the file is on a floppy disk and the user yanks out the disk in the middle. Another one fixes that bug that occurs in low memory conditions. One of them fixes that bug that Nancy had when she tried to install the thing on a computer that didn’t have Internet Explorer. Well, I’ll tell you why: those are bug fixes. Yes, I know, it’s just a simple function to display a window, but it has grown little hairs and stuff on it and nobody knows why. Au contraire, baby! Is software supposed to be like an old Dodge Dart, that rusts just sitting in the garage? Is software like a teddy bear that’s kind of gross if it’s not made out of all new material?īack to that two page function. It doesn’t acquire bugs just by sitting around on your hard drive. Lots of bugs have been found, and they’ve been fixed. The idea that new code is better than old is patently absurd. ![]() All new source code! As if source code rusted. It is two pages long! None of this stuff belongs in there! I don’t know what half of these API calls are for.”īefore Borland’s new spreadsheet for Windows shipped, Philippe Kahn, the colorful founder of Borland, was quoted a lot in the press bragging about how Quattro Pro would be much better than Microsoft Excel, because it was written from scratch. “Well,” they say, “look at this function. “I’d like nothing better than to throw it out and start over.” “It’s a big hairy mess,” they will tell you. They write their own function because it’s easier and more fun than figuring out how the old function works.Īs a corollary of this axiom, you can ask almost any programmer today about the code they are working on. This is why everybody on your team has a different function they like to use for splitting strings into arrays of strings. It’s harder to read code than to write it. The reason that they think the old code is a mess is because of a cardinal, fundamental law of programming: And here is the interesting observation: they are probably wrong. The reason is that they think the old code is a mess. There’s a subtle reason that programmers always want to throw away the code and start over. We’re not excited by incremental renovation: tinkering, improving, planting flower beds. Programmers are, in their hearts, architects, and the first thing they want to do when they get to a site is to bulldoze the place flat and build something grand. Lucky for Microsoft, they had never stopped working on the old code base, so they had something to ship, making it merely a financial disaster, not a strategic one. Microsoft almost made the same mistake, trying to rewrite Word for Windows from scratch in a doomed project called Pyramid which was shut down, thrown away, and swept under the rug. Borland made the same mistake when they bought Arago and tried to make it into dBase for Windows, a doomed project that took so long that Microsoft Access ate their lunch, then they made it again in rewriting Quattro Pro from scratch and astonishing people with how few features it had. Netscape wasn’t the first company to make this mistake. They decided to rewrite the code from scratch. They did it by making the single worst strategic mistake that any software company can make: They didn’t do it on purpose, now, did they? It’s a bit smarmy of me to criticize them for waiting so long between releases. During this time, Netscape sat by, helplessly, as their market share plummeted. Three years is an awfully long time in the Internet world. The last major release, version 4.0, was released almost three years ago. Netscape 6.0 is finally going into its first public beta. ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |