Browse Source

split readme to reason_why.md

221V 3 weeks ago
parent
commit
f41b4cc9fe
2 changed files with 43 additions and 40 deletions
  1. 5 40
      docs/readme.md
  2. 38 0
      docs/reason_why.md

+ 5 - 40
docs/readme.md

@@ -1,42 +1,6 @@
 # Description (My bad opinionated opinions :D)
 
-## 0. Reason - Why? - Because!
-
-Because I need a more user-friendly tool, that's why!
-
-#### 0.1. less f*ck brains with parentheses
-
-todo (about problems in languages with C-like syntax)  
-
-#### 0.2. less f*ck brains with whitespaces
-
-todo (about problems in languages with indentation syntax - Off-side rule - YAML, Python, Nim)  
-
-#### 0.3. less key presses
-Erlang is most laconic high-level language that I ever seen -  
-laconic and expressive, very simple (not overcomplicated) and is easy to learn.  
-
-#### 0.4. target language
-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).  
-
+## 0. [Reason - Why?](reason_why.md)
 
 
 ## 1. Naming
@@ -44,10 +8,11 @@ so Dlang has been selected as target language, and compiler v1 will be in Dlang
 Compiler `dopp` for `doppelganger`  
 (also `dopp` command),  
 
-Language `DEF-lang` for  
-`[based on] Dlang [and influenced by / inspiration from] Erlang [new] Fine language`.  
+Language `DE[F]-lang` for  
+`Dlang [with -- influenced by / inspiration from] Erlang [Flavoured language]`.  
 
-File extension - `*.de` (because `de` shorter than `def`).  
+File extension - `*.de`.  
+File text code - utf8 without BOM.  
 
 
 

+ 38 - 0
docs/reason_why.md

@@ -0,0 +1,38 @@
+# Description (My bad opinionated opinions :D)
+
+## 0. Reason - Why? - Because!
+
+Because I need a more user-friendly tool, that's why!
+
+#### 0.1. less f*ck brains with parentheses
+
+todo (about problems in languages with C-like syntax)  
+
+#### 0.2. less f*ck brains with whitespaces
+
+todo (about problems in languages with indentation syntax - Off-side rule - YAML, Python, Nim)  
+
+#### 0.3. less key presses
+Erlang is most laconic high-level language that I ever seen -  
+laconic and expressive, very simple (not overcomplicated) and is easy to learn.  
+
+#### 0.4. target language
+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).