Browse Source

readme && docs part1

221V 3 months ago
commit
22441371c7
2 changed files with 62 additions and 0 deletions
  1. 59 0
      docs/readme.md
  2. 3 0
      readme.md

+ 59 - 0
docs/readme.md

@@ -0,0 +1,59 @@
+# 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).  
+
+
+
+## 1. Naming
+
+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`).  
+
+
+
+# 2. Syntax and Ideas
+todo
+
+
+
+

+ 3 - 0
readme.md

@@ -0,0 +1,3 @@
+# dopp compiler for DEF-lang
+
+