Subject: Re: [Summer of Code] WiFi Browser
To: Thor Lancelot Simon <tls@rek.tjls.com>
From: Thomas Dickey <dickey@radix.net>
List: tech-net
Date: 06/07/2005 16:32:12
On Tue, Jun 07, 2005 at 01:49:57PM -0400, Thor Lancelot Simon wrote:
> Yes, and a portable program ought to be able to be compiled, and work
> correctly, with either; both provide a significant increase in features
> beyond those of the original BSD or System V curses libraries.

mouse, resizable windows, etc.  My preference for adding extensions is
to leave out the ones that can be constructed with the un-extended program.
 
> Portability does not mean "pick the most convenient superset of the
> standard functionality and assume it will be available everywhere"; it
> means, "adhere to the standard, or, if you can, to the subset of the
> standard that everyone implements consistently, so your application
> will work everywhere without dragging many megabytes of support code
> along with it".

;-)
 
> For a curses application, writing to that subset of the X/Open interface
> common to the BSD curses and ncurses is both easy and obvious.
> 
> > As an example of how not to write portable code, consider NetBSD's fork
> > of libcdk.
> 
> As an example of how not to write portable code, consider a curses-using
> library that will compile only with ncurses out of the box; not, mind
> you, that I approve of putting it into a state in which it will compile
> only with the NetBSD curses instead, but I am not actually sure that that
> is what happened (if it did, it should be fixed).

I'm sure there are some of those (I have a few in mind).  But I maintain
a few that work reasonably well with the curses implementations I can test
on (dialog, cdk have libraries, lynx uses curses).

-- 
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net