Lobster is a statically typed programming language with a Python-esque syntax that combines the advantages of an expressive type system and compile-time memory management with a very lightweight, friendly and terse syntax, by doing most of the heavy lifting for you.
This is free and open source software.
Features include:
- Language:
- Static typing that feels almost as easy to write as dynamic typing thanks to “Flow-Sensitive Type-Inference and Specialization”.
- Compile time reference counting / lifetime analysis / borrow checker.
- Lightweight Blocks / Anonymous Functions that make any function using them look identical to built-in control structures.
- Vector operations (for math and many other builtins).
- Unified overloading & dynamic dispatch, in & outside classes, supporting specialization.
- Immutable “inline” structs (zero overhead).
- GIL-less, race-less distributed memory model multi-threading.
- Python-style indentation based syntax with C-style flavoring
- Implementation:
- Choose between running directly using the convenient JIT, or compilation to C++ for extra speed.
- Reference Counting with cycle detection at exit, 95% of reference count ops removed at compile time thanks to lifetime analysis.
- Fully graphical debugger (inspect stack traces, modify variables etc).
- Dynamic code loading.
- Relatively fast (order of magnitude faster than Python, significantly faster than Lua (benchmark), not yet a C competitor, but can be eventually) and economical (low overhead memory allocation)
- Easy to deploy (engine/JIT exe + compressed bytecode file)
- Modularly extendable with your own library of C++ functions
- Engine:
- Portable (mostly courtesy of OpenGL/SDL/Freetype), allowing your games to be run on
- Windows, Linux, Mac OS X, iOS, Android and WebAssembly (in that order of maturity, currently).
- High level interface to OpenGL functionality, very quick to get going with simple 2D geometric primitives
- 3D primitive construction either directly from triangles, or using high level primitives made into meshes through marching cubes
- GLSL shaders (usable accross OpenGL & OpenGL ES 2 without changes)
- Accurate text rendering through FreeType
- Uniform input system for mouse & touch
- Simple sound system supporting .wav and .sfxr synth files.
- ImGui support.
- Comes with useful libraries written in Lobster for things like A* path finding and game GUIs
Website: github.com/aardappel/lobster
Support:
Developer: Wouter van Oortmerssen
License: Apache 2.0 License
Lobster is written in C++ and C. Learn C++ with our recommended free books and free tutorials. Learn C with our recommended free books and free tutorials.
| Explore Linux | |
|---|---|
| Best Free and Open Source Software - A huge collection of recommended free and open source software covering every major category. | |
| In-depth Linux Software Reviews - Detailed assessments of Linux software covering features, usability and overall quality. | |
| The Big List of Active Linux Distros - An extensive collection of actively developed Linux distributions. | |
| Open Source Alternatives - Alternatives to software and services from Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle and others. | |
| Essential Linux System Tools - Indispensable utilities for monitoring, maintaining and managing Linux systems. | |
| Linux Productivity Tools - Useful utilities for improving productivity and streamlining everyday tasks. | |
| Alternatives to Popular CLI Tools - Modern alternatives to familiar command-line utilities supplied with Linux systems. | |
| Awesome Free Linux Game Tools - Tools, utilities and companion software that improve gaming on Linux. | |
| Machine Learning on Linux - Machine learning and deep learning software, self-hosted applications and practical tools. | |
| Saving Money with Linux - Practical ways to reduce electricity consumption and lower computing costs with Linux. | |
| Linux Candy - Fun, entertaining and sometimes delightfully quirky software from the lighter side of Linux. | |

Please read our Comment Policy before commenting.