"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...
Re:Lobster is a game programming language
by jeffreyrogers on Wednesday November 26, 2014 @10:29AM
(#8662714)
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.
Re:Lobster is a game programming language
by hellbanner on Wednesday November 26, 2014 @10:32AM
(#8662731)
"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."
Re:Lobster is a game programming language
by Dewie on Wednesday November 26, 2014 @10:43AM
(#8662783)
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.).
Re:Lobster is a game programming language
by Jach on Wednesday November 26, 2014 @11:15AM
(#8662971)
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:
Re:Lobster is a game programming language
by duaneb on Wednesday November 26, 2014 @11:52AM
(#8663190)
> 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.
Re:Lobster is a game programming language
by Jach on Wednesday November 26, 2014 @12:24PM
(#8663383)
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).
Re:Lobster is a game programming language
by TazeTSchnitzel on Wednesday November 26, 2014 @12:31PM
(#8663433)
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.
Re:Lobster is a game programming language
by jamesu on Wednesday November 26, 2014 @07:00AM
(#8661963)
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.
Re:Lobster is a game programming language
by chipsy on Wednesday November 26, 2014 @08:08PM
(#8665502)
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.
Re:Lobster is a game programming language
by peapicker on Wednesday November 26, 2014 @02:31PM
(#8664171)
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...
Wouter van Oortmerssen is not exactly a Newbie. He is at Google now. This might be more interesting than I initially thought.
Its entire source code fits in the screenshot.
From here: https://news.ycombinator.com/item?id=8659273
I think this is great (more languages).
Note that this is not by @strlen (Alex Feinberg)
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.
Edit: I reread the page and it says about as fast as non-JIT Lua, so probably good for a hobbyist, but not a production quality game.
It does look nice, I'm just not sure the tradeoffs of building in a unique language are worth it, since it doesn't seem to add all that much.