๐พ Archived View for bbs.geminispace.org โบ s โบ permacomputing โบ 19024 captured on 2024-12-17 at 15:06:17. Gemini links have been rewritten to link to archived content
โฌ ๏ธ Previous capture (2024-08-31)
-=-=-=-=-=-=-
i have this feeling about lowtech (not permacomputing) that gcc is not lowtech. however, tcc is.
we feel that c is lowtech, because it has a small syntax and it is possible to write efficient code with it, but we forget that the c we use has lots of corporate investments, lots of language extensions, and the compiler compiles in hours.
tcc is lowtech, because it supports standard c without extensions and it is easy to compile it. however, it is not possible to compile linux kernes with tcc.
i think pcc was used to compile openbsd. that probably was lowtech.
there is gm2, gnu modula-2 compiler, part of gcc. in theory m2 compiler could compile itself in 20 seconds. but gm2 needs gcc.
Aug 08 ยท 4 months ago
๐ norayr [OP] ยท Aug 08 at 23:43:
so in order to compile gm2 we also need to compile gcc. for 3 hours maybe. plus 30 seconds for gm2 frontend.
so it's not lowtech.
standalone modula-2 compiler is.
freepascal is: though pascal had corporate past, and today's freepascal more or less is compatible with delphi language, but the freepascal we have is made by competent and passionate people, not the corporations. and it's not that big, so i think it is lowtech.
another reason why is it lowtech is because it has less deps. let's say it (if you don't link to ui toolkit and use threading) does noh depend on glibc. it produces small statically compiled binaries that do not depend on glibc. less deps, less dependence. more independence.
๐ norayr [OP] ยท Aug 08 at 23:54:
on the contrary, something that depends on layers of complexity is not lowtech. so c# is not. it needs a rot form underlying system. rust is not, it compiles for hours.
python is not, it had lots of corporate investment and contributions. corps spent lots of money to shape it. and stilr it works slowly and burns more energy than it is justified, i think.
i am tempted to say that go is lowtech: the compiler builds itself in 2 minutes. the rest are libraries. the language syntax is not overwhelmed with features that corps demand from languages. but go would not exist without corporate investments, so probably no?
when you build a house, you don't need many things needed to build a skyscraper.
๐ norayr [OP] ยท Aug 08 at 23:54:
so that house is vernacular, independent, lowtech.
๐ norayr [OP] ยท Aug 09 at 00:01:
so there are technologies that are standardized, polished, but they are also authorinarian, enforced, imperialistic.
gemini, on the contrary is a human scale design. walkabre space, where you don't need a car to explore it. simple bicycle is more than enough.
๐ norayr [OP] ยท Aug 09 at 00:09:
not standardized environments, unlike facebook or even mastodon, are weird, so the mind starts to raise questions and think of things that it wouldn't be thinking of in the standardized non-weird environment.
๐ norayr [OP] ยท Aug 09 at 00:13:
so mind is engaged with important quetions.
that is arno the reason why authoritarian regimes are trying to fence the citizens from weird things.
this is actually almost a quote of paul tillich, on cities
Maybe you should scc:
It is mostly written by one person (which I happen to know personally) and builds ISO C99 programs with qbe.
๐ DdlyH ยท Sep 21 at 20:28:
Does NASM count as low tech? It's low level and doesn't require loads of external tools, but is that enough?
๐ norayr [OP] ยท Nov 16 at 09:54:
i dont know? i only used gas on unix.
what i like in gas for x86[_64] is that you are required to understand that movb generates different opcode than movw, movl and movq. same with addb..addq and others.
so whatever i do is more understandable.
i guess in case of nasm it follows masm tradition where assembler can figure out by itself is it movb or movl by the type of other argument.
that might be indeed useful but the programmer doesnt realize there are different opcodes behind these instructions, and that 8bit add instruction itself takes less bytes than newer add instructions.
๐ norayr [OP] ยท Nov 16 at 10:00:
in case of 6502 you have ca65, which is part of cc65 compiler suite, it feels like gas, it has useful macros and you can define 'variables' by not really caring where they will reside in memory because default .cfg file for the platform describes it. but you dont know about that configuration file and what happening is not that transparent for you.
also cc65 is long to compile, it has big codebase. well how big can it be? it is still a hobby project and the target cpu is 6502 but still it is complex.
but there is xa, very simple assembler and almost nothing is done behind your back. you also need to explicitly mention everything. the source code of xa is smaller ...
๐ norayr [OP] ยท Nov 16 at 10:00:
and you understand more of what you are doing when using xa.