7 ms·
First thing I look for whenever I run across another "C competitor" is to look which language it is implemented in. Usually that's C, or C++, but this time, it
by erez 10y ago
First thing I look for whenever I run across another "C competitor" is to look which language it is implemented in. Usually that's C, or C++, but this time, it does look like Crystal is implemented in Crystal, which is, to me, a very good indication that this is a "real" system language.
I believe Rust is also implemented in Rust and Go, after a few years of being implemented in C has now a compiler written in Go.
- grobaru 10y agoI believe Crystal will try to compete with Elixir and GO and not with Rust or C
- JonnieCache 10y ago>Go, after a few years of being implemented in C has now a compiler written in Go. Since 1.5 came out, a year ago.
- ethagnawl 10y ago> ... which is, to me, a very good indication that this is a "real" system language. Could you expound upon that point a bit? What's the difference, in your mind?
- erez 10y agoThe rationale is, that once you have a programming language that is implemented in itself (usually that means that the compiler/interpreter is written in that language), then it means that your language has tackled and can deal with many issues that "system languages" deal with. Mainly dealing with the OS in a lower level, dealing with CPU/RAM, etc. This is a large problem space that you can glean over by using C as a layer of interaction between your language and the underlying machine, but it makes your language a: not truly a "system language" and b: it also ties you to C philosophy, API/ABI, calling conventions and so on.