"The most important over-arching reason behind everything in Lobster was to make it a pleasant language to use for one single person: me, the author."
When these sorts of personal side projects come up on HN, it seems inevitable that people question whether anyone should want to use them... You probably don't most of the time. They're cool to look at, but I think the judgment of being cool comes more from a PL designer viewpoint than an end-user viewpoint...
Jonathan Blow has a whole series on YouTube discussing the language, and at one point there is even a demo of the language and the compiler! The whole thing is really exciting and the language looks well thought out. It's nice to see a system programming language where the focus is more on getting things done than on making the type system pretty.
"Lobster is a general purpose stand-alone programming language that comes with a built-in library suitable for making games and other graphical things. It is therefore not very suitable for non-programmers."
What's the significance of it being "built-in"? How is that an advantage over a language with a reasonable package/module system, so that any game-making libraries can be used as easily as the standard library (after downloading it etc.).
The same benefits that PHP has or strives for (for better or worse) in making many web-programming-related functions always available in the global scope (it looks like Lobster does require includes however), plus first-party support from the language itself rather than relying on multiple libraries and authors (the language author gets to deal with that), plus a consistent API for all those things shoved onto the language author instead of the program writer. More interesting things you could do would be to add special syntax to support some domain-specific task, but looking from a language with macros that sort of thing comes across as cute... For instance the gl_ functions in this language create a control flow visible at the source level:
> For instance the gl_ functions in this language create a control flow visible at the source level:
How is this superior to exposing control-structure like object (e.g. closures) and implementing the GL dsls as libraries? The above isn't any more readable, with an increased maintenance cost for the writers of Lobster.
I would say that available libraries is by far the most limiting factor for most languages, including (I'm assuming) Lobster.
It can be hard to say whether sugar is superior or not without having a lot of experience / pain with unsugared or partially-sugared ways of doing the same thing. In this case I'd agree with you that closures could do the job just as well with hardly any more syntactic overhead. We're also in agreement with respect to libraries. The home page for Lobster mentions C++ interop, but it's unclear without digging in how straightforward that is (e.g. if one has to rebuild the compiler).
There's also the benefit that, if general language design decisions are good for the niche it targets (web dev/games/w/e), it'll make them. For example, PHP has weak typing because it makes writing web applications easier, and it has $variables for string interpolation.
The author has a history of creating programming languages, so It's really no surprise he's made another. As for why, it seems likely based on the introduction text he was aiming to make a portable language specifically designed with game developers in mind.
I'm a bit late to comment, but I think this language is very promising for "batteries-included hacking," much like PHP or Basic. Just, it's not a woefully primitive or erroneous design like those languages. Wouter advertises the interesting high-level features up front, but the productive appeal of any language of this style is in the easing story, and I bet this can satisfy that perfectly well.
This looks like tons of fun. I know what I'll be playing with over Thanksgiving break... it will be interesting to see if this could be a reasonable platform for playing with digital synthesis and spectrogram analysis and the like.
"The most important over-arching reason behind everything in Lobster was to make it a pleasant language to use for one single person: me, the author."
When these sorts of personal side projects come up on HN, it seems inevitable that people question whether anyone should want to use them... You probably don't most of the time. They're cool to look at, but I think the judgment of being cool comes more from a PL designer viewpoint than an end-user viewpoint...