yes, immutable by default is dumb and forces you to do a lot more running around with the GC

that's the biggest mistake in Go, but only affects strings, in Rust it's everything

the adoption of this idiotic notion was the reason why i immediately did not want to try V either, and nostr:npub16c2fsg7fp3yxte9ugd9yhcdpa68h924asv5d6pvm5nc37a3nkzmqd2xaj2 made a language similar to V which also has this idiotic notion in it, unless i'm mistaken

wrong, wrong, wrong

this is why the only programmers who aren't gophers that i respect on nostr are C programmers, because in C you have to do things the same way, mutable by default for everything including strings

Similar to V? What's V 😂

Enjoyed reading this

Reply to this note

Please Login to reply.

Discussion

https://vlang.io/

you'll see what i mean

it was one of the first "let's make it like go, but like rust" things

the dumbasses who follow the fashions

always are like the skateboard-rake meme... they invent some new complicated shit to end up being smacked in the face same as before. welcome to the real world. your eyes hurt because you never used them before

Okay, cool. T isn't that.

V is extremely fast to compile, its syntax is way simpler than rust and enables much of teh same things

i almost adopted it except it kinda put me off this mutable bullshit

my second programming language was assembler

i know the extra rigmerole required to fuck around with MMU shit and there is no reason to do it, except for fencing processes into the memory that they have permission to access

using it for write control is incredibly complex and failure prone and a lot of extra processing to protect you from what

dumbass peers?

i also have big problems with the whole "internal" "don't export it" thing, too many times in Go libraries some genius hides critical functionality inside something i can't access because internal

i now have a policy of hide it only if in really has no use, i understand the bugs you can get from permeable interfaces and reaching through interfaces into underlying stuff but those necessities actually indicate that the hidden shit should be a shared library not hidden

I'll enthusiastically agree with the hidden internals thing. I sarcastically LOVE writing wrapper classes for your library because you decided I don't deserve insight into critical internal state.

the number of times this has blocked me from achieving something i've lost count

If rust can have an "unsafe" keyword to allow poking at memory when nothing else will do the languages can introduce a 'sudo give me access to your private members' keyword.

go already has this, it's called "unsafe" and "reflect" and you can do a lot of cool things but actually you don't really want to do them most of the time

i'm a conniseur of programming languages, and i haven't gone to the full distance of building my own but i know the parts of these things intimately and i love it when i make an excuse to write a parser or tree walker or any of this fun language shit

locking memory with MMU is the dumbest bullshit ever, it's a waste of an important resource

much better is locking processes IN to their own allocated heaps, and locking them OUT of everything else

if you understand boolean logic you will see that making locks on internal stuff is extreme overhead and complexity and is a substitute for compiler security features

Sure thing, I was just correcting you on what I am doing with T.

fine but i doubt it's going to go anywhere, or actually solve any real word problems

Solves my problems, all i need :-)