Programming language warts: Newspeak

There’s a new language that is soon to be open sourced called Newspeak. Gilad Bracha and team are creating a new language to address what they see as the future of programming (online/offline operation, lots of service oriented design, more concurrency). They’re angling for a Smalltalk-like environment and, indeed, their current implementation is in Squeak.

Ignoring that there’s at least one other language called Newspeak, it seems like Gilad Bracha’s Newspeak is built on reasonable premises. You can read a bit about what Newspeak is like. Newspeak is definitely not done yet, but things like this give me some doubt:

note that the caret (ˆ) is used to indicate that an expression should be returned from the method, just like the return keyword in conventional languages

If I were creating a programming language, writing a sentence like that would give me pause. I would ask myself “why am I doing this differently?” If everyone in the world is using return, why choose ^? To save a few characters of typing? Really? The Newspeak document does not explain why it’s like that, it just states matter-of-factly that ^ means return.

Though they reference Self as an influence for Newspeak, they chose to go with classes rather than prototypes. That’s a good decision for adoption, because people are familiar with and like classes.

Anyhow, I think Newspeak looks interesting and it will be interesting to see how it matures. But too many arbitrary changes from “conventional” syntax are likely to hinder adoption.