6 ms·
Differences in the Windows and Unix cultures
- patrickg-zill 17y agoDecent article, but I think that Joel should have worked in a reference to Neal Stephenson's "In the Beginning Was the Command Line" as well.
- angusgr 17y agoThanks for referencing that, I'd never actually heard of it: http://artlung.com/smorgasborg/C_R_Y_P_T_O_N_O_M_I_C_O_N.shtml http://artlung.com/smorgasborg/C_R_Y_P_T_O_N_O_M_I_C_O_N.sht...
- blasdel 17y agoThank god, as that's easily the worst thing Stephenson's ever written -- like a rambling inept Slashdot comment, but stretched to 160 pages -- it's even structured around an extended simile between user interfaces and fictional automobiles, for fuck's sake! On top of all that, it has the misfortune of being written at the worst possible point in time: * too long after mainframes, minicomputers, or basic micros * right before the death of BeOS (which he was infatuated with) * right as Apple is about to die from its own bullshit * long after NeXT has faded from relevancy but before the buyout * In Linux's middle-aged (~2.2) years when a lot of things were bogged down in wank -- well after the initial excitement, but well before BK and git
- rbanffy 17y agoI'll take the worst Stephenson over the best Spolsky any day, thanks.
- socillion 17y agoLinux = Tanks (made by hippies) Win '95 = Commie Win NT = Intended for *industrial users* "Apple" = Black Box BeOS = Batmobile Browser = Reagan. What? He could maybe work on some of the metaphors, though I got a good laugh out of it.
- martey 17y agoWritten in 2003, and its age shows. It is clear that the people working at Ubuntu and other distros only care about making their product easier to use by non-programmers. 'Raymond does attempt to compare and contrast Unix to other operating systems, and this is really the weakest part of an otherwise excellent book, because he really doesn't know what he's talking about. Whenever he opens his mouth about Windows he tends to show that his knowledge of Windows programming comes mostly from reading newspapers, not from actual Windows programming. That's OK; he's not a Windows programmer; we'll forgive that.' Joel is not a Unix programmer; we'll forgive that.
- barrkel 17y agoCanonical is being funded by a billionaire with an explicit goal of making Linux user-friendly. It didn't exactly generate that motivation intrinsically; it was injected by economic force from without.
- billswift 17y agoAll of the major distros do it - the biggest irritation I have with Red Hat and Debian are their package managers - both rpm and apt add a layer of cruft I have to learn without really improving on tarballs, except that they are easier for people who can't be bothered moving untarred files to the correct directories. And since the "correct" directories are different on different distros, they are a royal pain when working with more than one distro.
- arjunnarayan 17y agoThe real difference is that you can take a unix program (which obeys the dont blabber rule, is a command line program with lots of options, etc.) and with a good amount of effort put a GUI on top of it to make it look pretty. Case in point: Ubuntu. It attempts to do this to most tools, and succeeds in many ways. My computer illiterate father was soon able to wrap his head around Synaptic package manager (which is just a wrapper around APT). But you can't take a Windows-culture program and make it easily programmer accessible. This is a one way street. I think that the Unix-style dual access is far more powerful. Apple doesn't open source its work, but it is BSD based and I get the feeling that internally, Apple follows this "unix culture" (I hesitate to use the article's terminology, but bear with me here) and thus comes out with powerful programs that are command line accessible but have wrappers (albeit beautiful ones) around them. This is what enables them to refactor internal parts like in Snow Leopard that cut out gigabytes of cruft - it starts to sound like this "unix culture" is simply best-practice engineering in terms of modularity and flexibility of individual packages. If Microsoft even attempted to refactor some parts of the OS, they'd break something terrible. I disagree with Joel where he says Apple follows the Windows culture. It seems that OS X is factored "the unix way" up to a point - where a beautiful API is exposed, and another team (the Steve Jobs insane perfectionist team) takes that and puts a usable beautiful front-end on it, which may, in Joel's mind fit the "Windows-culture", but is thin enough that the unix-culture layers beneath hold the meat of the OS, and thus can be modularly modified rapidly. Linux lacks this final layer, which leaves it looking so broken and hacked together at the top. It still is an open question if the front end can be created without the dictatorships of a large company like Apple or Microsoft at the helm - but if anyone's got a shot, I think Canonical would come closest.
- calcnerd256 17y agoToo bad the web browser started on the wrong side of the street.
- dchest 17y agoYou mean NeXT, which was Unix?
- troels 17y ago> This is because a textual interface is easier to program against than, say, a GUI interface, which ... I suppose a GUI Interface is expected on an OS built on NT Technology.
- krying_krab 17y agoPerhaps what most interests me about the article is not the dichotomy of the two cultures, but in the area between them. I'm a college sophomore studying EE in a notable university, but I spent most of my free time (and much of my homework time!) coding in high school. I had been using Linux from middle school, so my way of learning coding was picking up K&R's C book, learning the ropes, and starting to code on Linux. Linux really was an incredible atmosphere to learn to code in, and I learned more than just C. The ability to look at the source of other applications, to submit bugfixes for projects, and the incredible POSIX standard that makes C and other languages just ... whistle ... was great. That said, I later abandoned Linux (several reasons: time, laptop incompatibility, much more time spent fiddling with radios, I "sold out", whatever) for day-to-day use. I still code and do it on Windows, but it's not the same. Now there are a lot of things of the "Windows culture" that I really like -- a shiny GUI for everyone, a huge smattering of applications which means that if I don't want to write it I don't have to, not having to deal with finding obscure driver patches so that my out-of-date hardware can stay supported, package management clashes, etc. But when I want to code, and I do so intermittently, I feel the intellectual gap. I want that great POSIX interface, but more importantly I want an atmosphere that works around the code that I write. And here's where I feel the gap the most -- what about those of us who really enjoy a satisfying, intellectual coding experience, the "Unix culture" (and I don't code often enough to want to want to grind out consumer software), but still want the benefits felt for other users of the OS somewhat appreciably, and still want this end-user directed drag-and-drop "Windows culture". I've heard that the Mac bridges the gap, but I'm an impoverished student, and spending $1000 on a Mac laptop is something in my semi-distant future.
- stewiecat 17y agoStudents get pretty hefty discounts from Apple (hundreds off). All you need is to prove that you're a current student. Apple refurbs are also great, just got a new(er) mac book pro for 1350 (650 off).
- rdouble 17y agoThe Apple student discount isn't "hefty." They are a little less than 10%. Typically $100 off laptops less than $1500, $150 off $1500-$2000 and $200 off $2000. Late summer they usually throw in an iPod for free. It's not a bad deal overall, but refurbs are the way to go if you need a real discount.