:: Re: [DNG] Good thing we don't use s…
Top Page
Delete this message
Reply to this message
Author: Rainer Weikusat
Date:  
To: dng
Subject: Re: [DNG] Good thing we don't use systemd
Steve Litt <slitt@???> writes:
> Rainer Weikusat via Dng said on Sat, 04 Apr 2026 17:49:30 +0100


[...]

>>If you want a truly minimal init, this here should do:
>>
>>----
>>int main(void)
>>{
>>    extern int wait(int *);
>>    while (1) wait(0);
>>    return 0;
>>}
>>----

>>
>>that's the part which keeps running. It can be combined with a
>>shell-script


[...]

> You didn't know this, but both Kevin and I have a fondness for Ada. I
> like Ada for the same reasons I like Rust. By building an init system
> based on Ada Spark plus shellscripts, Kevin and I strike a blow for
> Ada.


Some people just believe that the only way to build a system is using
huge and complicated building blocks (only very smart can ever learn how
to use in a sensible way). Way back in time, this was called Multics
(and PL/I, obviously).

I think that's misguided and that everything should be kept as simple as
possible because complexity is self-limiting: If the solution for a
simple problem is already complicated, complicated problems will simply
become unsolvable. And complicated problems do exist.

> Rainer, I like C. I've used it since 1985. It's a tiny, simple
> language, the most DIY friendly compiled or interpreted language I've
> ever used. C is the perfect language for construction by functional
> decomposition. You can write a C program by linear thinking.


The original idea behind C was to create the minimum number of
abstractions to enable people to write portable, structured
code. Famously, an early version didn't yet have structures and Ritichie
added them because this was needed for rewriting the UNIX kernel in C.

Most programming language (I know of) are created in the exact opposite
way: Someone starts with every conceivably useful feature he can think
of. And from there, a kind of cancerous growth sets in: The scope of the
language keeps growing and growing and its constructs become ever more
complicated.

Eg, most people use C++ to write (pretty unstructured) C because that's
what they understand. And most Java code is again just C using
Java-syntax. And this will very likely be true for most of
everything. Functional decomposition - an idea dating back to the second
half of the 1970s - is already something a majority of people shy away
from. Better create if - then - else blocks which are thousands of lines
long.

... easter Sunday statement. But programming is fun and discussing it
only rarely possible

:-)