wirth on language design by commitee
http://pascal.hansotten.com/niklaus-wirth/recollections-about-the-development-of-pascal/
in that paper wirth tells the story of how he was a member of a committee that was working on the dosign of algol 68. he came up with suggestions that were rejected.
therefore he decided to not only define his own algol dialect (algol-w) but also to implement a compiler for it.
the quote is:
Essentially, Algol W had extended Algol 60 with new data types representing double precision floating-point and complex numbers, with bit strings and with dynamic data structures linked by pointers. In spite of pragmatic precautions, the implementation turned out to be rather complex, requiring a run-time support package. It failed to be an adequate tool for systems programming, partly because it was burdened with features unnecessary for systems programming tasks, partly because it lacked adequately flexible data structuring facilities. I therefore decided to pursue my original goal to design a general-purpose language without the heavy constraints imposed by the necessity of finding a consensus among two dozen experts about each and every little detail. The past experience had given me a life-long mistrust in the products of committees, where many participate in debating and decision making, and few perform the actual work made difficult by the many.
what made me post this is that recently there were (again) discussions on how to extend gemini.
and though i post this long text with titan, i want to say that it is important to keep in mind the complexity of implementing the standard.
alas, not only algol 68 became unnecessary complicated. look at c++. or look at languages designed by companies. same pascal as developed by borland incorporated many features: some are from wirth's later languages (let's say turbo pascal 4 introduced units - what wirth called modules in modula) and some from other places (class operators or some years ago borland dialect allowed declaring a variable anywhere, not only in the specific section of the function).
ada is designed by a commitee and wirth believed it was too big to be good.
c# and java started as small but later gained the 'bloat', because companies needed to 'deliver' new features.to the market, because 'market' and 'marketing'.
here is where design made by one person, not a commitee, matters.
though it is counter intuitive for me. i myself try to avoid projects that are not run by a community. one of the mistakes i made was using funtoo. eventually i noticed the decisions of benevolent dictator were too much for me, asd i went back to gentoo.
perhaps design and project are different here. it is often good to have a community managed project but not a design?
though xmpp is a brilliant design made by a community. perhaps because community is competent and perhaps because it is extensible. so the core is small.
activity pub's core is also designed to be small. but the problem is: de facto implementations aim to be compatible with mastodon: one person's interpretations of the standard (not good when standard is not clear enough to allow this), and one person's extensions.
and gemini as it is today is indeed not hard to implement for one person. both as server and client. and i am glad it exists.
wirth was always writing his compilers himself. he knew he needs to design the language in a way it will be a feasible task for him to implement it.
2025-10-06 · 7 months ago
1 Comment
👽 TKurtBond · 2025-10-09 at 21:03:
There are many advantages to Wirth's languages (simplicity being one of the most important), but also some disadvantages. In particular, they are often under specified, resulting in ambiguities.
However, I'll note that Ada was not designed by committee: Ada was designed by a team led by French computer scientist Jean Ichbiah. That team did look at a lot of feedback once the first version of Ada was released in the run up to the final version enshrined as the Ada 83 standard.
It is, however, MAINTAINED by a committee.
There are a lot of things I like about Wirth's languages. There are a lot of things I like about Ada. Unfortunately, some of them are contradictory. Ah well. (I am large, I contain multitudes.) I think Ada is a member of the Wirth lineage of languages, though a distant relative.
I'm glad we have all of Wirth's languages, and I'm glad we have Ada.