3 ms·
Why not start from scratch in go? C and go are different programming languages with different standards etc. Why rely on shoehorning the C version into go?
by Cort3z 13y ago
Why not start from scratch in go? C and go are different programming languages with different standards etc. Why rely on shoehorning the C version into go?
- shurcooL 13y agoYes, this is indeed one of the questions that the article addresses in the "Alternatives" section.
- largote 13y agoThat is not an article, it's a design document.
- heydenberk 13y agoFrom the document itself: "Despite Go’s simplicity, there are many subtle cases in the optimizations and other rewrites performed by the compilers, and it would be foolish to throw away the 10 or so man-years of effort that have gone into them."
- twic 13y agoThis strikes me as dubious. Rewriting from scratch would throw away the C code, but it would not have to throw away the lessons learned from and recorded in the C code.
- jesstaa 13y agoThere is a large communication overhead to this. You have to start a new project, which could take months to develop. In the meantime you still need to maintain the current compilers, fix bugs and make improvements but all that effort becomes wasted. People stop working on the old code base because your new code base is more fun so it suffers and eventually you end up with a not-yet working new project and a broken buggy old project. With a translator work doesn't have to stop on the current compiler code base while the new version is developed, all that effort is saved and bugs are automatically fixed in both places so you don't have to maintain and synchronise two bug trackers.