From owner-freebsd-chat Wed Nov 20 22:48:51 1996 Return-Path: owner-chat Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id WAA09188 for chat-outgoing; Wed, 20 Nov 1996 22:48:51 -0800 (PST) Received: from hill.gnu.ai.mit.edu (hill.gnu.ai.mit.edu [128.52.46.43]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id WAA09183 for ; Wed, 20 Nov 1996 22:48:48 -0800 (PST) Received: by hill.gnu.ai.mit.edu (8.6.12/8.6.12GNU) id BAA26001; Thu, 21 Nov 1996 01:48:12 -0500 Date: Thu, 21 Nov 1996 01:48:12 -0500 Message-Id: <199611210648.BAA26001@hill.gnu.ai.mit.edu> From: Joel Ray Holveck To: cracauer@wavehh.hanse.de CC: rob@arpa.COM, freebsd-chat@freebsd.org In-reply-to: <9611200926.AA03350@wavehh.hanse.de> (cracauer@wavehh.hanse.de) Subject: Re: benchmark Sender: owner-chat@freebsd.org X-Loop: FreeBSD.org Precedence: bulk 1) All the people you can hire to do work on NT I know (no matter whether free, working for a consultant or being employees) are ignorant in a way you can't do any serious project with them. The real reason here: think to yourself, do I want to hire somebody who has chosen NT as their computer path, or somebody who has chosen Unix? Remember: NT is designed as an easy-to-use networking base. Unix is designed as a powerful networking base. (I'm just talking about where the effort is going now, not about history or the way things actually are.) This way of thinking helps deter a lot of problems. 2) It's not only NT itself that offers non-optimal solutions to a large number of problems. Using NT means you use all those junk applications that are worse by a large factor. If you are working on NT, you will be surprised how fast you'll get forced to use Visual Basic, Borland development tools and some braindead, simple-minded, closed database "toolkit". If you're speaking of what's availible, I disagree. There are flexible, powerful compilers around for Win32. If you're speaking of what's normally used, I agree. In the Windows world, easy-to-use is the rule. For end users, that's wonderful, but for programmers (and those who consider themselves programmers because they can use Paradox), it's a trap. Even so, consider: when I first started working for my present employer this year, I was assigned to write a hardware fault tracking system, and given a database and screen library. The library was written for DOS and ported to Unix. I don't know when it was written, but it was in K&R C. You remember; no prototypes, no type-checking, etc. Mind you, like most of us, I cut my teeth on K&R C, and don't mind it at all; I'm just giving you an idea of age. Most of the windowing routines had been mauled to pieces by our locals, who didn't understand curses, nor the original software, nor Unix programming concepts. (Said locals have since left.) Half of the routines didn't work, and those that didn't were misdocumented. I was given a menuing system written as subroutines in a .h file ("ld? make? Object files? What the **** is all that?") to replace the one that came with the library. After I had written my first version and was told our policy on hardware repairs (which I had not been able to extract from my coworkers when I started the project), and seen (and somewhat debugged) the terrible horror that I was having to work with, I recompiled it without windowing routines, wrote my own library on a modern ncurses, and started working a new version of the tracking system. My boss told me that I was to use the library I had previously eschewed, because "it's the way we do it here," and if we needed to do it any other way "David would have told us" (David is our resident star programmer). David was using a version of the library that was two major revisions later, on Windows, and spoke of the Unix version I was using with the same disdain as I had. However, he had never seen it fit to complain, since he wasn't developing for Unix, so the library, buggy as it was, became law. The moral: sometimes, even in the land of milk and honey, Management still will give you vinegar for wine. 3) In the windows world, you are usually not longer in a position to change the implementation of a tool you use for a project. [insert Stallmanesque sermon here] On Unix, I have a nightly script running that adds the subjects of all threads spread over more than N newsgroups to my killfile (most useful program I've ever written). How the heck can I do so on NT? This is really again the design philosophy. Unix is written around easy and powerful programming. NT is written around market shares. That's life. Cheers, Joel