Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The way Go's package system works, especially before modules, really feels like it was a hack over an earlier and even more limited system that was designed to be used entirely inside the Google monorepo that was made to work outside. The weird global namespace tree makes sense there, and the emphasis on checked-in codegen also make sense there when you consider that Google also includes build artifacts in their monorepo.


This was exactly what happened. Rob Pike mentioned in another talk that they overfitted the pre-module system to how Google deals with packages. So I think he/they have conceded this was a mistake


If one used Plan9, it becomes quite clear how the module system happened (it also matches nicely with google monorepo).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: