3 ms·
While Microsoft's backwards-compatibility guarantees have historically been a strong competitive advantage for them… every time I get a glance into Windows APIs
by stouset 5y ago
While Microsoft's backwards-compatibility guarantees have historically been a strong competitive advantage for them… every time I get a glance into Windows APIs I'm blown away by how much historical garbage they seem to be stuck with.
I get this feeling every time I read a post on The Old New Thing (Raymond Chen). He'll patiently explain why some weird wart is the way it is, or how misusing some API is bad, and it's always extremely interesting. But at the same time I'm sitting there just thanking my lucky stars I've managed to avoid ever having to write software for that environment, because it's always absolutely bonkers.
- leeter 5y agoHonestly? Having written software for both Win32 is actually pretty nice to work in. Better in many ways than the alternatives. Most of the things Raymond goes on about are weird quirks you can ignore for the most part. Whereas there are some very serious hazards running around POSIX if you're not careful that can bite hard. Glares at signals I much prefer the EVENT based system Win32 goes with. You can just suspend on the event and not worry about it. The kernel will wake you up when it matters. Also MS seems to have very serious API design rules that help keep usage patterns consistent, which is important in making sure things aren't accidentally misused.
- hnlmorg 5y agoWhile I much prefer Linux as a platform, it’s fair to say Linux has more than it’s fair share of historical baggage as well. The entire design of the console for starter: TTYs, ANSI escape sequences used for encoding data in band, typeless byte streams, job control being a weird cross responsibility between the kernel, shell and application, etc. …And that’s without addressing any other parts of the system beyond the console. I’d still take Linux over Windows every day if the week though.
- _3u10 5y agoIt’s so much nicer than Linux. Whatever version of windows you make your software work on it just works on all future versions. If you don’t like the old APIs don’t use them. Being able to put software on a website and have people download and use it immediately is kind of amazing compared to Linux. COM is very annoying tho. I’ll give you that.
- stouset 5y agoThere's nothing special about Windows in this regard. You can do this on Linux, too. Ship a package for whatever operating systems you need to support. If you have dependencies and you want to bundle them, bundle them.