Language Designers On Wiki

More interesting than LanguageDesigner and different from WritesCompilersAsaHobby.

The list: Questions (which should perhaps be refactored off this page) about who qualifies as a LanguageDesigner :

How are language designers and amateur compiler writers different?

Amateur language designers design languages, and may never get around to actually implementing them. And even if they do, it may be in the form of an interpreter, not a compiler (which is fine, but that does contrast with compiler writer). Amateur compiler writers write compilers, often for pre-existing languages.

Or put more bluntly, a LanguageDesigner is a type of InteractionDesigner. A compiler writer is a programmer.

What was it that was fundamentally different about LarryWall / Perl that makes him a LanguageDesigner, not a programmer? Only that Perl is a language, and that it didn't exist before LarryWall came along. I note in particular that LarryWall is in charge of the design of Perl 6, and it isn't very much involved in its implementation at all.

Perhaps a HobbyistCompilerWriter? is just the early stage of a LanguageDesigner? Or maybe a LanguageDesigner is just one whose language became famous?

Certainly many HobbyistCompilerWriter? s are primarily motivated by the desire to implement a language of their own design. Not all, though: some (most, actually) may be interested only in implementing a new optimization or parsing technique, or in targetting a new architecture.

Also, IMHO, your language doesn't have to become famous for you to be a LanguageDesigner; that merely makes you a FamousLanguageDesigner?.

People who are really interested in language design also inevitably study many many languages (to steal ideas :-), which is far less common amongst other programmers.


I hope TomStambaugh have something to his credit other than Java. Because I see no evidence of design in that language. More like evolution.

I claim no role in creating the Java language. My client (Sun) wanted Smalltalk semantics with a C-like language. We quickly confirmed that CeePlusPlus precluded this, and chose ObjectiveCee instead, with the full and enthusiastic support of Sun. Our contribution was the virtual machine, the environment, many or most of the semantics, and of course the demonstration that it was very possible. Our VM demonstrated multiple native types, we showed that "loose typing" worked just fine, we showed that the expressivity and interactivity of Smalltalk was not special magic available only to Xerox. As has been noted before, I am a Smalltalker and have always described the Java language as SmalltalkMinusMinus. -- TomStambaugh
No need for ad hominems. He created a safer, stripped-down version of C++ under contract to Sun. He gave the customer what they wanted. You should never blame a contractor for what the customer wants. Tom himself is a Smalltalk programmer, which presumably says something about his tastes in languages.

Also, although not even Sun claims that Java has any new features, that does not mean that it didn't take design to create it. It is tricky to design a language, even a non-innovating one like Java; one needs to make a lot of careful judgements, for it to be a usable language.

You might as well say that there's no creativity involved in writing genre novels (Westerns, Romance, Mystery, Science Fiction), because everything's been thought of before. Doesn't matter; it takes careful design to put the elements together workably, either in a novel or in a language.

A comparison to Danielle Steele isn't exactly flattering. Ahem, Java did have new features, at least as of 1.1 : inner classes (anonymous and non-anonymous). The synchronized keyword and every object is a monitor also look pretty strong candidates for innovative features status although are less valuable . People who otherwise wouldn't dare to touch a threading API, now found an easy way to get themselves deadlocked. :)

Just try to write in another OO language

 .. myMethod( ... ) {
 class X {
 }
 }

Not even C# -- which was supposed to take advantage of Java experience -- managed to get it right (so far).

[Ahem! In PythonLanguage:

 class Dumb:
     print 'Dumb class'
     def method(self):
         print 'Dumb instance method'
         class Dumber:
             print 'Dumber class'
 d = Dumb()
 d.method()
outputs
 Dumb class
 Dumb instance method
 Dumber class
]

That may be equivalent to Java's. But was it there before or after Java 1.1 ?

Wow. So when Smalltalk got blocks right the first time, like, way way back in the 70s, that musta been cause they were, like, way way more intelligent than we are. Like, Einstein, like. Every object is a monitor is also dumb as an invention. When I first learned about monitors, I thought every object WAS a monitor. I wonder what "innovation" is supposed to mean exactly. Cause I understand invention but the other must be something else.

EditText of this page (last edited October 19, 2005) or FindPage with title or text search