From owner-freebsd-small Mon Oct 5 12:19:08 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id MAA08926 for freebsd-small-outgoing; Mon, 5 Oct 1998 12:19:08 -0700 (PDT) (envelope-from owner-freebsd-small@FreeBSD.ORG) Received: from torrentnet.com (bacardi.torrentnet.com [198.78.51.104]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id MAA08918 for ; Mon, 5 Oct 1998 12:19:03 -0700 (PDT) (envelope-from jds@bacardi.torrentnet.com) Received: from bacardi.torrentnet.com (localhost.torrentnet.com [127.0.0.1]) by torrentnet.com (8.8.5/8.8.5) with ESMTP id PAA21621; Mon, 5 Oct 1998 15:18:27 -0400 (EDT) Message-Id: <199810051918.PAA21621@torrentnet.com> To: Mike Smith cc: FreeBSD Small Subject: Re: Command-line i/f (Re: PicoBSD) Date: Mon, 05 Oct 1998 15:18:27 -0400 From: James da Silva Sender: owner-freebsd-small@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > >IOS is not a good example to follow here. > > Well it might be a source for command names ;) > Not even that. IOS's command interface is a festering abomination. > Emulating it would be a major error. Unless you're trying to sell a router to people who have it memorized already, warts and all. :-) It seems to me that the basic goal here for picoBSD is to be able to configure the whole thing from one script file, including perhaps some extensibility (which IOS does not have). An extensible config language can be very small and very quickly implemented. I had thought the TCL interpreter core (minus all the library routines) was very small, maybe something went wrong. Forth certainly qualifies. Small schemes (eg siod) qualify. A simple line-based mini- language can be cons'ed up in a weekend. Choosing among these is pure religion. But that's not the problem. The problem is the mapping from this small simple script-based language onto the "real" configuration base of the system. This can bloat up in a hurry. Eg, does each subsystem read from the config file, or is there a single command shell that updates some registry (ldap and agentx spring to mind for the registry)? Either way, you have to modify all your programs to get their config info from this centralized place. Or, if you don't want to do that, you can have your script processor generate the traditional conf files. The mapping can be complicated if you aren't careful. If forth is being considered as way to implement a lot of the non-performance critical "glue" code, and not necessarily as the interface through which the admin operates, then that's less controversial. Wouldn't Java or some other bytecode language be similarly compact, or at least in the same ballpark? I know, a typical java runtime, like tcl, is bloated; but how much of that is necessary? How big would a simple JVM with only the basic classes be? Jaime ........................................................................... : James da Silva : Stand on my shoulders, : : Torrent Networking Technologies Corp. : not on my toes. : To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-small" in the body of the message