Our great sponsors
-
Having normal procedural language for build automation is of course useful. That's for those 10% of cases when "standard" build DSL (make,CMake,etc.) simply do not have facilities.
But the rest of 90% tasks should have compact (easily readable) definitions.
I personally found that Premake5 has quite good balance for these tasks.
Premake files are plain .lua files and due to Lua syntax they are easily readable. And if needed you can call from them procedures defined in again Lua.
So typical project (multiplatform) definition looks pretty readable, for example one project from Sciter SDK:
https://github.com/c-smile/sciter-js-sdk/blob/main/premake5....
-
zig
General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
Just to tag onto this comment, for anybody interested the repo is:
https://github.com/ziglang/zig
The code in the lib/std directory is very readable, and I’d strongly encourage checking it out for anybody who wants to learn Zig or know what idiomatic Zig looks like.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.