From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <029f25635d42b42992efa5e602366ae1@quanstro.net> From: erik quanstrom Date: Tue, 18 Apr 2006 22:04:45 -0500 To: 9fans@cse.psu.edu Subject: Re: [9fans] Install from CD fails MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Topicbox-Message-UUID: 3dd0441a-ead1-11e9-9d60-3106f5b1d025 i think this is a case of robust agreement; russ is just much better explaining himself than i. - erik On Tue Apr 18 21:53:00 CDT 2006, rsc@swtch.com wrote: > > dynamic linking allows one to extend a program without inventing a metalanguage. > > i believe there is a paper on how inferno's shell uses this to nice effect. > > shared libraries != dynamic loading of modules. > both require a dynamic linking implementation > but they are not at all the same. > > shared libraries are just a bad replacement > for static libraries. they're used implicitly without > a program having to ask for anything, and there > is never an appropriate situation in which > to use them. > > dynamic loading of modules can be a very > powerful method of extension. i have been > meaning for a long time to convert snoopy to > make the protocol parsers dynamically loaded > instead of having one huge binary. the inferno > shell is another good example. > > the boundary is a bit blurred on inferno, > because the explicitly module loading there > is most commonly used to load what on other > systems would be libraries. but the result, > at least as implemented, has a very different > feel from the shared library hell on unix > and windows. > > russ >