balder1993

joined 1 year ago
[–] balder1993@programming.dev 3 points 3 months ago* (last edited 3 months ago)

You’re right that garbage collection makes Go simpler, and maybe other patterns do contribute to prevent complexity from piling up. I never worked with Go outside of silly examples to try it out, so I’m no authority about it.

What I meant was more of a “general” rule that the simpler a language is, the more code is necessary to express the same thing and then the intent can become nebulous, or the person reading might miss something. Besides, when the language doesn’t offer feature X, it becomes the programmer’s job to manage it, and it creates an extra mental load that can add pesky bugs (ex: managing null safety with extra checks, tracking pointers and bounds checking in C and so on…).

Also there are studies that show the number of bugs in a software correlate with lines of code, which can mean the software is simply doing more, but also that the more characters you have to read and write, the higher the chance of something to go wrong.

But yeah, this subject depends on too many variables and some may outweigh others.

[–] balder1993@programming.dev 6 points 3 months ago (3 children)

There’s no free lunch after all. Go’s quick compilation also means the language is very simple, which means all the complexity shifts to the program’s code.

[–] balder1993@programming.dev 2 points 3 months ago

I think when it comes to tooling, some Linux tools are actually BSD software that works because of POSIX compliance. An example is OpenSSH.

[–] balder1993@programming.dev 5 points 3 months ago (1 children)

This kind of thing can be easily automated nowadays. It’s not really a problem.

[–] balder1993@programming.dev 3 points 3 months ago

That’s a good argument.

[–] balder1993@programming.dev 6 points 3 months ago* (last edited 3 months ago)

And at that point you’ll also have a better idea of the problem and solution.

[–] balder1993@programming.dev 4 points 3 months ago

If I was gonna make a suggestion, it would be to use some formatting tool such as black to make sure your code is styled in a standard way.

[–] balder1993@programming.dev 2 points 3 months ago

I think Lemmy has very few users to have such limitations.

[–] balder1993@programming.dev 3 points 3 months ago* (last edited 3 months ago)

The mental model I have about performance is that the higher abstraction usually beats the lower level abstraction.

So in that sense, a well architected software with proper caching, multithreading where it matters etc. will beat badly architected software (ex: one that brute forces everything). Then, that being equal, good algorithms and solutions beat bad ones. Only then faster runtimes make more of a difference, and at the bottom things like more efficient processor architectures, more efficient compiler etc. beat slower ones.

A good example is Lemmy itself, which as far as I know was made in Rust to be super fast, but then at the beginning was being DDOSed quite easily because of the way the database was designed and lots of queries were very slow. Once they fixed that, Lemmy became actually usable.

[–] balder1993@programming.dev 2 points 3 months ago

“Any improvements made anywhere besides the bottleneck are an illusion” (Gene Kim)

[–] balder1993@programming.dev 5 points 3 months ago* (last edited 3 months ago) (1 children)

It helps to look up certain concepts in the Wiki (Arch Wiki is probably the most complete and well explained) as you come across them. The idea is to increase knowledge little by little, but over time it compounds.

[–] balder1993@programming.dev 1 points 3 months ago* (last edited 3 months ago)

I mean, the way I see it he also has an economic incentive to endorse more AI everywhere.

On the other hand he seems to be one of the people actually pushing for saner legislation.

view more: ‹ prev next ›