GCC does not satisfy the "one month" requirement: that's why we need better compilers (and languages)
But this IS a political issue!
If you cap complexity, you reduce costs and this way you reduce the power corporation can extort to users.
If you can rewrite anything you run in a month, no company is going to betray your trust.
As for the "simplicity ideology with complex compilers" you are talking about, I think you are confusing simplicity and easiness.
Simplicity is very different from easiness: simplicity provides freedom, easiness produce lock-in. But more often than not, simple tools requires more mental effort than easy one.
IMHO simplicity should always be preferred in Free Software.
I used to trust #GCC.
I spent a huge amount of my free time over the last 2 years to port it to my operating system (a Plan 9 fork).
In fact, Jehanne has been the first Plan 9 fork to run a modern GCC (9.2.0) and compile C++ programs correctly.
Then, with the removal of #RMS by the GCC Steering Committee, I realized they cannot be trusted: https://gcc.gnu.org/pipermail/gcc/2021-April/235285.html
Indeed they are discussing to leave #GNU in these days.
Now I'm exploring the alternatives.
So far, #TinyCC looks promising: https://bellard.org/tcc/
Other alternatives are listed here http://suckless.org/rocks/ but some requires either linker or assembler.
And while I obviously ported GNU binutils too, I prefer to avoid this toolchain since they are all showing they do not give a shit about free software, but about "#IBM, #Google, #Facebook, #ARM, or other big supporters" https://gcc.gnu.org/pipermail/gcc/2021-April/235367.html
A serious alternative could be the 9front compiler suite that I dismissed years ago because I was still naive (dumb).
Also, it's urgent to design better programming languages, and for "better" I mean simpler both for humans and for compilers/interpreters. So that all people will be able to read the software they use.
But the point remains: if it cannot be completely read and understood in at most a month by a single professional programmer, it's broken beyond repair and need to be replaced.
No exception.
Enormous projects produce enormous risks (when not enormous threats).
It's time to move beyond the stone ages of #Informatics.
"If it cannot be read and completely understood in a month, it's broken beyond repair."
My new mantra in #FreeSoftware development.
"If it cannot be read and completely understood in a month, it's broken beyond repair."
My new mantra in #FreeSoftware development.
@codewiz @yaaps@banana.dog @casastorta
Actually this https://backtracking.github.io/ocamlgraph/ looks quite similar to https://www.simple-cc.org/
I mean... somebody should have taken the lecture on minimalism too literally! 🤣
(but all in all... I still prefer code I can read than corporate documentation I have to trust)
Gli scafisti esistono perchè manca un #Safepassage legale, nei lager libici donne e bambini in condizioni disumane vengono sistematicamente abusati, sfruttati e uccisi. Lo certifica l'Unicef, ma si preferisce guardare altrove. https://ift.tt/2lmf6ia
No, la prescrizione non era un regalo ai delinquenti, solo una garanzia di impunità per i delinquenti ricchi.
Non funziona così.
L'informatica è una attività intellettuale creativa fortemente politica.
L'idea che l'informatico sia un mero esecutore, come un operaio in catena di montaggio, è saldamente ancorata nel management tutto, quanto falsa.
E' l'informatico a decidere cosa il software farà.
Al politico che crede di fare scelte "politiche" l'informatico può dire "No" e non fare ciò che il politico chiede.
O può dire "Ok"... e poi fare ciò che vuole.
http://www.tesio.it/documents/2021_AIUCD_La_lotta_informatica.pdf
Ci sono però diversi problemi, @quinta.
Anzitutto: quali informatici?
Avrai certo notato che l'informatica è ancora così primitiva da vivere di mode e marketing. E molti "informatici" sembrano estremamente competenti solo a chi non ne sa nulla della materia.
Tutta la fuffa della Blockchain, ad esempio, crolla miseramente davanti a considerazioni banali come il consumo energetico o il teorema CAP. Non può funzionare, sia da un punto di vista matematico sia da uno economico o ecologico.
Eppure i campioni della blockchain vengono presi sul serio.
E poi, immagino tu sappia quale influenza hanno le grandi aziende statunitensi quando si tratta di "farsi riconoscere la ragione".
Anche quando è oggettivo ed evidente che c'è un enorme problema (pensa a Google Meet a scuola dopo l'invalidazione del Privacy Shield), sono capaci di far sorvolare chi dovrebbe controllare.
Nulla di nuovo, se pensi a Eternit o ILVA, ma su scala globale.
Uhm... maybe @entreprecariat might contribute to this conversation too.
(but feel free to ignore all of this if you feel so inclined... I'm very curious about your perspectives, but I do not want to annoy you...)
Hi @shusha, just read your introduction and found it very interesting.
Let me present myself: I'm can be described in several ways, but for sure I'm father of three wonderful daughters I love most and I'm a hacker.
You can read something about me on my website http://www.tesio.it and on my operating system http://jehanne.io
Why I annoy you, you ask?
In your introduction you mention topics I care a lot: programming as expression (see http://www.tesio.it/2019/06/03/what-is-informatics.html ), epistemology, data (you find a lot in my site), politics ( see http://www.tesio.it/2020/09/03/not_all_hackers_are_americans.html ) and so on...
I would like to know your take about this: https://qoto.org/@Vectorfield/106028146945688229
Not much about the attacks against RMS and FSF (unless you want to talk about that too, obviously), but about the epistemic approach that @Vectorfield described and that, as far as I can say, describe quite well the activists I've talked with.
To be fair, they argue that "manifacturing" truths is what the hegemonic class ("the whites", "the males", "the straights"... curiously, never "the rich") do all the time with marketing and all other forms of propaganda, so they perceive themselves as fighting back on the same ground.
They argue that people won't try to understand long explanations or deep and complex models of reality anyway, so trying to argue with facts won't change things for the better.
Yet models that misdescribe reality on purpose, an epistemology not based on the search for truth but in the search for changes, is doomed to be abused by the oppressors who have better means and more resources to meld the public opinion (and even turn it to a weapon to enforce their own interests, as RMS story shows)
Anyway, sorry for this wall of text linking several other wall of texts.
If you'd like to talk about this, I'd like to access your perspective (dialogue is always a way to access and understand perspectives that are preclused to us by our limits).
Otherwise... just let me say nice to meet you! 😉
let me know if it looks better than TinyCC
AFAIK they are provided by the C library (and usually also depends on the target architecture and os)
@ekaitz_zarraga they basically setup things that must occurs once just after a program exec()uted starts, like initializing the c library.
But the only thing that crt0.s HAVE to do is to setup argc and argv and then call main() (in Jehanne it calls __jehanne_libc_init that will call main)
Maybe the crt0.s and friends here might be useful (but they are x86_64 and specific of Jehanne) https://github.com/JehanneOS/jehanne/tree/master/sys/src/lib/jehanne/amd64
@ekaitz_zarraga Btw, I managed to cross compile cat.c from Linux to #Jehanne with TinyCC and run it on Jehanne.
This means that, to some extent, static linking works.
```
tcc cat.c -m64 -nostdinc -nostdlib -g -I$JEHANNE/sys/include -I$JEHANNE/arch/amd64/include -L$JEHANNE/arch/amd64/lib $JEHANNE/arch/amd64/lib/crt* -ljehanne -static -Wl,-section-alignment=1000
```
I had to modify tccelf.c to use _main instead of _start as the elf starting point.
Tricky.
And a very little step forward (cat.c is very simple)
But a little hope.
I know nothing about it.
I've just found it on suckless.org among the software that rocks.
Yet seems to support amd64 and even run on plan9