5 ms·
Go from C to Go [video]
- madhusudancs 12y agoPeople who have posted the original video, if you are reading this, please fix the speaker's name in the youtube video title. His name is Russ Cox, not Rob Cox. It pains me to see wrong names, it almost feels to me like miscrediting :P
- vanderZwan 12y agoMan, if Rob Pike and Russ Cox would do the fusion dance, they would be unstoppable!
- randquistcp 12y agoName fixed, thank you for pointing it out.
- madhusudancs 12y agoThank you very much for fixing this!
- zura 12y agoI'm more interested to hear `from C++ to Go` stories :)
- 4ad 12y agoThis presentation is about using an automated program to convert the existing Plan 9-based Go compiler suite from C to Go, it's not a "rewriting infrastructure in Go" story.
- logicchains 12y agoPart of me dreams that they'd be able to convert the whole Plan 9 OS into Go one day, but that's probably hoping for too much.
- 4ad 12y agoWhat would be the point? (serious question). I assume you are talking about the user-space utilities. Having them in Go on Plan 9 would not be the best idea at the moment, Go binaries are big, and while on Unix this is a non-issue, in Plan 9, where every binary has to travel over the network this is not the greatest idea. Perhaps Go binaries will become smaller in the future, but Go only exists on 386/amd64/arm at the moment, and on Plan 9 only the 386 port works. Plan 9 also works on MIPS and POWER, and it worked on SPARC and ALPHA and many others too, and you can still compile all the binaries for those architectures, in case you decide to write a new POWER8 or SPARC64 kernel. Plus there's an impedance mismatch between how Go does things and how Plan 9 does things, for example in the area of networking. I'm very happy with Go's networking on Unix, it's so easy to use and makes things so much nicer. It's very different than the Plan 9 model though, and on Plan 9 Go network programs don't fit right. Having plan9port utilities in Go would also not be the best thing. I run plan9port on Irix. I ported Go to Solaris because I had plan9port working on Solaris. If plan9port depended on Go, I probably wouldn't have started the port. All my arguments so far ignored the fact that the few people interested in Plan 9 are already very familiar with the C sources, and many of them don't even care about Go that much. I really wish Go would fit better in Plan 9. I really miss Go when I have to write C.
- logicchains 12y agoFor me, the point would be having an OS that was really easy to study, extend and modify, due to how easy to read Go is. No more ifdefs, no preprocessor macros, just clean code.
- 4ad 12y agoPlan 9 has no #ifdefs ano no preprocessor macros.
- coldtea 12y agoSeems like a rather pointless dream. What would be the benefit? A slower OS with GC pauses?
- deleted 12y ago[deleted]
- vanderZwan 12y agoSo who else is extremely curious about the "difficult to explain" goto statement? (about 17 minutes in)
- jakestl 12y agoI think he just meant it was hard to capture what it was doing in a brief statement like the others were.
- vanderZwan 12y agoYes, but he made it sound like it was a legit use of the goto statement, which makes it more intriguing what it can be if it doesn't fall under any of the other descriptions.
- pjmlp 12y agoNice to see this going on. I think compilers should be bootstraped, after the basic language is in place.
- casca 12y agoYoutube link for anyone else who likes to download for sped-up viewing: http://www.youtube.com/watch?v=QIE5nV5fDwA http://www.youtube.com/watch?v=QIE5nV5fDwA