From owner-freebsd-hackers Wed Nov 6 14:09:53 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id OAA29629 for hackers-outgoing; Wed, 6 Nov 1996 14:09:53 -0800 (PST) Received: from ravenock.cybercity.dk (disn50.cybercity.dk [194.16.57.50]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id OAA29603; Wed, 6 Nov 1996 14:09:43 -0800 (PST) Received: (from sos@localhost) by ravenock.cybercity.dk (8.8.2/8.7.3) id XAA02882; Wed, 6 Nov 1996 23:09:49 +0100 (MET) Message-Id: <199611062209.XAA02882@ravenock.cybercity.dk> Subject: Re: SUP on sup.freebsd.org To: jdp@polstra.com (John Polstra) Date: Wed, 6 Nov 1996 23:09:37 +0100 (MET) From: "Soren Schmidt" Cc: sos@FreeBSD.org, gene@starkhome.cs.sunysb.edu, hackers@FreeBSD.org In-Reply-To: <199611062031.MAA11245@austin.polstra.com> from "John Polstra" at Nov 6, 96 12:31:26 pm From: sos@FreeBSD.org Reply-to: sos@FreeBSD.org X-Mailer: ELM [version 2.4 PL25 ME8b] MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-hackers@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk In reply to John Polstra who wrote: > > OK, so why on earth did I choose Modula-3? In no particular order: > > 1. I needed application level threads, and threads are an integral > part of the Modula-3 language. About the only reasonable alternative > was to use pthreads with C or C++. But pthreads was not well > supported under FreeBSD at that time. Hmm. > 2. I needed a graphical display during development so that I could > monitor the 3 client threads as they were running, debug them, > appraise their relative performance, and find the bottlenecks. > Modula-3 has a very nice toolkit for creating GUIs quickly and > painlessly. (OK, so the scrollbars are as ugly as sin.) Hmm, xforms? tcl/tk? > 3. Modula-3 is a compiled language that is reasonably efficient. Hmm, C? > 4. I needed to use some low level system functions, e.g., mapping > files into memory. Modula-3 provides good access to such functions, > and it is quite easy to add interfaces to foreign libraries such > as "libz". Hmm, mmap? > 5. Modula-3 has good support for networking. Hmm, sockets? > 6. It is a mature and stable language that has been used in a number > of serious, large projects. The language and compiler have been > stable for about 5 years, which is more than you can say for C++. Hmm, C has been here for a _long_ time too... > 7. It has nice support for object oriented programming, including a good > type system, a nice exception model, and a modern high-performance > garbage collector. These traits, IMHO, contribute powerfully to > producing well-structured, maintainable programs. Aiiigh... > 8. I had just come off a huge 3+ year C++ project. During that time, I > learned just how much C++ sucks. I did not feel like doing it again > right away "for fun." I wouldn't use C++ either, agreed on that one.. > 9. I have spent my entire professional career getting paid to use the > wrong tools, because, e.g., the manager read that C++ was "popular." > For once, just once, on a _hobby_ project, I decided I was going to use > the tool I felt was the best for the job at hand. I thought about it > long and hard, evaluated several options (C and C++ among them), and > eventually chose Modula-3. I have never regretted that decision. Ahh, thats it, change of environment, I'll buy that one. > Any questions? :-) Well, it won't matter won't it ? :) I'm just getting a litte nervous about all the splendid new stuff that we are collecting lately. One of the reasons I _love_ **IX and BSD is that they have stayed on the KISS principle for so long. As I se our route forward we are rapidly moving away from that philosofi, and I think that is a shame. If I want big and overengineered systems I get plenty at work form using Billyboys systems there (allthough we are a UNIX shop :( ) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Søren Schmidt (sos@FreeBSD.org) FreeBSD Core Team Even more code to hack -- will it ever end ..