dub: JSON, SDL, YAML, TOML, what color should we paint it ?
Bradley Chatha
sealabjaster at gmail.com
Tue Feb 28 15:22:41 UTC 2023
On Tuesday, 28 February 2023 at 14:29:28 UTC, Mathias LANG wrote:
> Obviously such a change would not happen overnight, and would
> need broad support from the community. Opinions ?
IMO JSON just needs to go. It has no purpose being used in dub
for anything user-facing.
I do like SDL however it's a bit of a "dead end" language, so is
definitely worth trying to move away from going forward.
TOML makes my eyes bleed and I don't understand at all how anyone
likes it.
YAML is decent to mentally parse, but writing it can be a bit
frustrating, especially if you don't have a schema setup in your
code editor.
Considering dub is also a build system and not just a package
manager, I wonder if we could take a note out of other build
managers and use something stronger than basic config language.
e.g. Meson has their own language; Bazel uses Starlark, CMake has
abomination. If not instead embracing dub as a package manager,
and another existing tool as a build system.
My personal pipe dream is that we'd use CUE: https://cuelang.org/
- however disregarding the relative complexity of a native D
implementation, the language itself is still unstable (no v1
release). I can dream though ;D
Another example are the likes of XMake that use Lua, though I am
always skeptical about using a full language for build systems.
(Side node: I've had ideas in the past that you could use
something like Lua to define jobs/stages that could then be used
from a declarative/config language to then describe the build.)
Considering the likes of rdmd existing, you could technically
even just use D itself...
So ultimately is the discussion more "Which language should we
use" or instead "What exactly do we want dub to do and be capable
of?"
More information about the Digitalmars-d
mailing list