Slashdot Mirror


Good Software Takes 10 Years?

webword writes: "Joel Spolsky is running an editorial where he claims that writing really good software takes ten years. (Yes, TEN years.) He explains several mistakes that are made by companies that don't understand his ten year principle. The mistakes are backed up with some interesting industry examples, so it isn't just vapor. Unfortunately, he doesn't mention any OSS/FS examples, but I'm sure we can handle that. I am mostly skeptical of his idea because I'm not sure how he thinks a young software company could possibly survive without building really good software in much less time. Spolsky mentions that new companies need to strictly control their cost structures, and that will save them, but that doesn't seem like enough to me."

250 comments

  1. Re:MS IE by Anonymous Coward · · Score: 1

    Personally, I'd put a lot of it down to them nicking the Mosaic source
    You're thinking of Netscape, not MS. It was Netscape who had the brilliant idea of make (and eventaully losing) a fortune by nicking freely available source code.

  2. Re:I disagree. It takes good programmers by Anonymous Coward · · Score: 1

    And what about the external things?
    Ease of use, feature set, size of userbase?

    'Good Software' doesn't just mean its coded tightly.

  3. Gnu-Linux did not start in 1991! by Anonymous Coward · · Score: 1
    Because most of Linux is GNU code. Linus started the kernel in 1991. The rest of the project started in 1984.
    "The GNU Project was launched in 1984 to develop a complete Unix-like operating system...."
    -http://www.gnu.org/

    <flame>
    Maybe it is 10 years for closed source and 20 years for open source/free software.
    </flame>

    1. Re:Gnu-Linux did not start in 1991! by LatJoor · · Score: 1

      You're confusing "Linux" with "GNU/Linux". Much of "GNU/Linux", the operating system, is indeed GNU code: the GNU tools, which make up most of the population of /bin, /usr/bin, /sbin, etc. Still other important Linux denizens come from BSD, whose code base is also older than 1991. However, "Linux" is just the kernel, which was begun as a separate project by Linus Torvalds.

  4. Re:No OSS/FS projects? by Anonymous Coward · · Score: 1

    Yes. Mozilla has being badly developed. It's the single largest case of reinvent-the-wheel I've seen to date - it clones a component model (and a broken one at that (COM)), when CORBA was available, it is an entire GUI subsystem unto itself, and, most heinous of all, it doesn't play nice with multiuser computer systems. For no good reason, I might add - even though Win95 is single-user-at-a-time, it allows multiple user profiles. Instead, mozilla has it's own half arsed multiuser thingy, that doesn't fit into either Windows 95, WNT, or UNIX. And LiveConnect STILL doesn't work. Liveconnect has/had the potential to make ECMAScript/Java the internet-wide analogue of VB/C++ - but, thanks to mozilla folk screwing around with XUL and such, that opportunity is fast slipping away - in an ideal, you should be able to just drap-n-drop JavaBeans into the Mozilla Composer, and "join the dots" with Javascript, for instant network-transparent component-based programming like the fabled OpenDoc of old...

  5. 10 Years to good software? by Anonymous Coward · · Score: 2

    What the hell happend to Windows?

    1. Re:10 Years to good software? by mrfiddlehead · · Score: 1

      In fact, as much as I hate M$ and Windoze, Win2k is a pretty stable desktop operating system (as long as it's behind a firewall and you don't use outlook [express] or IE.) This version of the OS comes about 10 years after the first release of NT, which was its most relevant progenitor. Of course, this being Micro$oft who feels that they are the only necessary contributor to anything to do with comfuters we have a few years of polishing to the NT5 codebase before we reach the 10 year milestone.

      --
      :wq
  6. Yes, he mentioned Wine, but... by Anonymous Coward · · Score: 2

    ... he did mean something you can drink. You would have known it if you had clicked on the link.

  7. Thank God... finally a programmer who understands. by Anonymous Coward · · Score: 5

    It's all about job security folks, why build an app in 3 months when you could spend some quality time reading slashdot and drag the project on for ten years.

    Those old hippies were smart.

  8. Re:MS IE by Gleef · · Score: 2

    Netscape used key NCSA Mosaic developers, and started their code from scratch.

    Internet Explorer 1.0 was based on Spyglass Mosaic code, which was the NCSA's commercial distribution of Mosaic. Later versions of IE were, of course, based on IE1.

    There's an excellent site devoted to the history of key browsers (though it's missing Konqueror and Lynx) at http://www.blooberry.com/indexdot/history/browsers .htm
    .


    ----

    --

    ----
    Open mind, insert foot.
  9. Re:MS IE by Threed · · Score: 1

    But MS DID license Mosaic, and DID use it as the foundation of IE. It was the talk of the town back when web pages were fighting gopher for popularity! Everybody saw NS and MS grabbing for Mosaic and the speculation was that we'd have a billion different branded, slightly modified, mosaics.

    The real Threed's /. ID is lower than the real Bruce Perens'.

    --Threed

  10. Re:do you even know by joss · · Score: 2

    You make a very good point. The real standards as produced by w3c are OK, but the de-facto standards created initially by netscape, and then embrace/extended by MS are horrible.

    But, did you ever examine the early mozilla code (ie what they started with from netscape) ? That was a poisoned chalice if ever I saw one. It didn't support any of the trickier elements, but it still took a ton of code to do not very much badly.

    BTW, how come nobody ever mentions Opera in all this. It is *by far* the best browser around, but nobody ever mentions it. If writing a decent browser is so impossible (unless one is inventing the standards yourself) how did they do it ?

    --
    http://rareformnewmedia.com/
  11. Re:do you even know by joss · · Score: 4

    nearly...

    Marc Andresson was an intern at NCSA. His maths wasn't good enough for him to do what he was hired for, but he did know motif pretty good, so his superior Ping Foo asked him to write a GUI for www. This proved to be a good idea. Then Jim Clarke (founder of SGI) thought it would be a good idea to commercialise the idea, and hired the more commerically minded people from NCSA (not the same as the smartest, for instance - Ping whose idea the project was, and who made some of the smarter design decisions (eg single click to follow link), never joined).

    Netscape was the browser tail wagging the internet dog for a while, but they declared MS history too early. The VC money they got from being declared the next MS enabled them to hire 1000s of developers very quickly. This was profoundly stupid, because having 1000 mediocre developers is far worse than having 10 decent ones. These people wrote 100s of 1000s of lines of shitty code. This code was then released to the mozilla effort, and left it with no fucking chance. Writing a browser isn't *that* tough, but if you start with a massive shitty code base, you can lose sight of that.

    --
    http://rareformnewmedia.com/
  12. Re:This *WONT* Be True Any Longer by sql*kitten · · Score: 3
    The catch is you have to specify the expected properties of your program in terms of logical language (yes, and this is very hard sometimes). If you stated the properties correctly, then our tool is able to detect violations against the properties.

    Uh, if you have a logical language that describes what your program is supposed to do, why not just compile it? It sounds like what you're doing is writing the same program twice in two different languages and comparing the output - you would be better off with a code generation tool.

  13. You don't need to release good software to survive by Christopher+Craig · · Score: 4

    You can easily survive 10 years without releasing "really good software". How many people bought Mechwarrior Mercenaries? Win95? How many installations of sendmail are out there? bind 8? I think we would all agree that the likelyhood of encountering a bug in these is pretty darned high, and yet people bought and installed them anyway.

  14. Consider NT Emacs by Eric+E.+Coe · · Score: 1
    An excellent full-featured implemenmtation of Emacs for win32.

    I use it whenever I am forced to work in one of Bill's lame OS'es. Not as lightweight as Notepad, but not broken either.
    --

    --
    An esoteric scratched itch:
    Homeworld Map Maker Tool
  15. Who is this clown, anyway? by talks_to_birds · · Score: 1
    If you *bother* to go to his personal web page, he states that he kinda started college in 1987...

    So let's see:

    Started college '87 at, say, 19, 1997 maybe 29, so this guy's in maybe his mid thirties...

    And how long has *he* been writing software?

    Or does he, even?

    Who knows.

    I don't care...

    t_t_b
    --
    I think not; therefore I ain't®

    --
    I'm on PJ's "enemies" list! Are you?
    1. Re:Who is this clown, anyway? by cant_get_a_good_nick · · Score: 1
      If you bothered to see other articles on his site you'd see. He has written software, being a big part of writing VBA for Excel and dealing with the Juno client.

      I've looked at some of the other articles on his site - I had a link to the homepage for a while now and I read this article yesterday. He's a pretty smart guy, a few good ideas. I don't necessarily agree with the article - I think it applies more for large complex systems (Notes, NT, unfortunately Word) but a Notepad style editor that takes 10 years is a bit much.

    2. Re:Who is this clown, anyway? by hearingaid · · Score: 1

      well, I started college in '87, and I've been programming computers since '80 I think.

      I say, computers, because I used to hack my programmable calculator before that...

      --

      my old sig used to be funny, but then slashcode ate it and now it's not funny anymore

  16. Re:Depends on the project.. by Tet · · Score: 2
    Angband (and its finest variant) is continually improving, and is far in advance of any commercial game in terms of long-term playability.

    Hmmm. I'm not entirely convinced. I felt Angband peaked at around v2.5.8, and since then, has suffered from the same problems as MS Office -- new features for the sake of new features, not because they're needed. Yes, some of them are quite nice, but they're just candy, and had game development stopped back then, I'd still be playing it today. By that I mean, I am still playing it today, but the The *gameplay* hasn't got significantly better for some time. But then, it's hard to improve when you're that close to perfection in the first place :-) Zangband is intriguing, in that it does give altered gameplay (I'm still torn on whether it's an improvement or not, but there is definitely innovation there).

    --
    "The invisible and the non-existent look very much alike." -- Delos B. McKown
  17. Re:Good Software takes FOREVER! by Ben+Hutchings · · Score: 2

    Nitpick: GNU tar has an option to pipe files through bunzip2. It doesn't have internal support for either gzip or bzip2.

  18. Re:What about RAD? by johnnyb · · Score: 2

    The point is not how long it takes to get something useful - that can be done rather quickly - but instead something that is mature. A mature piece of software interacts with people and other software in the best ways possible. Figuring out how the best way for software to interact with other software and people takes a long time. Compare Notepad and BBEdit. Notepad is what you get when you throw something together in a month or two. BBEdit is what you get when you take an editor and run with it. Notepad is useful, but BBEdit is useful and mature. I think this is also one of the things that us free software people (myself included) miss when trying to convince others to use free software. Most free software has not had the time to mature. For example, let's take PostgreSQL (which I love) and Oracle (which I can't stand). I have to hand it to the Oracle people - they have added bits and pieces to their platform that make it great for enterprise use. Things like _extremely_ verbose logging, session tracing, the ability to move tables all over the disk and all through files, and all sorts of little administrative things that help the administrator keep things going. All-in-all, PostgreSQL has a much better design, but it will take many years of production use to get all of the little features that Oracle has. Also, if you look at the --help option of most of the UNIX commands, you see a plethora of options. Most likely, the original author had a really, really limited use for the command. However, users said "wouldn't it be cool if it did X", and so that was implemented. Two things are adding to this time frame - the feedback cycle (it takes a long time for users to learn something, and then figure out how they _wish_ it would run) and the development cycle (each feature takes a lot of time). These cycle times are slow. That's why software takes a long time. More programmers won't make the feedback cycle go any faster. Neither will better programmers. Good software takes time.

  19. Re:stupid nonsense by johnnyb · · Score: 2

    Actually, Q3A is much older than that. You could say that it is more like Wolfenstein 5.0, in which case the software is about 10 years old. The fact that they changed the name and some graphics doesn't hide the fact that they've been working on this for many, many years.

  20. Re:nonsense! by johnnyb · · Score: 2

    Even if its completely from scratch, they are still building on what they did earlier.

  21. Re:MS IE by larien · · Score: 2
    Help/about in MSIE 5:
    Based on NCSA Mosaic

    --
  22. MS IE by larien · · Score: 4
    I will give the Internet Explorer team credit. With IE versions 3.0 and 4.0 they probably created software about ten times faster than the industry norm. This had nothing to do with the Internet and everything to do with the fact that they had a fantastic, war-hardened team that benefited from 15 years of collective experience creating commercial software at Microsoft.
    Personally, I'd put a lot of it down to them nicking the Mosaic source and using it. That effectively makes the time of development something more like 6 or 7 years rather than the 2 or 3 MS worked on it.

    Also, I'd agree with others who have posted that this counts for things like OS's, DBMS's and the like. To create a simple application (eg, a text editor) should take less time.
    --

    1. Re:MS IE by Mr.+McGibby · · Score: 1

      Well they included it with Windows which wasn't free. It cost ~$100.

      Kinda goes against their claim that IE was an integral part of the operating system.

      Mike

      --
      Mad Software: Rantings on Developing So
    2. Re:MS IE by cameldrv · · Score: 1

      Having worked on Mosaic for a time, I can say that Microsoft didn't get any advantage in their later releases from it. IE 1.0 was largely Mosaic. I can't believe that there's any substantial Mosaic code left in 5.0. Remember that this was a browser that until near the end of its life couldn't even display a page at all until all of the images were completely loaded.

    3. Re:MS IE by Kanasta · · Score: 2

      You can't put it down to nicking code. I mean, if it were that, Mozilla would be ready, wouldn't it?

      It's probably more because MS diverted their best and brightest from every other product it had to work on IE. During those years they must have spent more $ on making IE than working on Windows, Office, and all their other stuff put together...


      ---

    4. Re:MS IE by SuiteSisterMary · · Score: 1

      Yes, and your Porche 911 is 'based on' the Ford Model-T. What's your point?

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    5. Re:MS IE by SuiteSisterMary · · Score: 1

      And somehow I doubt that any Mosaic code is left in there.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    6. Re:MS IE by Frizzle+Fry · · Score: 1
      not either innovative or fair.
      Sounds fair to me. They followed the deal to the letter. And since when are business deals supposed to be "innovative"?

      --
      --
      I'd rather be lucky than good.
    7. Re:MS IE by Frizzle+Fry · · Score: 1

      Good point. OK, I'll agree with that.

      --

      --
      I'd rather be lucky than good.
    8. Re:MS IE by update() · · Score: 2
      Personally, I'd put a lot of it down to them nicking the Mosaic source and using it. That effectively makes the time of development something more like 6 or 7 years rather than the 2 or 3 MS worked on it.

      Well. first of all, they licensed the Mosaic source from Spyglass (completely screwing them over). But the issue here is IE 3 and 4 development. Using Mosaic code got them out the door a lot faster but their blowing by Netscape was their own doing, and Netscape's.

      I think where Joel is off is that he says Mozilla made a crucial error by restarting from scratch. But didn't Microsoft completely rewrite the rendering engine for IE 5?

      Unsettling MOTD at my ISP.

    9. Re:MS IE by Evil+Grinn · · Score: 1
      You're thinking of Netscape, not MS. It was Netscape who had the brilliant idea of make (and eventaully losing) a fortune by nicking freely available source code.

      Didn't they have to write Navigator from scratch? NCSA still owned Mosaic, you know. Andreesen couldn't just take his code with him.

      Only later was the original Mosaic commercialized by Spyglass... as competetion against Netscape. This eventually served as some kind of starting point for MSIE, but M$ have probably re-factored most of the real Mosaic code out of it by now.

      So today's Mozilla is actually the second drastic re-write of the web browser, while one could claim that MSIE has simply envolved over all these years.

    10. Re:MS IE by TheRealSlimShady · · Score: 1

      Actually male, take a look at the photos.

    11. Re:MS IE by Ayende+Rahien · · Score: 2

      Yes, she (female, not male.) wrote a very good article about it.
      "Things you should never do"

      --
      Two witches watched two watches.

      --

      --
      Two witches watched two watches.
      Which witch watched which watch?
    12. Re:MS IE by Ayende+Rahien · · Score: 2

      "I didn't have a boyfriend"

      http://joel.editthispage.com/stories/storyReader $4

      Gay?

      --
      Two witches watched two watches.

      --

      --
      Two witches watched two watches.
      Which witch watched which watch?
    13. Re:MS IE by deaddrunk · · Score: 1

      They licensed Spyglass Mosaic from Spyglass with an agreement to pay a percentage for every copy sold. Since they then decided to give it away for nothing Spyglass were screwed (and sued Microsoft over it AFAIK). Legitimate perhaps, but not either innovative or fair.

      --
      Does a Christian soccer team even need a goalkeeper?
  23. Re:This *WONT* Be True Any Longer by tomblackwell · · Score: 1

    It won't be much help to itself if it's buggy and limited.

  24. Re:Depends on the project.. by jshare · · Score: 1

    You might check out Oangband.

    It has some non-candy improvements to the overall system, like better monster AI and the actual use of spells by the monsters.

    Well, I guess you could call that candy. But I'd reserve that term for the "big screen" stuff (which it also has), for example.

  25. Re:Of course by Art+Tatum · · Score: 1

    Well, NeXT actually. Of course, you could say, "How long did it take NeXT to finally market their software well?"

  26. Re:And in conclusion... by couchslayer · · Score: 1

    Bah! Everything's just an excuse for our lazy asses not building that Turing machine!

    Kids...

    --
    If a woodchuck could, would it be too lazy to?
  27. Re:No OSS/FS projects? by pyxl · · Score: 1

    Ding!

    --


    Given enough hydrogen, just about anything is possible.
  28. What's it worth? by battjt · · Score: 1

    Checking all the return values and catching all the right exceptions takes time, both time initially to write the checks and time later to manage the 3 fold increase in LOC. It isn't always worth it.

    Many times, the applications I write have life spans of less than 2 years. Most the time I let high level exception handlers deal with application errors. Most of the time this saves me time. Once in a while I get burned by that long lived program or scope creap that I underestimated and end up with a big program that should of had the checks in place.

    In some situations where I've gone into an existing program, the checks were wrong simply because there was so much code that the developers got lost and ended up with crap. I've had to strip the checks out to understand the original intent and replace all the crap with a few high level handlers; later I added back some of the checks for more common errors.

    Joe

    --
    Joe Batt Solid Design
    1. Re:What's it worth? by battjt · · Score: 1

      It isn't always worth it.

      It is to me. That one thing or other I've skipped in the past always comes back to bite me.



      No. Every time you haven't been bitten, you haven't notice.

      Our diference in opinion might be the environments. I work in IT shops, where we help business folks answer questions. Speed is very important. If they ask a question, that we can help them answer in one day, that is good. If next month the program doesn't work and it takes us 20 minutes to fix it, that isn't a large cost (we don't have large redeployment costs). Compare this to taking a week to answer the question and no bug fix a month later. The buggy version was better/cheaper/higher profit for the company.

      But, I am being challenged in a project that is planned to have a 20 year life. How do you check for a nearly infinite number of failures in a distributed complex system (many servers with many clients, some users and some batch feeds)? We use transactions and high level exception handlers; if there is a failure anywhere we roll back the transaction and report the reason to the user. This may, in rare unexpected cases, cause 5 minutes of rework for the user, but the data will not be corrupted. If users get an error message that doesn't make sense to them, they report it. It makes sense to us, because it is a stack dump, indicating the exact nature of the failure. We put in new specific checks to report a more user friendly message. We save lots of LOC (which is time and other bugs, which is money) by only focusing on exceptions that really happen, and not doubling the size of the program checking for OutOfMemory conditions at every allocation (we have never had an out of memory condition; how much money have we saved by not checking?).

      Joe

      --
      Joe Batt Solid Design
    2. Re:What's it worth? by Katravax · · Score: 2

      No. Every time you haven't been bitten, you haven't notice.

      You're 100% right of course.

      You may also be right about the environments (I work for a shop that creates and sells products, not customer-specific). I have worked in an IT-type shop, but even there speed was a factor, but not to the minute. I also suspect we're talking about differing degrees of bad code. I've worked with web designers cum javascripters, vb guys writing transactional queue systems, java people pretending they're not just building web applets, x86 ASM people reinventing the wheel (and the road), and c++ people coding to Win32. You can bet your ass their levels of checks and errors were vastly different. I've worked with lots and lots of new programmers, too. I'll say this though: If you can write an app in 1 day and fix its problems a month later in 20 minutes, the code must either be trivial or use very high-quality tested existing chunks (which reinforces my point).

      ...How do you check for a nearly infinite number of failures in a distributed complex system ... We use transactions and high level exception handlers; if there is a failure anywhere we roll back the transaction and report the reason to the user...

      You're doing precisely what I'm talking about. I don't mean checking every damn variable on every use. I'm talking about checking the parameters as they come in, making sure you haven't overflowed your buffers, and making sure you haven't wrapped your integers. You're at least providing the high-level trap. I'm talking about programmers that don't do that :) We're not in as much disagreement as you think.

    3. Re:What's it worth? by Katravax · · Score: 3

      It isn't always worth it.

      It is to me. That one thing or other I've skipped in the past always comes back to bite me. I've never had a boss that pressured me on time once they saw that my code didn't break the thing 6 months later when we were all struggling to fix a few pages that the coder didn't take the time to do it right. Also, that occassional wundercode I've pulled off pretty much buys me whatever time I ask for. I guess it's the old saying : Fast, Good, Cheap; pick any two. My way certainly isn't the only way, but I can never pick the check to leave out, because I can't always conceive what the person that uses my code will do with it.

      Once in a while I get burned by that long lived program or scope creap that I underestimated and end up with a big program that should of had the checks in place.

      And that's why i always build the checks in first. The time saved up front has never, ever, been worth it.

      In some situations where I've gone into an existing program, the checks were wrong simply because there was so much code that the developers got lost and ended up with crap.

      And thus one of my points. They weren't doing quality work. If they were, the burn would have been much smaller or non-existent.

      I understand what you're saying, though. Throw-away code can be written with throw-away techniques. I'm just particularly bad at knowing in advance what's going to be throw-away code.

  29. Re:Depends on the project.. by DuaneGriffin · · Score: 2

    While I generally agree with you, there are games that have been in continuous development for over 10 years, and are all the better for it. Angband (and its finest variant) is continually improving, and is far in advance of any commercial game in terms of long-term playability. Nethack is another one that has been around for a very, very long time now, and continues to improve. It is amazing how much gameplay can get squeezed into a game over a decade or so, especially when no one cares about the graphics :)

    --
    - "I never could learn to drink that blood and call it wine" - Bob Dylan (Tight Connection to my Heart)
  30. Re:I admit by IntlHarvester · · Score: 1

    Despite all of the bile you are oozing, I think you have a point about Lotus Notes.

    First off, network-based document storage is a good idea. To this day it's still far quicker to write up a Notes form than it is to build an HTML form and server-side processing and the associated database insert/update/delete logic. Now transport yourself back 10 years where the DB server ran on the mainframe and nobody had access to it execpt the mission critical folks. Not to mention replication, which was critical when people were operating over 19.2K and 56K links. (Note that Microsoft is just starting to solve some of these problems with SharePoint and other Office bits.)

    Second, despite it's ugly looks, having a simple/cheap RAD environment is a godsend to corporations. Look at the "expense report" test: Notes shops have done electronic expense report approval and routing for 10 years now. Most MS/VB shops are still printing out the Excel spreadsheet.

    Flash forward to 2001, and we have a product which still does these things well, but tries to manage to do everything else at the same time. Even with a Windows-only client, custom widgets that predate Windows 3.1 are still in use. An absolutely terrible web application environment has been layered on top. 15 years of Lotus-specific UI inventions have to be supported. The client is trying to do so many different things that modern versions are slower on a PII than v3 was on a 486. Tons and tons of legacy code is floating around inside. I've read the release notes, and your change management comment is right on the mark -- touch almost anything and something else breaks.

    I think IBM finally took a hard look at the 60 million userbase which, worse, had 60 million custom applications written on this heap and realized that the support costs were going to destroy them in the long run. I heard every new version of Domino comes with WebSphere in the box. That's a big hint to Notes users to start writing applications the "right" way -- although it's going to take some very tricky engineering to keep the good things about Notes while dumping the rest of the baggage.

    Meanwhile, I would expect development to slow down or even stop, with the exception of client usablilty fixes. Ironically, the userbase will continue to grow in the short term. To contradict the article, sometime 10 or 15 years is *too much* development.
    --

    --
    Business. Numbers. Money. People. Computer World.
  31. Re:That graph won't convince me by IntlHarvester · · Score: 2

    Lotus Notes is also a bad case because there's several huge factors that affected it's adoption.

    1) It was a PC-based client-server program in the 1980s. Way ahead of it's time, but that meant it pretty much had to run on the unpopular OS/2 operating system, and even then 10 concurrent users was a miricle on the hardware people had.

    2) It was exclusively marketed to large corporations (read: it was ridiculously expensive) until the early 90s. It still is a lousy product for places without dedicated system admins and developers.

    3) Lotus also sold cc:Mail which was the #1 corporate e-mail system from about 1987 to 1997. Cancelling cc:Mail and transitioning users to Notes obviously had a huge effect on the Notes user base.

    4) Oh, it's true that the email component wasn't close to being "done" until v5 shipped a couple years ago. (insert link to UI Hall of Shame)

    And because it's so old, it does carry tons of legacy baggage, including lots of back- and forward-compatibility features.
    --

    --
    Business. Numbers. Money. People. Computer World.
  32. Re:Not 10 years for the first release... by ArsonSmith · · Score: 1

    Open source does not mean it has to be done in the free time of programmers. This is an extreamely valid idea. I am sure there are other places that will have full time paid programmers working on similar projects. If they all got together there could be an open source version of this software.

    --
    Paying taxes to buy civilization is like paying a hooker to buy love.
  33. another OSS example... by sethg · · Score: 2
    Perl looks like it followed more or less the same pattern. Perl 1.000 was released in December '87, Perl 5.000 in October '94, and by December '97 it was up to 5.004_56.

    If you look at the "selected release sizes" table, there was a big jump in "core + lib + ext" from 4.036 (798K) to 5.000 (1504K), and a big jump in the documentation size from 5.003_07 (976K) to 5.004 (1587K).

    Does anyone have the Camel Book sales figures from 1991 (when it was first published) to the present?
    --

    --
    send all spam to theotherwhitemeat@ropine.com
    1. Re:another OSS example... by barneyfoo · · Score: 2

      Some would argue that linux was in a usable and stable state in the 1.2.x series. 2.0.x was really a milestone, although that series lagged on for quite a while (due to lackluster 2.1.x development).

      You also have to realize that Linux actually means GNU/linux, and the gnu project really started around 1984. So you could argue that in 1994 linux 1.2.x + GNU operating system was the final product, the linux kernel being the last piece.

  34. refactoring vs. rewriting (a bit off-topic) by sethg · · Score: 2
    he chastises anyone who has ever re-written anything from scratch, saying that it is a waste of a huge investment. I don't know. I certainly think refactoring code is often necessary. When does it stop being refactoring and start being a re-write?
    When your goal is no longer "make build x+1 pass the same unit tests as build x", either because you're now trying to add new features to the code, or because your code is now in little pieces strewn all over the workshop (so to speak) and some crucial function won't work until you've figured out how to fit them back together.
    --
    --
    send all spam to theotherwhitemeat@ropine.com
  35. Re:This *WONT* Be True Any Longer by sethg · · Score: 2

    You're assuming that the reason software takes so long is because of the time needed to get the bugs out. Joel's point is that it takes this long to put the features in -- to find out, based on experience and customer feedback, what features you need and where you need to optimize.
    --

    --
    send all spam to theotherwhitemeat@ropine.com
  36. Re:Ship When Ready an argument against Mozilla? by maroberts · · Score: 1

    Just installed Mozilla (Linux and Win 0.92) a few days ago, and whilst I am impressed with the new features against Netscape 4.7x, I'm not impressed with the speed and responsiveness of it. Window redrawing and general GUI response appears to be excruciatingly slow.

    I'm not exactly running on leading edge equipment (Linux K6-2 366, Windows K6-2 500) but both have adequate memory, and Konqueror (KDE) and KMail appear to have no such problems. I just hope it doesn't take Mozilla 7 years to get fast enough.

    --

    Donte Alistair Anderson Roberts - hi son!
    Karma: Chameleon

  37. Re:Ship When Ready an argument against Mozilla? by maroberts · · Score: 1

    Why post previous comment as an AC?
    I prefer to use Linux in general but I'm perfectly happy to admit IE5+ is an excellent browser.

    However, even if Netscape dies, I think Mozilla will go on. At present Moz appears to be nice and fairly well featured, but the downside is that it is slow and unresponsive running on either Linux and NT. I hope this is corrected by the time Moz gets to 1.0....

    --

    Donte Alistair Anderson Roberts - hi son!
    Karma: Chameleon

  38. Re:Huh? What's that bout Mozilla? by maroberts · · Score: 1

    Nope, sorry. Moz has lots of nice features, but I think the KDE integrated browser (Konqueror) is streets ahead in terms of useability [I will concede IE5 is at least on level pegging with Konqueror].

    Moz appears to be very unresponsive at times (on both Windows and Linux), and I hope the development team devote some effort to sorting this out.

    --

    Donte Alistair Anderson Roberts - hi son!
    Karma: Chameleon

  39. What is good software ? by maroberts · · Score: 3

    The word "good" in the authors article is a very imprecise word. Does good software have lots of features, is it free of bugs, or is it an innovative 'I never knew I needed it till I saw it' type of package.

    Software need only fall into one or possibly two of the above categories in order to reach the accolade of 'good'. There are even packages in use today that are in mainstream use that are not necessarily good but have just become ubiquitous by default. [Windows Notepad springs to mind -its minimally featured, you can't edit large files with it, yet everyone uses it at some point or other].

    There are other packages (e.g. games) which take nowhere near 10 years to develop (Minesweeper is incredibly simple but is a great game and is virtually unchanged since Windows 3.0/1).

    --

    Donte Alistair Anderson Roberts - hi son!
    Karma: Chameleon

  40. Re:I disagree. It takes good programmers by TWR · · Score: 2
    Two points:

    1. All CompSci degrees are not created equal. What some lower-rung schools call CS makes me cry. No theory, no math, no algorithms, just programming languages and trendy topics.

    2. Software Engineering != CompSci. They are very different disciplines, and there are very few schools teaching Software Engineering right now. CMU and RIT are the two I know of (based on previous /. posters). You don't hire a physicist to design a car, you hire a mechanical engineer. The same should be true in software.

    -jon

    --

    Remember Amalek.

  41. Re:This *WONT* Be True Any Longer by wocky · · Score: 1

    Our tool is still very very buggy and limited.
    Obviously you just need to apply your checker to itself.
    --
    David
  42. Re:I disagree. It takes good programmers by Katravax · · Score: 2

    I could be wrong about the comp-sci bit. Maybe it's the lack of comp-sci that does it. When I think of the 10 worst programmers I've known, 7 of them had comp sci degrees, though. On the other hand, to be fair, of the 10 best I personally know, 6 have comp sci degrees (and the top three all have them). So it's probably just laziness in general, and has nothing to do with comp sci.

    I also overspoke. Good programs require more than good code (as someone else pointed out). They also require correct design and the correct feature set. I guess I subscribe to the preferences of "as few features as possible". But still, I think bugs are worse, and more prevalent, than feature sets that are too small, and that blame lies squarely with the programmers.

  43. Re:I disagree. It takes good programmers by Katravax · · Score: 2

    You're right. I'm never specific enough when I mouth off. I think bugs are more common (and thus worse) than malformed feature sets, and bugs are clearly the fault of the programmers. That's what I meant, and tried to keep it so short I wound up not actually saying so.

  44. Re:I disagree. It takes good programmers by Katravax · · Score: 2

    Yeah, I probably shouldn't have generically insulted comp-sci like that; it's probably more because of personal laziness in programmers. It's actual work to test all parameters, provide traps for all exception points, and then remove everything unneccesary and test like hell. It doesn't feel like part of solving the problem, and isn't fun. That's where the bugs come from, imho.

    However, I still agree with you on the curricula probably being still experimental by neccesity of the comparitive newness of the subject. I'd love to see a class on quality coding practices in general though.

  45. Re:I disagree. It takes good programmers by Katravax · · Score: 2

    The book you linked is *fantastic*. I've read it twice.

  46. I disagree. It takes good programmers by Katravax · · Score: 4

    If programmers wrote solid code and tested it thoroughly, it would not take ten years to produce truly good software. I see more unchecked parameters, non-tested failure conditions, and badly designed function interfaces now in the work of the average programmer than ever before. I'm not sure who or what to blame for the problem (dare I say comp-sci curricula?), but I suspect part of it lies with the fact that "safe" languages are the first most programmers gain mastery on.

    1. Re:I disagree. It takes good programmers by partingshot · · Score: 2

      I think the reason for the poor code lies more in the shortened development cycle than anything else. The eXtreme camp would say refactor, but usually the conditions that caused the shortened cycle in the first place mean you can't go back. If the conditions are caused by poor project management, that is one thing. Often though, they are brought about as the only means for survival.

      Maybe we should just stick with safe languages?

      I also take exception with the comp-sci dig =). I think a good comp-sci curricula leads to LESS slipshod code. I've seen too many people reinvent the wheel (poorly) because they didn't understand basic computer science concepts and design. The teaching of which is the goal of the very first class in the curriculum.

      --
      Anonymous posts are filtered.
    2. Re:I disagree. It takes good programmers by ralphbecket · · Score: 2
      I suspect part of the reason is that comp. sci. curricula are, in many universities, dictated by the students who are convinced that their investment in time and money is best spent on learning great chunks of Java, VB, C++ practice, in terms of graduating with the best job prospects.

      Unfortunately the teach-em-only-what-industry-is-using approach does not provide students with any real perspective and you end up with second rate programmers.

      For my own part, the "safe" languages aren't safe enough. Java etc. don't give Joe programmer access to dangerous pointers and so forth, but you still get runtime type errors, unchecked error cases, suckful performance, and an inability to stick to a spec. [Plug: it's nigh on impossible to avoid checking error codes in Mercury...]

    3. Re:I disagree. It takes good programmers by Bobo+the+Space+Chimp · · Score: 1

      > I think bugs are more common (and thus worse)
      > than malformed feature sets, and bugs are
      > clearly the fault of the programmers.

      Many times, the malformed feature sets are the real problem, and are the fault of the programmers. Blindly exposing every little feature of the device (or virtual thingamabob) you are writing software for and giving each a little control knob continues to be a problem for Windows, and is a massive problem for Linux. As one example, someone built a computer that you didn't have to "save" your documents on. You just shut it off, turned it back on, and your editor was there with your doc in the last state. You could undo, whatever. Just because you put a HD or floppy into a system doesn't mean you create a "save" mechanism from the user's standpoint. "Modern" computer systems STILL don't get this.


      --
      I am for the complete Trantorization of Earth.
    4. Re:I disagree. It takes good programmers by Bobo+the+Space+Chimp · · Score: 1

      In fact, as I sit here, I'm irritated by two Microsoft "features", i.e. members of a malformed feature set.

      1. Excel keeps bugging me every five minutes to safety-save a file that was opened read-only and that I have not changed. Since it's read-only, it cannot save it, so it pops up a dialog and the bar blinks in the background irritatingly. Perhaps a macro is changing something, but why can I or a macro change something opened read-only? Perhaps from a nicety standpoint it might allow me to make changes to the loaded copy, but a macro making changes?

      2. Selecting text in Outlook has "select entire word" on, which I find irritating in the extreme. I cannot turn it off because the menu choice the little help paperclip tells me to select is greyed out. Help does not tell me why it is greyed out, nor how to un-grey-out it. I wish it had an automated feature to "do this for me" so it could clobber itself in the head trying to select a greyed out menu item. This would force the programmers and help writers to cover this situation.

      --
      I am for the complete Trantorization of Earth.
    5. Re:I disagree. It takes good programmers by Smedrick · · Score: 3

      I suppose you could blame comp-sci curricula (along with simple laziness)...I've got mixed feelings in that area. Some courses I have taken were incredibly helpful, while some were complete wastes of time. Yet, I'm lucky enough to be going to a pretty damn good school for CIS. I've seen graduates of some other schools that put shame to our field. I don't know what someof these colleges are teaching, but it sure ain't comp sci.

      The best way to teach comp sci is not to give the students "safe lanuages", but to teach them how to learn languages and how to develop software (planning, modularity, commenting, etc.). The problem is that I think the field of computer science is still going through beta testing in most universities. Topics like CoE and EE have a pretty firm base. The classes don't vary much from school to school. But with CIS, schools are still learning how to teach the concepts. Sure, a class in C++ or assembly lanuages won't vary much...but knowing a language can only get you so far. There's really not a solid platform yet for universities to start their curriculum.

      As high schools start offering more technology classes (which they're starting to) and colleges work out the bugs in their curricula, you'll probably start seeing the software industry become more stream-lined and standardized...like engineering.

      --

      --
      "I strongly urge both the faint of heart and the faint of butt to leave the room at this time."
      - Strong Bad
    6. Re:I disagree. It takes good programmers by AbacusProgrammer · · Score: 1

      Code does not automatically equal program at least in the context of this article. Its more about giving a program the time to evolve so that it meets the needs of the users. It would be rare for any program to work immediatly both to specification and to user expectation no matter how well it is written.

  47. Re:Bad, Good and great software by maw · · Score: 1
    I recall a statistic someware that only 2% of companies ever really succeed, beyond 3 years. I wonder whatr that percentage is for OSS projects...

    It's probably nearly as low. Consider how many dead projects there are at sourceforge. (It's always frustrating to find something that looks promising, only to discover that it's at .002 and has been inactive since early 1999.) Lots of people have great ideas, but there simply isn't enough nosphere (actually quite a good term that) for everyone to build his own text editor or IRC client.

    Now, of course, there's nothing wrong with that. I'm not aware of many open source projects that really haven't lived up to their potential - I've never heard anyone say "Gee, it's too bad that AIRC never got off the ground."

    Also note that I don't really know how few projects ever make it, but would like to too!
    --

    --
    You're a suburbanite.
  48. echo Moron... by evilpete · · Score: 1

    You're wasting keystrokes. You can shave 0.3 seconds from your development cycle with echo ;)
    +++++

    --
    +++++
    The harder you look the less you see. That's what we're up against.
  49. Re:OSS example... by sporty · · Score: 1
    I'm kidding when i paste this since its comparing apples and radios... but BSD's are twice as good since its been about 20 years if the copyright is any indication of its own release schedule...

    All of the documentation and software included in the 4.4BSD and 4.4BSD-Lite
    Releases is copyrighted by The Regents of the University of California.

    Copyright 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
    The Regents of the University of California. All rights reserved.



    ---

    --

    -
    ping -f 255.255.255.255 # if only

  50. Re:This *WONT* Be True Any Longer by hanway · · Score: 2
    robbyjo says:

    I am working for a research group that develops a tool for checking software *automatically*.

    [...much deleted...]

    Our tool is still very very buggy and limited.

    Doesn't that basically sum up what happens when new 'silver bullet' software technologies hit the real world? I don't mean to knock valuable research, because I know there's much room for improvement in software development tools and techniques, but when you have to apply them to the fuzzy requirements and deadlines of the real world, the results aren't as revolutionary as one would hope.

  51. Re:This *WONT* Be True Any Longer by CoderDevo · · Score: 1

    I bet this will be a great software development tool in about 10 years.

  52. Re:stupid nonsense by CoderDevo · · Score: 2

    Ender Ryan. Dude, you're in time-out.

    Read your posts. You have a bit of growing up to do as far as your social skills go. You are replying to real people that put serious thought and effort into their messages and articles. Respect the fact that they are posting their ideas for you to learn from.

    Mozilla as a product based on Netscape 5.0 which was based on previous versions of Netscape which were based on Mosaic which was first released in 1993. Give it 10 years. Judge the quality of Mozilla in 2003.

    Q3A is definitely based on older versions of Quake, Doom & Wolfenstein.

    The fact is that if you are a programmer for a commercial product, you should not expect any of your code to last more than 3-4 years in that product. The product will continue to improve. Those improvements entail replacing older code, eventually replacing all older code.

    Think about it.

  53. PI by Priestess · · Score: 2
    You want to find the number 10 in the world you will be able to find it everywhere. 10 steps from your street corner to your front door, 10 seconds you spend in the elevator? When your mind becomes obsessed with anything, you will filter everything else out and find that thing everywhere. 350, 420, 22, whatever. You have chosen 10, and you will find it everywhere in nature. But as soon as you discard scientific rigor you are no longer a mathematician. You are a numerologist.

    Pre......
    1. Re:PI by barneyfoo · · Score: 2

      But as soon as you discard scientific rigor you are no longer a mathematician. You are a numerologist.

      Or an idiot opinion writer on the web :)

  54. Re:Not 10 years for the first release... by Wah · · Score: 2

    it is expensive, but it's a solid product. On win2k it's the only way to go. About 4 times faster than PCAnywhere (must be nice to have source code) and is pretty stable. For GUI Win adminin' it's the best I've found. Not much different than remote X sessions, just more expensive.
    --

    --
    +&x
  55. Re:This *WONT* Be True Any Longer by sugarescent · · Score: 2

    For those of you who think this is interesting, you can also check out meta-level compilation, implemented as an extension to gcc.

    And for those of you wondering how useful stuff like this is, it's already caught bugs in the Linux kernel, among other things. So that low-level, tricky race condition that was fixed in the newest version? It might have been pointed out by this tool.

    -sugarescent

  56. Re:Of course by James+Lanfear · · Score: 1
    OS X is essentially a new version of NEXTSTEP, the earliest version of which (that I'm aware of) was released in 1988. So it's actually a little more than 10 years.

    OTOH, if you were implying that it took Apple 10 versions to get the MacOS right, it was actually ~16 years from the release of the first Mac to the first OS X release. But since OS X isn't the same MacOS, it's not really meaningful to include the original OS in an analysis of X's development cycle. FWIW, I would say the original MacOS became "good" somewhere between OS 6.5 and System 7.5, as little as 6 years after the initial release. (That's a relative sense of "good", of course; none of the pre-X MacOSes were really that good compared to what's available now.)

  57. Re:TeX! by sailesh · · Score: 1
    Tex is a very interesting program. Don Knuth's book "Tex: The Program" and paper in "Software, Practice and Experience" are required reading for any serious software developer. Just for the fun of it :-)

    In an earlier avatar in grad school, I used to do research in software testing and reliability, and my professors were early pioneers in the field. In the days when they were in grad school (mid-seventies) the first questions they were trying to answer is "What kind of bugs do programmers make ?" - the reason being they were trying to come up with effective strategies to test programs that eliminate the more common and more serious defects first. These guys used to stand outside undergrad computing labs and grab printouts from students who left to analyze for errors !!

    Later on in his career, my advisor spent six months with Knuth at Stanford to come up with a categorization of the various kinds of errors in programs.

  58. A Theory by Chief+Crazy+Chicken · · Score: 1

    My theory behind why it takes such packages such a long time to develop into useable tools for a large user base is related to the difficulty in getting requirements.

    People just don't know what they need software to do. It's hard for anyone to be objective and accurate about just what it is that they do from second to second during their daily processes. It's even harder for people to go up a level from that point and envision how they can improve what they're doing. Most people take the software they're given and just use it, silently cursing the flaws without thinking about what they could do to work better.

    Read "Contextual Design" -- the authors make these arguments much more convincingly and completely than I can, and give a potential solution to the problem as well. The only problem (from the perspective of most programmers) is that you have to spend more time with the users, get to know the users, learn their culture and activities.

  59. Re:TeX! by Grendel+Drago · · Score: 1

    You're trolling, right?

    TeX is tau epsilon chi, a typesetting system developed by Donald Knuth in the 80s.

    For more info... TeX Users Group.

    Frankly, a five-minute idiot document produced in TeX will look fifteen times as professional as a five-minute idiot document produced in Word.

    And TeX still has better line-breaking and hyphenation. Thppt.

    And it's still used by every academic journal in the world. (Well, every one that deals in hard science, not the squishy stuff.)

    -grendel drago

    --
    Laws do not persuade just because they threaten. --Seneca
  60. Re:Bad Examples. by Grendel+Drago · · Score: 1

    XML is a stripped-down version of SGML that has an "ooh, it has the letter X in it!" acronym. SGML was in the works for quite some time before it was widely used...

    -grendel drago

    --
    Laws do not persuade just because they threaten. --Seneca
  61. Re:Still more of the same uninformed mentality by Grendel+Drago · · Score: 1
    One other thing, computers supposedly are out-dated in what, 18, 24 months? That means that in 10 years, you will go through 5 to 7 cycles of computers going obsolete. How in the world could a 10 year development process be viable then?


    Actually, it means that software that ran on the machines of ten years ago is very, very, very fast today (if it's still relevant.) Witness on-the-fly METAFONT font generation built into TeX. You used to have to plan ahead because it took a significant amount of time to generate them. No more. Not to mention that layout for an eight-hundred-page book takes about fifteen seconds...

    See how fast everything would be if we didn't have such evil feature creep? GUIs *are* fast, if you can resist the urge to theme them and load them up with KDE/GNOME...

    -grendel drago
    --
    Laws do not persuade just because they threaten. --Seneca
  62. Re:Moore's Law by Grendel+Drago · · Score: 1

    Yeah, Doom and Quake run really smooth on my Athlon 750... not to mention how blazingly fast Snes9x and VirtualGB are.

    -grendel drago

    --
    Laws do not persuade just because they threaten. --Seneca
  63. TeX! by Grendel+Drago · · Score: 2

    What about TeX? Started work in 1977, but the final version was written in 1982, and was mostly-bug-free by 1985. Last known bug found in 1995.

    Err... I have no idea how you count that, but remember, it was (almost) all done by one man, who was also writing METAFONT at the same time.

    True, Donald Knuth isn't your average developer, but -- see? It can be done.

    -grendel drago

    --
    Laws do not persuade just because they threaten. --Seneca
  64. Exactly! by Grendel+Drago · · Score: 2

    Exactly right. Does this guy actually think that grip or cdparanoia won't be stable for another five to eight years?

    Maybe KDE or GNOME in general will take ten years to mature into a 'final' state. Maybe Apache too... but when I think 'software', I think 'XMMS' or 'konsole'. Little stuff.

    -grendel drago

    --
    Laws do not persuade just because they threaten. --Seneca
  65. Re:And in conclusion... by Grendel+Drago · · Score: 2

    You mean the

    <tag attribute="value">data</tag>

    idea? Something like this is so basic you don't really think about where it came from...

    -grendel drago

    --
    Laws do not persuade just because they threaten. --Seneca
  66. Re:No way... by crt · · Score: 1

    Could it track guns and laptops for the FBI? I hear they need a new system.

  67. Re:Good Software takes FOREVER! by _Quinn · · Score: 1

    They did. --use-compress-program PROGRAM.

    -_Quinn

    --
    Reality Maintenance Group, Silver City Construction Co., Ltd.
  68. mozilla at 4 years... by anthony_baxter · · Score: 1
    What the hell is going on with Mozilla? I made fun of them more than a year ago because three years had passed and the damn thing was still not out the door.

    Hey, if they're only at 4 years, they've still got 6 years to go. Maybe by then the textarea won't suck :)

    (having said that, I've been using mozilla for over a year now.)

  69. Wine ? by chrysalis · · Score: 2

    "Good stuff takes 10 years"
    This guy must be talking about red wine, not software.

    -- Pure FTP server - Upgrade your FTP server to something simple and secure.

    --
    {{.sig}}
  70. Re:not exactly by Dwonis · · Score: 2

    Quake 3 is basically version 4 of the DOOM engine.
    ------

  71. Re:This *WONT* Be True Any Longer by kolding · · Score: 1
    And it will be ready when, in 10 years?

    Seriously, as others have noted, correctness checking usually involves checking against a spec. Now, instead of writing bug free software, you have to write a bug free spec. You've really just moved the problem, and I've never seen any evidence that writing a bug free spec is any easier than writing a bug free program. If it was, we'd have developed spec->program translators already.

    To really get this right, I think you have to solve the halting problem, which is, of course, provably unsolvable.

  72. Re:This *WONT* Be True Any Longer by SirSlud · · Score: 2

    Not neccessarily true. There are one-way property checks such as:

    Input: request for door to open
    Output: door opens or error reported IF (this or that or that)

    While this logic may be complex (lets say the API to the door is a nightmare), verifying that the output matches a set of desired conditions can be far simpler in certain cases than the actual logic to implement the desired behaviour? Especially depending on the language you are using to implement .. think of doing something with assembler, when correct operation is verified simply by walking through some memory and doing a few checks like 'not everything is null', and other trivial possible outputs you know you won't EVER want. His program almost sounds to me like high-level asserts, where the app goes through all the possible inputs you specify to check against the asserts.

    --
    "Old man yells at systemd"
  73. Hey Taco... by bachelor3 · · Score: 5

    Hang on to that HP3300C scanner...you're gonna get a really good linux driver for it in 2011.

    1. Re:Hey Taco... by entrigant · · Score: 1

      rofl

  74. 10 years? by pogle · · Score: 2

    If its a project with government involvement, he's being far too optimistic...

    --
    http://thechubbyferret.net - Ferret pictures and informative links.
  75. Re:stupid nonsense by Peaker · · Score: 1

    Slashdot posts aren't about social skills.
    Everyone is entitled to his oppinion, and an oppinion of a more famous guy, is not necessarily more viable than of a less famous person. He is totally entitled to judge that piece about 10 years as total rubbish, as would I.
    I believe both Netscape and Mozilla are crap. However, the much newer Konqueror, is already great software, and without 10 years.
    I think that generalizing an arbitrary number like '10 years' for *any* piece of software, is more foolish than anything Ender Ryan wrote here.
    Also, I doubt that Quake includes a single line from Doom, let alone Wolfenstein. The 3d architectures were totally changed since, as well as game programming methods.

  76. Re:No OSS/FS projects? by n3bulous · · Score: 1

    He doesn't attack OSS/FS. He attacks the lack of a definitive release schedule. Mozilla development is a failure, no matter how good the software is when finally released.

    Other people have slammed Mozilla for taking so long and, more importantly, adding so many unnecessary bells and whistles (the same thing we slam M$ for.) If they had planned an IE-3.0 equivalent browser by the end of year 1, and an IE-4.0ish for year 2, They'd have released an IE-5.5 equiv browser by now and IE might not have won the browser war, which is the real reason that the Mozilla project has failed.

    The point Joel is trying to make is that you need to build in increments. Get a working version of your vision out there. The problem a lot of internet companies make, besides mismanaging their venture capital, is that the first version tries to do too much. If you have a novel idea, get the vision working and get it out there. Generate interest. The faster you generate interest the easier it will be to grow.

    And to respond to another post, Mozilla could be considered the 3rd rewrite, if you include the point where Mozilla started over (maybe only on a couple parts but it seemed pretty involved at the time).

    --
    "The area of penetration will no doubt be sensitive." ~ Spock
  77. And in conclusion... by alispguru · · Score: 3

    The semantic content of XML is equivalent to S-expressions, the core data structure of Lisp, which was invented by John McCarthy in 1959.

    To a Lisp hacker, XML is S-expressions in drag.

    --

    To a Lisp hacker, XML is S-expressions in drag.
    1. Re:And in conclusion... by Bobo+the+Space+Chimp · · Score: 1

      > To a Lisp hacker, XML is S-expressions in drag.

      Ugly drag, like the pre-operative transsexuals Eddie Murphy and Danny Bonad00chee hang out with. Ugly ones, with garish makeup, flouncy, ripped dresses, hair on their arms and oranges in their ripped, dirty, red velvet bras. That's what XML is compared to LISP.

      --
      I am for the complete Trantorization of Earth.
    2. Re:And in conclusion... by M-x+yawn · · Score: 1
      ... in drag

      w/ the ugly make-up and heinous big-hair! (spit spit)

  78. Iterations by Dix · · Score: 1

    When you (gu)estimate how long development might take for a project, the gut-feeling you get will give you the time for the FIRST ITERATION. You need AT LEAST two iterations (since the first is the process of learning what your software actually amounts to). So it's at least something like double your expectations. In reality, 5 or 6 iterations are likely to be necessary - that's 4 or more years for anything substantial. But people don't do it this way usually - they just hack and re-hack until bugs are suppressed to a reasonable usable level. This method takes rather longer so 10 years for a bugless efficient functional solution to a non-trivial requirement doesn't surprise me.

  79. Re:tar+bzip2 (was Re:Good Software takes FOREVER!) by jesser · · Score: 1

    Why do you need to remember the extra command-line option just to use tar'ed bz2 files? Isn't bz2 part of the filename (eg arcname.tar.bz2)?

    --
    The shareholder is always right.
  80. you're a moron by Ender+Ryan · · Score: 1

    I never slagged Microsoft in this post. I simply explained why idiotic statements like the one this guy made are... idiotic.

    Learn to read!

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
  81. nonsense! by Ender+Ryan · · Score: 1
    From what I've read from ID, Q3A is mostly new code. It shares NO code from Wolfenstein or Doom, those weren't even true 3D engines.

    From quake 1 to 2, there's supposedly little code reused.

    Then from 2 to 3 there is again little code reused.

    So, maybe, it could be considered at MOST 6 years old if you count Q2.

    Doom 3 is in the works now and should be released in the not too distant future, and they have said that the new engine will be completely from scratch.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
  82. aaaaarrrrhhhggg! by Ender+Ryan · · Score: 1

    You are an idiot, _I_ AM NOT THE SLASHDOT CROWD.

    And, quite often my opinion is different than that of the majority of the slashdot crowd.

    My opinion of the current article is that the guy is an idiot for the reasons I stated, and that has NOT ONE DAMN THING to do with Microsoft, Slashdot, or with anything you've said.

    So STFU and leave me alone.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
  83. I don't care by Ender+Ryan · · Score: 1

    about social skills. This is not a party, when someone is spouting a bunch of nonsense, I'm not going to hold anything back, except maybe some excessive swearing and insulting if necessary.

    Mozilla is almost entirely new code, and a complete redesign. It is not really in any way similar to the crud that was Netscape. Maybe that still doesn't count, I don't know.

    As for Q3A, it is based on entirely different principles than Doom and Wolfenstein. It is as much the same program as Doom and Wolfenstein as Mozilla is the same program as Opera, it just plain isn't. It's the same type of program, but is in no other way similar at all.

    Dude, like, stick your time-out.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
  84. Konqueror! by Ender+Ryan · · Score: 1

    Yes, that is the perfect example, I should have used that.

    Simply put, Konqueror is amazing. It is nearly as good as Mozilla(IMHO), but it's SO NEW.

    While I don't use Konqueror as my primary browser, sometimes I load it up just because it's an absolutely amazing project and it amazes me...

    Everything said, stupid, insulting, etc. or not, arbitrary numbers are just plain dumb. That's my opinion, and I feel that generalizing things in such manners is potentially damaging, so, sorry to anyone if I seem insulting, deal with it.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
  85. stupid nonsense by Ender+Ryan · · Score: 2
    I can't stand it when people make idiotic statements like this fool. Good software takes 10 years to develop... What a load...

    Simply put, software takes... as long as it takes. Some software is incredibly great after only 2 or 3 years, other software takes 10 or even 15 years before it is great. And then there is tons and tons of software that is NEVER great.

    Just take a look at Netscape. It was a very widely used piece of software that has NEVER been fully stabilized, and there are countless bugs in that POS. It is a bad piece of software.

    Then there is Mozilla (WTF is he laughing about?). It's only 3 years old, 100% new code, and while it's not even to 1.0 yet, I'd say it's good. It is well on it's way to becoming great software well before 10 years.

    Another example of a great piece of software, which happens to be one of my favorites, Q3A! ; ) I'm not kidding though, it is a fantastic piece of software. It is almost perfectly stable, I can't even remember the last time I saw Q3A crash. I've played Q3A for countless hours over the last year, and it hasn't crashed in that whole time. And, there is only 1 bug I can think of off the top of my head. Q3A is only (3? 4?...) years old and it is a complicated piece of software.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
  86. Re:Bad, Good and great software by mgblst · · Score: 1

    ..obviously a type, he meant to say good slashdot story takes 10 years.

  87. tar+bzip2 (was Re:Good Software takes FOREVER!) by pastie · · Score: 2

    Eg old warhorse like tar now has support for .bz2 files (tar -zI).


    I assume you meant tar -j instead of -zI (apparantly there were a couple of different patched versions using -y or -I and so they picked -j in the newest versions intead).

    OT? Yes. Many apologies. I am bored.
  88. Re:so why does notepad still suck? by barneyfoo · · Score: 2

    • Personally, I like the ability to launch a text editor for 'small' documents without waiting for 300 DLLs to load, or a splash screen, or 50 million freakin options that I'll never have a use for.
    I think what you're looking for is vim under linux. Unless you are addicted to point-n-click, in which case I will sipmly sympathize and move on...
  89. Re:so why does notepad still suck? by barneyfoo · · Score: 2

    Cool. Does most gtk software port over to windows easily? I know gimp is ported. Maybe we can subvert MS on their own operating system. Interesting.

  90. Re:This *WONT* Be True Any Longer by webword · · Score: 2

    I'm not a Java programmer (IANAJP), but how is Bandera different than Java Pathfinder?

    From the Java Pathfinder page: "In keeping with this philosophy we have developed a verification and testing environment for Java which integrates model checking, program analysis and testing. Part of this work has consisted of building a new Java Virtual Machine that interprets Java bytecode. JPF is the second Java Model Checker developed by the Automated Software Engineering group at NASA Ames - JPF1 used a translation from Java to PROMELA in order to do model checking with the SPIN model checker."

    While your enthusiam is great, I do not think it will revolutionize software development. The tool would have to be amazing. And yes, I do mean amazing. If it was amazing right now, which it is not, you'd have a chance to change the software development world. It also seems very academic and not truly practical. I could be totally wrong about this -- remember, IANAJP!

    Bottom line: It is a good idea and sounds interesting so keep your chin up. But, try to be a bit more realistic.

  91. Quake by mhelie · · Score: 4
    A lot of games have been in development for a very long time and are still being developped. Quake, for example, is 5 years old and at least three upcoming games I'm aware of (SoF 2, Wolfenstein, Medal of Honor) are using it. Unreal has also been in development for years.

    Just because it changes on the surface doesn't mean the whole program gets scrapped and everyone starts over. Unless we encounter a serious technological bottleneck in our current engines, it is quite likely they will still be in use in another five years.

    -------------------------

    --

    -------------------------
    "After Careful Consideration, Bush Recommends Oil Drilling" - The Onion

    1. Re:Quake by onion2k · · Score: 2

      Well, note that I said 'single game'. The Quake engine is getting pretty old, but thats not really the game per se. As I said previously, to develop a game for 10 years would be nuts, but to develop a system to be used for the basis of perhaps 30 games 10 years is pretty sound.

      As for the 3 games you mention, Medal of Honor is a port of a Playstation game. And Playstations haven't been around for even 5 years yet, so that could hardly be 10 years work.

  92. Re:Huh? What's that bout Mozilla? by heffel · · Score: 1

    Agreed, in the OSS development model, the fact that you don't have a 1.0 version does not mean that you don't have a usable product. Mozilla is definetly usable at its present stage. Perhaps in OSS when a piece of software reaches version 1.0, since its developers have received massive user feedback, it is actually complete?

  93. Not point 5! by kimihia · · Score: 1
    Mistake number 5. The "We'll Ship It When It's Ready" syndrome. Which reminds me. What the hell is going on with Mozilla? I made fun of them more than a year ago because three years had passed and the damn thing was still not out the door.
    I made fun of them, too. Until it turned out that its function at AOL was to serve as a bargaining chip with Microsoft. It did its job. And I don't think you can fault them for not releasing those horrific 0.9 versions as 1.0. You can fault them for taking so long to make it usable.

    I think Mozilla is doing the right thing. They are telling people to hold onto their hats until the finished version comes along. They could alternatively release version 5.0, then patch it multiple times with Service Packs and eventually get to 5.50.4xxx - but that is what MS does.

    For those daring people (that would include myself) it's all class to download a new Mozilla every two months and use it daily. I'm doing that right now. It's stable, it's good.

    BTW, I haven't got any complains about Mozilla 0.9.2. I've been using it since its release, and it's all class. I don't know why they don't bump the version number up. :-) Must be all my Bugzilla reports ...

  94. and furthermore... by dave-fu · · Score: 1

    ...XML is simple, simple stuff. XSL/XSLT/XSD/etc., etc. are the schemas that do all the actual work. Not only did they take longer to make than they should have, but they even feel like (especially XSLT) they were slapped together by a bunch of people who had no idea what the other guys were up to.

    --
    Easy does it!
    This comment has been submitted already, 276865 hours , 59 minutes ago. No need to try again.
  95. Windows became the most widely used desktop OS :-) by dwalsh · · Score: 1

    That answer your question?

    --
    ${YEAR+1} is going to be the year of Linux on the desktop!
  96. Arguments for XP (Agile Methodology) by sigmond · · Score: 1

    These three points are excellent arguments for a development methodology that prioritizes known requirements by business value, emphasizes getting working code in front of the users and has a rigorously defined QA/enhancement process. My understanding of XP is that it does all of this, presumably other "Agile" methodologies do as well. Unfortunately none of the projects I have worked on for a large three letter consulting firm have approached this sort of an iterative approach. All of them have been first release and then leave it to the clients in house staff to live with type projects. I'm trying to change the place I work, but I may just end up changing the place I work. (to paraphrase Martin Fowler).

  97. Re:No way... by Pedrito · · Score: 2

    No kidding...

    Actually, we may make a pitch to them.

  98. No way... by Pedrito · · Score: 5

    I've been apart of software projects that produced "Good" software. Really good software, in my opinion. Really good, large systems that were reliable and the users loved them. One took roughly 3 years to be ready for market and had another 2 years of additional development.

    Another is one that we're nearing completion on. It has taken 1 year for four developers, and it's a large distributed system. It's very stable and it's good software. We've also taken on the idea of "plugins" and exposed a great deal of our system's internal data and functionality so that we can add almost all of our new features via the "plugins" and not have to worry about mucking with the base system and messing it up.

    Now, as my old boss used to say: "We're not sending rockets to Pluto," but these are fairly large complex system.

    The first was a multi-user engineering system for developping cell phone networks (base station locations, traffic analysis, propagation prediction, interference prediction, etc...) The second is an enterprise wide tracking system, used to track everything from bugs in the software itself, to evidence in police stations, to prisoners in prisons, to assets for a company.

    So, I don't really buy into the 10 year thing. Not to mention the speed of technology changes, hell, you can't design for what's going to be there 10 years from now. Who knows what's going to be on your desktop?

    1. Re:No way... by natersoz · · Score: 2

      Agree: No Way. I was a software engineer on several key projects which worked "out of the box" and performed very well. Both took 9 months to a year to complete:

      1. Thomson's 1st DirecTv satellite receiver.
      2. Thomson's DOCSIS Cable Modem.

      Most impressive about these programs is that they incorporated "first silicon" for their technologies. So not only the software worked, but the hardware worked on the first "tape out".

      Ten years? BS. That sounds like a poor excuse for crappy engineering.

  99. Ship When Ready an argument against Mozilla? by debaere · · Score: 1

    A lot of this article makes sense, but banging on Mozilla for not being released in 3 years? HELLO! They release daily, and release development milestones on a ~3-6month schedule.

    Granted they haven't hit a 1.0 release yet, but on the other hand, it hasn't been 10 years yet...

    rant off...



    DOS is dead, and no one cares...

    --

    DOS is dead, and no one cares...
    If there's a Bourne Shell, I'll see you there
    1. Re:Ship When Ready an argument against Mozilla? by RustyTaco · · Score: 1
      I'm not impressed with the speed and responsiveness of it.

      Run Galeon or Skipstone instead. The slowness is mostly in the XUL crap. "Mozilla" drags it's ass while anything else using Gecko without the XUL will scream.

      - RustyTaco
  100. do you even know by jon_c · · Score: 1

    what side of your ass your talking out of?

    here's a little history for ya.

    the browser is an idea.

    the browser gets it's first implementation developed on NeXT (of all things)

    Mark Anderson helps make the first Mosaic at NCSA (I believe he was an intern)

    NCSA Mosaic gets some attention, so Mark A. gets the bright idea to start a new company, mainly by grabbing all the good people from NCSA (much how Unisys did with MIT AI lab when RMS worked there, which also started GNU)

    Around v2 of "Netscape" Microsoft realizes they are WAY BEHIND in the future of software. So they bought/licenced Spyglass mosaic browser, re-packaged it as IE 1, and 2.

    MS around v3 of Netscape MS has ditched the old source and was working on a new code base for IE3, which is was pretty decent.

    Netscape 4 and IE 4 came around the same time, but you know what? IE4 is a total re-write of IE3, and the beginning of what was also IE4. They got about half way done with IE4 then decided they really needed to change stuff around, so in the middle of development they re-started it and made the IE4 that shipped!

    Netscape roles over and dies (for various reasons, mainly for never scraping there code, and having a crappy product I imagine).

    So no, IE is not a hack off older stuff, the idea of a graphical www is ripped from NCSA Mosaic (which really was pretty obvious development from previous work).

    -Jon

    --
    this is my sig.
  101. Of course by cybercuzco · · Score: 1

    duh, Mac OS Ten, how long did it take apple to come out with good software?

    --

  102. Too True by JimR · · Score: 1

    I have independently come to much the same conclusion.

    I remember the days when the X server used to crash a couple of times a week and take all your apps out with it, or when Emacs would get itself into a bit of a state.

    Once these packages have hed more than about 10 years of development work done on them they reached the stage of becoming rock solid pieces of software.

    Of course Linux was started in 1991...

    --
    #exclude <ms/windows.h>
  103. The Wine developers must be chuffed. by JimR · · Score: 2

    The final line of the article is...

    Good software, like wine, takes time.

    (Okay, so I changed the link).

    --
    #exclude <ms/windows.h>
  104. That graph won't convince me by MrBlack · · Score: 2

    He may have a point, but the "number of lotus users" graph might have some correlation to "the number of PCs in use" graph. The size of the market has increased so much it doesn't really prove much. I know Joel tends to think older software is better, hence this article entitled "Things you should never do, part 1" where he chastises anyone who has ever re-written anything from scratch, saying that it is a waste of a huge investment. I don't know. I certainly think refactoring code is often necessary. When does it stop being refactoring and start being a re-write?

    1. Re:That graph won't convince me by tjb · · Score: 1

      I'll agree with joel on this one: in most cases, a complete rewrite is a bad idea. You abandon everything that has been done, working, and tested.

      However, like all other SE rules, there are exceptions. An 8051 embedded device that I worked on had the core state-machine written in C, while all the modules were written in assembly. At that point, we had something like 34 bytes free and a customer made a massive feature request, so I was left removing all of that bloated C and implementing "the world's most unreadable FSM" (tm) just so we could jam the extra feature into memory. It was about as complete as rewrites get.

      Tim

  105. BTW by MrBlack · · Score: 2

    I forgot to mention...Has anyone else noticed how much of a Philip Greenspun devotee Joel is? All those photos were flashbacks to "Travels With Samantha", and he praises Philip in a few places on his site. He's also about as oppinionated as Phil G. too....

  106. Bad Examples. by supersnail · · Score: 1

    Lotus Notes.....not many people would actually consider this good software. For a product that is mostly about end users to get a whole chapter in the "User interface Hall Of Shame" to itself is quite an acheivment.

    Oracle......was basically finished in about 1989 since then its been mostly window dressing and interfaces to new stuff that came along. It should be noted that the definitve and original relational database "DB2" reached a usable, stable and pretty much final form in about 1988 after about five years development, this includes Codd thinking up the origonal idea and developing a subset of set theory for use by computers.

    And what about XML from a gleam in a devlopers eye to stable, standard used software in three years,the BSD tcp/ip stack about 1 week, "vi" editor 36 hours and lots of coffee!

    It reall all depends on the scope of the problem, the quality of your thinking, and, the "Hacker Quotent" (TM) of your programmers.

    --
    Old COBOL programmers never die. They just code in C.
    1. Re:Bad Examples. by t482 · · Score: 1

      Notes did win Infoworld's top 10 most influential software products from the the 90's award.
      The Idea of Notes was good.. but it should have been built on open standards. Not standards tacked on after the internet took off.

    2. Re:Bad Examples. by hearingaid · · Score: 1

      XML is not an application. It's merely a data format, used by a number of applications. Sheesh.

      The BSD tcp/ip stack took longer than a week. Sometimes I wonder about you people. You know, there were several years of ARPAnet even before TCP.

      As for vi, you can keep your opinions to yourself. :) (Won't touch anything but EMACS or TPU/EVE, at least not willingly.)

      --

      my old sig used to be funny, but then slashcode ate it and now it's not funny anymore

  107. But Linux... by giberti · · Score: 2
    Has taken 10 years!

    Notice that some of the best projects, although usable, are not "mature" software until at least 3-4 years.

    Linux has been around about that long, and in the last 2-3 years has really picked up speed (and dollars) from corporations.

    Microsofts OS picked up speed around Windows 3.1 & 3.11 (early 90's) and had matured for aproximately 10 years prior to that (DOS 1.0 - DOS 6.22) You get the idea. Now that Windows is aproaching 10 years (Windows 2000) is finally an almost dare I say it "Good" OS.

    Although 10 years might not hold true for all applications, it will hold for a large number.

    --

    AF-Design, web development.
    1. Re:But Linux... by Ayende+Rahien · · Score: 2

      Actually, I think that Win9x is a master-piece of engineering.
      The one thing that MS needed with 9x is compatability with DOS & Win16 applications.
      They damn well got *that* one.
      The problem is that this compatability *cost*. And that cost is in the stability of the system. The OS can't guard itself against rouge applications.

      --
      Two witches watched two watches.

      --

      --
      Two witches watched two watches.
      Which witch watched which watch?
    2. Re:But Linux... by Ayende+Rahien · · Score: 2

      Depend on what you think of as Linux.
      If you are talking about the kernel, it was usable quite some time ago.
      It still need to be worked out around some problems that it has, but the kernel is mature.

      But the kernel isn't the problem with Linux, it's the rest of the system that raise many objections.
      Especially in the desktop market.


      --
      Two witches watched two watches.

      --

      --
      Two witches watched two watches.
      Which witch watched which watch?
  108. Re:Depends on the project.. by zerocool^ · · Score: 1

    yeah
    so what's diakatana's excuse?

    ~zero

    --
    sig?
  109. Re:not exactly by blazin · · Score: 1

    Thank you for pointing this out. _Most_ games released today would be laughed into the bargain bin if they used the quake engine.

  110. Re:Bad, Good and great software by Fillup · · Score: 1

    Will there ever be a new commercially viable operating system (not saing Linux is bad, but just that it's market share is far too low to consider it at this point)? Can suchan effort exist if the company producing it needs seed capital for 10 years of operation before a quality product can be produced?

    This makes linux a perfect example, actually. Linux has been around for close to 10 years, and only now is it TRULY the "product" it should be (meaning, in the last couple of years...).

    Really kind of agreeing with your post, just subclassing it and overriding your claims about how there "can't" be commercially viable, new, massive programs like OS's and db's, etc.


    --
    --
    "I think there is a world market for, maybe, five computers." __ IBM Chairman, 1943 __
  111. Been there, done that. by Animats · · Score: 2
    See my paper (with Scott Johnson), Practical Program Verification, in POPL '83.

    It's quite possible to use formal methods, and tools that check them, to produce bug-free programs. But the formalism is too much for most programmers. That's the real problem. Using a verifier means writing code that you can explain in a formal notation. This is a huge pain. It is, though, quite straightforward to check for low-level problems like possible numeric overflow and subscript errors by formal methods. More recent work has extended this to race conditions and deadlocks.

    Back when we were working on this, a major problem was that it took 45 minutes on a 1 MIPS VAX 11/780 to verify about 1000 lines of code. Today, that would take 2 seconds. You can be too early with a technology.

    Incidentally, undecidability isn't a problem. It's possible to construct programs whose halting is formally undecidable, but they're not very useful.

    Although program verification hasn't done much for software, formal techniques are widely used in IC design, where people are serious about engineering and stuff is expected to work.

  112. Re:so why does notepad still suck? by StandardDeviant · · Score: 1

    Yep. And the differences become larger on the server side. (SQL Server is way more expensive than NT Server, as is Exchange, as is ...). True, you have to buy license packs for the OS to add on users, but that's just them designing a razor where you have to replace two blades at once. ;-)


    --
    News for geeks in Austin: www.geekaustin.org
  113. Young Software Companies by kill_9_1 · · Score: 1

    I am mostly skeptical of his idea because I'm not sure how he thinks a young software company could possibly survive without building really good software in much less time.

    Well, young software companies would obviously find it difficult to create software that competes immediatly (so forget about mentioning Linux & any other FS packages) and aggressively with existing players. Providing the project being worked on is relatively disruptive or innovative (think web browser at the time, AI software, etc), small companies will drive the growth and eventually become the 10 year old software project company.

    --
    kill_9_1
  114. What about RAD? by jallen02 · · Score: 3

    What about the whole Rapid Application Development philosophy?

    I think it still applies that in a month I can write a very useful application using something such as Visual Basic or Delphi (Kylix)

    The time in development does not have to fall soley on MY shoulders. The Delphi people have spent many years coding the base libraries and IDE for Delphi. How does this entire development philosophy fit into this guys plan?

    What about 4Gl's where many years have been spent refining these languages. Many years have been spent thinking of how to make programming flexible (to a degree) and easier. Does this not /cheat/ the example given since you have so much time invested into your platform that you can get a good boost having such a strong underlying development platform?

    I am not implying any such a platform exists I am just stating that it seems to me this is quite feasible with the right tools. Maybe they are not out there yet but they will be some day.

    I just think that in software development you will find many rules and philosiphies spring up only to be later invalidated as the nature of the beast changes.

    Anyhow, laters.

    Jeremy

  115. Microsoft code word by paranoic · · Score: 1
    The truth is out. When Micro$oft says innovate, they really mean copy.

    Anyway, getting good software over the course of 10 years assumes that for at least 8 of those years, you're getting good feedback from your customers, and good innovations from your competitors that you can copy, and good ideas from all the people that come to work for you because they believe that your version 1.0 is promising.

  116. Re:so why does notepad still suck? by istartedi · · Score: 2

    Agreed. If I want to edit a webpage, I use Notepad. A webpage that is too big to load in Notepad is too big. Period.

    If I want to view or edit a really large plain-text, I open it in MSVC. MSVC whips the pants off Wordpad for large plaintexts. Wordpad is only useful for viewing documents from people who insist on sending you .doc files. As long as there isn't any crap embedded in a word file, you can view it. If people send me word files with crap in them, it usually doesn't matter. 99% of the time the graphics are just that--crap with no information that can't be deduced from the accompanying text.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  117. edit.com by Animixer · · Score: 1


    EDIT.COM : 413 bytes for the version included in WinNT 4.0, and still rocks!

    Beats the piss out of "edlin", at any rate. :)

    -mpb

    --
    man tunefs | grep fish
    1. Re:edit.com by parl · · Score: 1

      er, I think the 413 bytes is because it's just a link to the editor inside BASIC. And I actually used edlin when I needed to edit files longer than memory on the early DOS computers. Later I adapted a version of XEdit for DOS (from Relay Gold) to work from either a 5 1/4 or 3 1/2 floppy and I carried them around with me. But I'll still remember edlin fondly. Now that I'm learning vim (also on DOS) I guess the :ex editor may take me back to those early days of yester-year.

  118. Battlecruiser 3000 anyone? by No+Such+Agency · · Score: 2

    Ok, not the best example of a game that took many years to "perfect". I guess Daikatana isn't either... ;-) Games are probably not a good example of "more dev time == better app" because gamers want the latest, bleeding-edge thing more than a "workhorse" (Half-Life is a workhorse, but its persistence is probably dependant on a steady supply of new mods/Counterstrike updates).

    --
    Freedom: "I won't!"
  119. Re:This *WONT* Be True Any Longer by mikeee · · Score: 2

    The catch is you have to specify the expected properties of your program in terms of
    logical language


    Oh, so all we have to do is write a bug-free program to check our first program for bugs? Brilliant! (Seriously, I'm all for correctness checking, but if you think it is a solution and not a tool, you're smoking too much of that there crack cocaine.)

    "Beware of bugs in the above code - I have only proved it correct, not tested it."
    - Knuth

  120. Re:This *WONT* Be True Any Longer by bellings · · Score: 2

    This was previously intractable and infeasible task as the scientist proves that nobody ever breaks the Turing machine. But, we've got a way to get around with it.

    You might want to take a few more math classes, and then then get back to us. I'd tell you to suggest to your professor to do the same, but incompetent professors are often extremely vindictive.

    There's often nothing useful you can do with a computer science professor who has refused to learn any computer science, except nod and smile and stay the hell out of their way.

    --
    Slashdot is jumping the shark. I'm just driving the boat.
  121. Re:so why does notepad still suck? by Andrewkov · · Score: 1
    edit.com is still there, even in Windows 2000. I use it regularily!

    ---

  122. Re:Not 10 years for the first release... by Andrewkov · · Score: 2
    Look at PC Anywhere. This program has been around since the DOS days, and is now at version 10. It's still buggy as hell. You would think that by the time you get into double digit version numbers that you would pretty much have most of the bugs worked out.

    It's kind of amusing that you can do the same thing in UNIX with X without all the hassle. Who says UNIX is harder to use than Windows??

    ---

  123. Re:Not 10 years for the first release... by Andrewkov · · Score: 2
    I havn't tried Windows Terminal Server, I hear it is quite expensive. We are slowly starting to use MS Netmeeting which is a little more stable than PC Anywhere. I should look into Terminal Server, though, since we have to support Windows based PC's at 4 remote warehouses.

    ---

  124. Re:This *WONT* Be True Any Longer by bob_jenkins · · Score: 1

    Prolog *cough* Prolog

  125. Re:so why does notepad still suck? by Chester+K · · Score: 2

    But the calculator *still* can't do squares.

    View Menu > Scientific
    Enter your number, and click the "x^2" button

    It's been this way since at least Windows 3.1

    --

    NO CARRIER
  126. Re:so why does notepad still suck? by feldkamp · · Score: 1

    Yes, I know this is off topic, sorry :)

    Wordpad is their major text/rtf/unicode editor now. Notepad is meant to be really light. Wordpad has a decent amount of features, but I really don't like the feel of it.

    For a great text editor under windows try UltraEdit32. It does text, hex, large files, UNIX DOS/CPM conversions, and a bunch of other cool stuff, including syntax highlighting for c, c++, java, html, etc. Check it out at www.ultraedit.com. It's the only shareware I've ever paid for :)

  127. Wicked problem by Atom+Tan · · Score: 5
    Obviously, 10 years as a blanket maturation time for all software is over-the-top. But Spolsky does make some good points about software development. His main points can be summarized in the statement that creation of new, non-trivial software is a "wicked problem"--it requires constructing an incomplete or unsatisfactory solution to fully characterize the problem in the first place. A deep understanding of software design as a wicked problem will make you a better (and less frustrated) developer. For example:
    • Requirements will always fluctuate throughout the development cycle, because users cannot entirely formulate what they want until they have seen something close. For the same reason, requirements can never be fully formalized--the more explicitly complex behavior is described, the more likely it is not exactly what the user wants.
    • It is nearly impossible to get a complex design right the first time, even if you are among the very best. Design and build functionality slowly and incrementally, and expect to revise aspects of the design and code you didn't anticipate revisiting.
    • All non-trivial software has defects--you should accept this and spend time and effort developing an effective QA process, rather than treating QA as an afterthought or feeling guilty that your software has bugs. The development process lasts months, but the QA process lasts for the lifetime of the software. Concentrate on making the software better, not just fixing the bug at hand.
    These are just a few points, acceptance of which will lead to more effective development. A big barrier to acceptance of the real difficulty of software is that we spent our formative years developing trivial, batch-oriented programs that our professors could run easily and grade objectively. With these programs, the requirements were known upfront (any ambiguities having been flushed out by repetition of the assignment), the program was known to be doable by most developers in the alloted time, and it could be completed bug-free. None of those things is certain in the real world. Yet we treat complex software as if it can be done this way. It doesn't work--"Zaro Boogs", anyone?
    1. Re:Wicked problem by Feynman · · Score: 1
      • Requirements will always fluctuate throughout the development cycle, because users cannot entirely formulate what they want until they have seen something close. For the same reason, requirements can never be fully formalized--the more explicitly complex behavior is described, the more likely it is not exactly what the user wants.

      (Note: I'm still on my Inmates... kick.)

      Alan Cooper would seem to argue that this is not a license to take longer. Rather, users "have funny quirks . . . that interfere with the design process" (129) (emphasis added); "it is more important to define [an estimated user's requirements] in great and specific detail [and design based on these] than that the [user profile] be precisely the correct one" (129).

      As in your second point, in the absence of any other data (e.g., no popular competing product the features of which you can copy) it may be better to take a guess and get something out there than spend 10 years making it "perfect."

  128. Re:Depends on the project.. by aardvarkjoe · · Score: 2
    To develop a single game for 10 years would be madness.

    Madness? You bet. http://www.nethack.org

    --

    How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
  129. Ten years? by The+Gline · · Score: 2

    I don't know about you, but it doesn't take most programmers ten years to write a REALLY good HELLO, WORLD script. Of course, there's always the chance it can be used as a buffer-overflow denial-of-service Trojan!

    --
    Honorary Member of Jackie Chan's Kung Fu Process Servers
  130. Great site! by Scorchio · · Score: 1

    There's a lot of really good articles on this site, and I recommend anyone who's involved in software development to take the time to go along and have a read through. You might not agree with it all, but there's plenty of useful tips and heaps of common sense, which is so often lost in the corporate world. Start in the archives here.

  131. Re:No OSS/FS projects? by Prior+Restraint · · Score: 1

    He doesn't attack OSS/FS.

    Not directly; perhaps not even deliberately. He does, however, attack ideas that are commonly associated with OSS/FS. His "Mistake number 1" derides releasing too soon, and #6 warns against releasing too often. His fourth point blames Microsoft not for going to subscriptions, but for waiting too long to get around to it.

    He attacks the lack of a definitive release schedule.

    Another OSS/FS staple. Is the Linux kernel a failure because 2.4 was behind schedule?

    Mozilla development is a failure, no matter how good the software is when finally released.

    First, using Mozilla as a punching bag is cheap and easy (I'll concede this is partly due to overhype, Joel's second point). Second, Mozilla has been released, and is re-released nightly! You cannot make a meaningful qualitative judgement of the code based solely on the version number. I use Mozilla 0.8 for day-to-day browsing, and have found it to be perfectly adequate for my needs.

    Other people have slammed Mozilla for... adding so many unnecessary bells and whistles.

    If you think anything beyond an HTML renderer is bloat, you're free to use Lynx. Believe it or not, there are users out there that actually want an all-in-one system. Take my S.O.: I can't seem to convey that documents aren't long-term stored in the application that displays them, and that icons aren't the actual programs. For people like this, the fewer interfaces, the better. A do-everything-from-one-place program is made for them, not us.

    ...They'd have released an IE-5.5 equiv browser by now and IE might not have won the browser war...

    Nonsense. The browser war was won because MS tied IE to Windows; product quality never entered into the equation.

    The point Joel is trying to make is that you need to build in increments.

    That wasn't what I took from it at all. To me, he seems to say, "Unless your product has been in development for a decade:

    • Don't expect commercial success.
    • Don't advertise during the Super Bowl.
    • Don't rely on buzz-words.
    • Stick to a fixed (and infrequent) release schedule.

    And finally: get people used to the idea that the software isn't theirs." A lot of this is just a lengthy way of saying, "don't be a dot-com", which was good advice a year or two ago, but today looks like "I told you so."

  132. Re:No OSS/FS projects? by Prior+Restraint · · Score: 2

    Sounds like he's fairly anti-OSS/FS to me. He advises against "release-early, release-often" and "it'll ship when it's ready"; he takes a poke at Mozilla because they're not stamping "1.0" on a buggy release; and seems to believe that software rental is the only way to go.

  133. I admit by CaptainZapp · · Score: 1
    I wasn't able to read the whole story. It's built on very flawed assumptions. But here's my take anyway:

    When that guy uses Lotus Notes, Oracle, or Windows NT, which is apparently only ready after 10plus years, this is a bunch of crock.

    First, those are inherently bad example for his theory. OK, let's look at them seperately:

    Lotus (IBM) intended to develop the everything-encompassing-can-do-it-all groupware solution. This, I believe, is a flawed concept for software in general. The more you create a monster, the worse it gets to maintain it. Probably far more energy was invested into wondering how this part of the software could be affected by a change in a completely different part, then actually improving it.

    NT, nowadays has 35, or so, million lines of code. Isn't it? It was based on the VMS kernel, after Micro$haft hired Dave Cutler and the entire VMS core crew? Well, from what I gather Dave and his team are (where) quite brilliant guys. But wasn't it, that Digital actually was an engineering driven company, while M$ doesn't really care about technology and fine engineering, but more about marketing and killing of the competition. So, I wouldn't argue that it takes long to write 35million lines of complex code. But how much of that code was really written to actually improve the OS kernel and how much of it is snake oil, dictated by M$ marketing ?

    Oracle, now don't even get me started on that. Compared to other more modern databases Oracle appears to be a big chunk of files scattered around various disks. From what I know about Oracle (granted, I know far more about other databases), it's a rotten design, they always tried to improve upon. So, how much energy was wasted, just to keep this whole bad blob somewhat functional, within the development cycle ? Oh yes, and those remembering Oracle 6 realize, that this keeping up wasn't always successful.

    So, in essence; what this guy is doing is taking the worst examples to prove an entirely flawed theory. Sort of, as if I state that every cop is a corrupt crook and take isolated incidents from the LAPD and the NYPD as shining example.

    --
    ich bin der musikant

    mit taschenrechner in der hand

    kraftwerk

    1. Re:I admit by CaptainZapp · · Score: 1
      Rats! I hate replying to an AC, since I'm never sure that it's read.

      Nevermind, I heard the story differently:

      Basically, DEC hat a 64bit project (that was before Alpha) in the pipeline and Cutler, who was the principal architect for VMS, had quite a stake in that project. I think it was called cairo, but I could be off.

      That project was killed and that pissed Cutler pretty much off and during that time Microsoft hired him and a few of the core VMS engineers to work on NT.

      VMS can stay up an running for 10 to 20 years of 100% uptime, and has had clustering and distributed lock management since VAXclusters were introduced in 1982. The comparisons between VMS and NT are largley market-droids trying to sound technical.

      Oh man, each word's a beat of my heart! I worked for DEC in the first half of the nineties and it was a physically painful to experience how this marvel of quality and engineering went down on its knees. And it hurt, to see the digital logo replaced by the Q of a market droid box assembling conglomerate.

      DEC was eight years ahead (as you say clustering, and 64 bit) of everybody, but they had a dreadful sales and marketing organization. Besides that, it was an honest company and in todays business environment this is deadly.

      --
      ich bin der musikant

      mit taschenrechner in der hand

      kraftwerk

    2. Re:I admit by Ayende+Rahien · · Score: 2

      NT's kernel is actually quite tiny.
      Most of the code is *not* on the kernel, you know.
      Put Linux, X, KDE/GNOME, Bonobo, J2EE implementation, TCP/IP, Apache, sendmail, together, how many LOC does this come out?

      That is (very roughly) what NT has.


      --
      Two witches watched two watches.

      --

      --
      Two witches watched two watches.
      Which witch watched which watch?
  134. Re:Good Software takes FOREVER! by Erasmus+Darwin · · Score: 2
    New features are still being added, but they are few and far in between. Eg old warhorse like tar now has support for .bz2 files (tar -zI).

    Since the support is external (stuff is just piped through the bzip2 command), one could argue that tar could've been properly designed from the start to handle an arbitrary compression program (just as 'tin' works with arbitrary text editors and 'rsync' works with an arbitrary rsh-like program [though in the rsync case, I'm not sure when that was added -- but should ssh ever get supplanted by a new rsh-like program, rsync's already ready to support it]).

    Furthermore, one could argue that the existence of both 'compress' and 'gzip' should've clued the tar developers in on the idea of supporting arbitrary compression programs.

    However, I don't think the people who make tar particularly dropped the ball or anything. It's just that the software could've been made flexible enough before-hand.

  135. Re:Thank God... finally a programmer who understan by Jaguar777 · · Score: 2

    What do you think I'm doing right now? :)

    --
    Maybe you should educate the morons of tomorrow so they'll stop believing the leaders of tomorrow. - Dogbert
  136. linux Re:OSS example... by leuk_he · · Score: 1
    Lets test this against Joel's article:

    Mistake nr 1. get big.

    Linux started small. Ok there. how much people got linux V 0.23? 10? 100?

    Mistake number 2. the Overhype syndrome.

    A lot of people will say linux is overhyped. If it is so i did this not in the beginning, but long after Release 4 (something like V1.01 in linux version numbers)

    Mistake number 3. Believing in Internet Time

    I Do not really understand what joel is saying here. According to joel software does not get written faster because of the internet. And he makes an exception for internet explorer at the same time. (He just made mistake number 3?)

    Mistake number 4. Running out of upgrade revenues when your software is done
    This is clearly not about linux. simply put: what revenues. form this -> linux is not a good example!

    Mistake number 5. The "We'll Ship It When It's Ready" syndrome.
    linux does just fine there. You can get all kind of beta and alpha versions you want. (Joel goes wrong there: Mozilla was released, namely netscape 6.0 ).

    Mistake number 6. Too-frequent upgrades.

    Linux goes wrong here. A lot of people will want to use 2.2 kernels because they are not convinced that 2.4 is stable yet. But since there are still a lot of features wanted (run it on platform x , use File system Y ) it will keep changing. If you take Red Hat instead of linux you will hear, "don't use the .0 releases"

    To sum it up:
    -joes story is not about open source software.
    -linux has not reached "cannot think of any REAL new features".
    (Feel free to press reply)

  137. Re:i hate this subject line by morphon · · Score: 1

    True, Java is getting closer, but I for one am pleased that MS is removing it from XP. Take a look at Java support under 2k: it was outdated and full of MS'isms. It was the MS VM that had all those proprietary extensions that made J++ such a loser from the 100% pure Java community (flamebait: the real Java community is the one concerned with portability. A person who programs in the Java language is not necessarily a member of the Java community)

    Finally MS changes to reflect Java reality. Java2 has been around for a while and is vastly superior to Java 1.1. Java2 1.3 is about to be old news as the beta of Java2 1.4 nears completion (finally with non-blocking IO - a boon for scalability on servers). Why saddle an OS with something that a user wanting to run current apps will have to immediately upgrade anyway? We've had to download the new JRE from Sun even on Win2k for a while now. This really changes nothing.

  138. Re:i hate this subject line by morphon · · Score: 1

    Yes, of course some developers may want to work their darndest to support old or incompatible platforms (like the MS JVM). However, you miss the point. Flash 5 is the most current version of Macromedia's "tool" available, and if you are using a stock install of Win2K or Win98, you will still have to install the Flash5 plugin. What sets this scenario apart from the Java one you described is that this is painless and fast. The Flash plugin installs nearly transparently and works immediately.

    Does this mean that Flash 5 is better? Do some people make annoying plugins (the infamous comet cursor)? Obviously the decision to go with Java is often the best one (but not always).

    So we, the development community, should not put up with our platform (Java) being made irrelevant by what you describe as nightmarish installs of browser plugins. Even though J2 has yet to crater a machine for me, 5mb is a little ridiculous right now.

    Macromedia knows how to make a plugin work right and be seamless - don't bash them. Microsoft unloads painfully out-of-date software from XP (making it less of an embarrassment in the process) - about time. Maybe now someone will actually make really good and transparent Java plugins.

    Remember: deprecated software should be allowed to die. Only Slackware includes XView (their choice, not the choice of the industry).

  139. Stolen....er, forked by Raistlin99 · · Score: 1

    If I remember correctly OS/2 was a IBM-Microsoft partnership project. Microsoft was ready to throw everything into OS/2, however fate stepped in apparently. Microsoft was half-assedly working on Win3.0 when two software engineers got all of Win3.0 to run in protected mode. They showed this to BillG, and he said fine ship it. Microsoft "said" that Win3.0 was a development enviroment for OS/2. When Win3.0 took off IBM got pissed off and IBM-Microsoft seperated ways on OS/2. IBM continued developemnt on it and released it as OS/2. Microsoft continued its developement and called it WinNT.

    --
    I/O, I/O, its off to disk I go, with a read and a write, and a bit and a byte, I/O, I/O, I/O, I/O
  140. Depends on the project.. by onion2k · · Score: 5

    I'd agree in prinicle. To write Notes, or an OS, or a DBMS, certainly, 10 years is probably a fair amount of time to get something of reasonable quality. But..

    Not all software has even close to thelifespan of the big applications this guy is talking about. Most user applications, games, web technologies, they are all projects that get used for a few years and then get replaced. To develop a single game for 10 years would be madness. The amount of time a project has is usually linearly related to the lifespan of the outcome. If you're writing soemthing thats going to be used in 20 years time, then its probably not an afternoons work.

    1. Re:Depends on the project.. by update() · · Score: 4
      Not all software has even close to thelifespan of the big applications this guy is talking about. Most user applications, games, web technologies, they are all projects that get used for a few years and then get replaced.

      I agree about games, with the exception of low-tech stuff like Angband and other Rogue-likes. I also agree about simple utilities. (That's why I don't care whether Miguel and Ximian decide to throw their energies into chasing .NET -- the stuff I care about in Gnome, like grip and xchat, is only going to get slower and buggier if they ever really get Bonobo in place.)

      But user applications like office suite components, financial applications, things like that definitely need time to mature. It took Word and Excel years to go from their original Mac-only incarnations to their usability peaks (Mac Word 5.1 and Excel 6.0, IMHO). And web browsers are far more usable than they were five years ago.

      While I'm here, responding to some things in the article:

      Mistake number 2. the Overhype syndrome. When you release 1.0, you might want to actually keep it kind of quiet.

      A corollary of this -- don't crank up the hype before you've written anything! That way lies Eazel, Mozilla, Marimba and, I'm guessing, Mono.

      Mistake number 5. The "We'll Ship It When It's Ready" syndrome. Which reminds me. What the hell is going on with Mozilla? I made fun of them more than a year ago because three years had passed and the damn thing was still not out the door.

      I made fun of them, too. Until it turned out that its function at AOL was to serve as a bargaining chip with Microsoft. It did its job. And I don't think you can fault them for not releasing those horrific 0.9 versions as 1.0. You can fault them for taking so long to make it usable.

      Unsettling MOTD at my ISP.

  141. Re:This *WONT* Be True Any Longer by charmer · · Score: 1

    Hey, Have you tried running your tool against your own tool ? Maybe that could get rid of some of those bugs. charmer

  142. Re:Good Software takes FOREVER! by Lechter · · Score: 1

    I'd have to agree with this. Though 5-10 years does seem logically necessary to develop mature software. It takes quite a while, not only in development, but in use for software to become, not only what the developers intended it to be, but what the users want it to be.

    Of course, with the increasing use of modular software design, and distributed open source development I think the cycle can be shorter. Programs can benefit from the past development in mature libraries (like libc, etc.), and Open software certainly benefits from its users' being able to make the changes they want.

    --
    credo quia absurdum
  143. No he's talking about revision-codes by Lechter · · Score: 2

    Actually I believe that he's really refering to what software revision codes actually mean.

    --
    credo quia absurdum
  144. Re:Not 10 years for the first release... by SpryGuy · · Score: 1

    Aparently you've never used Windows Terminal Server on Win2K. It rocks. PC Anywhere sucks.

    - Spryguy

    --

    - Spryguy
    There are three kinds of people in this world: those that can count and those that can't
  145. Re:Not 10 years for the first release... by SpryGuy · · Score: 1

    I've used VNC. And it sucks. Updates are slow and spotty. Use Terminal Services on Win2K. Very fast, and never any screen artifacts...

    - Spryguy

    --

    - Spryguy
    There are three kinds of people in this world: those that can count and those that can't
  146. Re:Not 10 years for the first release... by SpryGuy · · Score: 1

    It's worth the money, actually. You can control your PC remotely anywhere from within a browser, or using a client. And it's JUST like being on the remote computer. I understand the next version (in WindowsXP) even sends sounds through.

    - Spryguy

    --

    - Spryguy
    There are three kinds of people in this world: those that can count and those that can't
  147. OSS example... by evanbd · · Score: 3

    Linux anyone? started in 1991, really taking off in 2000/2001. Sounds like ten years to me...

  148. No OSS/FS projects? by AlXtreme · · Score: 2
    > Unfortunately, he doesn't mention any OSS/FS examples

    He did mention Wine at the end. But i guess it'll take longer than 10 years for this wine to come of age ;)

    --
    This sig is intentionally left blank
    1. Re:No OSS/FS projects? by kraney · · Score: 1

      Linux Kernel 0.01 was published in Nov 1991...

    2. Re:No OSS/FS projects? by Ayende+Rahien · · Score: 2

      Not at all.
      What she (it's a she, not he) says is that:
      A> Don't advertise during the super bowl your *1.0 product*. It's not going to be good enough, and you'll lose people's trust that way.
      B> Don't create over-ambitious goals. Don't say, "I want to create a word processor", and then try to copy every feature of Word on your 1.0 product.
      C> *Keep* a scheduale. Without one, programmers code for fun, not for the best of the application.
      D> Don't expect *immediate* commercial success.

      --
      Two witches watched two watches.

      --

      --
      Two witches watched two watches.
      Which witch watched which watch?
    3. Re:No OSS/FS projects? by Ayende+Rahien · · Score: 2

      You haven't seen some of the female soldiers that *I*'ve seen.
      The food the IDF supply *does* make hair grow on your chest.

      "I didn't have a boyfriend"

      http://joel.editthispage.com/stories/storyReader $4

      Gay?

      --
      Two witches watched two watches.

      --

      --
      Two witches watched two watches.
      Which witch watched which watch?
  149. Contradiction? by hwaara · · Score: 1
    From the article:

    What the hell is going on with Mozilla? I made fun of them more than a year ago because three years had passed and the damn thing was still not out the door. [...] But I'm getting off topic. Yes, software takes 10 years to write.

    Is it just me or is that just a tiny bit contradictory?
    --
    -Håkan
  150. Re:Bad, Good and great software by hillct · · Score: 4
    The submitter of this article states:
    I'm sure we can handle that. I am mostly skeptical of his idea because I'm not sure how he thinks a young software company could possibly survive without building really good software in much less time
    Perhaps it could be said that the customer expectations in the software industry have effectively closed the market to new companies in some areas.

    Will there ever be a new commercially viable operating system (not saing Linux is bad, but just that it's market share is far too low to consider it at this point)? Can suchan effort exist if the company producing it needs seed capital for 10 years of operation before a quality product can be produced?

    This seems actually to be a great opening for Open Source. OSS has the advantage of not requiring large capital outlays to continue development. Look at the number of OSS projects started in the past 5 years, and at the number of corporate software startups from the past 5 years. How many of the corporate software startups are still around? How many OSS projects are still around?

    I recall a statistic someware that only 2% of companies ever really succeed, beyond 3 years. I wonder whatr that percentage is for OSS projects...

    Based on the above comment, it seems to me that the only major competition in large scale software such as Operating Ststems, Enterprise quality databases and Perhaps Wordprocessor software will come from OSS, which is the only development model that could survive for the decvade nessecery for the products to reach maturity.

    The alternative is to say that the only major software companies that will ever exist have already been established and that the bariers to entry into these markets are too high for any new startup. This is not something I would ever want to have to admit.

    --CTH

    --
    --

    --Got Lists? | Top 95 Star Wars Line
  151. Re:so why does notepad still suck? by entrigant · · Score: 1

    See, unlike most opensource developers out there, Microsoft realize that there is a goal for each piece of software they develop. Notepad was designed to be a simple text viewing program.. i.e. a "notepad". It reached that goal long ago. I have to congratulate Microsoft on avoiding bloat on at least one of their products. OSS developers better learn the same ideas soon, because I have yet to find a text editor as simple as notepad for those simple editing and reading tasks I do so often.

  152. Re:so why does notepad still suck? by entrigant · · Score: 1

    Yeah, it is trivial... I've been doing so much experimenting with gnome/gtk I haven't even bothered with any kde/qt apps yet... though I hope kde is better than gnome, gnome is not as great as it is made out to be =/

  153. Moore's Law by vodoolady · · Score: 1
    Since the software industry as he paints it started with Microsoft in 1975, every program subject to his law straddles almost half of the industry's lifetime! Over this time period computers got much faster and more people bought computers, which might have more to do with sales figures than aging.

    And to indulge in a little Microsoft bashing: products that last ten years usually suck compared to the competition, but come out earlier and have better marketing. Once they're the last ones standing, they finally turn their attention to making the product work like it says on the box. I think the reason it takes ten years to write good software is you have to spend the first 8 beating your competition.

  154. Is This a Troll? by vodoolady · · Score: 1

    I didn't read your stuff, so maybe I'm wrong, but... Wouldn't the logical specification be just as hard to write as the program?

    1. Re:Is This a Troll? by robbyjo · · Score: 1

      Umm... not quite. We use patterns instead. You can specify the logical specification using these patterns. It's not hard. Check out the spec patterns homepage here.

      More complex patterns can be broken down into some simpler ones.

      --

      --
      Error 500: Internal sig error
  155. Re:eh, what are you talking about? by vodoolady · · Score: 1
    What does Moore's Law have to do with software? Moore's law just says that about every year, the number of transistors you can fit in a chip will double. He changed it in 1995, to say about every two years. 18 months to be exact. And he originally said this in 1965. And I do believe the software industry existed before microsoft entered the picture. See his bio here

    Computers got faster, and that enabled better software. As opposed to software getting better with each version, which was the author's opinion.

  156. Good Software takes FOREVER! by Codeala · · Score: 4

    I think a software is only good iff it takes forever. As software *approach* perfection, changes are made less often. New features are still being added, but they are few and far in between. Eg old warhorse like tar now has support for .bz2 files (tar -zI). It is impossible to say something is perfect and cannot be improved anymore. Anyone remember that quote about "all the inventions had already been invented"?

    Of course this probably don't apply to the commercial environment (which is what the article is aimed at I think). Imagine starting a business selling tar: buy tarXP because... okay lets go to a subscription model ;-)

    ====

    --

    Codeala - Just another mindless drone
  157. Re:Not 10 years for the first release... by dasunt · · Score: 2

    There is also VNC, just like PC-Anywhere, 'cept its free, and works on many platforms.

  158. Falcon 4.0 by beri-beri · · Score: 1


    Took 4 years of development, 2 years of user-level beta-testing and 1 year of stolen-source-code-editing and bug fixing. And now, it's being worked on again for Falcon 5.0. And I'm not counting Falcon 3.0 before that.

    Also, Microsoft flight Simulator has pretty long development cycle.

  159. Re:Mario World by Greenisus · · Score: 1
    Playstations haven't been around for even 5 years yet, so that could hardly be 10 years work.

    Well, Miyamoto spent four years on Super Mario World before the SNES ever came out . . . so it's possible.

  160. i hate this subject line by dasmegabyte · · Score: 1

    I agree -- in theory. But I think that it depends (and this is not a Clintonism) on your definition of "good." Good software means what: software which is compelling, interesting and useful, or software which is full-featured, robust, stable and secure? I'd argue the first is good for having fun, proving a point, making a name for yourself, which is why I'm using a beta OS (OS-X) and a hobby OS (Cobalt Linux), and the second is good for making money and building a company (which is why my work machine runs Windows 2000 (ten years after 3.0) and not some loser's linux). Basically, what this guy's talking about isn't just good software, as in "good beer," but great software, as in "how the hell did we ever get around without this great effing software package???" Good software can be written in an afternoon, but it'll take years of writing, reviewing and revising code to make it great (just like writing literature, i might add).

    After all, what we're talking about is the difference between building a framework and building an application. Anybody can say:
    MimeMessage msg = Session.getInstance("mailserver");
    msg.setTo("somebozo");
    Transport.send(msg);

    but it takes a long time to turn that into a full featured, easy to use mail package. Good programmers won't speed that up...we'll just make each step a smoother transition. All the good garbage collection and subtle, elegant, efficient algorithms in the world can't save your software if you don't take the time to think about what you REALLY want it to do and what your customers need it to do. It's taken Microsoft 10 years of windows to realize people want everything from a unified OS -- speed, stability, ease of use and customizability -- and with XP, they're getting closer. Shame they had to go and pull that no-Java prank...after all, Java's only 4 years away from becoming great software itself.

    --
    Hey freaks: now you're ju
    1. Re:i hate this subject line by dasmegabyte · · Score: 2

      Well, that's an interesting misinterpretation, but the fact is that Java in a browser cannot be expected to be up to date, anyway. Java is a portable virtual machine that used to pack an incredible punch and have a lot of power, even in its most compact version. I've written programs for Java 1.0 that look gangbusters and run fast enough that older machines can keep up with their HotSpot JIT brethern. It took a lot of effort, and required a lot of care, but you COULD make Java run everywhere (no matter what the naysayers, like our braindead IT department, will tell you). But now that MS isn't including Java with their browser, Java's just another plug-in that consumers visiting your site might not have. And the java plugin is currently only available as part of a 5 meg J2RE download that is decidededly not for the average joe. Hell, our QA department has fscked up installs on three boxes! At the same time, I can't get rid of this damn Comet Cursor, the most idiotic, useless and proprietary software around. In fact, unless something is done to ease the Java gap that will begin to widen when XP hits the CompUSAs and Warez Servers of the world, we, the development community, will have to consign ourselves to a world where the most powerful cross browser, cross platform control is Flash 4.

      *Shudder*.

      --
      Hey freaks: now you're ju
  161. Re:This *WONT* Be True Any Longer by markmoss · · Score: 2
    This sounds like an attempt to automate formal verification. And formal verification can work, but at best it proves that the program meets the spec. Usually the problem is that the customer decides he wants something else when he sees the program running according to spec. So you do better by implementing part of the spec, getting the customer to play with it, then changing the spec accordingly.

    On the other hand, will this detect whether or not the programmer put anything in place to catch a buffer overflow? Considering that Microsoft has issued six patches since December, each because an unchecked buffer allowed a security exploit, ...

  162. Re:Not 10 years for the first release... by RustyTaco · · Score: 2
    Sorry, but who is going to be interested in coding a boring, routine, business application like that. Certainly not me. I do shit like that all day at work. I imagine it's exactly the same for most open source guys.

    Um, maybe, just maybe: The guys who are doing it right now? There is nothing that says open source has to be made in somebody's parents garage. I'm positive that this is not the only clinic with a programer onhand working on keeping their crusty old custom software working.

    Now if two or more of these guys working on these custom apps for clinics get together and work on something together then they all can enjoy the work done by the others.(After auditing it themselves of course). You don't have at least a periferal grasp of how OSS work, right?

    - RustyTaco
  163. Re:OT: Your sig by Bobo+the+Space+Chimp · · Score: 1

    ...spelling of it, either."

    --
    I am for the complete Trantorization of Earth.
  164. Re:Quality coding by Bobo+the+Space+Chimp · · Score: 1

    I never took a course in bug prevention (or detection -- that would be a nice course!) I don't even remember a course that offered that even as a unit. Of course, I took comp sci in the mid 80's.

    The question is: Is the degree to turn you into a programmer or just someone who understands computer theory?

    --
    I am for the complete Trantorization of Earth.
  165. Software is neither a recipe nor 'engineering' by teambpsi · · Score: 1
    To some extent, time delays in software, especially quality software are directly proportional to the time it takes for end users to adopt, embrace, and ask for expansion.

    I have read elsewhere that most technology in general takes about 20 years to reach mainstream usage

    But writing software isn't like following a recipe. The software doesn't mature on its own -- timing is NOT everything -- its not even like making up a batch of wort.

    We all know about the mythical man-month.....but perhaps if more TESTERS were thrown at the software, commercialware would benefit from the same "release early, release often" strategy that FS/OSS has been enjoying.

    Software isn't about engineering either. We do not build software the same way we build cars, bridges, and skyscrapers.

    A much better analogy is writing a symphony and performing it with an orchestra -- it takes many many iterations to write it so it sounds good, and then practice practice practice putting the people together to make them play well.

    It can be done, but again, imagine 'engineering' a building the same way a muscian composes.

    And that is why, IMHO, software is more about an ART form, a creative expression, than it is about laying down a circuit board.

    CPU's only have to detect the overrun error -- only software can give you the Blue Screen of Death!

    --

    Old age and treachery almost always overcome youth and skill.
  166. Re:so why does notepad still suck? by Ayende+Rahien · · Score: 2

    But the calculator *still* can't do squares.

    --
    Two witches watched two watches.

    --

    --
    Two witches watched two watches.
    Which witch watched which watch?
  167. Re:so why does notepad still suck? by Ayende+Rahien · · Score: 2

    Actually, I think that KDE's text editor is similar to notepad.
    Just a shell around the text box widget.
    It's really trivial to make a notepad clone.


    --
    Two witches watched two watches.

    --

    --
    Two witches watched two watches.
    Which witch watched which watch?
  168. Re:so why does notepad still suck? by freeweed · · Score: 2
    Notepad is by design simple. If you want more, use Wordpad. Personally, I like the ability to launch a text editor for 'small' documents without waiting for 300 DLLs to load, or a splash screen, or 50 million freakin options that I'll never have a use for.

    One of the biggest reasons I don't often use Word outside the office, is that it's basically gone from being a very useful word processor, to this incredibly huge, complex, 16-functions in one program.

    Then again, I still miss edit.com :)

    --
    Endless arguments over trivial contradictions in books written by ignorant savages to explain thunder in the dark.
  169. Re:so why does notepad still suck? by freeweed · · Score: 2
    Well, my point was that I already *have* what I'm looking for :) Until such time comes as I'm fluent enough in unix to run it as a desktop OS (yeah, I'm one of the 2 slashdot regulars who doesn't), and until it appears at my work, I have zero motivation to change. If it ain't broke, don't fix it, ya know?

    --
    Endless arguments over trivial contradictions in books written by ignorant savages to explain thunder in the dark.
  170. Re:so why does notepad still suck? by tb3 · · Score: 3

    Beause Windows is the razor and Office is the razor blades. Notepad and Wordpad are in there to annoy you into buying Office. Check the retail price of Office($580) vs the retail price of Windows ($310). Micrsoft doesn't announce its profits by division or product, but I bet Applications makes more money than Operating Systems.

    --

    www.lucernesys.comHorizon: Calendar-based personal finance

  171. Re:Not 10 years for the first release... by eWulf · · Score: 1

    Sorry, but who is going to be interested in coding a boring, routine, business application like that. Certainly not me. I do shit like that all day at work. I imagine it's exactly the same for most open source guys.

    --
    "If Stupidity got us into this mess, then why can't it get us out?" - Will Rogers
  172. One Word - TextPad by eWulf · · Score: 1
    --
    "If Stupidity got us into this mess, then why can't it get us out?" - Will Rogers
  173. Re:Not 10 years for the first release... by eWulf · · Score: 1

    Sharing source code with other developers is not the same as opening the source code to the whole world and relinquishing your copyright.I know how _most_ OSS works.However, from your post I guess you must have meant some other kind of OSS.

    --
    "If Stupidity got us into this mess, then why can't it get us out?" - Will Rogers
  174. Re:This *WONT* Be True Any Longer by robbyjo · · Score: 1

    We use JPF for the backend, but we do some optimization stuff like code slicing and abstraction. Throwing out the whole Java program will jam out JPF, since it will take a lot of memory. Check out our publications.

    This is still academic research and is amazing since you can reduce the state space dramatically (from four billions to two or four states) and weed out the irrelevant code to the properties (like printing out results).

    --

    --
    Error 500: Internal sig error
  175. Re:This *WONT* Be True Any Longer by robbyjo · · Score: 1

    No, it's not the case. The problem is that during specification phase, you usually pin out the purpose of certain methods -- which can be _robustly_ expressed in terms of logical language. And then, you translate it into the code. Often times, the intended translation is wrong, and thus bugs occur.

    Note that the code generation tools *cannot* generate the code out of a specification. For example:

    pre: arr != null
    post: for (i = 1; i

    This example states out the requirements for a sorting method. How can code generation tool produce a code to satisfy that constraints? Meanwhile, you have the freedom to implement the sorting code with *any* algorithm as long as it satisfy the constraints: whether it be bubble sort or quick sort, or whatever. Thus, this specification language provides a good way of abstraction.

    Not only that: Our tool can detect deadlock automatically. How can code generation tool do that?

    --

    --
    Error 500: Internal sig error
  176. This *WONT* Be True Any Longer by robbyjo · · Score: 2

    I am working for a research group that develops a tool for checking software *automatically*. Yes, you read it right. It's not only against syntactical error, but also logical error. This was previously intractable and infeasible task as the scientist proves that nobody ever breaks the Turing machine. But, we've got a way to get around with it.

    The catch is you have to specify the expected properties of your program in terms of logical language (yes, and this is very hard sometimes). If you stated the properties correctly, then our tool is able to detect violations against the properties. And, no, it's not those lousy tools that you've heard about ten years ago (maybe from Compaq or ISU), but this is a ground breaking new tool. Check it out. You can even download the tool too (but read this message thoroughly first).

    About the properties, our research group has successfully identify 92% of all patterns of all logic in programming. Thus, rather than inventing the logic language your own, you can rather use our template. Click here for the patterns.

    Our tool is still very very buggy and limited. It currently checks a subset of Java. Syntactically correct Java can be fed in, but there are (a lot of) features we won't consider yet as this will require more research, like: Object relations, array abstractions, exceptions, and so on.

    When our research is mature enough, the whole software development world will be revolutionized.

    --

    --
    Error 500: Internal sig error
    1. Re:This *WONT* Be True Any Longer by sydneyfong · · Score: 1

      The "logical" language would be too abstract for compilers to compile, if it was "compilable" then the code which compilers could compile would not be directly understandable in our brains (i.e. same reason you would want to comment your code, because you won't be able to "directly understand" programming languages).

      So actually what he's suggesting is writing the "logical" language first, then "compiling" (or converting) it to existing programming languages using our brain, then compiling it to machine code with a compiler.

      Might be a bit time consuming, but might make the program work better

      --
      Don't quote me on this.
  177. Re:so why does notepad still suck? by freezingD · · Score: 1

    ConTEXT is also a very good editor for Windoze. Has support for most of the popular languages (C++, Java, Perl, Python, Fortran) has macros, and other nice options. And its FREE! Check their web site

    --

    It seems the hero is misunderstood again - Marillion

  178. Still more of the same uninformed mentality by Uttles · · Score: 1

    Software is not a machined product that can be scheduled and delivered in a patternistic way. Software can range from an enterprise resources manager to a digital media editor to a word processor to a web page. It's ridiculous to say that "good software takes 10 years to write." Wouldn't that be overkill for Solitaire II? I agree that time is important in the development process, that throwing huge numbers of people on an assignment is not necessarily the best way to approach things, but there is no number that can be applied to all software on how long it should take to develop. Companies should (probably never will, but should) release software packages when they are ready, not when they are due. That may not sound economical, but it would boost consumer confidence, and it would make for less cost in the realm of going back and fixing things overlooked.

    One other thing, computers supposedly are out-dated in what, 18, 24 months? That means that in 10 years, you will go through 5 to 7 cycles of computers going obsolete. How in the world could a 10 year development process be viable then?
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    --

    ~ now you know
    1. Re:Still more of the same uninformed mentality by Uttles · · Score: 1

      There's more to hardware and software interaction than speed. Yes, on pure execution time, the software would be very fast, but what I was eluding to were different, more complex issues like storing the file on hard disk (when you have only 64 MB RAM) or storing in RAM (when you have 1 GB RAM.) Those sorts of hardware issues would make such a long development period illogical.
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      --

      ~ now you know
  179. not exactly by Garinwirth · · Score: 2

    SoF2, Return to Wolfenstein, and Medal of Honor use the Quake 3 engine. Don't insult anyone's intelligence by expecting us to think it's the same as the original.

    For Onion2k: MoH is not a port of the Playstation game, it just has the same setting and brand name.

    --

    My IP is 192.168.1.100 Hack it if you want.
  180. Complete Rewrite Considered Harmful by mgarraha · · Score: 1

    Things you should never do, part 1

    Thank you for that link. I wish I had a nickel for every me-too GPL app that boasted a complete rewrite. How is this supposed to impress me? Rewrites only make it easier for programmers who are too lazy to understand someone else's code, and too proud to believe that their own code might be missing something important. These are not the same as Larry Wall's virtues of Laziness and Hubris. Patchy old apps like sendmail, bind, and wu-ftpd persist because they are mature. If they seem buggy, it is partly because they've had lots of users finding bugs for several years. The software matures through widespread use, and the cycle continues.

    When does it stop being refactoring and start being a re-write?

    I think it's when programmers abandon the goal of keeping the existing code working. Refactoring extends the life of code by altering its internals incrementally. A rewrite rejects the old code and hopes that the new code will be better. It's like the difference between working things out with one's partner and breaking up.

    I worked on a project for a client who had an inventory database which they allowed public web users to search. The original code was buggy and butt-ugly, written in Oracle Pro*C by someone who seemed more comfortable with VB. Its second maintainer courageously but carefully replaced a too-clever finite state machine with a simpler way to build the SQL where-clause. This move alone extended the life of that code by three years. Other maintainers continued the cleanup and enhancement process.

    Another programmer decided that the only way to add a certain feature was a ground-up rewrite. He constructed a masterpiece of orthogonality based on embedded systems tweak idioms and the Blob antipattern. It had the new feature, but it also had new bugs. When the author left, no one else could understand it, so it got very few new features after that.

    Guess what? Both programs are still in use.

  181. Re:so why does notepad still suck? by CKW · · Score: 1

    Don't forget that in the Win98 version of Notepad you can't search for text.

    What idiocy.

  182. Re:so why does notepad still suck? by CKW · · Score: 1

    Ackk... I meant "Search and Replace".

    Sure you can search, but you can't replace. It's in the WinNT notepad, and I swear it was in the Win95/3.1 notepad. But not Win98.

  183. Bad, Good and great software by FinnishFlash · · Score: 2

    A quote (on program desings) from P.Brooks: There is no silver bullet :

    Whereas the difference between poor conceptual designs and good ones may lie in the soundness of design method, the difference between good designs and great ones surely does not. Great designs come from great designers.

    I wonder of which kind of software products they made their conclusions... ;)

    --
    please proff read !
    1. Re:Bad, Good and great software by haruharaharu · · Score: 1

      New companies are certainly possible; they just can't rely on the software for profit during the formative years. For instance, a consultancy could fund a word processor or email client with its regular work (process engineering) until such time as it becomes profitable.

      --
      Reboot macht Frei.
  184. so why does notepad still suck? by archen · · Score: 1

    yes, notepad has been around for 10 years and it still sucks. Hell I still can't open large text files with it. No shortcut keys? What is with that??? And yes Microsoft still does spend the time with each new windows release to update the "About" dialog and change the copy right info. Well admittedly notepad had a MAJOR upgrade with windows 98 when they allowed you to do something as revolutionary as change the freaking font.

    This from the company that is supposed to innovate so much...

    1. Re:so why does notepad still suck? by archen · · Score: 1

      um... are you saying Microsoft can't make notepad open large text files and add shortcut keys with out huge bloat and waiting forever for it to load? Er... well it's microsoft so perhaps I just answered my own question...

    2. Re:so why does notepad still suck? by JerryKnight · · Score: 1

      I think it's a law of software (most likely something stated in There is No Silver Bullet) that bad design will never yield good software.

      --

      Catapultam habeo. Nisi omnem pecuniam tuam mihi dabis, ad tuum caput saxum immane mittam.
  185. Huh? What's that bout Mozilla? by YeeHaW_Jelte · · Score: 2

    Indeed too bad he didn't say much about OSS, because it has quite a different developement strategy, owing to it not costing anything while being developed. There are more releases and thus more user feedback.

    In that light, I don't understand his comments about Mozilla. For one, he says he's making fun of them because they haven't released after four years of development, for another he's saying that of the ten years you supposedly need to develop good software, eight should be with user feedback.

    So? I've been crashing with the mozilla team for over a year now ;-), submitting talkback reports and bug reports now and then, and with version 0.9.2 Mozilla is really becoming a serious alternative for, well, any other browser I know of, and is, in my opinion, only second to (and that only slightly) Explorer. So what's he laughing about?



    ---
    Living is a way of life ...

    --

    ---
    "The chances of a demonic possession spreading are remote -- relax."
  186. Linux is Ten Years old... by cnelzie · · Score: 1


    I believe that the Linux kernel itself is just entering its tenth year of development plus or minus a few months. I suppose that that would finally make it "good" software to this guy.

    Of course the GNU utilities that are packaged with virtually every distribution of Linux have been under development for far longer, as I understand.

    Since just over ten years have passed we should use this (ex?) Microsoft employee's justifications to point out that Linux would thus be good software. We can then use something that came from the mindset of Microsoft's culture against itself.

    Of course the whole thing would probably back-fire. Since us open source software people aint smart enough to know that most Microsoft products have been along longer than ten years.

    Microsoft would still be on top claiming, "While it is true that Linux, the virus, has been developed by crackers for over ten years. We have had teams of professional coders working on our products for more than 10 years. Some products have even been under development since the early 80's!"

    --
    .sig seperator
    --

    --
    If you ignore the other uses of a tool, does that make the tool less useful, or you less useful?
  187. Not 10 years for the first release... by n76lima · · Score: 5

    I work in the medical practice management business. A group of Docs that I consult with have their own PM app suite that they had written in house. Its 14 years old, and has gone through 2 major re-writes. It ddn't take 10 years to produce good workable software, but it continues to take development to refine it and add features that the staff need to transition to an office model that uses less paper. It started as a DOS program and evolved into several DOS sessions that could be task switched under Windows 3.1, then 95. Now the current version is all Windows (on the desktop, we run extensive Linux support on all the servers). They have had a full time programmer on staff for 14 years with no end in sight. The current thrust is to make the medical records available to the Docs on the web through a browser interface. The cost to develop it has all been paid by 1 clinic, and I estimate that they have ~$1 million tied up in the coding over the life of the project.

    1. Re:Not 10 years for the first release... by rogue_coder · · Score: 1

      I agree, a software product is an evolving thing. Besides, how is a small software company supposed to have a steady flow of revenue if it can't keep charging for product updates? It's all good for the economy. : )

      --
      Gentelemen you can't fight in here...this is the war room!
  188. Actually... by martijn-s · · Score: 1

    ... Visual Basic itself is now 10 years old!

  189. I agree about the schools by _avs_007 · · Score: 1

    I went to USC, and remember talking to some CS friends from UCLA. Appearantly, they are only required to take 1 EE class as part of the curriculum. I had to take 2 years worth of EE classes at SC for my CS degree. U of Oregon doesn't even have an engineering school, so their CS program is all fscked up... (wierd, since at SC, the CS program is in the School of Engineering). I was helping a CS friend register in Oregon State, and I remember how shocked I was, that the classes they are required to take as juniors, were the same classes I took as a freshmen. (They have to take far more "liberal arts" classes then I did. They didn't really get into core classes till junior year. I only had to take a handful of "Liberal Arts" courses, and so had to take Core CS classes from day 1. I even looked at the syllabus, and was dissapointed in the simplicity of much of the stuff. And about two months back, my boss wanted me to interview a possible candidate from a school around here with a CS degree, and he didn't even know the 7 layer OSI model, and couldn't tell me the different threading models... Jeez, what are they teaching there? Anyways, back to our regularly scheduled program.... (Hope I didn't offend anyone out there...)

  190. eh, what are you talking about? by _avs_007 · · Score: 1

    What does Moore's Law have to do with software? Moore's law just says that about every year, the number of transistors you can fit in a chip will double. He changed it in 1995, to say about every two years. 18 months to be exact. And he originally said this in 1965. And I do believe the software industry existed before microsoft entered the picture. See his bio here

  191. new twist by _avs_007 · · Score: 1

    Thanks, I get it now.... However: Would this make sense too: Computers got faster, and thus software became more bloated and innefficient due to lazy coding practices, since the performance of the computer will make up for it, so the end-user won't notice. A few revisions later, and the software is realized to be a POS and must be rewritten, faster processor or no.... :)

  192. Missed a big factor... by RadioheadKid · · Score: 1

    Hardware...We didn't care much about plug n play in DOS because all we had was ISA and ISA PnP sucked anyways, (setting jumpers rules). We didn't care about USB support in Linux until we had USB devices. We couldn't have all those features in Excel 10 years ago because it would have taken up too much RAM/cpu time/disk space. There are many more limiting factors than just how long it takes to write and debug the code. In 5 more years we'll be saying, "Do you remember when we ran 2.4.6 with no support for [insert new peripheral bus here], wow we've come a long way, it really takes 15 years to write good software!"

    --
    "Karma can only be portioned out by the cosmos." -Homer Simpson
  193. This explains alot by fa098h23fra · · Score: 2

    So THAT'S why the graphics in SNOOD appear so outdated. I guess the creator had worked on it for 10 years getting it just right. Can't wait for Snood 2, coming July, 2011.

  194. Quality coding by Smedrick · · Score: 1

    A course in quality coding...god, I would love that. I had a course a year or two ago that taught programming language concepts. Basically it taught you how to develop your own programming language. It was really usefull in understanding the optimization and the like. The professor even went into programming ethics...really cool. That's about as close as they got though.

    --

    --
    "I strongly urge both the faint of heart and the faint of butt to leave the room at this time."
    - Strong Bad
  195. Serious Software by arnwald · · Score: 1

    Well, if you look at what ID produced, they got it right with Wolfenstein, Doom & Quake.

    3 times people loved it , 3 times it never crashed on me. 3 Times they did it in less then 10 years.

    --
    My other sig is Funny.