Slashdot Mirror


Searching For Essay on Innovation, UNIX and C?

michael_cain asks: "Sometime in the past few years, I read an online essay with the thesis that most of the software developments that people today regard as innovations were initially developed on UNIX using C. For example, the first graphical Web browser (Mosaic) and most early Web servers (CERN, NCSA) were initially UNIX apps written in C (or C++, a derivative). I've tried the search engines but have been unable to come up with the essay that I remember (lots of other interesting things, of course). So a question for the collective memory of the Slashdot community -- do you know this essay? Do you have a link to it?" Such an essay would be an interesting read. Do you agree or disagree with the topic, however? If not, what do you think are important innovations, and did they originate from Unix and C?

10 of 25 comments (clear)

  1. Re:the killer apps... by Chang · · Score: 2

    Finger and talk provided instant messaging functionality a long time ago. IRC is another example that clearly predates the current crop of IM tools.

    Napster like functionality was also in place a long time ago in the form of archie/anonymous ftp.

    I know - I was using these tools in 1994 when I first got online. I know there were people using this stuff long before I got there.

    The spreadsheet was a true innovation. I definitely agree with you on that one.

    The real innovation of Napster and IM were in the GUI packaging and ease of use that brought it to the masses.

  2. Re:the killer apps... by wik · · Score: 2
    Not to mention, zephyr predated ICQ/AIM by far (most of the C source files are copyrighted 1988). It's a unix-based instant-messaging system developed by MIT which uses kerberos for authentication. It has not only private messages, but "classes" which allow you to broadcast messages to a group of individuals.

    The interface (when using X11) is through a window with a list of users and you send discrete messages to your destination. The messages appear in separate windows on the receiver's display. The implementation doesn't appear to be meant for internet-wide use, but it is still in heavy use at CMU and MIT (where cross-realm zephyr is enabled so we can lob messages at each other).

    --
    / \
    \ / ASCII ribbon campaign for peace
    x
    / \
  3. Re:Really stretching it. by Mike+Schiraldi · · Score: 2
    Er, Visicalc was never an IBM PC program - it was an Apple II program. It changed its named to Lotus 1-2-3 when it was implemented on the IBM.

    There are so many things wrong with this sentence, i don't know where to begin.

    --

  4. Re:Seriously... by timster · · Score: 2

    Backing up the other poster; the first release version of Linux to have real threading in the kernel was Linux 2.0, which was released on June 8th, 1996. The libc support did not mature until distributions began to ship glibc2 instead of libc5, but before that time there existed a separate threading library to interface with the kernel's native threading functions.

    --
    I have seen the future, and it is inconvenient.
  5. Re:Really stretching it. by VAXman · · Score: 2

    Er, Visicalc was never an IBM PC program - it was an Apple II program. It changed its named to Lotus 1-2-3 when it was implemented on the IBM.

    Another thing: although TCP/IP was (I believe) first implemented on Unix/C, it certainly wasn't the first networking protocol. DECnet certainly precedes it, and I'm sure there are others which are older also.

    The rest seems pretty much spot-on, though.

  6. Re:Seriously... by cperciva · · Score: 2

    (9x won't do threads)

    Umm... no. Windows 9x supports threads -- it linux which doesn't support threads.

    OTOH Windows 9x doesn't support multiple processors so I guess it cancels out in the end.

  7. the killer apps... by grammar+nazi · · Score: 2
    Take a look at the killer apps...

    Spreadsheet - developed on the desktop PC, non-unix

    Napster - developed for the home PC, non-unix

    Instant messaging - non-unix, although some argue that this hasn't became a 'killer-app' yet.

    I consider both of these to be innovative software developments.

    --

    Keeping /. free of grammatical errors for ~5 years.
  8. Re:Seriously... by stephend · · Score: 3

    PARC invented a lot of what we take for granted in a modern computer system, but much of it was hardware (as I understand it).

    The main things that I'm aware of being invented at PARC are Ethernet, the laser printer and the personal computer (they built workstations with bitmapped displays while everyone else was using timeshare machines). The obvious exception is the WYSIWYG display and certain GUI elements as you mentioned.

    Unix contributions are probably more subtle and low-level. TCP/IP was first implemented at Berkeley I believe, as were most of the original networking programs. The "small, well defined tools" and the "everything is a file" approaches were both popularised by Unix. I think a lot of innovations come from these, few features. Networking is key to modern computers and the ability to quickly write new code made it easy to experiment.

    C, on the other hand, popularised the segmentation fault by making it easy to write bad code.

  9. Bill Gates Invented the Web! by jagapen · · Score: 4

    C'mon, let's get it right. Mosaic was not the first graphical Web browser. That honor belongs to WorldWideWeb.app, written by Tim Berners-Lee in Objective C on NeXTStep. This FAQ item gives the story: First, there was WorldWideWeb.app for NeXTStep, then ViolaWWW, Erwise and Midas for Unix. Marc Andreessen and Eric Bina then wrote Mosaic for Unix after seeing ViolaWWW and Midas. Later, other NCSA people ported Mosaic to the PC, and it came out about the same time as Cello on the PC.

    So, Mosaic was not the first at anything. Not the first graphical Web browser, not the first on Unix, and tied for first on the PC. Let's get it straight!

  10. Really stretching it. by jagapen · · Score: 4

    What I regard as innovations were the result of people putting existing techniques and technology together in useful new ways. (Very few innovations truly have no antecedents.) As much as I love Unix, I can't say that very many of what I consider innovations in the computer realm were developed on Unix in C. Here's a random, non-comprehensive selection of those innovations:

    The Microprocessor: Created by Intel in 1971.

    The Mouse: Developed by Douglas Engelbart, and famously demonstrated by him in 1968. Launched into widespread use by the Macintosh in 1984.

    The Screen: Credited to Mr. Engelbart again.

    The Spreadsheet: VisiCalc, which ran on the IBM PC, is considered the first spreadsheet.

    The Word Processor: Some consider WordStar, which was developed on CP/M, as the first word processor. However, with just a short Google search, I found a 1963 memo from DEC describing TJ-2, a text justifier running on a PDP-1.

    The GUI: It's well-known that the Xerox PARC researchers came up with the fundamentals of the modern WIMP GUI while Unix was in its infancy, and that Apple brought the WIMP GUI to the masses with M68000 assembler, C, and Pascal.

    Virtual memory: Hell, I don't even know where it started, but I know Multics (which came before Unix) had it.

    Unix: Originally developed in chalk on blackboards in 1969, then PDP-7 assembler, then B, then NB, then C.

    The C language: BCPL begat B, which begat NB, which begat C on the nascent Unix.

    The Amiga: An inspired hardware/software combination. The hardware was designed mostly on hand-drawn schematics, and the software developed in large part on the prototype hardware, although a some Sun workstations were used later on. Developed in M68000 assembler, C, and BCPL.

    The Free Software movement: This began in C on Unix. Yay!

    The Video Toaster: Developed in secret by NewTek on the Amiga computer. The software for it was written in M68000 assembly and C.

    The Personal Computer: MITS generally gets the credit for this one, with the Altair. IBM built a PC in the early '80s, and Compaq cloned the BIOS, which brought what we now call "the PC" to the masses.

    The Internet and TCP/IP: Developed on a while variety of computer systems, mostly mainframes and mini-computers.

    Hypertext: Dreamed up by Vannevar Bush decades before computers made it practical.

    The World Wide Web: The first servers were written in C on Unix, but the first graphical Web browser was written in Objective C on NeXTStep (only sorta Unix).

    Shrink-wrapped software: Created by Bill Gates and Microsoft from their software efforts on the early personal computers.

    Well then, as far as I can see, Unix and/or C helped along many innovations, but claiming all computer innovations were developed in C on Unix is quite an outrageous claim.