I applaud his effort, but think he is solving it at the wrong level. He should revive the Austin Group and get a new FHS release. With his level of enthusiasm, and the fact redhat pays for him to do these sorts of things to improve Linux as an ecosystem, it should be doable.
Posted Jul 20, 2011 19:27 UTC (Wed) by Cyberax (✭ supporter ✭, #52523)
[Link]
That's not the way it works. It's WAY better first to create something really working and only then standardize it.
There are too many utterly broken "design-first" standards out there. POSIX being one of the main offenders. C++ being another one.
Poettering: systemd for Administrators, Part IX
Posted Jul 20, 2011 19:35 UTC (Wed) by SEJeff (subscriber, #51588)
[Link]
Perhaps or perhaps not. As a 'nix admin / systems engineer, FHS is one of the best things that Linux has going for it. Other than very minimal stuff like /etc/default vs /etc/sysconfig, the FHS keeps things on Linux very consistent.
It would be sad to see things move away from this even if the idea is great.
/usr/ucb or /etc/ping anyone?
Poettering: systemd for Administrators, Part IX
Posted Jul 20, 2011 19:40 UTC (Wed) by Cyberax (✭ supporter ✭, #52523)
[Link]
FHS was mostly an ex-post-facto standard. That's why it works :)
Other attempts such as LSB are much less successful.
Poettering: systemd for Administrators, Part IX
Posted Jul 20, 2011 19:46 UTC (Wed) by SEJeff (subscriber, #51588)
[Link]
Fair enough, you and I agree.
Poettering: systemd for Administrators, Part IX
Posted Jul 29, 2011 3:57 UTC (Fri) by Wol (guest, #4433)
[Link]
LSB is an ex-post-facto standard too.
Problem is, there's much less post-facto to ex-standard on.
Cheers,
Wol
Poettering: systemd for Administrators, Part IX
Posted Jul 20, 2011 22:30 UTC (Wed) by elanthis (guest, #6227)
[Link]
C++ work only lands in the spec after it shows up in an implementation or three and people can get a grasp of how well it works. Nothing in the C++0x draft for instance is lacking in implementation experience, and the thing that nobody could build were dropped from the spec specifically because nobody could actually test it. Before the standard committee existed, C++ (CFront and even C With Classes) was a specific working implementation, not a paper standard without working code. Your comparison to design-first efforts is hence incorrect. :)
Poettering: systemd for Administrators, Part IX
Posted Jul 21, 2011 13:31 UTC (Thu) by Cyberax (✭ supporter ✭, #52523)
[Link]
Nope. C++98 was a "design-first" standard, that's why it's not implemented completely by almost everybody (see: "export templates"). C++0x is a little better in that regard.
Actually C++98 is great counterexample...
Posted Jul 21, 2011 21:52 UTC (Thu) by khim (subscriber, #9252)
[Link]
Sure, some things in C++98 were only implemented by a few compilers, but it's kind of surprising how many things which were only theoretical when standard was written were actually implemented (and were found to be useful) in compilers.
IMNSHO C++98 is rare example of usable and working "design-first" standard.
P.S. The only big difference between C++98 and C++0x is the fact that GCC community was mostly ignored when C++98 was designed where in C++0x it's one of the most important participants. Other then that they are quite similar: all ideas are more-or-less tested but the cohesive whole does not exist at the time of standard ratification.
Actually C++98 is great counterexample...
Posted Jul 22, 2011 8:22 UTC (Fri) by Cyberax (✭ supporter ✭, #52523)
[Link]
Oh, come on.
Most of compilers coped with C++98 standard by dying. There are only 5 compilers that implement it: gcc, EDG-based compilers, MSVC, clang (still incomplete) and little-known Russian C++ compiler. And even they implemented it YEARS after the standard had been published.
C++ Standard library is choke-full of design bugs (like how swap() between containers with different allocators can possibly work in O(1) time) and is incomplete (that's why instead of std::string various bike-shedded replacements were used).
Other parts are just stupid, like the "typename" keyword or 2-phase name lookup.
Actually C++98 is great counterexample...
Posted Jul 22, 2011 15:11 UTC (Fri) by khim (subscriber, #9252)
[Link]
Most of compilers coped with C++98 standard by dying.
Huh? What this has to do with anything? Most compilers were already dying when C++98 was published. When GCC surpassed a lot of commercial offers they become redundant.
There are only 5 compilers that implement it: gcc, EDG-based compilers, MSVC, clang (still incomplete) and little-known Russian C++ compiler.
Only five? Is this a joke? The whopping five! Five is huge number. How many independent WebSQL implementations are there? How many TCP/IP stacks? Five is decent number in comparison. But the fact that surviving compilers actually implemented C++98 (and as you've noted there are at least five independent implementations) is nothing short of amazing.
Other parts are just stupid, like the "typename" keyword or 2-phase name lookup.
They are useful. That's why they are implemented by most compilers out there. Really stupid things (like "export templates") are just omitted - but there are very few such things in C++98.
C++98 is pretty decent standard - much better then a lot of other standards (both "design-first" and "implement-first" ones). And ditto for POSIX. You may hate them for some reason, but please be objective.
Very few standards are so clear and have such wide support. How many independent implementations of ECMA-234 or ECMA-376 you know? How compatible they are and how useful? Sorry, but as broken as C++98 is (and nothing is perfect so I doubt you can name even one substantial standard without few insane forgotten things in it) these are much worse - and they were created as you recommended: create something really working and only then standardize it.
Poettering: systemd for Administrators, Part IX
Posted Aug 4, 2011 11:30 UTC (Thu) by jwakely (subscriber, #60262)
[Link]
> C++ work only lands in the spec after it shows up in an implementation or three and people can get a grasp of how well it works.
Not so.
> Nothing in the C++0x draft for instance is lacking in implementation experience, and the thing that nobody could build were dropped from the spec specifically because nobody could actually test it.
One obscure compiler is known to have implemented some of these features, but it wasn't available for testing firsthand, test code was sent to someone with access to it who reported the results.
Even now I don't think there are more than two implementations of any of those features. Template aliases are another feature with very little implementation experience.
As for the library, I've done a partial implementation of the new allocator model and added support to a single container, but there was no full implementation available when the allocator changes were added to the spec. Noone had implemented 'noexcept' throughout the standard library when those changes were made to the spec.
Poettering: systemd for Administrators, Part IX
Posted Aug 5, 2011 3:03 UTC (Fri) by elanthis (guest, #6227)
[Link]
Good examples I was not aware of. Thank you.
Poettering: systemd for Administrators, Part IX
Posted Jul 21, 2011 13:27 UTC (Thu) by HelloWorld (guest, #56129)
[Link]
> There are too many utterly broken "design-first" standards out there.
There are also too many utterly broken "implement-first" standards out there. C being one of the main offenders and actually a worse problem than C++.