3 ms·
> I think the three greatest living language designers are Niklaus Wirth, Anders Hejlsberg, and Bjarne Stroustrup. Andrers Hejlsberg is an interesting choice b
by patrec 6y ago
> I think the three greatest living language designers are Niklaus Wirth, Anders Hejlsberg, and Bjarne Stroustrup.
Andrers Hejlsberg is an interesting choice because of how uniquely excellent and influential he has been at his particular niche of what I'd call "last mile language design".
How anyone not suffering from Stockholm Syndrome could think that Stroustrup would come before all of, say: Kay, Goldberg, Ungar, Steele, Kelley, Hoare, Moore, Kernighan, Ierusalimschy, Figueiredo, Hewitt, Kowalski, Virding, Williams, van Rossum, Liskov, Omohundro, Dolstra and on and on is a bit hard for me to understand personally though -- but maybe these are just my biases speaking. There is no doubt his work has been highly impactful and (unlike say, php or perl) has been and continues to be the tool of choice for many of the world's top programmers.
- pjmlp 6y agoIt is not a Stockholm Syndrome at all. I think Bjarne Stroustrup is a very good language designer, his problem is that his vision is not understood by those teaching C++ (which keep doing C with classes variations, inclusive using DosBox with Turbo C++!), those that use C++ but rather be able to use Haskell at work, and the dozens of people working on WG21. You see this on his talks, blog posts and articles trying to steer the community into the golden path. Unfortunately they do not always listen, and his vote counts just for one person like everyone else. Also note that C++ is the only ISO language whose original language author is around contributing to its development. There are names on your list that I wouldn't consider for my list, for example.
- wirrbel 6y agoI think I can understand what you are aiming at it seems like a stretch. I guess one can make a case that modern C++ is Stroustrup´s idea, and one might even say "C with classes" (implemented by Stroustrup in the 80ies) is Stroustrup taking Simula's ideas and putting them on top of C so it wouldn't be really his doing. One might also add that he was still really you and frankly lacked experience. Following this, one might see the later additions to C++ in a nicer light, and frankly it was a challenging environment to improve upon pre-template C++. The problem I have with this view is that I think he is responsible for strange choices about pre-template C++, syntax wise, etc. The fact that `X a();` is a syntax conflict between a function header for a function `X a(void)` or `A a = A();` is puzzling to me, and the list can go on and on, it almost feels like he was unable to extrapolate problems programmers might have when applying it. Now, I am not sure how deep his contributions to modern C++ actually his or joint work, or even contributions by the large group of smart people that drive the standardization of C++. Maybe for C++, Rust, D and Haskell one might open up a "Team-Category" in the best language designer competition and C++ would indeed get a very favorable mention for starting out from a bad state and trying their best at lifting the language to a better place.
- pjmlp 6y agoStroustrup´s idea is quite clear defined on "Design and Evolution of C++" book, everything else is WG21 own work. > Maybe for C++, Rust, D and Haskell one might open up a "Team-Category" in the best language designer competition and C++ would indeed get a very favorable mention for starting out from a bad state and trying their best at lifting the language to a better place. I doubt many C fervor users are jumping of joy for what WG14 has done since C89.
- patrec 6y agoYou are an interesting person to have this discussion with, because you clearly have wide and deep exposure to programming languages. And although plenty of computing luminaries are not shy about their distaste for C++, you are in the good company of the likes of David Ungar, who also seems to esteem both Stroustrup and C++. > I think Bjarne Stroustrup is a very good language designer, his problem is that his vision is not understood by those teaching C++ [...] I really do no think that that this excuse cuts it; in my opinion to qualify as a very good language designer, you should either 1. really be able to lay claim to some interesting innovation (Iverson, McCarthy, Kay and Moore clearly qualify) or at least 2. have good design sense and avoid severe unforced errors (I'd put van Rossum in this category, but others will disagree). This goes doubly if you decide, as Stroustrup did, to start off with a programming language already full of gratuitious and fiendish footguns -- you should probably be extra careful in that case. Do you agree? I think it's very hard to argue that C++ doesn't add plenty of major additional, unnecessary footguns on top of those it already inherited from C, and it's not completely clear to me what major innovation C++ pioneered. I think there was real marketing genius in laying claim to being the zero-cost/pay-as-you abstraction language, and even C++ haters such as the Go authors seem to like concepts enough to basically adopt them for Go but what would you say the major breakthroughs C++ brought were?
- pjmlp 6y agoFor starters, C++ is the language that made RAII concept mainstream. It was also the language that brought exceptions and generics pioneered by CLU and ML into mainstream computing of 90's 16 bit computers. Stepanov ideas for generic programming initially prototyped in Ada83, grew to his vision in C++, thus bringing this ideas to a wider public, back when SGI became the keeper of the initial STL documentation. Bjarne Stroustrup gave control of C++ in 1990 and became just one person vote, whatever happened afterwards was no longer under his control. If you want his vision for the language before that event took place, you can refer to C++ARM and The Design and Evolution of C++ books. He is the very first to call the attention of WG21 to the wrong direction of too many footguns with "Remember the Vasa" paper, but again, one person vote.
- patrec 6y ago
- wirrbel 6y agoI doubt that it is much useful to point out a top-3 list in general, without clear metrics on which to rank people. More or less I'd rather talk about influential people who brought programming language design forward. I would also add "Dahl" for Simula, McCarthy for Lisp, Grace Hopper for Cobol for bringing in innovative ideas and the Standard ML folks as another example for tayloring a great mix of concepts. Maybe that would also be a good strategy at talking about this, some people did revolutionize language design, others had a talent of remixing existing concepts to something that was really useful and and a programming language that's comfortable (Rossum and Wirth would fall under that category for example)
- patrec 6y ago> I would also add "Dahl" for Simula, McCarthy for Lisp, Grace Hopper for Cobol for bringing in innovative ideas and the Standard ML folks as another example for tayloring a great mix of concepts. I agree (maybe excepting Cobol), but sadly McCarthy, Millner, Dahl and Hopper are no longer fall under the category of great living programming language designers. > some people did revolutionize language design, others had a talent of remixing existing concepts to something that was really useful and and a programming language that's comfortable (Rossum and Wirth would fall under that category for example) Yes, I think to qualify as a great language designer you either have to be really good at "UX", without necessarily contributing major conceptual breakthroughs (like van Rossum or Hejlsberg) or come up with something original and valuable. I'm pretty sure Stroustrup is not that good at UX (the C++ edit-compile-debug cycle is almost singularly miserable) and I'm not quite sure about the original and valuable part either.
- DarkWiiPlayer 6y ago> Ierusalimschy Interesting to see that name appear in that list
- patrec 6y agoLua has problems, but is an under-appreciated language, IMO. And the only of these problems which is an essential characteristic of the language (the table data structure) is an original enough idea that it can probably only be judged a failure in hindsight.