5 ms·
> how should they incorporate the "optimizations that other languages have had for 30 years" Leverage an already existing compiler backend, typically GCC or LL
by shakow 4y ago
> how should they incorporate the "optimizations that other languages have had for 30 years"
Leverage an already existing compiler backend, typically GCC or LLVM – just like Julia, Rust, or Swift.
Or, similarly, target an existing, battle-tested VM – like e.g. Elixir, Kotlin, Clojure, or F#.
> Go is the most successful language released in the last 20 to 30 years
Python? Ruby? Javascript? Java? C#? TypeScript? PHP? R? Visual Basic?
- preseinger 4y ago> Leverage an already existing compiler backend, typically GCC or LLVM – just like Julia, Rust, or Swift. > > Or, similarly, target an existing, battle-tested VM – like e.g. Elixir, Kotlin, Clojure, or F#. Each of these options come with enormous, unavoidable, and ultimately unnecessary baggage derived from their substantial histories. They simply don't, can't, represent the full spectrum of acceptable foundations for new language development.
- eikenberry 4y agoGCC and LLVM both have terrible UX with their ridiculous compilation times. Go wanted good developer UX so that ruled those out. None of those VMs would allow for the native compilation that was another design goal. They had specific design goals which nothing out there met.
- shakow 4y ago> GCC and LLVM both have terrible UX with their ridiculous compilation times. And so will go if it implements the optimizations they implement. GCC and LLVM are not putting sleep(10) everywhere just for the sake of longer compilation times.
- eikenberry 4y agoThen it won't do those optimizations. Fast compiler times are more important than being the fastest at runtime. It has to be "fast enough" and given the adoption I'd say the consensus is that it already is. More optimizations are all gravy at this point.
- mcronce 4y ago> Fast compiler times are more important than being the fastest at runtime. For you, maybe.
- eikenberry 4y agoIf you need the fasted language why are you using Go?
- mcronce 4y agoI don't. I avoid Go like the plague. My point was that you don't get to unilaterally decide for everybody whether fast compile times or runtime performance is more important.