Live data from Hacker News

Is software abstraction killing civilization? (2021)

datagubbe.se

211–219 of 219 posts

Re: Is software abstraction killing civilization? (2021)

#211

Earlier quoted context omitted.

Computer classes in HS don't really cover that anymore. It gets worse the less relevant file systems are to non-techies. Documents are just a thing search for these days. People also learn and retain learning of what they practice, you would have to get them to use file systems, and then get them to continue using file systems for that information to stick.

That's kind of crazy. Basic knowledge of at least one desktop OS and office suite is kind of a prerequisite to so many things that would be considered adult life... Like, are kids writing CVs on their phones? Writing essays on their phones? iPads? Paper?

I use a mac and only dive into my file system when I'm doing dev. You just don't need to navigate it much for modern apps.

Re: Is software abstraction killing civilization? (2021)

#212
There will always be youngsters who love to dive into machine code and low-level stuff. And there will always be a need for developers who can code low-level efficient device drivers, game engines etc.

So software abstractions is not something I worry about when it comes to the survival of civilization. Nukes seems to be more of a real threat IMHO.

Re: Is software abstraction killing civilization? (2021)

#213

Earlier quoted context omitted.

>"Math for dummies" book writers don't argue that mathematicians are stupid/incompetent because they do not spend enough time on the basics. His argument isn't that they don't spend enough time on the basics. His argument is that they don't know the basics even exist. This is true in my experience. I've interviewed scores of candidates over the years who just have absolutely no mental model of what is going on under…

I completely agree that some (if not the majority of) developers aren't aware of what's happening under abstraction layers, but then I have to ask: is it the developer fault, or the abstraction's? If you were to ask a new programmer to make a very simple calculator which would then be distributed to various people using various devices, what would they use? How long would it take them? How much would it consume? Does…

I 100% agree that you don't necessarily need to know how a computer works to make a less bloated discord app.

But I do think that knowing the limit of what is possible with respect to performance makes you appreciate just how bloated and slow something like discord is. If you've only ever don't web development or electron apps, and you've only ever used bloated apps, you have no idea that you can do better.

You don't have to teach people about the limits, you could build a discord client on top of a "a method to query messages, and another to render to a framebuffer through software rendering" and show them how much faster it could be how much less memory it could use.

But the thing is Casey likes teaching at a lower level than that. He likes teaching about the domain he finds interesting and that he's an expert in. He thinks he can make the world more like the world he wants to live in, and he thinks he can do it by doing something he likes doing and is capable of doing.

That doesn't mean there aren't other faster or more impactful solutions to less bloated software, but he's not necessarily the guy to work on those solutions and there's nothing wrong with that. Judging by the number of people who watch his videos and the frequency with which the topics he promotes are discussed, he's making an impact--maybe not the optimal impact he could be making, but that's a fair thing to judge someone on.

> Each platform (OSes, hardware) should come with a program that expose every single potential IO action, and to run an actual program requires finding an interpreter for the specific format (either made yourself in an hour at most, or downloaded) and mapping your exposed IO calls through the platform app, in the same way you would configure keybinds in a video game.

Have you looked at the Roc language? It has a lot of similarities to what you're describing.

Re: Is software abstraction killing civilization? (2021)

#214
post #207

Earlier quoted context omitted.

No, I'm saying the web browser itself is an incredibly complex piece of software that has to deal with a lot more than what The Witness does. I actually said nothing about web applications themselves. Don't mistake flash for substance. The Witness may be pretty, but it gets to throw away a lot of complexity. Even as a game, it's not terribly complex.

The only point of the web browser is to achieve the user value accomplished by web pages and web applications. My point is there's nothing about that problem which inevitably requires "incredibly complex" software.

If "achieve(s) the user value" by being an entire execution platform. Without the browser there is nothing for those pages or applications to run on.

Try writing a web browser that can render even simple, static pages. Then realize you haven't even started writing anything close to modern browsers.

Re: Is software abstraction killing civilization? (2021)

#215

Earlier quoted context omitted.

I completely agree that some (if not the majority of) developers aren't aware of what's happening under abstraction layers, but then I have to ask: is it the developer fault, or the abstraction's? If you were to ask a new programmer to make a very simple calculator which would then be distributed to various people using various devices, what would they use? How long would it take them? How much would it consume? Does…

I 100% agree that you don't necessarily need to know how a computer works to make a less bloated discord app. But I do think that knowing the limit of what is possible with respect to performance makes you appreciate just how bloated and slow something like discord is. If you've only ever don't web development or electron apps, and you've only ever used bloated apps, you have no idea that you can do better. You don't…

> You don't have to teach people about the limits, you could build a discord client on top of a "a method to query messages, and another to render to a framebuffer through software rendering" and show them how much faster it could be how much less memory it could use.

The problem is exactly that this is not that simple. I believe that there is a huge gap between the theory of a chat application, and the way they are implemented now. I do not believe it is about better abstraction layers, personally I have always found explanations using raw sockets and bits the simplest.

If you were to ask a programmer to write a discord client, you would very likely end up with a giant mess that somehow break a few months later at most (if ever). Even though they would be able to flawlessly go through the program flow step by step if you asked.

Discussions about efficient code kind of avoid the topic, I don't believe we are in a situation where multithreading is relevant, the bloat is on another level. The bloat is generally not related to whatever language you use, the O(1) or O(n) algorithm you choose, but more likely the overall control flow of the program which you already understand in your head but cannot figure out how to act on, and the inability to make simple problems simple to solve (like the calculator, text editor, or even games)

Now you are probably right about Casey ultimately doing what he likes, and even if suboptimal make other people aware. Although I would believe that this benefit comes somewhat in spite of himself.

> Have you looked at the Roc language? It has a lot of similarities to what you're describing.

Gave it a look and unfortunately, I don't think I have seen the similarities? It has environment/IO access, call host language functions, and doesn't really strive to be reimplemented by independent people.

Re: Is software abstraction killing civilization? (2021)

#217

Earlier quoted context omitted.

I 100% agree that you don't necessarily need to know how a computer works to make a less bloated discord app. But I do think that knowing the limit of what is possible with respect to performance makes you appreciate just how bloated and slow something like discord is. If you've only ever don't web development or electron apps, and you've only ever used bloated apps, you have no idea that you can do better. You don't…

> You don't have to teach people about the limits, you could build a discord client on top of a "a method to query messages, and another to render to a framebuffer through software rendering" and show them how much faster it could be how much less memory it could use. The problem is exactly that this is not that simple. I believe that there is a huge gap between the theory of a chat application, and the way they are…

>Gave it a look and unfortunately, I don't think I have seen the similarities?

I was specifically thinking about this https://www.roc-lang.org/platforms

I'm not an expert. I haven't actually used it, but I have been following it a bit. Roc splits things into apps and platforms. When you implement a platform you're responsible for implementing all (or the subset you want to provide) of the I/O primitives and memory allocators.

>Discussions about efficient code kind of avoid the topic, I don't believe we are in a situation where multithreading is relevant, the bloat is on another level

Case does talk about other kinds of bloat. Things like structuring things so blocking operations can be batched etc...

Re: Is software abstraction killing civilization? (2021)

#219
post #214

Earlier quoted context omitted.

The only point of the web browser is to achieve the user value accomplished by web pages and web applications. My point is there's nothing about that problem which inevitably requires "incredibly complex" software.

If "achieve(s) the user value" by being an entire execution platform. Without the browser there is nothing for those pages or applications to run on. Try writing a web browser that can render even simple, static pages. Then realize you haven't even started writing anything close to modern browsers.

You have a remarkably closed mind.
Post reply on HN