Re: [dev] less(1) replacement?

From: <sylvain.bertrand_AT_gmail.com>
Date: Tue, 29 Aug 2017 10:10:32 +0000

On Mon, Aug 28, 2017 at 11:31:38PM +0200, Stéphane Aulery wrote:
> As I mentioned in my first post, I will not want to write a piece of lower
> level or intermediate software with a scripting language, but one can still
> write a user software whose only dependency is the interpreter. The
> principles can be transposed.

You still don't get it and ignored everything I wrote. But I'm going to give
you some food: use of an "interpreted" language is ok for a user specific
customisation of the behavior of a user level application, but with the
following conditions: In no way a core functionality of the user level
application should be implemented in the "interpreted" language; In no way the
SDK of the user application must force the availability of the "interpreted"
language to be compiled or run; the user application should have designed a
strong interface that would allow many "interpreted" languages (or C or asm or
whatever) to be used and not only one: usually a simple C API or a simple
"network protocol". I would write C.

For instance, awesome window manager was good and now it's really bad:
   - it's a bloat
   - core functionalities/SDK are lua only dependent.

That's for open source software.

> For Oberon I can not remember how I discovered it (maybe via Rob Pike's
> Plan9 Acme inspiration). Niklaus Wirth literally spent his life simplifying
> Algol to retrieve only the essential in Oberon, a language like C but with
> less caltrop. Its aesthetic is not the same but the spirit is the same. It
> was not for nothing that Uriel was pushing Go (https://www.reddit.com/r/programming/comments/11h7ab/9fans_uriel_has_passed_away/)
> which has some relationship with it.

You _really_ still don't get it. For your information, C syntax is already
*WAY* too rich. Many of the linux kernel coding guidelines are actually a sort
of an emphase of this point. The C types are "fixed" with the pre-processor:
u8, u16, u32, s64, f32... and to be polite some things are "not recommended":
no typedef, c99 declaration (better keep the c89 way namely at the top the
function). I go a bit farther: no enum either and only one loop keyword,
usually #define loop for(;;), no mandatory attributes like const. And for
namespaces (very usefull for static libs), the cpp is far from enough.

And with that, you write "low" to "high" level application/components,
*ANYTHING*, even web interface (CGI/FastCGI/internal of the web server).

----
You really need to come down from your silver tower.
I'm over with this. 
-- 
Sylvain
Received on Tue Aug 29 2017 - 12:10:32 CEST

This archive was generated by hypermail 2.3.0 : Tue Aug 29 2017 - 12:12:15 CEST