Email or username:

Password:

Forgot your password?
Top-level
Devil Lu Linvega

How does it follows that a simple specs equates a hindering interfaces, why do they always make this leap.

I mean, okay perhaps brainfuck and subleq is a bit to close to the tarpit side of things, but how much convenience does one really need to be effective at solving any one programming task? Don't most simple programming languages and assemblies give enough for any one to build the things they need.

Is it because programmers are dead set in using abstractions they deem not worthy to learn?

17 comments
Devil Lu Linvega

Oh god, no types, no objects? what, are we to live like savages. We couldn't POSSIBLY write anything without cluttering ourselves with a billion training wheels.

spooky blip 👻

@neauoire there's a lot tangled up here - types, objects, w/e, are ways of designing interface contracts between moving parts. Imagine this argument applied to electrical: oh no, we don't have NEMA sockets? However will we work! Besides, it's just bare AC wires, how bad could it be? Sorry, I like knowing my toaster will plug into the wall without reading its schematics, I'll stick to things that make it hard to kill myself

Npm culture (downthread) is a very different set of problems than this

Csepp 🌢

@neauoire I partially agree with this, but it feels like it contradicts something you linked to recently: "Any part of the system that cannot be changed or that is not sufficiently general is a likely source of impediment."
permacomputing.net/human-scale

How do you make a procedure generic without using types of some sort?

Making code reusable is a necessity if you don't want users of the language to be doing pointless busywork instead of solving their real-life problems with code.

@neauoire I partially agree with this, but it feels like it contradicts something you linked to recently: "Any part of the system that cannot be changed or that is not sufficiently general is a likely source of impediment."
permacomputing.net/human-scale

How do you make a procedure generic without using types of some sort?

Devil Lu Linvega

@csepp mhmm, but how are types helping to make things generic, don't take make things NOT generic?

Csepp 🌢

@neauoire Say you want to implement substring matching. How do you make sure it doesn't need to know about the in-memory layout of strings? Like, how will it work on both arrays and ropes?
You need to dispatch on the type of an argument at *some* point, either at compile time or at run time.

And sure, you can copy-paste the code, or reimplement it for each data structure, but human time is more important than computer time.

Devil Lu Linvega

@csepp damn, I guess I never really had to solve that sort of thing, I'm not sure I understand what you're asking me in the first question.

Devil Lu Linvega

@csepp I'm just ranting over here, but maybe all these people are solving problems I haven't had to contend with yet too.

If that's the case it's a bit frustrating to see them take hits at projects that tackle different scales of problems that shouldn't be hindered by the tools they need for their scale of problems~

Csepp 🌢

@neauoire In more concrete terms, you have code that only cares if its input can be indexed randomly, or maybe iterated in sequence. A simple example is something like grep. If it's generic enough, you could grep through RAM, or through messages streaming through a network socket.

But yeah, some people just don't realize others have different needs. Favoring compiler simplicity is entirely valid if you want to self host on simple hardware.

theruran 🌐🏴

@neauoire just some HN nerds trying to sound smart. 🙄

aeva

@neauoire I don't get it, is their complaint that an assembly language isn't a high level language? I wonder where they figure high level abstractions come from. There's nothing stopping someone from writing a simple compiler targeting uxn if they want these things?

Devil Lu Linvega

@aeva actually this is not about Uxn, it's using forth as an example of what they call "pseudo-simplicity", I'm seeing these little jabs at languages that are a bit more domain specific. Using terms like "church of minimalism" has this reactionary connotation like more languages is worst somehow, and that different scopes can't coexist.

ruby0x1

@neauoire @aeva and now you know why I don't talk about programming or programming languages even though I maintain one :D

Devil Lu Linvega

@ruby0x1 @aeva you'd be making yourself a target for this sort of stuff, it's like the Dark Forest Theory of Programming Language design.

Wim 🈂️

@neauoire It is entirely possible to create such abstractions in Uxntal or in Forth for that matter. In Scheme that has been the custom forever. So the criticism would then move to "but they aren't native" or something like that.

It's to my mind an idle debate, because what people are really saying is "I like what I know and I don't like change"

Devil Lu Linvega

@wim_v12e I totally agree, it's like, it's all things that can be done, if a language made it harder or impossible to create these data structures then I can see a point here, but each time something is added to the core, then everyone has to carry this extra weight.

maleza

@neauoire I think it has to do with world view. It is not an argument over the other. Each one is a foundation for a different pursuit.
Let bloaters bloat and don't listen when they yell at our lack of features.

abortretryfail

@neauoire
Not being able to multiply signed doubles out of the box was really cramping my style with MFORTH last week, ngl.

The app was a simple doppler shift calculator for #hamradio satellite operation. Turned into a rabbit hole of "how do I add this basic math function?"

Go Up