Re:Go 1.19 Released
by preseinger on Friday August 05, 2022 @01:57PM
(#32359569)
> 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.
Re:Go 1.19 Released
by eikenberry on Tuesday August 02, 2022 @04:34PM
(#32323949)
GCC 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.
> 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.
Re:Go 1.19 Released
by eikenberry on Tuesday August 02, 2022 @07:50PM
(#32325846)
Then 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.
> Fast compiler times are more important than being the fastest at runtime.
For you, maybe.
Re:Go 1.19 Released
by eikenberry on Monday August 08, 2022 @10:16PM
(#32393553)
If you need the fasted language why are you using Go?
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?