4 ms·
That's usually a major checkpoint for a programming language maturing no? Go became self-hosting in 2015 (1.5) [1] Rust was originally written in OCaml and be
by arcticbull 3y ago
That's usually a major checkpoint for a programming language maturing no?
Go became self-hosting in 2015 (1.5) [1]
Rust was originally written in OCaml and became self-hosted in 2011 - excluding LLVM of course, but I guess, that's kind of up to you where you draw that specific line.
[1] https://go.dev/blog/go1.5 https://go.dev/blog/go1.5
- tialaramex 3y agoIt might make sense for a General Purpose language, but really only if the language's goals make it suitable. For example suppose you decided goal #1 is ease of use for beginners so you consciously choose verbose syntax. It's unlikely that your compiler is written by beginners and they may get sick of needing all this verbosity. For Special Purpose languages it only makes sense if their purpose is centrally writing compilers. It doesn't make sense to write your Verilog "compiler" in Verilog.
- eru 3y ago> That's usually a major checkpoint for a programming language maturing no? It depends on the goals of the language. Of course, compiler writers tend to be (relative) fans of their language, so they might want to use it more than might be wise. But eg I wouldn't want to write _any_ compiler in C or Fortran or Cobol. That includes not wanting to write C, Fortran or Cobol compilers in these languages. (But I think any language that you might want to write a compiler in should have algebraic data types and pattern matching at the very least, especially these days.) Somewhat ironically, writing a Python compiler in Python would be an ok idea, but writing a Python interpreter in Python is probably not a good one.