Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!samsung!emory!gatech!usenet.ins.cwru.edu!abvax!odin.icd.ab.com!moorebj From: moorebj@odin.icd.ab.com (Bruce J. Moore) Newsgroups: comp.lang.smalltalk Subject: Re: Stand-Alone .exe's & C libraries Message-ID: <2216@abvax.AB.Com> Date: 19 Apr 91 21:50:14 GMT References: <91104.114417U09762@uicvm.uic.edu> <4321.280dd75f@iccgcc.decnet.ab.com> Sender: news@abvax.AB.Com Organization: Allen-Bradley Company, Industrial Computer Division Lines: 28 In article <4321.280dd75f@iccgcc.decnet.ab.com> klimas@iccgcc.decnet.ab.com writes: ...Some reasonable stuff about standalone .exes deleted. > Yes, The Floating Point library in the goodies package is > just such an example of how to interface ST/V286 into an external > C program. ST/V286 does have one limitation that ST/V-PM doesn't > WRT interfacing into external libraries. The functions are accessed > via what are called primitives (desribed in detail in the manual) > and although you can have a fair sized number of user defined > primitives, the code associated with a particular primitive must > be <64kb in size. Another reality that drives C fanatics crazy > is that there is not much to be gained by using C based functions > in terms of speed or memory. We have actually seen a reduction > in total program size when we rewrote some C based libraries in > Smalltalk/V-286 and the performance was just the same if not faster. A reality that drives *some* Smalltalk fanatics crazy is that Smalltalk is based on primitives written in C and other languages. If it were slower to write them in C or assembler it wouldn't be done. Digitalk says that their primitives are used (among other things) for "higher-level but performance-critical methods such as stream access and block transfers". In short, C is not a four letter word. I appreciate some of the gains to be realized by OO (so no language flames please), but it seems to me that the original poster was interested either in optimizing a specific performance problem area or reusing already written and tested code.