Stories
Slash Boxes
Comments

Dev.SN ♥ developers

posted by LaminatorX on Wednesday March 26 2014, @03:04AM   Printer-friendly
from the 640k-ought-to-be-enough-for-anybody dept.

Lagg and Uncle_Al both wrote in about this surprising source release.

Lagg writes:

Today a technet article was posted by a Microsoft employee announcing that they are releasing to the Computer History Museum and the public at large the source code to v1.1 and 2.0 of MS-DOS as well as v1.1a of Word. All obvious jokes aside this could be good for projects such as DOSBox. Note also that said employee considers 300kb to be small for source code. Seems rather large to me, even now. But in any case this will be an interesting thing to dig into. To save the trouble of link chasing here are the relevant links:

Computer history article for MS-DOS (direct link to source)

Computer history article for Word (direct link to source)

 
This discussion has been archived. No new comments can be posted.
Display Options Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 3, Insightful) by RobotMonster on Wednesday March 26 2014, @03:59PM

    by RobotMonster (130) on Wednesday March 26 2014, @03:59PM (#21717)

    zlib and libpng both have multiple projects trying to make them tiny because of that largeness. They're not exactly the best counter-examples.

    I agree; they happened to be the first examples of well-known code-bases I came across when looking up sizes. The application I'm currently working on for my day job has around 10MB source for the 'main application.' If you add in all the libraries you're looking at another 100MB or so. Some of the libraries are 10MB on their own, others are 200KB. There's certainly a lot of bloat in some areas, but there is a lot of functionality represented here. A lot of 'business rules,' a bunch of specialised algorithms, importers & exporters for a lot of different industry file formats, it all adds up!

    On the other end of the scale, the source for one of my iPhone board games is about 200KB for the core game and AI, and 300KB for the GUI.

    People don't pride themselves on writing clean and simple code enough these days.

    Indeed they don't. It makes me sad. A lot of the code people are exposed to encourages bad habits, instead of leading by good example; see STL & MFC, or even the zlib interface. Ugh.

    I think one of the problems is the use of the word "code." You shouldn't need to spend much effort 'decoding' well written source. Take STL's std::numeric_limits::min() as an example -- it returns a number greater than zero; hardly the 'min' limit for a float, so any use of this method requires 'decoding' -- you can't just take the implications of the words used, as they're just plain wrong. Boo, hiss.

    Smaller isn't always simpler, either. I try to write my code to make it simple, unambiguously correct and efficient, in that order. I won't apply cryptic tricks to reduce the size of the source -- keeping it simple, obvious and maintainable is much more important than achieving something in the fewest possible characters.

    I'm much more likely to use a VeryLongClassNameLikeThis instead of MyClass36, even though the latter would make the source a lot smaller. With modern editors you very rarely need to type the whole thing anyway, so there's no need to use short cryptic identifiers.

    Starting Score:    1  point
    Moderation   +1  
       Insightful=1, Total=1
    Extra 'Insightful' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   3  
  • (Score: 3, Interesting) by Reziac on Wednesday March 26 2014, @11:02PM

    by Reziac (2489) on Wednesday March 26 2014, @11:02PM (#21888) Homepage

    I cheer your philosophy, and wish there was more of it. I've often said that programmers should be constrained to work on the slowest system their program will run on at ALL, so they can feel the pain they inflict on others, rather than doing this "junk fills the space allotted" thing that seems to be the norm nowadays. Where's their pride in making stuff compact and efficient??

    I'm not a programmer, but I take an interest. I have Pascal source (given me by the coder) for an old program I use a lot, and even tho there's not a single comment in it, I can pretty much follow what most of it does, because it makes sense in context. Part of this is due to logical names for everything.

    BTW, I can't find a copy of it now, but the source for Vern Buerg's LIST v6.0 was released as public domain.