5 ms·
Architected system designed by one company isn't a silver bullet. Win32 or COM APIs? Even modern iOS has stuff like Core Data which is an incredible pain to wor
by RyanZAG 11y ago
Architected system designed by one company isn't a silver bullet. Win32 or COM APIs? Even modern iOS has stuff like Core Data which is an incredible pain to work with. Don't think anybody needs to even get started on some of the APIs lurking in Android...
There's good and bad APIs from both open standards and closed ones.
- catshirt 11y agojordanlev said "a perfectly architected system would mean it's controlled by one company" not "every system controlled by one company is perfectly architected" to counter, you'd need to find an example of a perfectly architected system developed as an open standard by multiple companies
- AnimalMuppet 11y agoHeh. Start by finding a perfectly architected system. Oh, there aren't any? Then jordanlev's idea of the only possible way to create one is, shall we say, purely hypothetical.
- catshirt 11y agoyou're being unnecessarily literal- we can use variable values for "perfect", most of which are clearly better than the system explained in the article. but, if we must be so literal, i'd say you're not using your imagination. you think a literally perfect architecture is impossible? some systems are very small, you know. that all said- they never even concretely suggested one existed in the first place. you could infer a hypothetical from their post.
- AnimalMuppet 11y agoI don't think that helps. I think that, if you use variable values for "perfect", and you turn the value down to the point where you start getting systems (more than one) that are considered perfect, then by that time you get some that come from corporations, and some that don't. I think jordanlev is committing the opposite fallacy of the one RyanZAG made. RyanZAG said "companies have produced badly-architected dreck", which is true but doesn't disprove jordanlev's point. But jordanlev looks at web standards and says "open standards can only produce dreck", which is also logically wrong. As a minimum level of validation for jordanlev's position, I'd like to see someone name the systems that corporations have produced that are above the standard of perfection that has ever been achieved by open standards.
- catshirt 11y agohey, i never said i could prove he was right. :) you make a great point. edit: i assume his point could be better articulated as "open standards have only produced dreck". which leads back to my original post: "to counter, you'd need to find an example of a perfectly architected system developed as an open standard by multiple companies".
- deleted 11y ago[deleted]
- jordanlev 11y agoSheesh guys, way to take a philosophical mental exercise and sap all the fun out of it!
- AnimalMuppet 11y agoYou're welcome. ;-)
- RyanZAG 11y agoI was going to do a quick search for "open standard" systems to try and pull out the gems that really are good to help prove the point - but I realized I wasn't entirely sure on which systems fit as 'open standard' and which don't. It's more of a spectrum of openness. Anyway, the best example of an open system that is better than other system designs controlled by single companies is extremely obvious: UNIX. I'd say it's closer to perfect than all the other OSes that are heavily controlled by single organizations. Or does UNIX not fit as an open standard from it's origins? If so, Javascript, css, etc come from similar origins (Netscape?).
- ATsch 11y agoI would disagree about the UNIX standard being a) comunity developed, as the UNIX the specification describes was mostly developed by AT&T/Bell Labs and b) being an open specification, as it is owned by Novell, who only allows usage of the UNIX trademark after verification and a large sum of money. That said most moden NIXes are community developed and although they are arguably superior to non-NIX systems, they are (again, arguably) about as much of a mess as HTML.
- skissane 11y agoWhile what you have said is true about the origins of UNIX, the current reality has changed. The current UNIX standard is developed in an open fashion - anyone can contribute (https://www.opengroup.org/austin/ https://www.opengroup.org/austin/). Novell no longer owns the UNIX trademark - it now belongs to the not-for-profit industry consortium The Open Group. You don't need to pay any license fees to read or implement the standard, only to access the official test suite and use the trademark. Those fees go to The Open Group to pay for the maintenance of the standard and test suite; to the best of my knowledge, none of that money goes to Novell.
- enraged_camel 11y agoWell, Microsoft is more like several companies (often with conflicting interests) operating under the same umbrella. This is well-documented.
- rictic 11y agoOne common factor between the web and win32 is backwards compatibility. Committing to backcompat is awesome and important, but it does mean that every bad idea that gets wide use must be supported for a very long time.
- TeMPOraL 11y agoWhat's with people using Win32 API as a negative example all the time? It was verbose, but quite good even compared to the stuff you have to deal with in 2015. Sure it wasn't hot-sexy-object-oriented and you often had to pass 20 unused params, but at least it was somewhat consistent and documented, not to mention powerful.
- pcwalton 11y agoBecause it's not good. It is neither consistent ("CreateWindowEx" style naming versus "Shell_NotifyIcon" versus "CDefFolderMenu2_Create2" (huh?) versus "CreateToolhelp32Snapshot" (huh?!) versus COM), documented enough to engineer independently (witness all the strange behavior Wine has had to reverse engineer), or powerful (fork is officially unsupported, despite being supported by the NT kernel).
- douche 11y agoYou're looking at a code-base that evolved from 16-bit to 32-bit to 64-bit over 25-30 years, and 10-15 major releases. You've got the 95/98 code base merging with the NT code base. You've got all the compatibility fixes that Microsoft has invested in to try to help old, poorly written code continue to work. It's accreted some cruft.
- pcwalton 11y agoI'm not blaming anyone for the APIs being in the state that they're in. I'm simply saying that the Windows API is, today, taken as a whole, a more crufty API than the Web APIs are.