Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Miguel Says Unix Sucks!

Posted by CmdrTaco on Thu Jul 20, 2000 08:15 AM
from the but-think-of-the-alternatives dept.
alessio writes: "On the front page of Linux Weekly News there is a report from the Ottawa Linux Symposium where the adorable Miguel de Icaza supposedly states that Unix has been built wrong from the ground up." It's actually a pretty cool interview, and as always, Miguel makes his point without any candy coating! The major point is the lack of reusable code between major applications (a major problem that both KDE and GNOME have been striving to fix for some time now).
This discussion has been archived. No new comments can be posted.
Miguel Says Unix sucks! | Log In/Create an Account | Top | 478 comments (Spill at 50!) | Index Only | Search Discussion
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1) | 2 | 3 | 4 | 5 | 6 | 7
  • Re:Unix Turd Polishing by simm_s (Score:1) Friday July 21 2000, @03:07AM
  • Re:DLL hell by java_sucks (Score:1) Friday July 21 2000, @03:48AM
  • Re:Unix was there first. by Alex Belits (Score:2) Thursday July 20 2000, @02:04PM
  • Re:vi and notepad are not comparable by Tenareth (Score:1) Friday July 21 2000, @04:03AM
  • by burris (122191) on Thursday July 20 2000, @02:05PM (#918486)
    What raptor21 wants will be out in January as Mac OS-X:
    1) Unified standard printing architecture.
    Mac OS-X has this. Since the display uses the same imaging model as printing (PDF), you get WYSIWYG for free. To print you just tell your objects to display themselves into a different buffer. The print panel, printer selection, print queues, and everything else are done for you and shared by every application (and it's not based on lpr)
    2) Resuable components for the primary functions of applications.
    Cocoa comes with many reusuable components. It has the obvious ones: text fields, buttons, scrolling views, matricies, table views, gas guages, check boxes, pop up lists, etc... It has many more. It has an extremely powerful multi-view text system that does multiple columns, rich text, unicode, spell checking, etc... There's tab views and "drawers", font and color panels, color wells,split views, a database independent access kit that rules (EOF), printing, faxing, and more. There's a document framework, undo, an extremely powerful pasteboard system, services, and filter services (plug ins that translate files from a foreign format to something your application can understand).

    All of these resources are shared by all applications, where possible, to conserve resources. Most of them are very easy to use and many require no coding to setup. For instance, to add retractable drawers to the sides of your windows, you just drag-connect lines from the drawer instance to the window instance, to the view to be contained inside the drawer, and a line from the button/actuator-widget to the drawer instance and boom you are in business. No coding...

    3) a standard for user interface (menu options e.t.c) Like edit->prefrences and not tools->options and file properties and every other place .
    Apple certainly has the best reputation for this. All of these details are specified in a UI guidelines document and standard menu configurations are built into InterfaceBuilder.
    4) A standard method for software installation. Like src goes here and binaries go here and so on.An API to make installation easy such that icons get put in the menu and links get crated automatically on the desktop.
    X has a nice built-in software installer. When you install it leaves a receipt you can click on to uninstall or just compress some software.

    X has a very powerful "Bundle" system (from NeXT). A bundle is a directory containing various subdirctories that contain application resources (binaries, source, headers, documentation, images, sounds, strings to be displayed the user, UI's, etc..). Localizable resources (like string, images, UI's) are kept in seperate directories for the region/language the resources are specific to. The Bundle class automatically fetches the proper localized resource based on the user's localization preferences. The Application itself is a bundle and there are bundles known as "Frameworks" for shared libraries. Frameworks can contain anything (code, headers, source, docs, images, sounds, etc...) and are stored together and are versioned (two or more different versions coexist peacefully: no more problems of a newly installed app installing an incompatible version on top of an existing version).

    No API is needed for putting icons into the dock since the user can simply drag the application icon there himself; no having to drag icons into some obscure folder deep inside the system hierarchy.

    Oh yeah, it's all running on BSD Unix with a Mach kernel. The sources of which are available here [apple.com].

    So you see, Unix can be made into a modern operating environment for all users, with a consistent user interface, and an API that is a joy to use for developers. However, they didn't build it on X and you'll probably have to buy a Mac to get it for now.

    Burris

  • Re:Software that doesn't suck by VAXman (Score:1) Thursday July 20 2000, @02:11PM
  • Re:Software that doesn't suck by Pfhreakaz0id (Score:2) Friday July 21 2000, @04:37AM
  • Re:Bingo! by kurioszyn (Score:1) Thursday July 20 2000, @02:13PM
  • Re:I can't decide whether to laugh or be afraid. by rotor (Score:1) Friday July 21 2000, @04:46AM
  • Re:Unix innovation by kurioszyn (Score:1) Thursday July 20 2000, @02:20PM
  • Re:Lack of a graphics design by axel from afkmn (Score:1) Friday July 21 2000, @05:46AM
  • Re:Do something about it by cburley (Score:2) Friday July 21 2000, @06:04AM
  • Re:Unix Turd Polishing by simm_s (Score:1) Thursday July 20 2000, @02:54PM
  • Re:Why can't I just have a subject of '?' ? by java_sucks (Score:1) Thursday July 20 2000, @05:15AM
  • Re:Lack of a graphics design by valis (Score:1) Thursday July 20 2000, @05:17AM
  • Re:Do something about it by sillysally (Score:1) Thursday July 20 2000, @04:25AM
  • by matthew_gream (113862) on Thursday July 20 2000, @05:18AM (#918498) Homepage

    Consider that Unix and Open Source development is working like a free market: while there is a lot of variety, and while that causes problems, the benefit is that people do want simpler solutions, but instead of 'staying with' some simpler solution imposed upon them, people choose the best are available (e.g. Red Hat), and run with it, and then so does everyone else, and the bad solutions die.

    The interesting comment about people developing Windows Manager skins reflects this: people get fed up with too many window managers, and start to develop skins. Then it becomes possible to have any 'style' window manager, sitting above a 'core' window manager : so then everyone starts to choose the best 'core' window manager. At the end of the day, you have the best solution: an excellent 'core' window manager, and an excellent freedom of different 'styles'.

    The free market has decided.

  • The guy is wearing sandals! by xmutex (Score:1) Thursday July 20 2000, @04:27AM
  • Re:Lack of a graphics design by 11223 (Score:1) Thursday July 20 2000, @05:21AM
  • Re:Lack of a graphics design by 11223 (Score:2) Thursday July 20 2000, @04:28AM
  • Re:I can't decide whether to laugh or be afraid. by Skeezix (Score:2) Thursday July 20 2000, @05:21AM
  • Re:Unix was there first. by Coz (Score:1) Thursday July 20 2000, @04:29AM
  • Re:DLL hell by acidrain (Score:2) Thursday July 20 2000, @05:21AM
  • Yes and No! by Leimy (Score:1) Thursday July 20 2000, @04:29AM
  • Unix is by far the best by protected (Score:2) Thursday July 20 2000, @04:31AM
  • Re:Wrong. by stripes (Score:2) Friday July 21 2000, @06:08AM
  • Re:ROTFL by RFC959 (Score:1) Friday July 21 2000, @06:11AM
  • Re:Why do more people use win9x/mac than Linux? by Factorer (Score:1) Friday July 21 2000, @07:22AM
  • !!UNIX DOES SUCK!! by WorldMaker (Score:1) Friday July 21 2000, @08:20AM
  • Re:ROTFL by Greyfox (Score:2) Thursday July 20 2000, @03:14PM
  • Re:Unix design philosophy by Evil Pete (Score:1) Thursday July 20 2000, @03:19PM
  • Re:Why do more people use win9x/mac than Linux? by Factorer (Score:1) Friday July 21 2000, @09:00AM
  • by phred (14852) on Thursday July 20 2000, @03:21PM (#918514)
    I gather from the reports that Miguel de Icaza's speech was somewhat reduced in scope from his Usenix presentation.

    At Usenix, his talk started from the premise that "the kernel sucks" but only as a springboard to cover extensively the approach, the philosophy really, of moving away from kernel-centric development to a component focus.

    Now as a relative old schooler in all this I applaud the notion that every generation needs to overthrow the excesses and cruft of the previous one, so to that extent Miguel's to-the-barricades rhetoric is welcome. Unix, and Linux, have become a sprawling pasted-together mess, which is evident if you compare, say, Aeleen Frisch's first system admin book in 1991 with what there is now.

    And some of the principles Microsoft has embraced in software architecture may also be applauded. Although I hasten to add that their implementation of those foundations has broken every conceivable rule of software architecture/engineering, not to mention common sense. Nevertheless, I think Miguel's willingness to learn from good principles wherever they may be found is also welcome.

    But where I part ways is with his proposed grand solution space, which basically amounts to: CORBA.

    CORBA is yet another sprawling, somewhat incoherent and definitely incomplete attempt to Make the World Behave Like We Say It Should Or We'll Stamp Our Little Feet. I have long felt that the dependence on CORBA, not merely the availability, is a millstone around the neck of both GNOME and KDE.

    I've read quite a bit of CORBA and component model advocacy, and it reminds me all too much of IBM-think circa the mid-1980s. "You will use SNA because it's good for you. Here, just implement this spec that comes on four bookshelves of binders."

    The brilliance of the UNIX philosophy is scalability built on self-evolving systems, not based on universal frameworks that try to provide order through mapping. As has often been noted, the map is not the territory. And it should not be.

    But mapping (metaphorically, if not in its strict technical sense) is what component architectures are all about.

    DLL Hell was just the first phase of this. You can argue that DLLs are not "components" by the standard definition, but they are component-like and function in many ways as if they were in such a framework. COM rationalizes and makes DLL World somewhat more orthogonal to the component model, and that is the positive sense that Miguel seems to respond to. I can see some merit to the reuse and iterability inherent in this approach.

    But that is entirely a developer-centric approach, and this is where I think Miguel's vision will be sorely tested, and emerge as at best mixed bag: one part fixing some rather sticky issues for GUI development and near-field reusability, one part creating a whole new layer of complexity and frustration for the user, the system planner and the sysadmin.

    Components are not static; they evolve, and they evolve both in form and function. In other words, wish as much as you might for a static API for a given component (as Miguel sort of did during his Usenix speech), but it's not gonna happen. Both what the component does and what hooks and appearances it presents to the world are destined -- in fact must -- change over time. That's the lesson we learned as soon as Microsoft put out the first revision to the first DLL.

    It is simply impossible to imagine some Component World Authority that has the job of telling every component architect and developer: this is your feature set, this is your quest: go forth (or go C++ or go Java ) and Make It So, and Thus Shall It Always Be! Nuh uh, not gonna happen.

    The advantage of reusable libraries as in C compilers is that while some variation in them may be permitted (whether this is a good thing or not is circumstance-dependent), you are basically faced with a binary result: either the code compiles or it doesn't. Once it does, you have a static binary that will continue to work as long as most of the underlying OS stuff remains the same.

    In Component World, you are now at the mercy of component dependence every single time you run code. And since the component framework is both (1) more dynamic and (2) more distributed than we are used to with our desktop computers these days, this is going to pose major problems. Some of these have already been noted by the GNOME skeptics who have posted here (including at least one well known GNOME developer).

    The problems are inherent in component architecture: compatibility, resilience, security. This is less of an issue when all the components reside in devices connected to one backplane, usually inside one metal box. But with distributed apps and, probably more importantly, mobile apps, this is increasingly going to pose problems.

    Remember when you installed some random program in Win 9x and it changed a DLL so that your email didn't work any more? At least you have the ability to reinstall DLLs/programs/the system itself (depending on the severity) to deal with the compatibility problem.

    W2K supposedly deals with this by creating its own little mini-World Component Authority backed by an internal database subject to all the usual database reliability and performance issues (plus of course it's closed source). All this does is allow a bigger mess to be made at some point.

    But what about this? You're running a nice little cell phone/PIM gadget that is built on GNOME and CORBA, and suddenly you can't get your email any more because some schmucko at a service center upgraded to the latest/spiffiest version of a component your handheld relies on via its mobile link to do its work.

    Welcome to Component Hell.

    As a non-developer and mere observer of the passing landscape, I would be happy to have someone come along and explain exactly why I am all wet. But for the moment, I am persuaded by Miguel's disdain for the suckiness of the kernel, and completely unpersuaded why components, as instantiated by CORBA and GNOME, are a universal solution rather than a local fix.

    -------

  • Re:Why does every app menu start with "File"? by Sydney Weidman (Score:2) Friday July 21 2000, @11:29AM
  • Re:Wait a minute here... by sillysally (Score:1) Friday July 21 2000, @01:49PM
  • Re:Wait a minute here... by jherber (Score:1) Thursday July 20 2000, @03:49PM
  • Re:Unix Sucks??? by Black Parrot (Score:1) Thursday July 20 2000, @03:55PM
  • Re:GNOME by sillysally (Score:1) Friday July 21 2000, @01:52PM
  • Re:Why Unix is the way it is. by pnkfelix (Score:1) Thursday July 20 2000, @03:59PM
  • by jbarnett (127033) on Thursday July 20 2000, @05:22AM (#918521) Homepage

    Miguel Says Unix Sucks! -- SlashDot News Headline

    Now if I posted to SlashDot that Unix Sucks! I would get -1 troll....

    Not saying I would knock Unix, though.

  • by PD (9577) <slashdotlinux@pdrap.org> on Thursday July 20 2000, @05:24AM (#918522) Homepage Journal
    less sucks less more than more. That's why I use more less, and less more.

    Another one:

    There's a town in MI outside Detroit called Novi. Everyone uses emacs there.

  • Hypocritical by mchappee (Score:2) Thursday July 20 2000, @04:31AM
  • Re:WinTel is FAR (FAR FAR) easier than *nix by plague3106 (Score:1) Thursday July 20 2000, @05:24AM
  • Wrong. (Score:4)

    by roystgnr (4015) <roystgnr@tiCOFFE ... u minus caffeine> on Thursday July 20 2000, @05:24AM (#918525) Homepage
    Because of that standardization, that's why most of the world's commercial software for desktop machines -are- being written for Windows

    No, most of the world's commercial desktop software was written for Windows, because *big drum roll here*... most of the world's commercial desktops run Windows!

    And that's not because of API standardization, or you would have seen people fleeing in droves at the Win16->Win32 switch which forced everyone to rewrite all their software. Borland's OWL libraries and Microsoft's MFC would have destroyed the Windows programming "community".

    That's simply because Microsoft managed to get contracts which put their software on the majority of clone computers, because clone computers, and because Microsoft allowed (some might say forced) network effects to turn that majority into a monopoly.

    The problem with Linux above the kernel level is that you can run into a situation of multiple competing API's for most everything, which can become a bit of a programming nightmare.

    Bullshit. Name one GUI Linux program you've written. Did you try to write it using two toolkits? If not, then exactly how did the existance of whatever toolkits you didn't use make your life a "nightmare". All it did was give you extra choices to find an API you liked best before you started to program.

    Remember, if programmers were forced to use one toolkit, we might be stuck using Xaw, Motif, or even Win32...
  • by Frank Sullivan (2391) on Thursday July 20 2000, @05:25AM (#918526) Homepage
    Want ease of use? Conduct this little experiment, which i had to do for work purposes a while back... find me the name and length of the longest filename/path on your Windows box. This took me about three minutes in Linux (Unix), mostly waiting on the 'find' command to finish. Bonus points if you can do this in a reasonable amount of time in Windows without resorting to Perl or Unix workalike utility kits. Super extra bonus if you can do it without using a command prompt, but can get an authoritative answer from the gui. And, if you can't do this problem in either Windows or Unix, i'd suggest you aren't a sufficiently skilled computer user to really judge ease of use issues.

    As for vi versus Notepad... well, a friend of mine has a good ease of use formula. The proper measure of ease of use is the total time spent doing a task. The formula for this is T(l) + nT(d), where T(l) is the time required to learn a task, T(d) is the time required to perform it, and n is the number of times it is performed. So for tasks you rarely do, T(l) dominates. But for tasks you do often (like, say, the several hours a day i spend in text editors), T(d) dominates.

    The essence of this is that while vi is much harder to *learn* than Notepad, it is much more powerful as well, reducing use time. And if you spend several hours a day editing text (like most programmers do), the time to learn a more powerful editor is paid for many times over by the speed gain for complex tasks.

    This is why i recommend to friends who use computers daily, even non-programmers, that they take the time to learn Linux. Not because it's more cool or politically correct, but because it's more *productive*. The learning curve in the short term is paid for by productivity in the long term.

    And THAT, Young Jedi, is ease of use.

    --
  • by Anonymous Coward on Thursday July 20 2000, @03:19AM (#918527)
    We've only ever claimed that it SUCKS LESS.
  • OOUI was (is?) out there by Zaaf (Score:1) Thursday July 20 2000, @05:26AM
  • Unix was there first. by Gothmolly (Score:1) Thursday July 20 2000, @03:19AM
  • Admitting the problem is progress by Junks Jerzey (Score:2) Thursday July 20 2000, @04:35AM
  • Re:Balance is Key by Paradox (Score:1) Thursday July 20 2000, @05:26AM
  • DLL hell by xample (Score:2) Thursday July 20 2000, @03:20AM
  • UNIX sucks, and so does Miguel de Icaza by redhog (Score:1) Thursday July 20 2000, @05:27AM
  • Re:Do something about it by Spoing (Score:1) Thursday July 20 2000, @04:35AM
  • Fuck Miguel (Score:5)

    by Dr. Sp0ng (24354) <mspongNO@SPAMgmail.com> on Thursday July 20 2000, @04:36AM (#918535) Homepage
    So Miguel started the Gnome project because of the licensing problems with KDE/Qt. Good for him. Gnome has some excellent ideas, but they've taken it too far. There's no reason to need a fast machine with 64+ Megs of RAM to support a desktop environment, for crying out loud. Now don't get me wrong, I like Gnome and I use it all the time, but it really is a bloated piece of software. I've even written popular software [sourceforge.net] for Gnome (sorry for the shameless plug :-), but I really think it could have been done much better and require less resources. The only reasons I used Gnome for PowerShell is that I like the look and feel of GTK+ much more than Qt or Motif, and Gnome includes a terminal emulator widget which saved me a lot of work. If there was something else that provided similar functionality (of the stuff people actually use, not all of it) and looked as nice, I'd use that instead. Until then, I'll keep using Gnome, but it looks as though it's heading down the Microsoft path of bloated software with tons of rarely-used features.

    And why is it that Miguel is held in such high regard among Slashdot users? He wrote a fairly nice desktop environment. So what? So did the KDE team, but most people can't even name a single person who worked on that project. So he thinks Unix sucks? Good for him. Everybody is entitled to their own opinion, but that doesn't mean that they are right.

    </rant>
    --
  • Example: printing by 1010011010 (Score:2) Thursday July 20 2000, @05:29AM
  • Re:Noone ever claimed that unix doesn't suck. by dszot (Score:1) Thursday July 20 2000, @03:20AM
  • Re:The Solution is... A Monopoly! by ^chuck^ (Score:1) Thursday July 20 2000, @04:37AM
  • OOP (Score:3)

    by Dungeon Dweller (134014) on Thursday July 20 2000, @03:22AM (#918539)
    OOP really wasn't a phenomena of the era in which UNIX was originally written. They didn't stress it like we do today (and we don't really stress it today). Also, a lot of the code in UNIX is written by a whole mess of other people. The piping features let you reuse entire programs within each other. I really don't think that UNIX is like, the end all to be all of OS's, but it's not assbackwards, it's just kinda cute in ideology, and probably the best thing going at the moment (popularity + functionality wise). At any rate, yeah, he makes some good points, but I can't say that I entirely agree. If you want people to be working out of the same codebase, form a company, or increase communication at the start. Ad Hoc programming and reusable code go together like oil and water.




    We're all different.
  • Re:Unix was there first. by VAXman (Score:2) Thursday July 20 2000, @04:37AM
  • Hmmm by scrutty (Score:1) Thursday July 20 2000, @03:22AM
  • Re:DLL hell by Coz (Score:1) Thursday July 20 2000, @04:37AM
  • Re:The Solution is... A Monopoly! by RayChuang (Score:2) Friday July 21 2000, @02:03PM
  • Re:Oh brother. Can't see the forest... by SEE (Score:2) Friday July 21 2000, @02:52PM
  • Re:Unix Turd Polishing by T-Ranger (Score:1) Friday July 21 2000, @04:42PM
  • Re:Paridigmns for a new OS? by doom (Score:2) Friday July 21 2000, @05:10PM
  • Re:Unix Turd Polishing by IntlHarvester (Score:1) Thursday July 20 2000, @04:24PM
  • Re:Nope by Scott Wood (Score:1) Friday July 21 2000, @05:11PM
  • Re:Reusable alright! You don't have a choice. by Graymalkin (Score:2) Friday July 21 2000, @08:26PM
  • You're a shame to geeks everywhere Darth by Graymalkin (Score:2) Friday July 21 2000, @08:45PM
  • U didn't get it, did you??? by EqualEye (Score:1) Thursday July 20 2000, @04:34PM
  • Re:Do something about it by Leto2 (Score:1) Saturday July 22 2000, @10:53AM
  • COM / DCOM by Zaaf (Score:1) Sunday July 23 2000, @09:33PM
  • This is so wrong! by Prof. FÜHL (Score:1) Thursday July 20 2000, @04:46PM
  • Re:Linux = No Innovation by nd (Score:2) Thursday July 20 2000, @06:20AM
  • How the hell else should it install? by Ars-Fartsica (Score:1) Thursday July 20 2000, @04:51PM
  • Re:He's right, of course. by Animats (Score:2) Thursday July 20 2000, @04:57PM
  • Re:I can't decide whether to laugh or be afraid. by spankenstein (Score:1) Thursday July 20 2000, @06:22AM
  • UNIX does not need to suffer GNOME. by TheShaman (Score:1) Thursday July 20 2000, @05:29AM
  • Re:GNOME by sillysally (Score:1) Thursday July 20 2000, @06:22AM
  • Re:WinTel is FAR (FAR FAR) easier than *nix by plague3106 (Score:1) Thursday July 20 2000, @06:22AM
  • Does this really make sense? by BuBu_ (Score:1) Thursday July 20 2000, @06:23AM
  • by UID30 (176734) on Thursday July 20 2000, @05:30AM (#918563)
    <rant>
    I maintain that Unix does not suck, but rather that it is beautiful in it's flexability. This bozo claims that it's weakness is "not deciding policy" ... what kinda horseshit is that? That is it's strength! If I'm working on a server, the last thing that I want to do is get bogged down in boneheaded system policies which were put in place by some software engineer who had NO idea what I was attempting to do.

    Go program for M$, Miguel.

    Unix (and for that matter the entire Open Source movement) is about freedom, not about having mission-critical decisions made by some corporate suit who, incidentally, is only interested in making their company more $$.

    I repeat, Go program for M$, Miguel.

    Miguel claims that a weakness of Unix is in not sharing more code between applications. M$ shares code extensively betwen applications ... Lets put this to a poll ... which is more stable: Unix or M$ Windows (choose your flavour). M$ products are so tightly bound together, in the biggest cluster-f*** of shared code, that an "upgrade" in MS Word brings out a security exploit in Outlook. The patch for Outlook then breaks certain macros in Excel ... which is then addressed in the next round of patches. Meanwhile the poor outside company that is developing application on the M$ platform (lets say Dreamweaver for example) are left behind ... their product simply ceases to work as a result of the upgrade (and subsequent patches) to the M$ shared code base. Please ... tell me ... when was the last time upgrading StarOffice on a Unix platform conflicted with a previously installed Apache?

    Miguel obviously has a LOT of trust in M$ ... I suggest that, in the spirit of that trust, he get duplicate credit cards made and drop off the copies at the nearest M$ office.

    that and ... Go program for M$, Miguel!

    The Unix approach of not deciding policy is "a defense system for hackers," since that way nobody has to take responsibility for a bad decision.
    Making decisions (good or bad) and taking responsibility for them is part of being an functioning adult. The ability to make decisions is essential. To have the decisions already made and have no control over them is unacceptable. Any competent Unix sysadmin knows that security is his responsibility. A Unix sysadmin who has his boxes repeatedly compromised is likely to be out of a job before too long. When a M$ box gets compromised, it is no great shock, in fact the sysadmin of that box can't be held accountable for a system in which he has no control ... and you're only solution is to continue deeper down the M$ path. Who decides system policies on your server?

    I can't believe this idiot sucked me in and made me waste time stating the obvious...
    </rant>
  • by Majix (139279) on Thursday July 20 2000, @04:38AM (#918564) Homepage
    Miguel mentions that "if you think GNOME sucks it's probably because you are using Red Hat's version". This is just so true.

    Why does the default desktop supplied by Red Hat have to be so uggly? The icons on the taskbar aren't event lined up properly for christssakes, but seem to be placed by random. The theme is most boring one possbile, and the settings of the windowmanager is enough drive anyone mad. When you've installed the latest Red Hat you have to spend at least an hour to get the settings somewhat usable. Don't even get me started on the *totally* messed up Netscape fonts. What are people new to Linux going to think! They can't be expected to mess around with fontpaths and fontservers.

    The point I'm trying to make is that Red Hat has just slapped the latest version of GNOME available at the time, compiled it straight from its pristine sources and added two links to redhat.com on the desktop. That's just not going to cut it, not this century. If you want to see how a desktop *should* look , straight out of the box, take a look at Helix Code's GNOME version [helixcode.com]. Now *that* is a good looking and behaving desktop, a desktop I wouldn't be ashamed to show a user who knows nothing about Linux. First impressions are important! If Red Hat has any clue they'll be using Helix's versions from on. They are VAR after all, so how about adding some value to the product! It costs them nothing.

    Okay, I'm done ranting now.
  • Right On... by alehmann (Score:1) Thursday July 20 2000, @06:24AM
  • It's a cultural problem, not technical by cthlptlk (Score:1) Thursday July 20 2000, @04:38AM
  • Re:Lack of a graphics design by rlk (Score:2) Thursday July 20 2000, @05:31AM
  • Re:Do something about it by DaKrushr (Score:1) Thursday July 20 2000, @05:33AM
  • Re:Do something about it by Spoing (Score:1) Thursday July 20 2000, @04:39AM
  • Unix innovation by sillysally (Score:1) Thursday July 20 2000, @05:33AM
  • Re:NeXT Got It Right by Xoro (Score:1) Thursday July 20 2000, @04:40AM
  • CORBA by Troy Roberts (Score:1) Thursday July 20 2000, @05:35AM
  • Wrong! by Monolith (Score:1) Thursday July 20 2000, @04:41AM
  • There IS a Free clone of BeOS! by renoX (Score:1) Thursday July 20 2000, @05:36AM
  • The _only_ reason? by Loundry (Score:1) Thursday July 20 2000, @04:42AM
  • Re:No one ever claimed that unix doesn't suck. by davstok (Score:1) Monday July 24 2000, @01:21AM
  • Re:Unix was there first. by davstok (Score:1) Monday July 24 2000, @01:26AM
  • Re:WinTel is FAR (FAR FAR) easier than *nix by Schnedt McWapt (Score:1) Monday July 24 2000, @01:15PM
  • Re:clone NT? by bobalu (Score:1) Monday July 24 2000, @04:55PM
  • Re:Unix design philosophy by DrSkwid (Score:1) Tuesday July 25 2000, @02:23AM
  • Re:COM / DCOM by davstok (Score:1) Tuesday July 25 2000, @09:33AM
  • Re:Sounds like Mac OS-X by rifter (Score:1) Wednesday July 26 2000, @03:42AM
  • Re:All hail the .dll by GrEp (Score:1) Wednesday July 26 2000, @06:24PM
  • Re:COM / DCOM by Zaaf (Score:1) Thursday July 27 2000, @02:15AM
  • Re:COM / DCOM by davstok (Score:1) Thursday July 27 2000, @04:54AM
  • Re:Duh!! by Azog (Score:2) Thursday July 20 2000, @06:27AM
  • 2-way XML gloppy feely pipes? by 4of12 (Score:2) Thursday July 20 2000, @06:28AM
  • Re:Whatever by planet_hoth (Score:1) Thursday July 20 2000, @06:28AM
  • by BinxBolling (121740) on Thursday July 20 2000, @05:39AM (#918589)
    The problem with *NIX (and he really doesn't mean *NIX - there's quite enough shared code in a console-only system, the problem is with the X apps he named) is that X windows is just an overgrown framebuffer, not an actual graphics and development kit. If you look at something like BeOS, it provides a whole bunch of "servers" (a microkernel design) that handle different functions, but X windows was an overgrown framebuffer stuck on top of a command line to provide a clock, a load monitor, and a terminal.

    True. When I read this:

    The Unix approach of not deciding policy is "a defense system for hackers," since that way nobody has to take responsibility for a bad decision.
    I couldn't help but think of X. The lousiness of that system is the best example of the problems that come when you avoid policy decisions. And the awful arguments made in X's favor whenever the topic of its suckiness comes up in Slashdot are certainly consistent with the idea that this avoidance of policy decisions is a 'hacker defense system'.

    Probably the best example of what Miguel is talking about is the difference between what you can do with cut-and-paste in X and what you can do with cut-and-paste in Windows:

    • X has more or less followed the Unix paradigm where 'everything is a file' - which really means that everything is a flat, unstructured lump of text. Or at least, this the only way that most programs have to interface with external data. This is fine when the data you're dealing with is relatively unstructured: A csv file is tolerable for, say, a list of phone numbers, and simple text oriented tools like sed/awk/grep/perl are okay for most of the operations you'll want to do on such a file.

      But once you move to a graphical environment and thus aquire the ability to effectively represent much more structured data to the user, you need to provide higher-level interfaces to that data. Those text-oriented tools will be pretty much worthless if the file you're dealing with contains a description of a structured drawing. As a result of X's adoption of the Unix approach, all you can really cut-and-paste in X is (surprise!) flat, unstructures text strings.
    • In Windows, on the other hand, you can cut much more structured data to the clipboard. You can rip out a piece of a Visio drawing and stick it into Word, and it will retain all of its structure. This is because Windows provides facilities that make it relatively easy for programs to expose higher-level interfaces to the data they generate. This permits a degree of application interoperability that X apps can only dream of.

      This pays dividends far beyond cutting and pasting: strong application interoperability means that you can easily access and 'reuse' an existing application's functionality. An example out of my own experiences as a Windows developer, a few years back: I once spent a month working on a project whose goal was to build a graphical scripting tool for a specialized purpose: Users would draw out simple flowcharts, then our tool would generate code from these flowcharts. Rather than build our own flowchart-drawing tool, we were able to use Visio: We designed a set of custom Visio shapes that users could use to draw flowcharts. Then, the development environment we'd built would send users into Visio whenever they wanted to edit charts. When the user was done editing, the development environment would talk to Visio via OLE automation, pull out a highly structured description about the flowchart (basically, a list of all the symbols and their types (including some parameters that the user could specify, such as the conditional expression for a decision symbol), and of the links between symbols) and build a simple C++ representation of the chart that the code generator could then take as input. My job on the project was to build the layer that talked to Visio and built the code generator's input data structure, so I dealt pretty heavily with OLE. It worked out great for us, saving us an enormous amount of development time. And we ended up with a much higher-quality final product - instead of building our own mediocre tool for graphically editing flowcharts (which we would have probably ended up having to do if we were working in unix /w X), we were able to provide the user with the much more powerful, mature facilities of Visio.

    I liked Miguel's comments. I'm glad to see that someone is willing to stand up and say that while the emperor may not be completely naked, he should probably put on some pants...

  • Re:Why Unix is the way it is. by Egyptian (Score:1) Thursday July 20 2000, @06:29AM
  • by DoktorMel (35110) on Thursday July 20 2000, @05:40AM (#918591)
    And, if you can't do this problem in either Windows or Unix, i'd suggest you aren't a sufficiently skilled computer user to really judge ease of use issues.

    I would say that if you can do this problem you are too skilled a computer user to really judge ease of use issues. Ease of use is not for those of us who already know how to make a computer sit up and bark. It's for democratizing the power of the computer and offering it to that other 99% of the human race, the clueless (with the assumption that as a result, some of them will get a clue).

  • Re:Software that doesn't suck by VAXman (Score:1) Thursday July 20 2000, @04:43AM
  • What exactly sucks here? by bperkins (Score:1) Thursday July 20 2000, @04:43AM
  • Re:I can't decide whether to laugh or be afraid. by simm_s (Score:1) Thursday July 20 2000, @05:41AM
  • Re:OOP by deepblack (Score:1) Thursday July 20 2000, @06:30AM
  • by shutdown -h now (206495) on Thursday July 20 2000, @04:43AM (#918596)

    I think UNIX [bell-labs.com]did alot to change the way OS design was viewed. UNIX treats everything as a file. UNIX focused on making a system with multiple users on the same system at the same time.(multiprocessing anyone?)

    I think the boys over in Murray Hill [bell-labs.com] are doing alot now with Plan9 [bell-labs.com] and a few other ideas I sometimes hear they kick around.

    My question to all of you obviously more experienced coders out there:

    What's the next paridigmn for creating the next less sucky OS?

    Treat everything as a data object? a module?

    I don't know. I would love to see an OS based on a functional programming language. Something small and compact without too much bloat to it. Code up a decent GUI as well. Or how about this...the GUI is the text. Multiple windows of text ala an Xterm, clicking on the word disk0 or some such thing would open up another window showing you the contents of the disk0 object.

    Every piece of text is a mouse clickable object. If you type in disk0 it becomes a mouse clickable object which links to the contents of disk0.

    Perhaps we would arrive at a new GUI or a new concept that makes either more sense to users, or perhaps is faster to operate with, with minimal learning curve.

    A natural language based OS?

    A user can type in his questions (eventually speak to the computer ala voice recognition) and receive textual and aural inpouts from the machine. I.E. "Computer, please tell me the contents of disk0." "The contents of disk0 are, foo.txt, bar.c, baz.h"

    Eventually somebody or something has to sit down and figure out a different way of looking at the data we are presented and see if it makes more, or less sense than what we currently have.

    I don't know who that somebody is but I think it won't kill me to sit down tonight and see if I can come up with a few ideas.

    I'm thinking about using a functional language because it forces me to look at things slightly differently than when I write C code.

    Anyone else have any ideas or pointers to projects currently looking at stuff like this?

    It would be a nice project to jump in to, no?

    Dan O'Shea

  • Re:Wrong. by Skeezix (Score:1) Thursday July 20 2000, @06:30AM
  • Re:Software that doesn't suck by shippo (Score:1) Thursday July 20 2000, @05:41AM
  • Linux = No Innovation by gamorck (Score:2) Thursday July 20 2000, @05:41AM
  • Re: Microsoft and Unix? by FattMattP (Score:1) Thursday July 20 2000, @04:43AM
  • Re:RedHat ? by Ranger Rick (Score:1) Thursday July 20 2000, @04:43AM
  • Re:OOP Reuse and Libraries by Troy Roberts (Score:1) Thursday July 20 2000, @05:42AM
  • by RayChuang (10181) on Thursday July 20 2000, @04:43AM (#918603)
    You just hit it right on the nose.

    You can flame Microsoft all you want, but the fact that Windows has a singular WIN32 API drastically simplifies program development and software driver development. Because of that standardization, that's why most of the world's commercial software for desktop machines -are- being written for Windows.

    The problem with Linux above the kernel level is that you can run into a situation of multiple competing API's for most everything, which can become a bit of a programming nightmare. That's why people are gravitating towards supporting Red Hat, Caldera, S.u.S.E. and TurboLinux commercial distributions, because at least you'll know what API's to program for with each commercial distribution of Linux. Is it small wonder why Red Hat has become the "de facto" standard for Linux almost everywhere?
  • Re:Unix was there first. by gfxguy (Score:2) Thursday July 20 2000, @05:42AM
  • Re:Balance is Key by planet_hoth (Score:1) Thursday July 20 2000, @05:43AM
  • Re:Read this before moding that down! by Coz (Score:1) Thursday July 20 2000, @04:44AM
  • by Veteran (203989) on Thursday July 20 2000, @04:44AM (#918607)
    Unix does not have reusable components for the same reason than Life doesn't have reusable components.

    Think about how easy life would be if only we could reuse existing components. For example I'll build my life by taking the 'Bill Gates wealth component', the 'Alan Cox programming component', the 'Jean Claude Van Dam appearance component', the 'James Bond suave component', and the 'Sarah Michele Gellar girlfriend component'. Nice life huh?

    Of course, if everyone else gets to build their life the same way, it becomes a mediocre life not worth living. If everyone gets to choose to be as wealthy as Bill Gates then everyone is equally poor; prices would sky rocket until a loaf of bread was a billion dollars.

    If everyone could program like Alan Cox there would be no demand, or use, for you as a programmer. Why would anyone get you to do the coding when they could get any of 6 billion people to do it?

    Unix provides a stable base and a uniform API for applications, good design decisions flourish, bad ones die out.

    The problem with the reusable component approach is that it requires bad design decisions to flourish. If there is a poor design decision made in a commonly used component it can't be corrected because of the number of programs it would break if it were changed. Instead of the fittest surviving, the most popular survive. What is worse, there is no basis for comparison and improvement, all programs take on a uniform boring sameness; there is no good or bad to choose from, and learn from. No evolution can take place.

    What the component approach does is guarantee that bad design decisions live forever, because no one knows they are bad.

    Component programming is like a good looking, but heartless woman; looks great at the start of the relationship, but the marriage is a horrible one.

  • Re:RedHat ? by Ranger Rick (Score:1) Thursday July 20 2000, @04:45AM
  • Re:Software that doesn't suck by Pfhreakaz0id (Score:2) Thursday July 20 2000, @04:47AM
  • Re:!!UNIX DOES SUCK!! by Lordfeff (Score:1) Friday July 28 2000, @07:03AM
  • Re:Wait a minute here... by sillysally (Score:1) Thursday July 20 2000, @06:34AM
  • Re:The Solution is... A Monopoly! by ballestra (Score:2) Thursday July 20 2000, @06:35AM
  • Re:Components are not the be-all and end-all by dweezil (Score:1) Thursday July 20 2000, @06:36AM
  • Re:OOP Reuse Myth by timcuth (Score:1) Thursday July 20 2000, @05:43AM
  • Re:clone NT? by java_sucks (Score:1) Thursday July 20 2000, @05:45AM
  • Re:Lack of a graphics design by mikpos (Score:1) Thursday July 20 2000, @06:37AM
  • I love this guy by Anonymous Coward (Score:1) Thursday July 20 2000, @06:40AM
  • Set of reusable components: corelinux by ddec (Score:2) Thursday July 20 2000, @04:47AM
  • Re:Oh brother. Can't see the forest... by ajs (Score:2) Thursday July 20 2000, @05:45AM
  • Re:Do something about it by VAXman (Score:1) Thursday July 20 2000, @04:47AM
  • Re:Do something about it by sillysally (Score:1) Thursday July 20 2000, @05:45AM
  • Out of context quoting by Carnage4Life (Score:2) Thursday July 20 2000, @04:48AM
  • Re:NOW he tells us... by Skeezix (Score:1) Thursday July 20 2000, @06:42AM
  • I sorry but I like choice... by qfingers (Score:1) Thursday July 20 2000, @04:50AM
  • Re:WinTel is FAR (FAR FAR) easier than *nix by grahamsz (Score:2) Thursday July 20 2000, @05:47AM
  • Re:The Solution is... A Monopoly! by RayChuang (Score:2) Thursday July 20 2000, @04:50AM
  • GNOME by drivers (Score:1) Thursday July 20 2000, @05:48AM
  • Re:Do something about it by meepzorb (Score:2) Thursday July 20 2000, @04:52AM
  • Re:Lack of a graphics design by valis (Score:2) Thursday July 20 2000, @04:52AM
  • Re:Components and X by VAXman (Score:1) Thursday July 20 2000, @04:54AM
  • by Hell O'World (88678) on Thursday July 20 2000, @04:55AM (#918631)
    The most exciting thing about the Unix philosopy is the way small components can be strung together (with scripts and pipes) to easily create complex applications. What if this design goal could be moved out of the realm of the command line, and directly into the world of the GUI. If, as Miguel states, the large Linux apps can't reuse code, they don't have to follow the Microsoft solution of DLLs (and the version control problems they create), we already have the mechanism in place. We just need to be true to the Unix redirection standards in the design of the larger components. With visual tools to expose the larger app's components to wiring, relatively novice users could discover the power of scripting. For example, the output of a spell checker component could be wired to a insertion point in text. Or an entire spreadsheet could be inserted into a document, using standard text and XML formatting.
  • Re:Lack of a graphics design by 11223 (Score:2) Thursday July 20 2000, @04:56AM
  • Re:I fanything he sucks! by fland00r (Score:1) Thursday July 20 2000, @07:53AM
  • There's a solution to that. by be-fan (Score:2) Thursday July 20 2000, @07:54AM
  • Dead on. by localman (Score:1) Thursday July 20 2000, @06:43AM
  • Re:Example: printing by dvdeug (Score:1) Thursday July 20 2000, @07:55AM
  • Re:Unix was there first. by Egyptian (Score:1) Thursday July 20 2000, @06:43AM
  • Re:The Solution is... A Monopoly! by IntlHarvester (Score:1) Thursday July 20 2000, @07:57AM
  • of course! by DarkClown (Score:2) Thursday July 20 2000, @03:22AM
  • It all depends. by be-fan (Score:2) Thursday July 20 2000, @06:46AM
  • sorry, had to be said by werd life (Score:1) Thursday July 20 2000, @05:50AM
  • Re:Admitting the problem is progress by Quigley (Score:1) Thursday July 20 2000, @07:59AM
  • Sally's Confusion by jherber (Score:1) Thursday July 20 2000, @05:50AM
  • Re:WinTel is FAR (FAR FAR) easier than *nix by Schnedt McWapt (Score:1) Thursday July 20 2000, @06:46AM
  • Miguel Solutions? by knugfjunk (Score:1) Thursday July 20 2000, @03:23AM
  • GPL kills reusability by Orasis (Score:1) Thursday July 20 2000, @06:47AM
  • Re:Everything Sucks by kawlyn (Score:1) Thursday July 20 2000, @05:51AM
  • Nope by ArchieBunker (Score:1) Thursday July 20 2000, @08:00AM
  • Build it Right by Ka0s64 (Score:1) Thursday July 20 2000, @03:24AM
  • Re:clone NT? by Loundry (Score:1) Thursday July 20 2000, @04:57AM
  • Whatever by planet_hoth (Score:1) Thursday July 20 2000, @05:52AM
  • Re:Duh!! by pohl (Score:1) Thursday July 20 2000, @05:00AM
  • Re:Wrong. by Danse (Score:2) Thursday July 20 2000, @06:47AM
  • Re:DLL hell (runtime linking, perils and joys) by qbwiz (Score:1) Thursday July 20 2000, @05:53AM
  • Re:Example: printing by Gill Bates (Score:1) Thursday July 20 2000, @05:53AM
  • Re:DLL hell by java_sucks (Score:1) Thursday July 20 2000, @05:01AM
  • That will change by Dungeon Dweller (Score:2) Thursday July 20 2000, @06:51AM
  • Analogy by alumshubby (Score:2) Thursday July 20 2000, @03:26AM
  • the point is... by Skeezix (Score:1) Thursday July 20 2000, @06:51AM
  • Re: Microsoft and Unix? by sillysally (Score:1) Thursday July 20 2000, @05:53AM
  • What's up with Taco? by kmcardle (Score:1) Thursday July 20 2000, @03:26AM
  • Re:Do something about it by Enoch (Score:1) Thursday July 20 2000, @05:01AM
  • Re:Software that doesn't suck by Karellen (Score:1) Thursday July 20 2000, @05:53AM
  • Software that doesn't suck by gwolf (Score:1) Thursday July 20 2000, @03:26AM
  • Everything Sucks (Score:3)

    by Greyfox (87712) on Thursday July 20 2000, @05:03AM (#918665) Homepage
    As alt.sysadmin.recovery is fond of pointing out, every OS on the planet sucks. Some suck more, some suck less but they all suck.

    I love Linux for its flexibility. Drop the kernel in and everything else is optional. Want the standard UNIX utilities? Add 'em. It's optional. It's all optional. No one dictates that policy. That means I can install Linux on my embedded device and leave off 98% of the crap you get in a standard distribution, hack some sort of GUI out. GGI or X on GGI or X on custom hardware. It doesn't care. No one set a policy dictating things. But wait! I don't want a window manager on my embedded hardware! NO PROBLEM! I can make my own UI!

    Griping about the flexibility that makes the system great is stupid. Remember the Chinese guy from UHF? Lets all face Miguel and say it together "STOOOOPID! YOU SO STOOOOPID!"

    Tongue firmly in cheek, of course.

    Anyway, now that we've got that out of our systems, the point about component programming is valid. The text tools are designed to be simple and flexible, but the GUI is a relatively new add-on and is in some ways more primative than Windows 3.1. I've complained about the lack of a decent print subsystem myself. And GUI apps tend to try to do more than the simple text based ones. I think many people view X as nothing more than a way to keep 10 or 15 text terminals in view at once.

    Thing is, this is all going to get fixed. Several companies are working on the printing problem. Once they all screw it up and present 15 different conflicting standards, some group of free programmers will get pissed off enough to write one from scratch. X could go away as well. Much of the new software is GTK based, and porting GTK should be as easy as porting GDK and a bit of other stuff. ORBit doesn't rely on X, and most of the Gnome stuff builds on GTK.

    UNIX may suck, but unlike the competition, UNIX is going to get better.

  • GNUstep by Doug Loss (Score:1) Thursday July 20 2000, @05:55AM
  • The really funny part of DLL Hell. by Sangui5 (Score:1) Thursday July 20 2000, @05:03AM
  • Re:NeXT Got It Right by pohl (Score:1) Thursday July 20 2000, @05:04AM
  • Re:Read this before moding that down! by codemonkey_uk (Score:1) Thursday July 20 2000, @05:04AM
  • Re:'Unix Sucks' is a common sentiment by kurioszyn (Score:1) Thursday July 20 2000, @08:00AM
  • Re:Balance is Key by Isldeur (Score:1) Thursday July 20 2000, @08:01AM
  • Re:Lack of a graphics design by BinxBolling (Score:1) Thursday July 20 2000, @08:02AM
  • Re:Unix was there first. by Egyptian (Score:1) Thursday July 20 2000, @06:52AM
  • He's right, of course. by Animats (Score:2) Thursday July 20 2000, @06:52AM
  • Hear, hear by bee (Score:2) Thursday July 20 2000, @08:03AM
  • Re:Multiple Window Managers! by Junks Jerzey (Score:2) Thursday July 20 2000, @08:06AM
  • NOW he tells us... by tssm0n0 (Score:1) Thursday July 20 2000, @03:27AM
  • Re:WinTel is FAR (FAR FAR) easier than *nix by Egyptian (Score:1) Thursday July 20 2000, @06:53AM
  • Ironic and stupid by FascDot Killed My Pr (Score:2) Thursday July 20 2000, @03:27AM
  • Re:NOW he tells us... by Kyobu (Score:1) Thursday July 20 2000, @06:54AM
  • Re:Unix was there first. by Zurk (Score:1) Thursday July 20 2000, @05:55AM
  • innovation? by raphinou (Score:1) Thursday July 20 2000, @05:56AM
  • Re:Balance is Key by planet_hoth (Score:1) Thursday July 20 2000, @08:08AM
  • Re:Oh brother. Can't see the forest... by Troy Roberts (Score:1) Thursday July 20 2000, @05:57AM
  • Re:Unix was there first. by grahamsz (Score:2) Thursday July 20 2000, @03:28AM
  • Re:Noone ever claimed that unix doesn't suck. by donutello (Score:1) Thursday July 20 2000, @08:08AM
  • Re:Balance is Key by Sri Ramkrishna (Score:1) Thursday July 20 2000, @06:55AM
  • Why can't I just have a subject of '?' ? by Evangelion (Score:1) Thursday July 20 2000, @03:28AM
  • Re:How do *you* define "easier"? by Frank Sullivan (Score:2) Thursday July 20 2000, @05:57AM
  • Re:Balance is Key by HiThere (Score:1) Thursday July 20 2000, @05:58AM
  • Re:Components and X by Azog (Score:2) Thursday July 20 2000, @06:55AM
  • by codemonkey_uk (105775) on Thursday July 20 2000, @03:29AM (#918692) Homepage
    Its open source. Do something about it. If you don't like it, change it. If its broken, fix it. Its the open source mantra.

    Actually, Miguel is one of the few people who is in a position where doing something about it is actually feasable. Whatever happened to that KDE & GNOME common component archetecure? That would have been a step in the right direction.

    I do believe that there is to much ego flying about for a lot of good things to get done. It takes a big man to climb down and say, okay, lets merge. Lets reuse. You can do it better than me, and with OS development kudo is currency, and to loose ego is to loose currancy.

    Hmmm... does Miguel have the courage to take a step towards consolidation?

    Thad

  • Accident of History vs. Design by ansible (Score:1) Thursday July 20 2000, @03:30AM
  • Boy, Open Software sure does suck. by ignatiusst (Score:1) Thursday July 20 2000, @03:30AM
  • by 11223 (201561) on Thursday July 20 2000, @03:30AM (#918695)
    The problem with *NIX (and he really doesn't mean *NIX - there's quite enough shared code in a console-only system, the problem is with the X apps he named) is that X windows is just an overgrown framebuffer, not an actual graphics and development kit. If you look at something like BeOS, it provides a whole bunch of "servers" (a microkernel design) that handle different functions, but X windows was an overgrown framebuffer stuck on top of a command line to provide a clock, a load monitor, and a terminal.

    The terminal does just fine with the components it has. There are quite a few shared libraries, and for (for instance) printing, everything uses lpr - plain and simple. But a drawing model like X does not a application kit make.

    Personally, I think that the best approach for an application development framework is a server-based model like BeOS. In Windows, programs duplicate functionality that's handled by one server in BeOS. Linux (and UNIX) is a great command-line environment, and provides a rich environment on top of that. Just don't use X for anything more than xterm, xclock, and xload.

  • Re:WinTel is FAR (FAR FAR) easier than *nix by Schnedt McWapt (Score:1) Thursday July 20 2000, @06:01AM
  • Re:DLL hell by Zurk (Score:1) Thursday July 20 2000, @06:01AM
  • Re:Whatever by 11223 (Score:1) Thursday July 20 2000, @06:01AM
  • Re:Why Unix is the way it is. by Veteran (Score:1) Thursday July 20 2000, @08:08AM
  • gzip by ArchieBunker (Score:1) Thursday July 20 2000, @08:09AM
  • Re:Bingo! by plague3106 (Score:1) Thursday July 20 2000, @06:56AM
  • Re:Balance is Key by Hard_Code (Score:2) Thursday July 20 2000, @08:10AM
  • by WebSerf (91322) on Thursday July 20 2000, @06:59AM (#918703)
    I think Miguel is ignoring the fact that when Unix was developed there was no concept of "one huge app". The whole philosophy was based on small utilities that you chained together using pipes. This constraint was enforced by the limited hardware available at the time. In that sense the "atom" of reusability is the utility program itself and so Unix really did have good reusability for what mattered then. Add to that the standard system libraries and you had a ready code base for the creation of new utilities.

    Today, people want to build GUI apps and he is right to say that UNIX lags behind Windows in reusability in that regard. But this is clearly not a "design flaw" just a lack of a widely used toolkit of common objects.

    Miguel is also ignoring the fact that a closed, tightly controlled platform like Windows will always have a higher level of uniformity (and reusabilty) than an open platform which must rely on de facto standards rather than the "king's edict" so to speak. In that sense then openness is a design flaw. No, I don't buy it either... Gnome is on track to provide the kind of high level reusable objects he wants. He should stop whining and write code.

    --

  • Re:Build it Right by jackmama (Score:1) Thursday July 20 2000, @03:30AM
  • Re:He's right, of course. by swingerman (Score:1) Thursday July 20 2000, @08:13AM
  • RedHat ? by mirko (Score:1) Thursday July 20 2000, @03:30AM
  • Re:Lack of a graphics design by Omega996 (Score:1) Thursday July 20 2000, @06:03AM
  • Re:Lack of a graphics design by matthew_gream (Score:2) Thursday July 20 2000, @06:59AM
  • He's wrong--CDE and ToolTalk by karzan (Score:1) Thursday July 20 2000, @07:00AM
  • COM/bonobo/whatever by _vapor (Score:2) Thursday July 20 2000, @03:30AM
  • Speech in Summary... by bmacy (Score:1) Thursday July 20 2000, @07:00AM
  • Re:DLLs, Shared Libraries and Linux are old school by mordwin (Score:1) Thursday July 20 2000, @06:05AM
  • Re:Unix was there first. by Gothmolly (Score:1) Thursday July 20 2000, @03:31AM
  • Re:He's right, of course. by davebooth (Score:2) Thursday July 20 2000, @08:14AM
  • by Carey (2195) on Thursday July 20 2000, @03:31AM (#918715)
    The statement that UNIX has been wrong from the beginning is not what he said.

    What he said is that there is no innovation going on in UNIX and that number of its fundamental features while attractive to our community, are preventing the whole world from using the operating system.

    He cited Apple's work on MacOS X as an example of a team that changed some of the fundamental kernel designs on behalf of "end-users".

    Miguel's big point is that there isn't a component model and code reuse simply doesn't happen. He is right on the money with that.

    However I don't know about the solution of just copying COM/ActiveX/OLE, especially when Microsoft is now dumping COM in favour its .NET architecture.

    I suspect Java is in the Linux desktop future whether people want to admit it or not. The Java2 integration on MacOS X that was demonstrated at JavaOne proves how much Microsofts component model for applications is obsolete.

    In the rest of his keynote he talked about innovation in specific applications such as mail and the whole INBOX/foldering problem. I hope GNOME (and now SUN and StarOffice/OpenOffice) can address some of the design problems with Microsoft Office.

    He did say UNIX sucks, and he is correct, many things about it do, but there is suckage on every platform. His point was we have to fix the things that suck on UNIX and he is not advocating re-doing it from scratch.
  • Re:Accident of History vs. Design by Eric Gibson (Score:1) Thursday July 20 2000, @06:05AM
  • Re:How do *you* define "easier"? by cbwsdot (Score:1) Thursday July 20 2000, @07:02AM
  • Re:Analogy by donutz (Score:1) Thursday July 20 2000, @03:31AM
  • by sillysally (193936) on Thursday July 20 2000, @03:31AM (#918719)
    If we believe Miguel's opinion of Linux vs. Windows development, Linux is going to lose. In fact, his argument is so strong that we can see that Linux won't even be today where it is because five years ago Windows was even farther ahead with more reusable code.

    More evidence of Miguel's genius can be seen in his critique of Unix in general. Unix is not a platform of innovation. Take the biggest development in all software markets in the last five years: the internet. Unix could never have produced the innovation of the internet...

    Miguel's a little confused.

    It drives me nuts when people who are a little bit smarter like Miguel, start to think they are really smart, because while he can see problems, he is still not smart enough to see solutions. Allowing for many many window managers is not a mistake, it's the trend: think about skins. No, the problem is that the developers who are writing all the window managers keep starting from scratch, or pay little attention to the other window managers. For example, I like the focus to follow the mouse. I'd like to set that one time in one place, then experiment with different window managers to see which I like (today... :) But you see? That's a simple solution to a problem. There's no need to throw the baby away with the bathwater, which is what Microsoft did. Microsoft was a unix systems house back when they produced DOS, and many features of DOS were modelled from Unix. It took them years and years to reintroduce simple things like memory management and multitasking, and then they set off to create NT, an OS that nobody even wants to clone.

    Yep, it's true that some areas of Unix are very weak, like printer drivers, but that's more a reflection of the culture: Unix isn't used on office desktops much. Windows has equally glaring deficiencies: think of how much Windows code gets "reused" every day by hackers exploiting the security holes :)

    Nope, Miguel, you are not onto anything big, just another Dvorak in a different suit.

  • by DG (989) on Thursday July 20 2000, @03:33AM (#918720) Homepage Journal
    While there are some nice features about components, like anything else it's possible to have too much of a good thing.

    Taken to extremes - like our good friends in Redmond - you wind up with many, many applications depending on a large number of common components, with (here's the kicker) at times incompatible APIs. Need BeltchWord 5.0 and FlatuanceDraw 6.2? Can't do that if they each want different versions of the same component.

    And then you get situations where an application upgrades a component that the OS/Window Manager depends on.... version control lunacy.

    I believe this is called "DLL Hell" in Windows circles.

    No thanks Miguel. I like and use GNOME, and I look forward to useful things like a common GNOME printing model, but I also very much indeed like the current UNIX way of doing things with regards to the window manager, X, and the kernel.

    Some may see 20 years of development as "stagnant" but I see 20 years of continuous evolution. Cockroaches haven't changed much in 20 million years, because they don't have to - they're pretty damned efficiant as shipped.

  • Re:OOP by dweezil (Score:1) Thursday July 20 2000, @06:10AM
  • 'Unix Sucks' is a common sentiment by Moog (Score:1) Thursday July 20 2000, @03:33AM
  • Re:Do something about it by HiThere (Score:1) Thursday July 20 2000, @06:10AM
  • Re:Unix was there first. by AndyElf (Score:1) Thursday July 20 2000, @06:11AM
  • ...as opposed to structured programming by Anonymous Coward (Score:1) Thursday July 20 2000, @06:12AM
  • Re:Software that doesn't suck by Pfhreakaz0id (Score:2) Thursday July 20 2000, @10:18AM
  • Re:Paridigmns for a new OS? by F2F (Score:1) Thursday July 20 2000, @10:20AM
  • Re:He's right, of course. by Animats (Score:2) Thursday July 20 2000, @10:23AM
  • Re:Balance is Key by planet_hoth (Score:1) Thursday July 20 2000, @08:14AM
  • Re:Why isn't he doing his part, then? by elflord (Score:2) Thursday July 20 2000, @08:15AM
  • I agree by mach-5 (Score:1) Thursday July 20 2000, @10:32AM
  • Re:How do you define "easier"? by dvdeug (Score:1) Thursday July 20 2000, @08:18AM
  • Re:Unix Turd Polishing by gorilla (Score:2) Thursday July 20 2000, @10:32AM
  • Re:...as opposed to structured programming by OuiPapa (Score:1) Thursday July 20 2000, @08:27AM
  • Re:Do something about it by Ed Avis (Score:2) Thursday July 20 2000, @07:07AM
  • Re:Paridigmns for a new OS? by FigWig (Score:2) Thursday July 20 2000, @10:39AM
  • no control vs. control by sandler (Score:2) Thursday July 20 2000, @03:34AM
  • by jetson123 (13128) on Thursday July 20 2000, @07:11AM (#918738)
    Yes, C/UNIX has ceased to be a platform for innovation. In fact, arguably it never was a platform for innovation.

    But if Miguel wanted to help improve the situation, why did he go off developing such a huge software project in C on UNIX? It is C that makes component based development such a pain. C lacks even minimal support for component based development (e.g., no dynamic typing, no reflection), and it is impossible to make large, component based systems in C both robust and efficient: there is no fault isolation--a bad pointer in one component will crash other components unless you put them in separate processes.

    The answers to these problems are well known. Systems like Smalltalk-80 and the Lisp machine were fully integrated, component based environments where everything talked to each other. And almost any language other than C and C++ is better for component-based development and provides reuse.

    Microsoft does not have the answer. Microsoft's component model, COM, has very serious problems. It's complex because the languages it is based on don't have any support for component based development. And despite its complexity, it is still dumbed down because anything else would be umanageable in C/C++. And it has no fault isolation, meaning that if you load a bunch of COM components and your program dies, you have no idea what went wrong.

    In fact, UNIX had an excellent, reusable component model: command line programs that interchange data with files. That's no good for building a graphical desktop, but it was excellent for the UNIX user community--people manipulating lots of data. And that model has been extended to graphical desktops and networked systems in Plan 9 and Inferno, which also address many of the other problems with C/C++ through Alef and Limbo. Or, alternatively, Objective-C and OpenStep managed to build something that support powerful reuse and component based development on top of UNIX. And Java is excellent at supporting both component-based programming, reuse, and fault isolation.

    If Miguel genuinely wants to improve the situation, why isn't he using the tools that will let him do so? Why isn't he learning from the long history of component-based development that preceded both him and Microsoft? Why is he copying Microsoft's mistakes and mediocrity? Why isn't he supporting tools that genuinely make a difference rather than encouraging the use of tools (C/C++) that were never intended for this kind of work?

    People say about democracy that "i