Live data from Hacker News

Handmade: A Community for Self-Rolled Performant Software (2016)

handmade.network

21–30 of 96 posts

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#21
What people don't realize is that modern, high-level languages and abstractions give you much more than just speed of development.

If you use a garbage collector, you don't have to do manual memory management, which is amazing for security. You also don't need to worry about buffer overflows and weird pointer exploits.

If you use web tech, you get a lot of important stuff, like sandboxing, handling of esoteric keyboards, RTL languages and screen reader accessibility almost for free. If you use some extremely fast, small and lightweight GUI framework, you will probably not implement those, as they seem boring, and who needs that anyways.

If you go the handcrafted, lightweight and fast route, you're sacrificing a lot of features, possibly without even being aware of what you lose until it's too late.

I will happily shelve a few more bucks for RAM and wait a few more seconds to get an accessible, secure Messenger, instead of one that is going to steal my bank details the moment some stranger sends me a malicious GIF.

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#23

What people don't realize is that modern, high-level languages and abstractions give you much more than just speed of development. If you use a garbage collector, you don't have to do manual memory management, which is amazing for security. You also don't need to worry about buffer overflows and weird pointer exploits. If you use web tech, you get a lot of important stuff, like sandboxing, handling of esoteric keyboa…

> If you go the handcrafted, lightweight and fast route, you're sacrificing a lot of features, possibly without even being aware of what you lose until it's too late.

And, just to amplify the point about accessibility, you may be blocking some people from using your app. So it's not entirely about what you lose. That's not so bad if you're developing a game. But the projects on this site include a programmer's editor and a debugger, both of which are completely inaccessible with a screen reader because, of course, they use a handmade GUI.

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#24
post #13

Why is that we praise hand-crafted objects in the real world while at the same time deriding such hand-crafted code as a quaint curiosity that can only make sense as a hobby of the hopelessly romantic? Do we compare your local carpenter with IKEA, or that delicious, nutritive and healthly meal you cooked with McDonald's, in terms of pure (developer) performance? Do we obsess over how a handmade jewelrer can't scale o…

Carpenters still use harvested, dried, milled lumber. Chefs still use harvested, dried, milled flour.

Frameworks are tools and building blocks like this, but for software. Not using them is not like an artisan carpenter using lumber from the store. It’s like a carpenter making their own boards, or a chef making her own flour. It is not really relevant to efficient, performant software, it is more like an art for the sake of it.

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#25
post #13

Why is that we praise hand-crafted objects in the real world while at the same time deriding such hand-crafted code as a quaint curiosity that can only make sense as a hobby of the hopelessly romantic? Do we compare your local carpenter with IKEA, or that delicious, nutritive and healthly meal you cooked with McDonald's, in terms of pure (developer) performance? Do we obsess over how a handmade jewelrer can't scale o…

Because our technical culture has been colonized by business interests to the point that people cannot tell the difference anymore.

Many comments on this thread show an unwillingness to even consider alternate technical aesthetics. Everything has to be about Creating Business Value, as if that's somehow the most important thing in life.

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#26

What people don't realize is that modern, high-level languages and abstractions give you much more than just speed of development. If you use a garbage collector, you don't have to do manual memory management, which is amazing for security. You also don't need to worry about buffer overflows and weird pointer exploits. If you use web tech, you get a lot of important stuff, like sandboxing, handling of esoteric keyboa…

> If you go the handcrafted, lightweight and fast route, you're sacrificing a lot of features, possibly without even being aware of what you lose until it's too late. And, just to amplify the point about accessibility, you may be blocking some people from using your app. So it's not entirely about what you lose. That's not so bad if you're developing a game. But the projects on this site include a programmer's editor…

Handmade GUIs, frameworks drawing on canvas instead of using DOM, and abominations like VNC over web instead of normal desktop apps seem to be the new accessibility plague.

We're pretty much done with Flash and Java on the desktop, QT isn't that bad any more, accessibility-wise, but this kind of stuff is now becoming more and more popular.

I've heard of systems that promise you better utilization of your licensing resources, but what they do is put your precious 10 computers with some expensive software on the internet, letting any employee with a web browser book some time and access them via Web VNC. That's a brilliant way to turn a perfectly-accessible Windows app into something you can literally do nothing with.

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#27
post #13

Why is that we praise hand-crafted objects in the real world while at the same time deriding such hand-crafted code as a quaint curiosity that can only make sense as a hobby of the hopelessly romantic? Do we compare your local carpenter with IKEA, or that delicious, nutritive and healthly meal you cooked with McDonald's, in terms of pure (developer) performance? Do we obsess over how a handmade jewelrer can't scale o…

[deleted]

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#28
post #6

While "handmade" code may be faster, it's also a big time sink and as a developer your job is to make tradeoffs. For most software, you should probably focus on architecture instead of the lower level of your code. Sane code and architecture solves most performance issues. This includes technology decisions, like using web tech for applications instead of the native platform. For example, Apple has had a lead of at l…

Here's the fundamental difference between iOS and Android, and it's related to memory management: On iOS, you pay for memory management in small installments, which make your code slower overall (reference counting in ObjC/Swift), but predictably so. On Android, you pay almost nothing for memory management until at some random point the garbage collector shows up and stops your program to clean up your mess. Your pro…

[deleted]

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#29
post #24
post #13

Why is that we praise hand-crafted objects in the real world while at the same time deriding such hand-crafted code as a quaint curiosity that can only make sense as a hobby of the hopelessly romantic? Do we compare your local carpenter with IKEA, or that delicious, nutritive and healthly meal you cooked with McDonald's, in terms of pure (developer) performance? Do we obsess over how a handmade jewelrer can't scale o…

Carpenters still use harvested, dried, milled lumber. Chefs still use harvested, dried, milled flour. Frameworks are tools and building blocks like this, but for software. Not using them is not like an artisan carpenter using lumber from the store. It’s like a carpenter making their own boards, or a chef making her own flour. It is not really relevant to efficient, performant software, it is more like an art for the…

Libraries are closer to raw (but still refined) materials than frameworks. Frameworks impose structure on users, libraries ask users to plug them in where appropriate.

> It is not really relevant to efficient, performant software, it is more like an art for the sake of it.

This statement sort of presumes frameworks are a necessary prerequisite to software, which isn't the case.

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#30

What people don't realize is that modern, high-level languages and abstractions give you much more than just speed of development. If you use a garbage collector, you don't have to do manual memory management, which is amazing for security. You also don't need to worry about buffer overflows and weird pointer exploits. If you use web tech, you get a lot of important stuff, like sandboxing, handling of esoteric keyboa…

Malicious gifs are the exact problem that you will solve with simple to the point software.

It'a the behemoths that we are producing at an astonishing rate that are the problem.

Post reply on HN