On Mon, Jan 13, 2014, Ciaran McCreesh wrote:
> On Mon, 13 Jan 2014 19:27:36 +0100
> Tom Wijsman <tom...@gentoo.org> wrote:
> > > Not an API. APIs are bad. What we should have is a good set of
> > > lightweight Unix-friendly command line tools. See, for example, the
> > > "Scripting Commands" section of "man cave".
> > 
> > It still is an API that way, just expressed differently
> 
> The term "API" seems to mean "library or communication interface" these
> days (see "Git API" and the like). So for clarity, it's probably better
> to make the distinction.

I think Tom was aware of that: hence "expressed differently". You appear
to have missed his point, which was not about something so simple and
well-known, judging by your inability to perceive it, and the state of
"modern" software.

> > if you would only do this you're introducing forks where you might
> > not need them. Providing shell commands is one possible binding to
> > the API...
> 
> Forks are far less of a big deal than trying to share a process between
> programming languages. This is a *huge* deal when trying to integrate
> modern C++ with languages with primitive thread-hostile runtimes like
> Python and Ruby.
> 
> Unless you're doing a heavy GUI (in which case portability probably
> isn't going to cut it anyway, without a far larger API than it's worth
> providing), most of the cost for most of the use cases for this is in
> the PM reading in configs and the like. The way around that is to allow
> communication via pipes, still in a Unix-friendly manner. This can be
> implemented nearly transparently.

Yes and the traditional Unix way to implement those shell commands is
to write a lib and then some apps as thin wrappers on top of it, and
possibly more complex ones on top of that as time goes by, and users
require. These components can in turn be used by other apps, or their
crappy non-C runtimes, as a basis for future development.

So Tom's point stands.

As for modern C++ being the be-all and end-all that sets the exemplar
.. LMAO. Good one. 30 years to reimplement LISP badly. Greenspun^N

I won't bother with your assertions about GUIs etc. Just don't presume
silence for agreement, as you are so wont to do. The obvious truths
about pipes etc, while true have very little to do with the point being
made. Still, glad you finally got hold of APUE.

*wipes tears from eyes and moves on*
-- 
#friendly-coders -- We're friendly, but we're not /that/ friendly ;-)

Reply via email to