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.
| Popular series | |
|---|---|
| The largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions. | |
| Hundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information. | |
| The Big List of Active Linux Distros is a large compilation of actively developed Linux distributions. | |
| Replace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, SAS, Progress, Salesforce, and Citrix | |
| Awesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series. | |
| Machine Learning explores practical applications of machine learning and deep learning from a Linux perspective. We've written reviews of more than 40 self-hosted apps. All are free and open source. | |
| New to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux. | |
| Alternatives to popular CLI tools showcases essential tools that are modern replacements for core Linux utilities. | |
| Essential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users. | |
| Linux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine. | |
| Surveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal. | |
| Saving Money with Linux looks at how you can reduce your energy bills running Linux. | |
| Home computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum. | |
| Now and Then examines how promising open source software fared over the years. It can be a bumpy ride. | |
| Linux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged. | |
| Linux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery. | |
| Getting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers. | |
| Best Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series. | |
| These best free books accelerate your learning of every programming language. Learn a new language today! | |
| These free tutorials offer the perfect tonic to our free programming books series. | |
| Linux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts. | |
| Stars and Stripes is an occasional series looking at the impact of Linux in the USA. | |