Lanuage Design
The Venus programming language is influenced by the following languages:
D
You might find Venus much like D because I'm writing this language as my fork of D language. D is a great language, it is the most flexible language I've seen so far and writing code in D is a very pleasant experience. I love many features in D and is going to implement them in Venus as well.
But I'm still trying to create a new language rather than stick to using D because:
- I'd like to learn from creating a new language.
- Some of the default settings in the language was proved not the best. For example: final, pure, nothrow
- D is huge. It has too many features and their interactions make it even more complicated.
- Unlike Python, D is not a good first language. I'd like a language perfect for newbies as well as proffesionals.
I'm using D to implemented Venus.
Python
- modules (a mix of python/D)
- stdlib/docs
- ease of use
Kotlin
Some of the syntax are influenced by kotlin
- val, var
- last function parameter expansion
C/C++
This is obvious. Just like D, Venus is a C/C++ derivative. Venus will be binary compatible to C, just like D does.
Rust
Go
- Go - Concurrency model, tooling and the strategy of bootstrapping with C and then go full go.
Clojure
- Clojure - value, ref, state, time... you see the similarities.
Scala
- Scala - Kotlin is influenced by Scala and I'm too.