Hacker News new | past | comments | ask | show | jobs | submit login

If you want buggy crap that's impossible to maintain filled with hacks to make something look like it works - game developers are the right choice. The requirements and practices in that industry are not comparable to standard app development and you would not want anything to do with that for app development.

People here crying about load times and FPS rendering are completely out of touch with reality of SW development - getting stuff to function correctly and reliably with requirements constantly changing > performance, and that's hard enough with tools that simplify SW development. Optimising for performance is a luxury very few can afford.




> getting stuff to function correctly and reliably

Hilariously, I wouldn't even say that modern software does that well either.


But that's my point - it's hard just getting it to work. Getting it to work fast is next level. Games are notorious for garbage tier SW engineering practices, bugs, ship and forget, and it's all about making something look like you'd expect it vs. making it correct - just completely different goals.


Half-life 2 is possibly one of the most impressive, in terms of combination of complexity, stability, flexibility and extensibility, pieces of software ever created. It spawned dozens of other games that all sold millions of copies and offered completely different but high-quality experiences. Sure, your typical AAA game isn't near this level of perfection, but your typical non-game software is hardly any better.


I like hl2 and all, but I doubt it would be even close in complexity to a web browser/OS kernel/good performing virtual runtime, like the JVM, compilers. There are insanely complex programs out there.


What you are describing is a false dilemma, believe it or not, it is possible to have both performance, maintainability and correctness.

To have performance, you have to understand the data you are working with and how it can transformed efficiently by your hardware. To have maintainability you have to create good abstraction around how you transform your data. To have correctness you have to implement and composite those data transformation in a meaningful way.

All of those things are orthogonal.


And to have all that with budget and time constraints >90% of SW development is faced with is unrealistic - so guess what - performance is the first tradeoff. Which is why people here lamenting on performance being like this holy grail feature are out of touch with the realities of SW development.


Budget and know-how is the limiting factor here. You can invest in all of the quality criteria. But is it sustainable business wise?

Game developers usually and rightfully skip maintainability and invest barely enough regarding correctness. Games are like circus performances while business apps should be made to run the circus.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: