4 ms·
> Modern software is crap. It's orders of magnitude slower than it should be, it's buggy, and,yes, bloated. And, that's where he lost me. Software was always c
by Ygg2 5y ago
> Modern software is crap. It's orders of magnitude slower than it should be, it's buggy, and,yes, bloated.
And, that's where he lost me. Software was always crap. Emacs = Eight Megabytes and constantly swapping.
Because even if you squeeze every last cent of performance, someone will have a great idea that will spend each dime you saved and then even add some debt on it.
Performance is never a positive as much as a disqualifying negative. Features are what sell the software. Why would people use/pay for IDEs over a free text editor.
And if you listen to Casey's advice, well, be ready to rewrite your entire stack because almost no software today is willing to do what you need.
It's a good advice if you know you'll keep programming for next 120-30000 years. And don't have any competition willing to cut corners.
- dgb23 5y agoA game that illustrates that success is tied to performance is factorio. Because it can scale to absurd amounts, while still running on an old labtop. It’s in a genre with notorious performance issues and limitations as well as bugs, but they managed to put in the time and effort. Some of the lessons and solutions are quite educational even. There’s games that are ridiculously simple in comparison let your fans spinning for no reason, grind to a halt or crash. Performance is key here, as it is one of the most limiting factors for _both_ quality and features. Namely the things you can do and how well you can do them is tied to performance. If you are pushing those in any dimension, then you want control.
- Ygg2 5y ago> A game that illustrates that success is tied to performance is factorio. Sure, performance is important if you are making a game with that level of simulation. Most games (or software in general) don't go for that level of simulation/performance. For every Factorio, there are thousands of games that work just as well without that level of simulation. From FPS to trashy mobile games that are just a well disguised slot machine. > There’s games that are ridiculously simple in comparison let your fans spinning for no reason, grind to a halt or crash. Sure and Morrowind used to corrupt your save-files in a horrible manner. It still sold as hot cakes. Even though I remember it being a hog on my resources. Warcraft 3 had an unpatched memory issue people used to extend its programming capabilities, until it turns out said issue could be used for RCE, so Blizzard had to break every existing custom map (like DOTA, not like custom melee map) to fix it. It started several independent genres. ------------ Point is you don't need to think about every ms of execution if you are writing 99.9% of software. Sure you can take some precautions and use some tried and true methods (using immutable trees for editing). But even those come with caveats. You have only so and so complexity budget, will you spend it on features or performance? Almost always the answer is features.
- dgb23 5y agoThat’s right but the point I was trying to make that there are whole categories of features you cannot implement if performance doesn’t allow it. I‘m not looking at this from a pure business perspective because it’s not fruitful. We all know that you can produce crap and make a huge buck, because of marketing, dark patterns, manipulation, exploitation, luck and so on. I‘m saying there are good examples where building things from a lower layer up does not only make sense, but is necessary for creative freedom and quality they achieved.
- werner1886 5y agoSure, software of the past wasn't that much better, but relative to hardware it ran on it was much more performant. I think the main point of his view is that with current hardware advances we should be able to have a cake and eat it too. We can have both the features and the speed, but we don't care about that. The only thing that matters is to be first.
- Ygg2 5y ago> The only thing that matters is to be first. To quote a famous asshole: "Real artists ship." Or another "Perfect is the enemy of Good Enough™" Network effects are real and being first to (idea) market has its own benefits. Who would have thought, speed of development has its own merits.
- ratww 5y agoIt is possible to have the cake and eat, meaning: have performance and be first, as has been shown recently by Casey Muratori himself in a very public debacle. People who care about performance also care about speed of development. The only people saying it's impossible to reconcile both is the people who religiously dismiss the need for performance in modern software.
- ratww 5y ago> Performance is never a positive as much as a disqualifying negative. Features are what sell the software Except we're talking about video games, where time and time again performance was crucial in achieving new breakthroughs, from Mario's side scrolling, to Carmack's advances in FPSs, to... FFS, we're talking about Unreal 5, this version's selling point is mainly being able to do in realtime what was previously only possible before with offline rendering. Just because there are trash mobile games that make money doesn't mean there isn't money in high-performance software.
- Ygg2 5y ago> Except we're talking about video games, where time and time again performance was crucial In that domain speed is pretty important, but even there it's not as crucial as you might assume. I'm not saying discount it altogether, just good gameplay will trump good performance. They aren't completely unrelated, but there are diminishing returns. What are the titles that need to be that much performant? AAA titles are just rehash/sequels with latest monetization tactics tacked on. On low end you got shitty mobile games that only optimization is user conditioning. That leaves you with Indies, that can use GameMaker/Unity and still get their game out. Sure some AAA use Unreal to their absolute limits. In same way some people develop drivers for embedded hardware. You still don't want to develop games and software in general, the same way those few studios do.
- sarchertech 5y ago> What are the titles that need to be that much performant? Nearly every single game no matter what it looks like makes performance trade offs. Number of enemies on screen, ai search depth, world size, world granularity, whether to allow partial transparency, number of lights, number/complexity of systems etc… Even for something that may look like just another indie side scroller. Sometimes these constraints breed creativity. But if you use game maker/unity, you will find yourself regularly running into performance issues that will require problem solving. The same is true when making an engine, but the problem space is far, far more nuanced than just: some types of games don’t need to worry about performance and so are fine using game maker/unity.
- 5y ago