Lobster, a New Game Programming Language, Now Available As Open Source
Aardappel writes "Lobster is a new programming language targeting game programming specifically, building on top of OpenGL, SDL 2 and FreeType. The language looks superficially similar to Python, but is its own blend of fun features. It's open source (ZLIB license) and available on GitHub."
i := find([ 1, 2, 3 ]): _ > r
yeah. no. thanks but no thanks.
I understand that this project has been alive for around 9 days. Isn't that a little too soon for this advertisement?
Dynamically Typed with Optional Typing
Thanks, but no thanks, I prefer to stay with statically types languages. I know that the "kewl" kids love dynamically types languages, but it becomes a horror for maintenance. Ill be sticking with UDK in the meantime
Alternatively you could just use the Python OpenGL bindings (r pick your favourite language). From the project home page I can't see any reason why this language is better than many existing, stable, and optimised languages for accessing OpenGL.
Languages don't have "fun" features, they either have useful features or bloat.
Looks like yet another me-too language that's someones pet project that will be forgotten about this time tommorow.
Another programming language! Why do people keep reinventing the spoon? Is it all CS-majors that feel they need to make a mark on the world?
No thanks, already have a perfect programming language. Why reinvent the wheel when the old wheel still works ok?
Mostly we don't need new languages we simply need better libraries.
Jeez, Soulskill, pick up on the obvious self promotion once in your life.
heh captcha: sodomy
They author should be commended for creating and releasing publicly rather than the whining and complaining found here. As a personal project, it may be improved, abandoned, rewritten, or simply enhances skills that will lead to other contributions.
Then we could have had fun with the "It wasn't a rock it was a ...Rock Lobster! comments.
great, another one of those wannabe languages.. There are already a lot of other alternatives out there..
Just use one of the classic languages with the same libraries as this one uses, you'll be glad you did..
look if we are going to have these bizarre punctuation marks everywhere, then why not just start using chinese characters, that actually mean what we are talking about?
"oh because nobody can read them"
nobody can read _?@$$$ __ *&* anyways. but at least chinese has some meaning already attached to characters, like
look at
it means download
its literally the cjaracter for "down" followed by a character for a wagon/cart (top view.. two wheels, see?) and a thing next to it. (down transport)
that makes a hell of a lot more sense than some bizarro perl bullshit and it only takes up two spaces.
oh well
You've been programming for at least 20 years. That means you've started when things weren't buried behind seven layers of abstraction but had to be done by hand. In languages that didn't help you all that much, but didn't get in the way of letting you get things done either. So, like me, you've seen things those young whippersnappers wouldn't believe.
Anyway, about perl, I've never seen why it got such a bad rap for excessive punctuation. The sigils on variables aren't that weird, even BASIC used them when I grew up. So you can use "weird things" like $_, well, you don't have to, if you don't feel like it.
I'm make my living by programming and I've used a lot of languages, tools and frameworks. I've been around the block a few times. And let me tell all young'uns that when I program for fun, at home, I do it in perl. Because perl fits my mental model and the syntax is a warm blanket in a cold, cold world.
Why do you need a new language?
The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
That you don't understand pointers and don't check your boundaries doesn't mean competent programmers have those issues, now does it?
... and therein lies our problem.
Is it tasty?
from the name alone i just knew this had to be an Aardappel creation!
Python only forces you to indent in the way any sane person would indent anyway. That's not evil.
It is when you have to send code through a channel that strips whitespace from the start of each line. With languages that use curly brackets or BEGIN/END, you can pass the code through something like GNU indent to restore the sane indentation. With Python, the block structure is just lost. And if you have your Slashdot posting preferences set to "HTML Formatted" rather than "Plain Old Text", Slashdot is one such channel, as <ecode> loses indentation in "HTML Formatted" mode.
Look at the non-C-family languages that are popular among serious game developers. They are all focused on being embeddable in C code without complex dependencies. So you can have the fundamentals in a "real" language and benefit from rapid development and flexibility in the higher level stuff. This makes a lot of sense. People aren't doing it by accident. Only a fool would make their entire code base depend on low level stuff being in some runtime library for a high level language.
Why couldn't CubeScript (from the same author) be more like that.
...the standard libraries, which are designed for game prototyping.
CloneCraft in 66 LOC, that's somewhat impressive.
OP here, let me see if I can address common comments I see here:
"why another language?" - because I can? I can't wrap my head around the thinking that creating new languages is somehow a problem for our development ecosystem. Noone forces you to use them. And like others have so kindly already mentioned, this one will probably die in obscurity, solving your problem before it even started.
"what's the point when it's not a major innovation?" - Better mainstream languages is an evolutionary process of designs building on eachother and making small incremental improvements. We will never arrive at the next big thing without tons of experimentation that teaches us what works. And if you want innovation, academia is full of programming language ideas that make Haskell feel like Basic in comparison, but they are very far off being usable. In contrast, Lobster is useful right here, right now, for a popular class of applications (games).
"significant whitespace, bzzzt" - hey, Python proves not everyone agrees with you. Would you have preferred a hypothetical world where Python and other significant whitespace languages had never existed? Oh, and in Lobster it is actually a compile error if two adjacent lines do not have the same whitespace prefix (sequence of tabs and/or spaces), meaning that it is *impossible* for code to visually look like its doing something different from what it actually does, even if people mix tabs and spaces and have different tab settings. The official Lobster syntax guidelines mandate spaces instead of tabs btw (like Python), but you are free to ignore that.
"why is this hobby project on the front page of /.?" - shouldn't you be spending your time moderating the firehose, or complaining that the moderation system doesn't work? I submitted it and it was promoted to the front page by others, why should I feel bad about that? :) :)
I've been making compilers for.. ooh, 24 years now, and while this project is definitely more of a hobby project than past ones, it has been in the making for 3+ years, and has had quite a little bit more thought behind it than the average result of a college compiler class (I should know, I taught one for years
"isn't an interpreted, dynamically typed language too slow for game development?" - you may have a point there. There are no reasons why it couldn't be a lot faster with some type inference and JIT and/or static compilation.
"why did you change the OpenGL interface?" just because functions start with gl_ doesn't mean it's meant to be a direct mapping to OpenGL. It uses OpenGL 2 and OpenGL ES 2 under the hood, which require you to write and compile your own shaders and fiddle with matrices and many other things just to get a triangle on screen. Lobster's graphics interface shields you from that and is much more high level.
"Lobster, the language that requires grown men to wear a bib."
wy do sum engrs wrt code lk thy hv 2 pay $1 fr evry chr?
I don't want to have to decode everything people write. Give me a language what doesn't look like it was typoed on a cellphone.
Wouter van Ortmerssen... he's a GENIUS when it comes to comuter programming languages.
For those of you who are unfamiliar with him, take a long hard look at AmigaE and be jealous. Be very, VERY jealous.
Yet another language from Wouter van Oortmerssen? When will he ever get enough?
He's also the guy behind the Cube game and game-engine.
/ The Arrow
"How lovely you are. So lovely in my straightjacket..." - Nny
( http://www.sport3trade.net/ ) This is a shopping paradise We need your support and trust, you can find many cheap and high stuff,Believe you will love it, WE ACCEPT CREDIT CARD /WESTERN UNION PAYMENT YOU MUST NOT MISS IT!!!