In the below Iâm veering far off topic, itâs a good thing weâre posting only once or twice per week! Anyway here goes:
Never thought Iâd see Permaculture mentionned in the IT world⌠Next thing I know, Colin Campbell and Jean LahĂŠrrère will get a mention too ^^ Their site even mentions cornucopianism⌠Not surprised to see Collapse OS mentionned as that one is directly related.
Anyway it seems youâve somewhat retraced my own steps a little, and ended up shortlisting the same three languages (Nim, Zig, V), except you seem to have done more âdue diligenceâ than I. (for instance I donât know whether Zig is written in Zig, or if Nim is written in Nim, I just know that V is written in V, and can be bootstrapped from C). Iâll be curious to see where that leads you.
Kinda enjoyed the 9fans thread, some colorful language in there ^^ And also some more sober observations:
I tried for about a year to like Zig but the language never
resonated with me.
Thatâs kinda like (part of) the way I feel about this whole thingamadokie: Iâve invested so many years of my life to C++, that I feel if I ever âjump shipâ then I have to âfall in loveâ, it has to be to a language which I feel cannot be improved upon. In terms of syntax obviously (since adapting to a syntax is what takes a lot of time when youâre used to the C++ syntax). I have this âfeelâ with V (call me uneducated if you want, after all back at the uni my marks were not so high in the compiling/machine-code/LALR grammar/syntax parsing courses ). I donât have that feeling with other languages. Anyway you get what you pay for, and this posts comes for free Of note though, a newbie will not have the same problem as I have, newbies are more keen on experimenting and discovering the world. In fact, why choose a language, try to get fluent in all 3 for a few months, and then choose ^^
A general observation which, despite sounding very abstract, might resonate with some: as I grow older, I tend to gravitate toward projects which are less âblack boxâ like, that is to say, projects in which I could conceivably go âunder the hoodâ and repair myself, in case the author(s) stop maintaining it. At a time I was fine with using GCC, even though itâs ultra complex inside and no one could possibly hope to improvise a fix without prior experience in the compiler universe. Indeed when GCC is buggy, I 100% rely on the GNU team to fix the bug. But as new languages appear, now I know of a language whose innards I could conceivably understand (okay that might not be the best example, given Iâm weak on my uni compilation courses as mentionned). Same thing for the OS: I went from OSâes I had no control of, to Haiku, where I understand part of the code base (except the critical, crashy, kernel-land), to Genode, whose code base (unlike previous examples) I might hope to understand more widely or maybe even 90% some day, which would be unprecedented. I could cite additional (and more realistic) examples: going from gmake to jam, from git to fossil, and so on.
All those examples draw back to the âpermacomputingâ page cited above, which resonates with the concept of âshrinking the complexity onionâ, to peel some layers so to speak, so thanks for that.
Anyway, thatâs the gist of it: my chance of ever understanding some code bases is a big fat zero, whereas itâs non-zero for smaller, better written projects, and I lean towards the latter.