I started the same thing with C++ but found that i spent too long getting libraries to work with each other without clashing (especially on windows)
I've also found java to be a terrible memory hog and require significant tuning to run stable without having long periods of garbage collection and non-responsiveness, i've not had that problem with go out of the box.
Thats the one thing about go that is great, goroutines and the (much much better) garbage collection.
Yeah, i'm a bit of a go fanboy :)
Lately I am on the hunt for a good closer-to-the metal language because I feel that even though the Erlang runtime (and thus Elixir's) is extremely stable and with unmatched concurrency and parallelism primitives, there still is a need for a native hyper-optimized code every now and then (crypto and compression come to mind).
I like Go a lot. The authors got a lot of things right and the language's tooling is exceptional. Goroutines are no match for the true preemptive scheduling that the BEAM (Erlang's VM) can provide though. But I don't intend to use Go where I would use Erlang/Elixir anyway. They serve different niches.
---
Have you evaluated other languages outside of Go and C++? For example Rust or OCaml? If you did evaluate anything else, what are your impressions?
I think rust is overly complex, and very quirky but.. It has some good ideas that i have taken and used in my own experimental languages i have developed like the error/ok branch structures.
I think Ocaml is even more quirky than rust, they are using symbols (|) to define select statements, i would to be honest rather have something more readable. Reminds me of perl a lot.
Both use "let" for defining variables that i'm not a fan of as a keyword.
IMO OCaml is a less sciency Haskell, and more focused on getting stuff done -- but I am still evaluating it and it definitely has warts in the tooling. Time will tell.
Rust... I looked at it but it struck me as a modern C++... too many ways to do one thing.
We need opinionated tech. Programming is not an art class practice session.
Syntax Libraries Runtime
I picked syntax briefly, because i think its the most important part of the language.
The libraries can be written, the runtime improved but if the syntax is bad its hard to change it later.
Downside is: the library ecosystem is less open. Some libraries are proprietary, which is not something I've encountered in other ecosystems. This seems to be changing though, now that C# itself is open source.
Microsoft has sued/legally threatened companies over Android and extracted many billions of dollars from them:
* https://www.forbes.com/sites/ewanspence/2015/11/01/microsoft...
* https://www.computerworld.com/article/2475440/android/micros...
How do you figure? The Csharp compiler is Apache licensed.