On Friday, 20 December 2013 at 10:26:09 UTC, Araq wrote:
On Friday, 20 December 2013 at 07:04:02 UTC, Paulo Pinto wrote:
On Friday, 20 December 2013 at 06:50:41 UTC, SomeDude wrote:
On Thursday, 19 December 2013 at 12:27:57 UTC, bearophile wrote:
Russel Winder:

The whole point of Go is to replace C,

I didn't know this.

Bye,
bearophile

Because it's no longer true at all. It was the goal at the beginning, but it's no longer, they've said that Go is not a system programming language (in the sense that you can construct an OS with it).

Even though I rather use D than Go, every time I read that, I am tempted to prove people wrong. If I had the time for it, that is.

Go offers the same mechanisms for systems programming as Oberon does. If ETHZ was able to create Native Oberon, AOS and EthOS with Oberon, why cannot one do an OS with Go?


Well I can't see a GC work well in a heavily concurrent kernel.

Well AOS is concurrent, maybe not heavy concurrent but it does support parallel tasks.

BTW the latest incarnation of Oberon includes non-GC'ed pointers. But hey, what do I know...

Go also has them in the unsafe package. You can convert a pointer to an uintptr via the unsafe package. That is how you convert pointers between Go and C world, for example.

I think the whole discussion about GC based OS is like JavaScript. No one in the mainstream considered scripting languages fast, until Google released V8. Although Self implementation was already quite fast and used for Hotspot.

Now we have Julia already achieving C like speeds in some areas, although the implementation is still quite young.

So until a big company does something into this direction, people will keep ignoring what has been achieved so far in the academia.

--
Paulo

Reply via email to