Original author of Turbo Pascal, chief architect of Delphi, lead architect of C#, creator of TypeScript. Does anyone else in language design have as many accolades as this or designed languages on which trillions of dollars of commerce depend?
Martin Odersky, created Turbo Modula-2 for Borland, member of the Pizza language whose design lead to Java generics implementation, designer of the Scala language.
Erik Meyer, member of GHC design team and Haskell community, responsible for LINQ design bringing FP to the masses, reactive extensions in .NET which lead to the RX model adopted by Netflix, nowadays contributing back to Haskell at FB (if I am not mistaken).
Niklaus Wirth, creator of Pascal, Modula-2, Oberon, Oberon-2, Oberon-07. Helped Apple design Object Pascal for Mac OS and Lisa. Contributed feedback to Active Oberon and Component Pascal. Built single language workstations using the Modula and Oberon family of languages.
Guy Steele comes to mind. He hasn't been as successful with the languages he co-created (most importantly scheme and to a lesser extent Common Lisp; Fortress was stillborn) but he's also been involved with the Javascript, C, Fortran (as a standards committee member) and Java (as a specification author). And he's been tremendously influential as a profound thinker on language design; I'm not sure anyone else understand so much about so many different languages and from quite different perspectives.
Hejlsberg probably is completely in a class of his own as a designer and architect/implementor of innovative spins on existing languages though.
er - no. Assuming you are not trolling (benefit of the doubt and all that):
You might mean it shouldn't work? but alas it does (because of 'lopsided equality tables'). Try the following: open the console of your browser, type the following:
I'm not sure how what you linked is related, but the only "surprising" thing here is probably `true == 1`. This evaluates to true, and because comparisons are left-associative, we have `(true == 1) === true` which reduces to `true === true`, which, unsurprisingly, is true.
Agree. It was my point. `true 0== 1` resolves to true, but shouldn't so `true == 1 === true` should be false but is true, which could at the very least be called ambiguous to people not familiar with the language. It may reflect somewhat badly on Brendan since they felt compelled to introduce === to rectify this. Personally I think it made the language richer, with more options to chose from depending on circumstance, and it was more like an adaption to the new uses for js.
I don't think anyone can beat Dennis Ritchie on the "designed languages on which trillions of dollars of commerce depend" metric, especially when we consider the many languages which are themselves implemented in C.
That would be joint credit with core innovation going to Martin Richards: the inventor of BCPL that B and C were based on. His team went from big, safe languages to a tiny, efficient one close to the machine with philosophy that programmer was in control. Ken Thompson picked it up from him on MULTICS project.
Barbara Liskov, who won the 2008 Turing Award for her work in the design of programming languages and software methodology that led to the development of object-oriented programming. Her work at MIT on the CLU programming language influenced many modern languages, interfaces, exception handling, abstraction mechanisms, etc. She was my undergraduate thesis advisor in 1974.