Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Good debugging tools that filter out the irrelevant are perhaps better. Odds are that any time you break out the debugger the fix is in your code not Windows, Linux, the JVM etc. That's not to say those things don't have bugs, only that they are orders if magnitude more debugged than most code under development.


I worked with a closed source stack in the past (java).

Even if the bug wasn't in our code, it was really helpful to see what's going on inside, helped us figure out why something didn't work a lot of time. Making false assumptions, passing stuff in a different format than the system expects etc.

We all, always worked with a decompiler in eclipse, just because it really did make life so much easier sometimes. And well, of course, sometimes there really was a bug in the stack, and finding a workaround is much easier when you know what's going on.


You are so completely wrong. Follow the Wine project for a few weeks/months to get familiar with just how buggy, inconsistent and inconceivably obscure all of Windows' APIs are.

If Windows was good and near-bug-free, Wine would have long been completed. Windows is not just its kernel.


Wine has to duplicate all of the duct tape and bailing wire Microsoft has used to provide backwards compatibility for their customers' existing applications. Just as Wine is an important kludge serving as a compatibility layer [It's Not an Emulator], all those undocumented API's are the same sort of kludge as compatibility layer.

And of course Wine is an outlier. Not only in that it contains its own 20 years of legacy code but in the fact that it is black box reverse engineering. It can't use disassembly to suss out details. Wine's difficulties stem from its requirements as much as anything else. These days VM's are the way to go if the going is intended to get things done. A Windows box in the cloud is pennies per hour.


So far as I am aware, ALL usable operating systems are burdened with that sort of thing. I'd really like to see someone at least attempt a clean-slate OS. Make it 64-bit only from the start, vector fonts to support HighDPI displays from the beginning, etc. It would likely accumulate such cruft over time, but I would expect there to be substantial advantages to building from scratch something that rolls in all of the research advances and assumes capable modern hardware.


well, it is near-bug-free, in that most of the bugs get permanently folded into the api and become features for backwards compatibility




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

Search: