![]() |
3 months ago | |
---|---|---|
.. | ||
readme.md | 3 months ago |
Because I need a more user-friendly tool, that's why!
todo (about problems in languages with C-like syntax)
todo (about problems in languages with indentation syntax - Off-side rule - YAML, Python, Nim)
Erlang is most laconic high-level language that I ever seen -
laconic and expressive, very simple (not overcomplicated) and is easy to learn.
The only imperfection of Erlang is .. VM -
so if you write any crypto miner in Erlang - it won't impress with its performance...
(Erlang is very well designed for IO - network, parallel tasks etc,
but can show not better results for "number crusher" - CPU heavy tasks)
.
so as target needs system programming language that compiles to native single executable binary file.
.
Haskell was rejected cause - sometimes headache with io-pure-impure functions, non-optional GC, too many ways to make the same (so read other people's code may be too nontrivial);
Go was rejected cause - that was not more easy that Haskell for me (Haskell was more easy in use), also non-optional GC;
Rust was rejected cause - overcomplicated style of writing code - you do not thinking about your app architecture but have f*ck your brains with compiler - borrow checker etc (also is not so "memory safe" in reality as in advertising);
C++ was rejected cause - super overcomplicated, not need so headache ;) ;
C was rejected cause - I think for 2025 year C is a bit outdated (not so user friendly as we want), also don't want to write function declarations twice, and other cucumbers;
OCaml was rejected cause - has not user friendly compiler (non-informative errors messages), non-optional GC;
Nim was rejected cause - too less performance comparing to Dlang and C;
Zig was rejected cause - unstabled - in active development phase (will check - compare in future);
Jai was rejected cause - still in closed beta (will check - compare in future);
Forth, Common Lisp, Red, Ada, Lua, Mojo and Swift - have not been considered for this task;
D - Dlang - compiles to native single executable binary file, rich of features - not less possibilities than in C++, has optional GC, stable - mature etc.
so Dlang has been selected as target language, and compiler v1 will be in Dlang (v2 will be seft-hosted).
Compiler dopp
for doppelganger
(also dopp
command),
Language DEF-lang
for
[based on] Dlang [and influenced by / inspiration from] Erlang [new] Fine language
.
File extension - *.de
(because de
is more short than def
).
todo