4 ms·
Starlark is a Python-ish subset intended for declarative-looking-but-still-procedural software configuration management in Bazel and Buck2. GDScript is their o
by 1letterunixname 3y ago
Starlark is a Python-ish subset intended for declarative-looking-but-still-procedural software configuration management in Bazel and Buck2.
GDScript is their own take for the GODOT game engine. It looks like Python, but it's different. There are many usability advantages, like learning curve, by modeling off a commonly used language rather than dreaming up a completely new one.
Here's a list of Python-like languages:
https://blog.matt-rickard.com/p/the-python-family-of-languages https://blog.matt-rickard.com/p/the-python-family-of-languag...
Starlark lang spec:
https://github.com/bazelbuild/starlark/blob/master/spec.md https://github.com/bazelbuild/starlark/blob/master/spec.md
Google implementations:
https://github.com/google/starlark-go/ https://github.com/google/starlark-go/
https://github.com/bazelbuild/bazel/tree/master/src/main/java/net/starlark/java https://github.com/bazelbuild/bazel/tree/master/src/main/jav...
Rust Google implementation taken over by Meta:
https://github.com/facebookexperimental/starlark-rust https://github.com/facebookexperimental/starlark-rust
https://developers.facebook.com/blog/post/2021/04/08/rust-starlark-library/ https://developers.facebook.com/blog/post/2021/04/08/rust-st...
These are in the embeddable languages category like Lua and dialects of other languages with implementations such as mruby, daScript, emacs LISP, and ECL. And there were game-specific ones like QuakeC and Squirrel. Those were usually in the past because other embedded languages weren't available, but now hundreds of games use/d Lua because it doesn't make sense to build a language and runtime from scratch in most cases. Scriptability (or format documentation at least in the case of Doom-engine games) is key to implementing mods officially instead of as invasive game hacks like Super Dune 2.