Slashdot Mirror


Immortal Code

ziani writes ""... Sometimes a piece of code is so elegant, so evolved, that it outlasts everything else." Nice article at Wired wondering how much great (and lousy) code is lost due to business failures."

30 of 354 comments (clear)

  1. Like DNA? by Overand · · Score: 4, Insightful

    Code that lasts 'forever' and gets passed along, like DNA? How unusual!

  2. Re:It's nice by TerryAtWork · · Score: 2, Insightful

    That might be the case. I once had a BBS utility out there in the bad world but I never released the source code as it, frankly, embarrassed me.

    --
    It's Christmas everyday with BitTorrent.
  3. Re:It's nice by Anonymous Coward · · Score: 5, Insightful

    How can you tell if something is written elegantly if you cant see the source? Elegant code does not imply well working code and well working code doesnt mean that it is written elegantly. You can have a program that works great and never crashes but is written poorly and does not use the system efficiently. You can also have very buggy code that is written beautifully.

  4. What was the point of that article? by jj_johny · · Score: 4, Insightful
    I read it and it says that people buy assets of failed companies and sometimes those assets are - oh mi ga - software code. Well I was as suprised as I have ever been that you could buy the software code assets of failed companies.

    Come on guys this is not a story at all. Good code gets bought and reused. Thats not news thats anti-news (it would be news if people didn't do it). So thanks for alerting me to another article that doesn't matter about anti-news.

    1. Re:What was the point of that article? by Anne+Thwacks · · Score: 2, Insightful
      Good code gets bought and reused

      Generally, if the programmer who wrote it has been laid off, the code is binned.

      --
      Sent from my ASR33 using ASCII
  5. Excuse me? by Anonymous Coward · · Score: 5, Insightful

    No way the code from busted companies gets lost. I'd bet that most if not all coders get themself copies of their code and keep it in their own portfolio to reuse and recycle it.
    And of course you don't destroy your copies just because another dot bomb has gone off.
    Imho that article is a nice myth...

  6. OSS and Immortal Code by Peter_Pork · · Score: 5, Insightful

    One of the true beauties OSS is its immortality. Given the "deep" copying of source code from OSS projects (there're many many repositories), it's hard to believe that we will ever lose any software developed in this way. In addition, good, useful OSS is iterated over and over. Just look at Emacs for example. I like to think that Science and OSS work the same way: result/programs are published and reviewed over and over by other scientists/programmers. Some projects will achieve amazing level of perfection, just as some theories, like quantum mechanics, are exceptionally accurate and useful. It took many iterations to get that theory right, as it takes many iterations to create perfect code.

  7. Re:It's nice by josepha48 · · Score: 5, Insightful
    Well I can't see M$ code so I can't say. However the biggest advantage I see in open source is if the API is not clear you can look at the source to see exactly what the f*** is going on. I find this helps the most. (Debuggable, cause you have the code.)

    Also in open source, I find that if I write something someone else may have a mod that they want in it or they may make their mod on the code and then ask me to include it. I then review thier mod and determine the best way to include it in my code. They may also review my code and offer suggestions on how to improve the code. This does not happen all the time at corporations. I can't speak for all companies, but some that I have worked for, it is more important (read moneywise) to get the code done and to the client than to do it right and nicely. (Code review, by someone trying to modify it or by the owner?)

    Lastly in open source, developers are more likely to rewrite code and drop bad API's (gtk1.0 -> 1.2 -> 2.0 just look at the text widget, notebook and a few more) and do it right the second time around no matter how long it takes than private companies. (Rewrites and screw the client they'll get over it!). I think that this is becase in windows it has traditionally been much harder to have multiple copies of similar dlls than UNIX (not impossible, just more difficult, IMHO). Glibc is a good example of shared libs that you can have many versions of. M$ has a tendancy to wrap its API's on top of each other and keep old baggage around so you have no idea of what you are actually calling, or to change the API and then not tell you.

    --

    Only 'flamers' flame!

  8. Re:It's nice by Anonymous Coward · · Score: 5, Insightful

    I think it has to do with pressure of business that causes cruddy code. Often in my company we're asked to write full projects in 60 days or less -- that kind of tight schedule doesn't produce great code. Let's also not forget that open source code "matures", whereas in the corporate environment we rarely touch working code unless it's to add a new feature (in a day or two). It's a crying shame (and I frequently find myself crying), but we are just not allowed the time to go back and make the code "good".

    Rev 1.0 of any software is not as elegant as it could be; even in OpenSource. OpenSource has the luxury of not needing to move on to the next project ASAP to be profitable.

  9. Doubtful by dubbayu_d_40 · · Score: 4, Insightful

    I don't think they talked to many coders. Who doesn't keep a copy of their work, especially if it is good?
    Good code get reused, but in a more organic way...

    1. Re:Doubtful by dubbayu_d_40 · · Score: 4, Insightful

      Good algorithms transcend the media on which they are stored and their language of implemenation.

    2. Re:Doubtful by Salamander · · Score: 4, Insightful

      Good for you. Just last week a guy I was interviewing showed me (unasked) a spec he'd done, as a sample of his work. The copyright/confidentiality notice for a very large company was clearly printed right across the top. Needless to say, I told him to put it away and made sure he progressed no further through the interview process. I'm all for people distributing their own code freely, but I can't condone giving away someone else's trade secrets.

      --
      Slashdot - News for Herds. Stuff that Splatters.
    3. Re:Doubtful by Anonymous Coward · · Score: 1, Insightful

      You've NEVER written code just for you? Not once? My fucking god, no wonder today's apps suck so much - all the coders are in it for the money, not because they enjoy the job.

    4. Re:Doubtful by chworktap · · Score: 3, Insightful
      Good point. (Poorly made, but good point).

      The best programmers are the ones who program at least partially because of its intrinsic rewards. Whenever I interview a potential programmer, I always ask them to describe the last coding project they did purely for fun. The best developers I know always have several projects going on in the back of their heads.

  10. Re:It's nice by Anonymous Coward · · Score: 5, Insightful

    "You can also have very buggy code that is written beautifully."

    I guess it depends on your definition of beautiful code. For me beauty is not in the formatting or the intricacy... but in simplicity. The same aesthetic that favors art with clean flowing lines that is punctuated with edges and corners or melodies and harmonies that smoothly slide in and out of each other applies to beautiful software. There are, believe it or not, beautiful pieces of Fortran IV out there --
    they do the job cleanly and efficiently while being easy to read and follow -- elegant. Elegant code tends to be less buggy because you can see what it's doing.

  11. Re:Oldest working code... by Frobnicator · · Score: 5, Insightful
    I'm always curious as to what may be some of the oldest "working" code that's publicly available. Code that was written ages ago, but still used today.
    How about DNA?
    --
    //TODO: Think of witty sig statement
  12. Re:Immortal code - which do you know? by Anne+Thwacks · · Score: 4, Insightful
    The BSD TCP/IP stack - this must be the most re-used software ever - its in everything that does internet - and it has the famous BSD licence.

    --
    Sent from my ASR33 using ASCII
  13. The article never makes its point by unfortunateson · · Score: 5, Insightful

    It shows no examples of immortal code. The closest thing they mention is that when Scour got bought, the new company archived the code, but never used it.

    That's hardly immortal, that's entombed.

    Examples of immortality would be things like

    * Bits of BIOS still in use from the original IBM PC through today's pentiums

    * Bits of Multiplan that percolated through Excel

    * Bits of CP/M still floating through Linux

    The article makes a bigger point on how transient software is, and how 99% of what's created is tossed out. How many times, when asked to fix code, do you just rewrite it anyway?

    --
    Design for Use, not Construction!
  14. Unbelievably depressing? by mellon · · Score: 5, Insightful

    Is it just me, or is that story just unbelievably depressing? The writer didn't really acknowledge this - those two people who spent their lives working on Dragon Dictate wound up completely hosed, and can't hack on their lifes' work anymore. I mean, *ouch*!

  15. The code is not lost by Anonymous Coward · · Score: 5, Insightful

    The code escapes on floppies and CD-Rs. Developers are always swiping copies of good code to take home. Whether they wrote it or not. Good code resurrects itself again and again.

    We all know it happens. Many of us do it. We take code with us and "massage" it for the next job... or a job two years later.

    In they eyes of the law and in the eyes of society, it is wrong. To me and most developers I know, it is right. Nothing will ever stop this practice.

    1. Re:The code is not lost by frozenray · · Score: 2, Insightful

      > The code escapes on floppies and CD-Rs. Developers are always swiping copies of good code to take home.

      If Palladium* makes it onto the developers' PCs by order of the PHBs, these will be fond remembrances. Good for IP, bad for freedom and progress.

      Raymond

      *or whatever it's called today - a turd by any other name is still a turd

      --
      "There are already a million monkeys on a million typewriters, and Usenet is NOTHING like Shakespeare." - Blair Houghton
  16. Elegant code by salimma · · Score: 3, Insightful

    Wonder how much well-designed assembler and punch-card code there is out there. While due to being platform-specific most would not be immediately usable, it would be nice to be able to read snippets to explore specific computer platforms for curiousity's sake.

    --
    Michel
    Fedora Project Contribut
  17. Re:Lifetime of code... by stripmarkup · · Score: 2, Insightful

    Perhaps we should look at it that way: If all good code would and could be reused, more than the half of all software engineers would be ou of duty soon

    In that case, a "software engineer" would be someone dedicated to designing and building systems by putting together building blocks of code, instead of writing code from scratch. Software would start to resemble other engineering disciplines.

    --
    See charts for twitter trends on Trendistic
  18. Re:Duff's Device by Chocolate+Teapot · · Score: 2, Insightful

    In my other response I omitted the cache manipulation stuff. That really rocks if you get it right. Assembly will seldom beat a good optimiser these days, but a good knowledge of disassembled code will help you write C/C+ code in such a way as to make life easy for the optimiser, whilst still maintaining a degree of portability to your code.

    --
    Modest doubt is called the beacon of the wise. - William Shakespeare
  19. Re:Duff's Device by Anonymous Coward · · Score: 1, Insightful

    > d) Lose that f***ing % operator, which will do a lovely job of stalling the integer pipelines while it computes the modulo. ( count & 0x03) does the same thing much quicker.

    Or lose whatever compiler won't optimize "% 8" into "& 7" for you. Certainly any one written in the last 20 years will do that (at least if you have optimization enabled)

  20. Re:It's nice by scot4875 · · Score: 3, Insightful

    M$ has a tendancy to wrap its API's on top of each other and keep old baggage around

    Granted, but the 'have no idea of what you are actually calling' part would only be applicable for someone who doesn't read documentation.

    or to change the API and then not tell you

    I call BS. Can you give an example?

    --Jeremy

    --
    Jesus was a liberal
  21. Re:It's nice by Lodragandraoidh · · Score: 2, Insightful

    That must make you feel conflicted - giving your best for something that will not see the light of day.

    I feel that alot of coders *don't* give their all - for fear that their nuggets will be tied up and misused for profiteering via patent/copyright enfringment cases. They hold back their best work for open source or private projects - hence the blecherous state of most code bases. I earnestly pray that is the case, because it is more distressing to think of the alternative...

    --

    Lodragan Draoidh
    The more you explain it, the more I don't understand it. - Mark Twain
  22. Re:SlashWired by Flamerule · · Score: 2, Insightful
    Sure, they're all interesting, but do we really need the editors to hold our hand and lead us to the biggest and most famous computer/culture magazine?
    At the upper-left corner of http://slashdot.org/, it says "News for Nerds. Stuff that matters." /. receives submissions on news stories the editors believe will be of interest to readers, and posts those stories. These stories come from many different sources, and save readers the task of browsing dozens or scores of websites to get content.
    READ WIRED!
    I read /. so that I won't have to read Wired... and Ars Technica, and C|Net, and any other online news source.
    [...] by SF god Neal Stephenson [...]
    Neal Stephenson is not a god.
  23. Re:Who Is the Greatest Programmer? by PhxBlue · · Score: 2, Insightful

    I don't agree with the premise that DNA is "the program that operates the brain." DNA is the hardware; my personality, what makes me who I am, is built over that. A gene in my family that predisposes me to alcoholism doesn't automatically make me an alcoholic--it simply means there's an exploit in my OS which may be exploited through excessive alcohol use. The final decision on who I am, however, rests with me.

    True, some people are content to be nothing more than their DNA or their background dictates. But we can reprogram our brains, just as we can reprogram any other computer.

    --
    !#@%*)anks for hanging up the phone, dear.
  24. Re:It's nice by spitzak · · Score: 5, Insightful
    Thus code that a programmer knows many others will look at appears to be well-written. This is as good of an argument for OSS as any other.

    I think if you look at a typical closed-source driver written by a hardware manufacturer based on this code you will see some really bad stuff. While open-source Linux drivers, even if based on sample code for other drivers, is a lot better. Closed-source linux drivers seem to be as bad as non-MicroSoft Windows drivers and crash a lot.