5 ms·
When Go was first announced ~2009, Rob Pike explicitly framed it as a systems language https://www.youtube.com/watch?v=rKnDgT73v8s https://www.youtube.com/watc
by hsn915 4y ago
When Go was first announced ~2009, Rob Pike explicitly framed it as a systems language
https://www.youtube.com/watch?v=rKnDgT73v8s https://www.youtube.com/watch?v=rKnDgT73v8s
I would not say it's the same as Java or C#. The crucial difference is that it compiles to a native executable binary file, not something that needs a virtual machine.
- deleted 4y ago[deleted]
- bhedgeoser 4y agoC programs are executed inside the C virtual machine.
- wizofaus 4y agoCan't tell if serious...
- never_inline 4y agoEither a reference to Abstract Machine from the standards, or something suggesting the processor is a C virtual machine.
- PopGreene 4y agoInteresting article: "C Is Not a Low-level Language" (https://queue.acm.org/detail.cfm?id=3212479 https://queue.acm.org/detail.cfm?id=3212479)
- never_inline 4y agoI have read that. While I feel that article is being too harsh on C, it would be interesting to have cache intrinsics just like we have SIMD intrinsics. I would imagine that would be more complex to implement, however.
- culi 4y agoYou mean the C abstract machine?
- sanderjd 4y agoIt is possible to compile Java and C# binaries. It is true that it is not as common and they were not designed that way, but I think this difference is mostly an implementation detail. I think these are indeed the best comparison languages to Go. They're all mature statically checked languages with good garbage collectors and concurrency features.
- Erlangen 4y agoI think Rob Pike has changed his idea. I remember watching Youtube video featuring language designers(golang, d and rust), where Rob Pike, Andrei Alexandrescu and Steve Klabnik talked about the stories behind three languages. Rob Pike said something like, "Golang was mistakenly called system language, it should be called server programming language instead". I tried to find the video on youtube, but to no avail.