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?
Um, have you ever tried to read Perl ?
Although what you say is absolutely true, I don't think proof by contradiction really works here.
Does the fact that information theory was invented by Claude Shannon make Einstein any less of a genius? Similarly, the spreadsheet being invented on an Apple II doesn't detract from what Unix has brought to modern computing.
The killer app is email...
Don't be stupid.
Douglas Calvert
http://www.ai.mit.edu/docs/articles/good-news/subs ection3.2.1.html
Chat programs were popular on timesharing and BBS systems in the 1970s. IRC is simply a network-oriented implementation.
...and it came out about the same time as Cello on the PC.
] to search for stuff.. heh.. those were the days (-:
heheh.. I was hoping you'd mention Cello. I used cello on my crappy 386SX20/2MB Ram on Windows3.1 because it took Netscape (0.9x) WAAAY too long to do _anything_. Cello didn't have support for forms (at the time), so I had to use http://search.yahoo.com/search?p=[searchtermshere
But aren't you over looking the wonderful creation of the BSOD ?? This conecpt not only reminds us to reboot our systems, it has also found its way into wonderful screen savers, too! Heck rebooting your system - there's something I don't think was even thought would occur much in a UNIX environment...
Wheeeee
The work at Xerox PARC I think of first when I want to point at a single thing responsible for many things in "modern*" computer. WYSIWG being something that although not advertised much today is a big thing to me. However I do agree UNIX is a major part in the puzzle - especiall on servers. MIMD (Multiple Instruction Multiple Data) with more than one user and threading (9x won't do threads) are things that some ahem modern systems are lacking...
* Modern computing: Starting 5 minutes ago, until about 5 minutes from now.
Wheeeee
Although I'm not too sure on the history of the spreadsheet, I do believe that both Napster and Instant Messaging came about based on the true innovative works done before. Instant Messaging isn't that far off the scale from IRC, which has been around since 1988. Napster, as a 'peer to peer' client isn't original, in that at least since the early 90's (maybe earlier), DCC (Direct Client to Client) was instituted in, again, IRC clients. Napster put 2 and 2 together, and managed to pool all the end clients. This had been done on a much smaller scale on IRC warez and porn channels much earlier, probably before Shawn Fanning was old enough to drive a car. I'm sure IRC owes to many previous chat/email systems for it's development, but it seems me that this is where the innovation was.
BAM!
WorldWideWeb.app wasn't much more than lynx with a helper app set for image viewing.
I agree.
Another big one:
the relational database, first deployed on IBM mainframes.
GUI publishing software
video games, first deployed on mainframes and mini's
Conformity is the jailer of freedom and enemy of growth. -JFK
I remember back at CMU in 1990 we used an xwindows program called zypher that was an IM app. So there was IM before the web.
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.
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
/ \
There are so many things wrong with this sentence, i don't know where to begin.
--
--
Mod up a post Rob doesn't like and you'll never mod again
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.
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
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!
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.