ftp.nice.ch/peanuts/GeneralData/Usenet/news/1997/Prog-03

This is Prog-03.gz in view mode; [Up]


From: jrudd@cygnus.com (John Rudd) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 1 Mar 1997 00:24:05 GMT Organization: Cygnus Solutions Message-ID: <5f7sv5$4sa$1@majipoor.cygnus.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <tz8k9nwuijr.fsf@aimnet.com> Cc: nouser@nohost.nodomain In <tz8k9nwuijr.fsf@aimnet.com> Thomas wrote: > > On that note, do people know of any packages that interface > Objective-C to COM/OLE/ActiveX? > > Thomas. > I'm not sure about COM and ActiveX, but NeXT did develop D'OLE, a distributed OLE via PDO... so it does interface with Objective-C. -- John "kzin" Rudd jrudd@cygnus.com http://www.cygnus.com/~jrudd =========Intel: Putting the backward in backward compatible.============ Smalltalk == Astronaut's tools. Awkward at first, but exceptional design C++ == A hammer. A SLEDGEHAMMER. Not cast metal, a big rock on a stick.
From: mkagalen@lynx.dac.neu.edu (Michael Kagalenko) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 28 Feb 1997 20:16:41 -0500 Organization: Northeastern University, Boston, MA. 02115, USA Message-ID: <5f801p$2h6@lynx.dac.neu.edu> References: <330E54AC.167E@innosys.com> <856930544.19004@dejanews.com> <tz8k9nwuijr.fsf@aimnet.com> <5f7sv5$4sa$1@majipoor.cygnus.com> Content-Type: text/html John Rudd (jrudd@cygnus.com) wrote in article <5f7sv5$4sa$1@majipoor.cygnus.com> <pre><blink> ]In <tz8k9nwuijr.fsf@aimnet.com> Thomas wrote: ]> ]> On that note, do people know of any packages that interface ]> Objective-C to COM/OLE/ActiveX? ]> ]> Thomas. ]> ] ]I'm not sure about COM and ActiveX, It does, according to the statement on the NeXT web site. Just search it for "ole" ]but NeXT did develop D'OLE, a ]distributed OLE via PDO... so it does interface with Objective-C. -- ABILITY,n. The natural equipment to accomplish some small part of the meaner ambitions distinguishing able men from dead ones. -- Ambrose Bierce, "The Devil's Dictionary"
From: "L. Todd Heberlein" <heberlei@NetSQ.com> Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Nice interview with Amelio Date: 1 Mar 1997 05:46:28 GMT Organization: mother.com Internet Services Message-ID: <01bc25fa$c628b6e0$5c2168cf@test1> Another in the "nice interview" series; this one is with Gil Amelio (Actually, the ones with Avie and Ellen were a little better IMHO). Once again, the Intel issue is raised, and I am further convinced that Rhapsody will be a dual-hardware solution (only the blue box capability will be missing from the Intel release). Apple Of His Eye By Eric Nee March 01, 1997 http://www.upside.com/texis/columns/qa
From: polyex@mail.netsrq.com Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: 28 Feb 1997 16:31:00 GMT Organization: Intelligence Network Online, Inc. Message-ID: <5f7184$a83@mercury.IntNet.net> References: <msg37701.thr-34dc7b90.54c5638@flannet.middlebury.edu> <5evgk9$7m4@news.next.com> <qdiv3f2b7i.fsf@blues.cygnus.com> <5f5s91$14s@usenet.rpi.edu> In <5f5s91$14s@usenet.rpi.edu>, Garance A Drosehn <gad@eclipse.its.rpi.edu> writes: >Stephen Peters <speters@cygnus.com> wrote: >> Once upon a time, NeXT had a problem with capitalization. They >> had one product, which was spelled, at various times from various >> sources, NeXTSTEP, NextStep, NeXTstep, Nextstep, NEXTSTEP, and >> I'm sure others that I've missed. This generated a small amount >> of confusion, but luckily you always knew what people were talking >> about, since it was all the same thing. > >Actually, that's not true either. > >Originally (meaning release 1.0), "NeXTstep" was the name given to >the code which was sold to IBM as a user-interface (etc) to add on >top of AIX. Thus, NeXTstep was *originally* the set of API's & What you are saying about AIX is probably true, but I also remember the NeXT interface was supposed to go on top of OS/2 instead of Presentation Manager, I can remember Bill Gates saying that OS/2 would be better with PM because NeXT did not support color at that time. ================================================================================ Adam Hall PolyEx Software Makers of the Wordup Graphics Toolkit for OS/2 Come check out our code at http://www.netsrq.com/~polyex "Remember when we first landed on this planet? It was a really beautiful garden" -Baron (Rainbow Bridge- Maui 07/1970 AD) ================================================================================
From: dashlangan@hotmail.com Date: Sat, 01 Mar 1997 04:26:24 -0600 Subject: cmsg cancel <857156472.16550@dejanews.com> Message-ID: <cancel.857156472.16550@dejanews.com> Sender: dashlangan@hotmail.com Newsgroups: alt.comp.shareware.programmer,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.programming,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Control: cancel <857156472.16550@dejanews.com> Organization: Deja News Usenet Posting Service Original Subject: The Quickest, Dirtiest Y2K Solution Comments: Cancelled by author.
From: flight@mathi.uni-heidelberg.de (Gregor Hoffleit) Newsgroups: comp.sys.next.programmer Subject: Re: Kaffe Compile Problem Date: 1 Mar 1997 11:41:17 GMT Organization: University of Heidelberg, Germany Message-ID: <5f94kt$dih@sun0.urz.uni-heidelberg.de> References: <33146C0E.2F2D@ix.netcom.com> <5f2lp8$bpi$1@Venus.mcs.net> On 26 Feb 1997 18:50:48 -0600, Font <font@MCS.COM> wrote: >An identical error message results from attempts to compile kaffe out >of the box on i386 as well. Some discussion of this (with no >solutions) appeared in comp.sys.next.software recently with "Java" in >the subject line. In sum, kaffe's NEXTSTEP support is broken, but >it's probably the case that the author doesn't have a machine to test >things out on. Nope. This wasn't a NEXTSTEP specific problem. The problem is just that the mentioned file, package/external_wrappers.h, is by accident missing from the distribution and this affects all ports without support for shared libraries. BTW, the next release of kaffe should contain support for shared libs with NEXTSTEP. Gregor -- | Gregor Hoffleit Mathematisches Institut, Uni HD | | flight@mathi.uni-heidelberg.de INF 288, 69120 Heidelberg, Germany | | (NeXTmail, MIME) (49)6221 54-5771 fax 54-8312 | | PGP Key fingerprint = 23 8F B3 38 A3 39 A6 01 5B 99 91 D6 F2 AC CD C7 |
From: mmalcolm crawford <m.crawford@shef.ac.uk> Newsgroups: comp.sys.mac.programmer.codewarrior,comp.sys.mac.system,comp.sys.next.programmer Subject: Re: Mac/NeXT & Unix: File System Date: 1 Mar 1997 20:30:38 GMT Organization: University of Sheffield, UK Message-ID: <5fa3le$c8o@bignews.shef.ac.uk> References: <5ddp66$jpc@news.bu.edu> <5dtpb5$h4t@news.bu.edu> <Mn1TiBm00iVC81ZnAQ@andrew.cmu.edu> <AF2E42E196681EFC18@node50.tfs.net> <5eb9r5$iv2@csugrad.cs.vt.edu> <AF39A1D79668E697E@pm3-p20.tfs.net> In-Reply-To: <AF39A1D79668E697E@pm3-p20.tfs.net> On 02/26/97, Travis Butler wrote: > Many NeXT partisans keep speaking as if the MacOS isn't a valid OS in its > own right, and any use of MacOS features or system design in Rhapsody > constitutes a 'redesign' or 'crippling' of NeXTStep. This is REALLY > beginning to irritate me. Well, let me give them a clue: while Apple is > still vague on many technical details of Rhapsody, they have stated from > the beginning that Rhapsody is going to be a *merger* of the best elements > of MacOS and NeXTStep, not NeXTStep thinly papered over. NeXTStep is going > to be redesigned to some degree, just as MacOS will be redesigned to some > degree. Get used to it. > I'm not sure where you get your ideas from... I think most NeXT-users are keen to welcome augmentation of NEXTSTEP by input from AppLE, where (a) AppLE technology is better, and (b) it fits within the constraints of the timescale AppLE has outlined for delivery. Re your assertion that Rhapsody is not going to be "NeXTStep thinly papered over", let us examine what we know about DR1: It will be based on NeXT's Mach kernel, will be OpenStep-compliant, using Display PostScript for the GUI and NetInfo for networking. And it should have elements of the Mac GUI. I'm not sure how different my definition of "thinly papered over" can be from yours, however at this stage DR1 fits my definition reasonably well... This is *not* to say that I have a closed mind -- as I stated up front, I welcome the resources and expertise from AppLE that will lead to further redesign of NEXTSTEP (OPENSTEP OS), and look forward to the folding in of existing and future AppLE technologies which will make using my computer an even greater pleasure than it is now. [...] > While I'm trying to keep an open mind, I'm afraid the technical bent of the > NeXT proponents may be blinding them to the issues of working with Joe > Average User. I've spent years doing support for Joe Average User, and I'm > afraid he'll balk at some of the things NeXTStep users take for granted; > There will always be some users for whom computers are a mystery, however evidence suggests that non-technical NeXT-users, ranging from young children, through secretaries, to grandmothers have no more, and maybe even fewer, problems using NEXTSTEP than they would using MacOS. Remember that the NeXT was designed originally as an "Interpersonal computer"; 8 years on, with the advent of the Net, its pedigree is now beginning to show. Best wishes, mmalc. --
From: mmalcolm crawford <m.crawford@shef.ac.uk> Newsgroups: comp.sys.next.programmer Subject: Re: Clipping path around a rotated image from an eps file Date: 1 Mar 1997 21:20:44 GMT Organization: University of Sheffield, UK Message-ID: <5fa6jc$dci@bignews.shef.ac.uk> References: <5f2kp1$a04@ucsbuxb.ucsb.edu> In-Reply-To: <5f2kp1$a04@ucsbuxb.ucsb.edu> On 02/27/97, Lloyd Goldwasser wrote: > I'm trying to look at a rotated image from an eps file, and I'm > encountering some clipping path behavior that's puzzling (and > undesirable). > > The following > > id epsImageRep=[topImage bestRepresentation]; > > [self rotate:topAngleInDegrees]; > [epsImageRep draw]; > [self rotate:-topAngleInDegrees]; > > draws the image with the specified rotation, but, for some reason, > the clipping path doesn't seem to be aware of the rotation of this > image. The upper wedge of the rotated image lops out of its view > onto the rest of its window, which isn't, um, attractive behavior. > I'm afraid I don't quite understand your problem, so I may be way off here; is there any reason that the View should know in advance that its coordinate system will be changed so that it should allow "extra space"... Have any of the View's superclasses been sent a setClipping:NO message? Best wishes, mmalc. --
From: ericb@pobox.com (Eric Bennett) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: 1 Mar 1997 21:47:03 GMT Organization: Penn State University Sender: emb121@r02a01.cac.psu.edu. Message-ID: <5fa84n$l1a@r02n01.cac.psu.edu> References: <01bc25fa$c628b6e0$5c2168cf@test1> In article <01bc25fa$c628b6e0$5c2168cf@test1> "L. Todd Heberlein" <heberlei@NetSQ.com> writes: > Another in the "nice interview" series; this one is with Gil Amelio > (Actually, the ones with Avie and Ellen were a little better IMHO). Once > again, the Intel issue is raised, and I am further convinced that Rhapsody > will be a dual-hardware solution (only the blue box capability will be > missing from the Intel release). > > Apple Of His Eye > By Eric Nee > March 01, 1997 > > http://www.upside.com/texis/columns/qa What's with all these interviews, Apple? Stop interviewing so much and get back to work! ;-) -- Eric Bennett ( ericb@pobox.com ; http://www.pobox.com/~ericb ) I take much of what [Bill Gates] says with a grain of salt because Bill would like to be ... the center of gravity for the whole world. He's totally dedicated to his work and will do virtually anything to kill the rest of us. -Robert Allen, Chairman, AT&T
From: gupta@tlctest.mt.att.com. (Arun Gupta) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: 1 Mar 1997 22:07:50 GMT Organization: IMEMYSELF Message-ID: <5fa9bm$pv6@newsb.netnews.att.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> >> Apple Of His Eye >> By Eric Nee >> March 01, 1997 >> >> http://www.upside.com/texis/columns/qa Remember JdH gleefully (mis) quoting an article to claim that Gil Amelio said that the MacOS is a mess. Well, here is another quote : Amelio : I do not think, as good as Windows 95 is, that it's as good as System 7. There's only one real measure, and that is productivity. What you want out of an operating system is for it to be transparent. To the extent that the computer is not invisible, that you have to tend to its care and feeding, the management of it and so forth, that's a distraction from what you're trying to create. We come closer to the ideal model of making the computer more transparent than the other guy. Will we always have that advantage? I don't know. They've come a long way in the last decade. I don't think they're there yet. We have to challenge ourselves to try to keep putting some distance between us and them. End quote -arun gupta
From: dehoog@experts.com (John De Hoog) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: Sat, 01 Mar 1997 22:58:21 GMT Organization: Experts, Inc. Message-ID: <3318b3b1.259720578@library.airnews.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit gupta@tlctest.mt.att.com. (Arun Gupta) said: > >Remember JdH gleefully (mis) quoting an article to claim that >Gil Amelio said that the MacOS is a mess. Well, here is >another quote : > >Amelio : > >I do not think, as good as Windows 95 is, that it's as good as System >7. There's only one real measure, and that is productivity. What >you want out of an operating system is for it to be transparent. >To the extent that the computer is not invisible, that you have to >tend to its care and feeding, the management of it and so forth, >that's a distraction from what you're trying to create. We come closer >to the ideal model of making the computer more transparent than the >other guy. Will we always have that advantage? I don't know. They've >come a long way in the last decade. I don't think they're there yet. >We have to challenge ourselves to try to keep putting some distance >between us and them. > >End quote Who do you think has spent more time actually using both System 7 and Win95 for real work on a daily basis, Gil Amelio or John De Hoog? Gil may know the MacOS is a mess, but he doesn't grasp the depth of the mess. ------ John De Hoog, Tokyo
From: "L. Todd Heberlein" <heberlei@NetSQ.com> Newsgroups: comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 1 Mar 1997 22:11:52 GMT Organization: mother.com Internet Services Message-ID: <01bc2684$6d3fd650$552168cf@test1> References: <01bc25fa$c628b6e0$5c2168cf@test1> L. Todd Heberlein <heberlei@NetSQ.com> wrote in article > Apple Of His Eye > By Eric Nee > March 01, 1997 > > http://www.upside.com/texis/columns/qa Oops. This was supposed to go to comp.sys.next.ADVOCACY, not .programmer. Mia Culpa. Todd
From: ericb@pobox.com (Eric Bennett) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: 2 Mar 1997 00:38:08 GMT Organization: Penn State University Sender: emb121@r02a01.cac.psu.edu. Message-ID: <5fai5g$14a2@r02n01.cac.psu.edu> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> In article <3318b3b1.259720578@library.airnews.net> dehoog@experts.com (John De Hoog) writes: > Who do you think has spent more time actually using both System 7 and > Win95 for real work on a daily basis, Gil Amelio or John De Hoog? > > Gil may know the MacOS is a mess, but he doesn't grasp the depth of > the mess. Win95 is a mess too, it's just messy in different ways. It's not necessarily true that I don't grasp the messiness of MacOS or that you don't grasp the messiness off Win95; it could simply be that Win95's flaws bug me more than MacOS's flaws and the reverse is true for you. -- Eric Bennett ( ericb@pobox.com ; http://www.pobox.com/~ericb ) I take much of what [Bill Gates] says with a grain of salt because Bill would like to be ... the center of gravity for the whole world. He's totally dedicated to his work and will do virtually anything to kill the rest of us. -Robert Allen, Chairman, AT&T
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Fri, 28 Feb 1997 03:55:20 GMT Organization: InterServ News Service Message-ID: <5f5kn3$ndq@lal.interserv.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> In <<33144F92.4095@online.disney.com>>, Joseph Panico <jpanico@online.disney.com> wrote: >I have a commercial c++ framework that handles and manipulates business >objects. It passes and receives these objects in some type of container >class that comes with the framework, let's call it Array. I want to >customize the behaviour of that array with special types of sorting that >are not supported out-of-the-box. I can't subclass Array, because it's >already embedded in the framework and there are no hooks for telling the >framework classes whiich container to use. Sooo... in c++ I have to >perform the sorting external to the array. In other words, instead of [snip] >In Obj-C, I can add methods to *existing* classes without subclassing. >It's called Categories. I simply add the elementsSortedByAlpha method to >the Array class, and then: >[myArray elementsSortedByAlpha]. It's also interesting that you choose a sort algorithm in your example of where Obj-C is an improvement of C++. The essence of a sort (worse than O(n) running time, no UI, several operating specific to the object being sorted (notably comparison & copying) ) would probably mean it'll would take the nastiest hit from Obj-C's run-time ineffeciencies. OTOH, it's also a great example of the benefits of C++'s templates. Array<Thingee> MyArray; sort(MyArray.start(), MyArray.end()); "sort" is part of (soon-to-be) Standard C++ library, and is provided as a template. Which means that from just the lines I gave above, the compile will build an sort function customized to the needs of MyArray (which I've defined here as an array of Thingee's). The cool thing here is that if Thingee has on inline operator< (comparison function), and operator= (copy function) (most object have the first, many the second), the generated sort function is remarkable effeicent since it's build as if those functions were coded right there. It has been show to be up to 50% faster than C qsort() function, (which must make a call through a function pointer for comparisons, and use memcpy() for copies). Since Obj-C's function calls are even more costly, the difference here between C++ and Obj-C could probably be a full order of magnitute. Truth, James
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Avie confirms Rhapsody on Intel too. Date: Fri, 28 Feb 1997 04:20:12 GMT Organization: InterServ News Service Message-ID: <5f5m5n$nvv@lal.interserv.com> References: <al.856919430@BIX.com> <nagleE66yn1.KA@netcom.com> <3313c6ab.20970787@news.alt.net> <petrichE67wqo.LA8@netcom.com> <maury-2602971618300001@199.166.204.230> <5f2avt$fge$2@news.xmission.com> In <<5f2avt$fge$2@news.xmission.com>>, don@globalobjects.com (Don Yacktman) wrote: >Of course, InterfaeBuilder is allowing, via the connection mechanism, the >editing of the selector and target instance variables. Because selectors are >based on hashed unique strings within the runtime, it is possible to assign >selectors to the button objects even if there is currently no object in the >runtime that responds to that particular selector! This is what allows you >to short-circuit the compile process with InterfaceBuilder. By "short-circuit the compile process" you mean "delay until run-time" which mean instead of waiting just once, you have to wait for this process to be done every time you run it. >It also becomes incredibly useful when loading bundles, etc. The button >class doesn't have to know *anything* at all about the target in order to >send the message, and you can configure it to send any sort of message >whatsoever. The only real way to approach this sort of ability in C++ is to >either add your own runtime to it or use the Command pattern (which requires >compilation of a special class for nearly every selector / target pair you >plan to use). But that ability is rarely needed in real world applications. In almost all real cases, your button class would know, within a limited range, what kinds of targets it will be sending messages to. And that can be handled in C++ with virtual functions through a common base class. Truth, James
From: markeaton_@_mindspring_._com (Mark Eaton) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sat, 01 Mar 1997 19:53:19 -0800 Organization: MindSpring Enterprises Message-ID: <markeaton_-0103971953190001@ip73.santa-clara7.ca.pub-ip.psi.net> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> In article <5f5kn3$ndq@lal.interserv.com>, JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > In <<33144F92.4095@online.disney.com>>, > Joseph Panico <jpanico@online.disney.com> wrote: > >In Obj-C, I can add methods to *existing* classes without subclassing. > >It's called Categories. I simply add the elementsSortedByAlpha method to > >the Array class, and then: > > >[myArray elementsSortedByAlpha]. > > > It's also interesting that you choose a sort algorithm in your example > of where Obj-C is an improvement of C++. The essence of a sort (worse > than O(n) running time, no UI, several operating specific to the > object being sorted (notably comparison & copying) ) would probably > mean it'll would take the nastiest hit from Obj-C's run-time > ineffeciencies. OTOH, it's also a great example of the benefits of > C++'s templates. You went off on a tangent to the original issue. ObjC is dynamic, C++ is static. The algorithm is irrelavent. If you have a on object in ObjC that doesn't implement a necessary method, you can easily add one with a Category - even without source code. In C++ you are SOL. > > Array<Thingee> MyArray; > > sort(MyArray.start(), MyArray.end()); > > "sort" is part of (soon-to-be) Standard C++ library, and is provided > as a template. Which means that from just the lines I gave above, the > compile will build an sort function customized to the needs of MyArray It will not be customized. It will create a copy of the sort function which uses appropriately typed interfaces. No other optimization occurs. > (which I've defined here as an array of Thingee's). The cool thing > here is that if Thingee has on inline operator< (comparison function), > and operator= (copy function) (most object have the first, many the > second), the generated sort function is remarkable effeicent since and if it doesn't? And you don't have the source code? Or if you aren't sure it implements operator= and you just call it anyway (the compiler will automatically generate a bitwise copy, hope your class didn't contain any pointers!) > it's build as if those functions were coded right there. It has been > show to be up to 50% faster than C qsort() function, (which must make > a call through a function pointer for comparisons, and use memcpy() > for copies). Since Obj-C's function calls are even more costly, the > difference here between C++ and Obj-C could probably be a full order > of magnitute. Code that truly is speed sensitive should not be written in either. If you are willing to pay an abstraction penalty, ObjC (or more specifically a dynamic runtime) is better. Not to mention the fact that since templates and template functions generate an entire copy of the class or function each time you use it, code bloat goes way up. So in a real life application liberal use of templates will probably backfire due to cache overflow and excessive VM paging. I'm agnostic on the language issue, but templates are an evil abomination. -Mark ---> markeaton_@_mindspring_._com
From: apuleius@ix.netcom.com (William Grosso) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sun, 02 Mar 1997 05:16:09 GMT Organization: Netcom Message-ID: <33190835.19824536@nntp.ix.netcom.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> On Fri, 28 Feb 1997 03:55:20 GMT, JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > > It's also interesting that you choose a sort algorithm in your example >of where Obj-C is an improvement of C++ > Interesting example of cluelessness. The use of sorting was *incidental* to the main point. >[discussion of speed differences omitted] Let's make this clear. C++ can make method invocations faster. Compile-time binding buys you that one and NOBODY denies it (or, at the very least, nobody competent denies it). So, in any serious discussion of language benefits, we can acknowledge that one and move on. Because, really, it's irrelevant. Because it's *local* optimization. And bad performance, in almost every piece of code I've ever seen, has been an *achitectural* issue. And it's at the architectural level that Objective-C is almost obscenely beautiful. It's a language that supports programmers over an application lifecycle. In a recent paper (_Acyclic Visitor_), Robert Martin (editor of C++ Report), said the following: "When recompiles take too much time, developers begin to take shortcuts. They may hack a change in the 'wrong' place, rather than engineer a change in the right place; simply because the 'right' place will force a huge recompilation." [NB: he's arguing that dynamic_cast<>, a dynamic extension to C++, is a good thing]. I would take his argument a step further. We need to to make refactoring, restructuring, and extending classes as painless as possible. Otherwise, over the course of an application's lifetime, large-scale crap is going to happen and --guess what-- all the local optimizations in the world won't prevent the program from flat out sucking. And, to quote RM again (he's not an idol of mine, but quoting the editor of C++ Report seems tactically sound) "Our goal is to build software that is easy to maintain. That is easily changeable. That does not cause lots of rework when simple changes are made." Rephrased: "Our goal is to support the programmer." Does C++ support the programmer at all ? Of course not. It wasn't a goal of Stroustrup's (cf: _The Design and Evolution of C++_, section 1.1 and chapter 2) and it hasn't been a major concern of the ANSI committee. Objective-C, while far from perfect, makes for much more habitable code. Cheers, Andy
From: mmalcolm crawford <m.crawford@shef.ac.uk> Newsgroups: comp.sys.next.programmer Subject: Re: C++ or JAVA which is best??? Date: 2 Mar 1997 10:50:21 GMT Organization: University of Sheffield, UK Message-ID: <5fbm1d$18s@bignews.shef.ac.uk> References: <331ad8fe.1061430@news.nai.net> <33149E1A.6D4A@wam.umd.edu> In-Reply-To: <33149E1A.6D4A@wam.umd.edu> On 02/26/97, "Jeffrey S. Dutky" wrote: > As a student in computer science myself I would suggest that you learn > C++ first. I am not saying that C++ is better than Java (or, since you > have posted to a NeXT programming group, Objective-C) but that, as a > student, you will find that C++ is the language of choice for most > courses in colleges today. > I think you'll find that many colleges and Universities are now seriously evaluating Java as an alternative to C as a teaching language -- C is particularly poor as a first language as it does little or nothing to encourage good programming style, and has a number of "complications" which tend to confuse newcomers (pointers...). > What it all comes down to, for me, is that > the school I attend requires that I learn C++ in order to get the > degree. > A shame, really, that most schools seem to be swayed by market forces -- as I suggested above, C/C++ really is an unpleasant way to introduce students to programming; there is a good argument that schools should use the best language available to teach relevant aspects of computer science which will stand them in good stead whatever environment they use thereafter. > Further, almost all universities and junior colleges offer > courses in C++ but very few offer courses in Java or Objective-C. > As a student you will find it very easy to enrol in a course on C++ > while finding courses on the other languages will be much harder. > This is *not* an argument for not trying -- this is a poor attitude, I'm afraid. Best wishes, mmalc. --
From: mmalcolm crawford <m.crawford@shef.ac.uk> Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: 2 Mar 1997 10:53:44 GMT Organization: University of Sheffield, UK Message-ID: <5fbm7o$18u@bignews.shef.ac.uk> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> In-Reply-To: <3318b3b1.259720578@library.airnews.net> On 03/01/97, John De Hoog wrote: > Who do you think has spent more time actually using both System 7 and > Win95 for real work on a daily basis, Gil Amelio or John De Hoog? > Umm, who cares? > Gil may know the MacOS is a mess, but he doesn't grasp the depth of > the mess. > I think he does -- that's why he took the extreme measure of buying NeXT. Which leapfrogs the competition. Unless you 'd like to argue that Win95 or WinNT are better than OpenStep/Mach?! Best wishes, mmalc. --
From: dehoog@experts.com (John De Hoog) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: Sun, 02 Mar 1997 11:41:35 GMT Organization: Experts, Inc. Message-ID: <331b6372.304713214@library.airnews.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit mmalcolm crawford <m.crawford@shef.ac.uk> said: >On 03/01/97, John De Hoog wrote: >> Who do you think has spent more time actually using both System 7 and >> Win95 for real work on a daily basis, Gil Amelio or John De Hoog? >> >Umm, who cares? > >> Gil may know the MacOS is a mess, but he doesn't grasp the depth of >> the mess. >> >I think he does -- that's why he took the extreme measure of buying NeXT. >Which leapfrogs the competition. Unless you 'd like to argue that Win95 or >WinNT are better than OpenStep/Mach?! Gil was not talking about OpenStep/Mach, but about the present Mac system. I am not prepared to argue that Win95 is technically superior to OpenStep, but they don't even serve the same audience. I will argue that Win95 has tons more applications for the average end user (as opposed to developers), and that WinNT not only has more application support but is technically on a level that can compete with most Unix-based systems out there, including NeXTStep. (Rhapsody doesn't exist, so we'll have to wait until it does and until it has a full stable of applications before we can talk about its merits.) The original question was about productivity. It would be pretty hard for anyone but a developer or a vertical-application user to be very productive on today's NeXT system, in today's application context. Some time ago I asked a question in the next.advocacy group about everyday-use applications available for NeXTStep, and it turned out there were precious few of the kind I have grown used to on Windows. In particular, there were few applications geared to people using a dial-up Internet account. It seems the typical NeXTStep user works in an environment with a dedicated network connection. There are apparently no offline Web browsers like Tierra Highlights, no good offline news readers like Forte Agent, and no email clients of the caliber of Becky! Internet Mail 1.20. The equivalent of Office 97 for NeXT does not exist. You can talk all you want about technical superiority, but productivity requires applications first of all. And you can talk all you want about how easy it is to develop applications on NeXTStep, but as far as I know, developers develop applications not for other developers, but for end users. The more the better. So if end users don't adopt a system, it doesn't grow. Period. ------ John De Hoog, Tokyo
From: Diana McPartlin <dlm@hknet.com> Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: Sun, 02 Mar 1997 20:17:49 +0000 Organization: HKNet Co Ltd. Message-ID: <3319E057.181F@hknet.com> References: <msg37701.thr-34dc7b90.54c5638@flannet.middlebury.edu> <5evgk9$7m4@news.next.com> <qdiv3f2b7i.fsf@blues.cygnus.com> <1997022812133841029741@pool011-107.innet.be> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Luc Dubois wrote: > > This is still going to confuse the market (simple folks like current > Macintosh users/developers, but especially Fortune Magazine editors, > Wall Street Journal reporters... I'm still confused. This is how I understand it so far: OpenStep is a set of APIs (application programming interfaces) this means it is a standard or set of specifications upon which OSs and applications can be developed. OPENSTEP is an implementation of the OpenStep standard. We have OPENSTEP for Mach and OPENSTEP for Windows NT. So OPENSTEP is a framework that looks like an OS, but which is actually an implementation of OpenStep API on top of other OSs (even though Mach isn't exactly an OS but let's just say it is to avoid getting even more complicated). NeXTSTEP, NextStep, NEXTSTEP etc are all versions of the same thing and I will hereafter refer to them all as NEXTSTEP. NEXTSTEP was orignally a set of APIs similar to OpenStep and which preceded OpenStep. At first these APIs could be run on non-NeXT machines (I don't understand if it was an OS at this point or not). After NEXTSTEP 2.0 it was an OS as well as a set of APIs and it only ran on NeXT computers until version 3.1. After 3.1 it was adapted to run on Mach OS. At this point it wasn't the same as OPENSTEP for Mach (but I have no idea what the difference was). Then NeXT decided to dump the name NEXTSTEP altogether. NEXTSTEP and OPENSTEP were then merged and what would have been NEXTSTEP 4.0 - was named OPENSTEP 4.0 and was now an OS that could run both on Next machines and on top of other OSs (esp Windows NT and Mach). I know this isn't right probably because I'm confused about some basic terms. Could someone plese explain it to me like I'm a Fortune Magazine editor. Diana
From: don@globalobjects.com (Don Yacktman) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Avie confirms Rhapsody on Intel too. Date: 2 Mar 1997 10:39:05 GMT Organization: Global Objects Inc. Message-ID: <5fblc9$31e$2@news.xmission.com> References: <al.856919430@BIX.com> <nagleE66yn1.KA@netcom.com> <3313c6ab.20970787@news.alt.net> <petrichE67wqo.LA8@netcom.com> <maury-2602971618300001@199.166.204.230> <5f2avt$fge$2@news.xmission.com> <5f5m5n$nvv@lal.interserv.com> JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > In <<5f2avt$fge$2@news.xmission.com>>, > don@globalobjects.com (Don Yacktman) wrote: > > >Of course, InterfaeBuilder is allowing, via the connection > >mechanism, the editing of the selector and target instance > >variables. Because selectors are based on hashed unique > >strings within the runtime, it is possible to assign selectors > >to the button objects even if there is currently no object in > >the runtime that responds to that particular selector! This > >is what allows you to short-circuit the compile process with > >InterfaceBuilder. > > By "short-circuit the compile process" you mean "delay > until run-time" which means instead of waiting just once, you > have to wait for this process to be done every time you run it. Um, the "wait" is on the order of microseconds...if not nanoseconds. It isn't like you are recompiling or anything. You're assigning two pointers, one for the target object and one for the message to send. Even in C++ you're going to have to at least assign a pointer to the target. If you use the command pattern, you have to instantiate an object that in Objective-C would be redundant. And part of the point is that IB, rather than spitting out source files that need to be rebuilt (as do most visual environments) is simply assembling generic objects at runtime, no code compiling is involved at any point of the process. The advantages to the developer--modification and removal of the compile-test-debug cycle--pay off big. IMHO this is a very valuable trade. You really have to use it to understand just how big of a win this really is. My main point, though, is that it is possible to construct messages on the fly, enabling you to construct interfaces that send messages which didn't exist when InterfaceBuilder was originally compiled. No big deal for a code generator that is just spitting out strings into code templates, but it is a big deal for an object editor which is actually manipulating _live_ objects. When you load a palette into InterfaceBuilder, you're adding new, live, objects to the system, plus new possible messages. Objective-C makes this easy to do. And since programs built with IB are also in Objective-C, they can exhibit the same flexibility. You could actually create a message and send it, based upon a method name typed in by a user--even if the method exists in a late-linked bundle loaded after the app started and never existed when the app was compiled. Why you'd do this, I don't know, but I have seen it done. I guess one example could be in building a "math interpreter". The user types in "sin" and instead of having to parse and interpret the string, you send it to the runtime and ask it to perform the -sin: method. Do you realize how _easy_ it makes it to write an interpreter? To catch syntax errors, you just trap the exception of an unrecognized message and you're done. And the beauty is that your interpreter could understand new commands that you loaded in a bundle containing an Objective-C category and you wouldn't have to modify the parser at all to deal with it...meaning that without any particular effort on the part of the parser's programmer, an extensible parser has been created. And the person extending the parser doesn't need to understand much about how the parser works, and they don't have to register new commands or anything. Build it, load it, and go. Nice and easy. But in a similar vein--this is a real application--I created a template merging technology which is dynamically extensible. To make an extension, you compile a class with a specific name and link it into the program--at compile time, or later via a bundle. You do NOT have to register it or anything--just write the class and link it in. When the user uses the merge command, the Objective-C runtime will find the class and use it automatically. For a developer using my engine, that automation means that it is easier to work with, which in turns means less code to write, which means shorter development cycles and fewer bugs. Given what programmer time is worth these days, a few "small" wins like this and you've paid for the NeXT tools many times over in increased productivity. (Note that this merge language interpreter, unlike the math one above, allows for commands with a variable syntax, so the Strategy pattern is being used in place of Command.) > >It also becomes incredibly useful when loading bundles, etc. The button > >class doesn't have to know *anything* at all about the target in order to > >send the message, and you can configure it to send any sort of message > >whatsoever. The only real way to approach this sort of ability in C++ is > >to either add your own runtime to it or use the Command pattern (which > >requires compilation of a special class for nearly every selector / > >target pair you plan to use). [Note: usually your visual tool would do this automatically for you, but the fact remains that you have the overhead of another class in the program...an overhead that is better placed into a runtime, since a runtime would actually be more efficient in this case.] > But that ability is rarely needed in real world applications. As long as they don't use a GUI, I agree. With GUIs, flexibility is paramount. It's like a guy who has been living in a strait jacket all his life and is getting along fine. You tell him about how if he leaves the jacket he can move his arms and legs. He says, "I'm doing fine, so why would I possibly want to do that?" You and I know that moving our arms and legs is a freedom that we don't want to give up. It allows us to do a lot of things the guy in the jacket can't do, and it lets us do a lot of things with much less fuss. But to someone who has NEVER experienced that freedom, it is nigh unto impossible to convince them that the freedom is worthwhile. With the freedom comes dangers, too. Every time you take a step, you could do something like step off a cliff and kill yourself. Obviously, we don't make a habit of such practice, but the guy in the strait jacket can't understand why on earth anyone would want to risk falling off a cliff when they can stay safe inside the jacket. Yet, to us, the danger is minor because we, by convention, don't walk off cliffs. Well, when I am doing GUI programming--and I've done a lot of it--and I go from Objective-C to C++, I find that it is like forcing me to sit on my hands. I can get by, but I'm not going to like the loss of freedom. But it is difficult at best to explain why I feel that way because unless you have actually used Objective-C and IB enough, you don't have the necessary experience to understand what on earth I'm talking about. It's like me trying to explain how salt tastes to someone who has never tasted it. > In > almost all real cases, your button class would know, within a limited > range, what kinds of targets it will be sending messages to. And that > can be handled in C++ with virtual functions through a common base > class. But that means that if your target wants to be a target for multiple objects, it must inherit multiple interfaces. That is a gross misuse of inheritance and leads to some of the most garbled class "hierarchies" I've ever seen. Also, the flexibility of target/action means that the message sent to the target can change (ie, which method gets called is alterable). Believe me, this flexibility can be used to very good effect. One example is simply that the interface internals are "self documenting". When you inspect an InterfaceBuilder connection, there is typically no question what it is doing. An oversimplified example would be sending -cut: and -paste messages to different objects instead of a -genericPerform: message to both--in which case the target would have to look at the sender in order to determine what is supposed to be done. If you use the command pattern, you are adding the instantiation of an extra object to provide exactly this flexibility. The setup/overhad is _more_ than what it would be in Objective-C. Enough more that it would probably allow Objective-C to be faster than C++ in this case. Also, the "Objective-C way" makes it easier to decouple the interface from the underlying code since neither has to know anything special about the other. You don't have to check to see which button sent the message to know what to do, for example. (Sometimes Obj-C programmers do this, though. Not the best design since it introduces extra coupling between the interface and the underlying objects, something which usually you want to avoid.) I have yet to see anything for C++ or Java that even approaches what InterfaceBuilder can do. In Java, at least, it would be possible to create something like IB. In C++, you can only create a "Cargo Cult" emulation that is the "same" in appearance only, and not function. (By the way, I believe C++ has its uses, but frankly, Objective-C and InterfaceBuilder have a HUGE advantage when it comes to interfaces and GUIs. C++ is better suited to tight computational engines, for example. Mixing both languages can be a very effective way to build a system. Like using hammers and screwdrivers--you can use a hammer to drive a screw, but the screwdriver gives a more elegant result. In this case, C++ is the hammer, Objective-C the screwdriver, and GUIs are screws. OK, crappy analogy, but you get the idea...) Oh, and while we're at it, it should be noted that IB and WebObjects Builder are an interesting duo because you can use the same underlying application objects and then use each respective tool to generate interfaces, and you end up writing applications which can use the same object model in both the native and web version. Sure, you can do it in C++ or other languages, but can it be done so easily? I have yet to see a competiting technology that is both as powerful and as easy to use. -- Later, -Don Yacktman don@misckit.com <a href="http://www.misckit.com/don.html">My home page</a>
From: don@globalobjects.com (Don Yacktman) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 2 Mar 1997 10:44:50 GMT Organization: Global Objects Inc. Message-ID: <5fbln2$31e$3@news.xmission.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > >In Obj-C, I can add methods to *existing* classes without subclassing. > >It's called Categories. I simply add the elementsSortedByAlpha method to > >the Array class, and then: > > >[myArray elementsSortedByAlpha]. > > > It's also interesting that you choose a sort algorithm in your example > of where Obj-C is an improvement of C++. The essence of a sort [...] > would probably mean it'll would take the nastiest hit from Obj-C's > run-time ineffeciencies. [...]. > [...C++ sorting...] It has been > show to be up to 50% faster than C qsort() function, (which must make > a call through a function pointer for comparisons, and use memcpy() > for copies). Since Obj-C's function calls are even more costly, the > difference here between C++ and Obj-C could probably be a full order > of magnitute. This would only be true if the Objective-C programmer were an idiot. You use the runtime to attach the custom sort method to the object and then you write your sorting algorithm in a way which bypasses the runtime (trivial to do--search Dejanews for examples). The only time you have to take a runtime hit is the initial call to the sort function, which is probably only called once. Let the runtime do the flexible binding and then optimize your internal code, and you can actually do quite well. At least as good as qsort, anyway... and maybe better if you're clever. -- Later, -Don Yacktman don@misckit.com <a href="http://www.misckit.com/don.html">My home page</a>
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: Sun, 2 Mar 1997 11:37:12 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> In-Reply-To: <331b6372.304713214@library.airnews.net> Excerpts from netnews.comp.sys.next.programmer: 2-Mar-97 Re: Nice interview with Amelio by John De Hoog@experts.com > The original question was about productivity. It would be pretty hard > for anyone but a developer or a vertical-application user to be very > productive on today's NeXT system, in today's application context. That's demonstrably untrue. There are people who are perfectly happy and productive using NEXTSTEP who are not developers and who are not vertical-market customers running MCCA apps. > Some time ago I asked a question in the next.advocacy group about > everyday-use applications available for NeXTStep, and it turned out > there were precious few of the kind I have grown used to on Windows. You're right. There are fewer applications available, but they tend to work better and interoperate better than what you get with other systems. > In particular, there were few applications geared to people using a > dial-up Internet account. It seems the typical NeXTStep user works in > an environment with a dedicated network connection. That's a reasonable generalization-- NeXT's primary market involved corperate clients with their own networks. Dial-up users represent(ed) a small portion of the total user population. > There are apparently no offline Web browsers like Tierra Highlights, An "offline Web browser" is an oxymoron. It's also IMHO a really stupid idea, and the lack of such is no loss. However, if you really want to browse while your network connection is down, you could set up a Harvest web cache and point your local web browser to use that as it's proxy. > no offline news readers like Forte Agent, You can read news offline easily enough by setting up a local caching newsserver. There's a precompiled "PersonalINN" package on the NeXT FTP archives which will let you read news offline. > and no email clients of the caliber of Becky! Internet Mail 1.20. Never heard of it. Most people seem pretty happy with Mail.app, but there are other GUI news/mail readers available, like Eloquent. What did you want to do with email that Mail.app is inadequate for? > The equivalent of Office 97 for NeXT does not exist. Sure it does. Lighthouse offers an office suite and a whole range of productivity applications-- Diagram, Concurrence, OmniWeb, OmniWrite, Quantrix, WetPaint, TaskMaster, etc. . -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: "Lawson English" <english@primenet.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Avie confirms Rhapsody on Intel too. Date: 2 Mar 1997 10:38:07 -0700 Organization: Primenet Services for the Internet Message-ID: <AF3F0CAB-20EB4@198.68.42.199> References: <5fblc9$31e$2@news.xmission.com> nntp://news.primenet.com/comp.sys.next.programmer Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Don Yacktman <don@globalobjects.com> said: [snipt] >And part of the point is that IB, rather than spitting out source files that >need to be rebuilt (as do most visual environments) is simply assembling >generic objects at runtime, no code compiling is involved at any point of the >process. The advantages to the developer--modification and removal of the >compile-test-debug cycle--pay off big. IMHO this is a very valuable trade. >You really have to use it to understand just how big of a win this really is. > TCL, MacApp and PowerPlant all have visual GUI applications/utilities that produce template resources that contain no code, but merely allow the respective OOP frameworks to parse those resources for instructions on what GUI elements to load and what parameters to give them. While not as elegant as IB's solution, you could tweak the GUI using the original template builder, even if you had no source code, as long as you didn't delete elements but merely substituted other elements with the same functionality available. [snipt] >But that means that if your target wants to be a target for multiple >objects, it must inherit multiple interfaces. That is a gross >misuse of inheritance and leads to some of the most garbled class >"hierarchies" I've ever seen. > Does it? Greg Dow implemented both the TCL and PowerPlant frameworks (version 1 and version 2, as it were). He's gotten recognition in _Design Patterns_ for his work, and he doesn't have to do this. For that matter, a "universal" message passing routine involves passing an *object* to the target, and the object methods are evoked to handle the details of what message is being passed. >Also, the flexibility of target/action means that the message sent >to the target can change (ie, which method gets called is alterable). >Believe me, this flexibility can be used to very good effect. One >example is simply that the interface internals are "self documenting". >When you inspect an InterfaceBuilder connection, there is typically >no question what it is doing. > That's possible using both the "universal" messaging passing scheme and the scheme used in PowerPlant. Again, neither is as easy as nore as efficient as what Obj-C appears to be doing, but it is certainly doable using other OOP languages, including C++. --------------------------------------------------- "Without a new GUI that is as innovative and ground-breaking as the original was in its time, the Macintosh will cease to matter, and we should all go home." -Me ---------------------------------------------------
From: s0wwchin@atlas.vcu.edu (Weiyuan W Chin) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: 2 Mar 1997 12:31:51 -0500 Organization: Virginia Commonwealth University Distribution: world Message-ID: <5fcdi7$3oes@atlas.vcu.edu> References: <msg37701.thr-34dc7b90.54c5638@flannet.middlebury.edu> <5evgk9$7m4@news.next.com> <qdiv3f2b7i.fsf@blues.cygnus.com> Stephen Peters <speters@cygnus.com> writes: >MaRK_BeSSeY@NeXT.CoM (Mark Bessey) writes: >> OPENSTEP (all caps) is Apple's name for their implementation of the >> OpenStep specification. More specifically, Apple sells: >> OPENSTEP for Mach >> OPENSTEP Enterprise for Windows NT >> Which both implement the OpenStep API on different operating systems. >> OPENSTEP for Mach also includes our Mach operating system for NeXT >> computers, Intel PC's, and Sparc workstations. >Once upon a time, NeXT had a problem with capitalization. They had >one product, which was spelled, at various times from various sources, >NeXTSTEP, NextStep, NeXTstep, Nextstep, NEXTSTEP, and I'm sure others >that I've missed. This generated a small amount of confusion, but >luckily you always knew what people were talking about, since it was >all the same thing. Various degrees of shouting... Nextstep -> NextStep -> NeXTstep -> NeXTSTEP -> NEXTSTEP. And you'd think that the industry would finally know what NeXT was. :-) Personally, I've always been partial to NeXTstep, which is exactly what Rhapsody is to Mac users (the next step). ..Bill Chin s0wwchin@atlas.vcu.edu
From: Joseph Panico <jpanico@online.disney.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sun, 02 Mar 1997 15:01:59 -0500 Organization: Disney Online Message-ID: <3319DCB7.6821@online.disney.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <markeaton_-0103971953190001@ip73.santa-clara7.ca.pub-ip.psi.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mark Eaton wrote: In article <5f5kn3$ndq@lal.interserv.com>, JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > In <<33144F92.4095@online.disney.com>>, > Joseph Panico <jpanico@online.disney.com> wrote: > >In Obj-C, I can add methods to *existing* classes without subclassing. > >It's called Categories. I simply add the elementsSortedByAlpha method to > >the Array class, and then: > > >[myArray elementsSortedByAlpha]. > > > It's also interesting that you choose a sort algorithm in your example > of where Obj-C is an improvement of C++. The essence of a sort (worse > than O(n) running time, no UI, several operating specific to the > object being sorted (notably comparison & copying) ) would probably > mean it'll would take the nastiest hit from Obj-C's run-time > ineffeciencies. OTOH, it's also a great example of the benefits of > C++'s templates. Apparently, choosing a sort method to illustrate my point was a little unfortunate, as it allowed some people to focus on the wrong thing. The point has nothing to do with implementation-- the point was *design*. Incidentally, in Obj-C I could write the actual sort implementation in c or even assembler, if I were worried about performance, so the idea that you must take a hit using Obj-C is bogus. The biggest problem with business applications (short of olap or modelling) is definitely not performance. The biggest issue is manageability, specifically managing complexity. That's what OOP is all about-- providing mechanisms for managing complexity. That's why design is so important. Business programmers dont' spend most of their timke optimizing loops. They spend most of their time trying to figure out where the code for such-and-such is, or what the hell the person who came before them was thinking. That's where the big hit comes from. -- Joe Panico Disney Online jpanico@online.disney.com
From: klui@cup.hp.com (Ken Lui) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 2 Mar 1997 21:04:30 GMT Organization: Hewlett-Packard Company Message-ID: <5fcq0u$5ih@hpax.cup.hp.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> In article <Yn6Omsi00iWm03O_o0@andrew.cmu.edu>, Charles William Swiger <cs4w+@andrew.cmu.edu> wrote: >An "offline Web browser" is an oxymoron. It's also IMHO a really stupid >idea, and the lack of such is no loss. I believe this concept is carried over from BBS/Fidonet days where people don't want to rack up connect time charges/limits imposed by the phone company or the BBS service. Personally, I feel it's not very effective--i.e. why do online stuff offline. There are definitely a lot of people using offline browsers, readers, etc; but one may as well subscribe to digest mailing lists instead. In the past, I've tried these offline readers, and it just doesn't feel right to me. Interaction isn't very good, especially if a thread is very active. By the time one has uploaded his response, there could be many others that make it irrelevant. So, there's more potential for more wasted bandwidth. Great for lurkers, but like I said, a digest mailing list is much more effective in this regard. Offline apps will go by the wayside within 5 years. Heck, I don't even use my serial ports anymore. Using a router/bridge at home will be the way to go, if not already. As for other apps, all I can say is with all the choices Windows has, how many people exercise those choices? Well, there are many word processors; but when it really comes down to it, people choose from maybe 3 or 4. All other choices are like noise. Ken -- Ken Lui, klui@cup.hp.com 19111 Pruneridge Avenue General Systems Division Cupertino, CA 95014-0795 USA Open/Intelligent Warehouse Team 1.408.447.3230 FAX 1.408.447.7200
From: don@globalobjects.com (Don Yacktman) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Avie confirms Rhapsody on Intel too. Date: 2 Mar 1997 22:34:23 GMT Organization: Global Objects Inc. Message-ID: <5fcv9f$c80$1@news.xmission.com> References: <5fblc9$31e$2@news.xmission.com> <AF3F0CAB-20EB4@198.68.42.199> "Lawson English" <english@primenet.com> wrote: > TCL, MacApp and PowerPlant all have visual GUI applications/utilities that > produce template resources that contain no code, but merely allow the > respective OOP frameworks to parse those resources for instructions on what > GUI elements to load and what parameters to give them. While not as elegant > as IB's solution, you could tweak the GUI using the original template > builder, even if you had no source code, as long as you didn't delete > elements but merely substituted other elements with the same functionality > available. > [snipt] Point being that IB is still more flexible in that you can add and delete components at will as well as modify them. I'm not trying to tear down these other tools--they are good for what they do--but IB is an improvement. I think it is interesting to realize that all these tools are newer than IB and yet they still aren't quite as powerful. That's a tribute to OBjective-C because the people writing these new tools are very clever. And they've done some things very well--there's a few lessons that IMHO NeXT could learn to improve IB. IB isn't perfect, you know. :-) > >But that means that if your target wants to be a target for multiple > >objects, it must inherit multiple interfaces. That is a gross > >misuse of inheritance and leads to some of the most garbled class > >"hierarchies" I've ever seen. > > Does it? Greg Dow implemented both the TCL and PowerPlant frameworks > (version 1 and version 2, as it were). He's gotten recognition in _Design > Patterns_ for his work, and he doesn't have to do this. > > For that matter, a "universal" message passing routine involves passing an > *object* to the target, and the object methods are evoked to handle the > details of what message is being passed. The trouble is that you have that extra object. I understand what they are doing. While clever, I don't find it to be the most elegant solution to the problem. > That's possible using both the "universal" messaging passing scheme and the > scheme used in PowerPlant. Again, neither is as easy as nore as efficient > as what Obj-C appears to be doing, but it is certainly doable using other > OOP languages, including C++. Sure--they're both Turing complete, so you can do anything in either one. The question is which one is more convenient to use as a developer? I've found that to do GUIs in C++ you have to build up extra code to simulate the runtime built into Obj-C, so there's extra work and complexity. Which is why I still hold that C++ is NOT the right tool to use for building GUIs. Just like I don't think Objective-C is currently the best tool for building tight computational cores (3D rendering, complex math, etc. all do better written in C++, from what I've seen), due to overhead constraints. In a GUI the convenience vs. overhead swings hard toward favoring Objective-C, especially when a tool like InterfaceBuilder is available. A good developer will look for the strengths in the tools available and apply the right tool for each job--and which one is "right" whill change depending upon the task at hand (as well as the developer's experience, oopinion, and comfort level with the tools). -- Later, -Don Yacktman don@misckit.com <a href="http://www.misckit.com/don.html">My home page</a>
From: Ian Joyner <i.joyner@acm.org> Newsgroups: comp.sys.mac.system,comp.sys.next.programmer,comp.sys.mac.programmer.codewarrior,comp.sys.mac.oop.powerplant,comp.sys.mac.programmer Subject: Re: Mac/NeXT & Unix: You're all NUTS! Date: Mon, 03 Mar 1997 09:18:43 +1000 Organization: Unisys Message-ID: <331A0AD3.A0D@acm.org> References: <5d8qta$6np@news.bu.edu> <33138B25.B5F@acm.org> <Mn4w7wm00iVCIHHMVm@andrew.cmu.edu> <3314AD68.5B51@acm.org> <5f27sj$3ub@sps1.phys.vt.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Nathan Urban wrote: > No, the main reason is that your original suggestion was moronic. Let's be scientific about this: that is see if the theory makes sense, and then if observations done in experiments support the theory. (Order of presentation is from more general to more specific). 1) OBSERVATIONS: are based on a real OS - it works! 2) Applications programming and maintenance is greatly simplified, reducing cost, the whole point of software engineering research. 3) OBSERVATION: operations interface is consistent making operations considerably easier. Operators know what to do, even if they are not familiar with an application. Another observation is that in fact you need less operators to run these systems. Well running systems are coded and tested for a minimum of operator intervention. 4) DEADLOCK: THEORY: Definition of deadlock from Tanenbaum "Modern Operating Systems" Prentice Hall 1992: "A set of processes is deadlocked if each process in the set is waiting for an event that only another process in the set can cause." Further both Tanenbaum and Lister and Eager in "Fundamentals of Operating Systems" Macmillan Press 1993 quote Coffman, Elphick and Shoshani "System Deadlocks" Computing Surveys vol 3 June 1971, which showed (in the words of Tanenbaum): "Four conditions must hold for there to be a deadlock: 1. Mutual exclusion condition. Each resource is either currently assigned to exactly one process or is available. 2. Hold and wait condition. Processes currently holding resources granted earlier can request new resources. 3. No preemption condition. Resources previously granted cannot be forcibly taken away from a process. They must be explicitly released by the process holding them. 4. Circular wait condition. There must be a circular chain of two or more processes each of which is waiting for a resource held by the next member of the chain. All of these conditions must be present for a deadlock to occur. If one of them is absent, no deadlock is possible." THEORY: Number 4 cannot occur, as there is no circular wait condition that can occur in what I suggested. OBSERVATION: The real systems that have this feature do not deadlock on these conditions. THEORY: From Tanenbaum's first definition that the processes must be in a set mutually waiting on events from other processes in the set, the process controlling the resource cannot be in the set of application processes, as it is at the system level, not the application level. Hence deadlock is in fact LESS likely! OBSERVATION: The real systems that have this feature do not deadlock on these conditions. THEORY: Deadlock is only possible because of concurrency. 5) CONCURRENCY: THEORY: processes can run until some resource they depend on is not available because it is locked, eg., being produced by another process. In general, it is undesirable for concurrent operations to be non-deterministic. OBSERVATION: On observed systems, processes waiting on coarse grained system level resources such as files, memory, etc., enter the "Waiting Entries" list. This is managed by the OS process scheduler. The process scheduler will move processes from the waiting entries list to the ready queue when the waited on resource becomes available, without operator intervention. For the resource to become available might require operator intervention, but it could also be automatic from some other process. As in any automatic system, potential for deadlock exists, so processes must be carefully coded to not form dependency cycles, but only dependency trees. However, this can occur in any system and is independent of the original suggestion, where management of the resources is moved out of the application process set. Hence, deadlock is less likely, where the system is partitioned into levels, where the lower levels (system levels) do not form cyclic dependencies back on the higher levels (application levels). This is coarse grained concurrency, but concurrency in general should not be explicitly coded into applications. 6) RELIABILITY: THEORY: Reliability is the combination of correctness and robustness. 7) CORRECTNESS: THEORY: "Correctness is the ability of software products to exactly perform their tasks, as defined by the requirements and the specification." Bertrand Meyer Object-Oriented Software Construction (first edition) (2nd edition will be available any time now.) OBSERVATION: The larger and more complex an application is, the more likely it is to fail the correctness criteria. Having applications programmers code for a plethora of exceptions that they should not have to worry about, because they belong to the environment, increases the risk that failure will occur in the application. Applications programmers become focussed on system requirements, rather than problem requirements. 8) ROBUSTNESS: THEORY: "Robustness is the ability of software systems to function even in abnormal conditions." Also OOSC 1st ed. In my suggestion, abnormal conditions are filtered from applications by the resource managers. This does not remove the possibility that an application may opt to handle specific exceptions, subject of course to security constraints. Hence systems are more likely to be robust and furthermore secure. OBSERVATION: The systems I observe have an excellent reputation for robustness. Abnormal conditions that are in the purview of a resource manager should be by default handled by that resource manager. Having applications code for this level of robustness means that application programmers must have a deep understanding of all exceptions that can occur in a system. Applications programmers may be concerned with certain exceptions if they so desire. But having to code around all exceptions greatly increases the complexity of writing software systems. As for concurrency, the amount of explicit coding that an application programmer should need to do to ensure robustness should be minimised. CONSISTENCY: THEORY: Consistency provides users, operators and programmers a uniform view of their environment. Consistency abstracts away the complexity of systems. The benefits of this are not having to cope with unfamiliarity of different environments, contributing to the cost effectiveness and less frustration for users, operators and programmers. OBSERVATION: As far as the original suggestion goes, these systems are very consistent (I could criticise them for other aspects of consistency, but this is not one of them). CONCLUSION: Original suggestion is perfectly sensible. ------------------------------------------------------------------------ Ian Joyner | "for when lenity and cruelty play | All opinions are Internet email: | for a kingdom, the gentler | personal and are i.joyner@acm.org | gamester is the soonest winner" | not Unisys | William Shakespeare Henry V | official comment ------------------------------------------------------------------------
From: dehoog@experts.com (John De Hoog) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: Sun, 02 Mar 1997 23:48:36 GMT Organization: Experts, Inc. Message-ID: <331a0cf6.295444@library.airnews.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <5fcq0u$5ih@hpax.cup.hp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit >Charles William Swiger <cs4w+@andrew.cmu.edu> (Mt. Pleasant?) wrote: >>An "offline Web browser" is an oxymoron. It's also IMHO a really stupid >>idea, and the lack of such is no loss. Then klui@cup.hp.com (Ken Lui) said: > >I believe this concept is carried over from BBS/Fidonet days where >people don't want to rack up connect time charges/limits imposed by >the phone company or the BBS service. Personally, I feel it's not very >effective--i.e. why do online stuff offline. There are definitely a >lot of people using offline browsers, readers, etc; but one may as >well subscribe to digest mailing lists instead. > >In the past, I've tried these offline readers, and it just doesn't >feel right to me. Interaction isn't very good, especially if a thread >is very active. By the time one has uploaded his response, there >could be many others that make it irrelevant. So, there's more >potential for more wasted bandwidth. Great for lurkers, but like I >said, a digest mailing list is much more effective in this regard. >Offline apps will go by the wayside within 5 years. Heck, I don't >even use my serial ports anymore. Using a router/bridge at home will >be the way to go, if not already. I disagree with the above points of view. Here are some reasons, which I hope you'll consider. In May, I expect to get a dedicated Internet connection to my home. Right now, however, I pay $400/month in phone bills for dialup service, since all service in Japan is metered. Even with a dedicated connection, however, I expect to continue using offline browsers like Tierra Highlights and offline readers like Agent. Why? Let me explain, since these concepts seem so foreign to NeXTStep users. Tierra Highlights is used to monitor lots of Web sites at regular intervals (set separately for each site), and to highlight any changes at those sites since the last time you looked at them. Even with a dedicated connection, this is still a very systematic and efficient way to keep track of the latest developments. Right now I have over 50 sites being monitored. They are arranged into "topics," such as News, Business, Computers, and smaller topics devoted to single sites such as Upside, so I can check on various pages in detail. A scheduler dials up, updates and marks the sites, then disconnects. Later I can view the sites, with all changes marked, offline. With a dedicated connection I will just turn off the scheduler and have the sites monitored on their own schedules, so I can spot changes efficiently. (A mark shows up on the icon when a site has been updated, and a check mark appears at the topic heading and at the site title. The changed text is color-coded.) As for an offline newsreader -- I am responding to this at my office, after first reading it at home. I have the entire thread on an MO disk, along with archived threads from way back when. An offline reader in the land of metered phone calls is essential; even with a dedicated line, though, I like the ability to go back and check earlier parts of a thread before responding, and to refer to other threads as necessary. Not to mention the luxury of composing a measured response, rather than jumping in like in a chat group. The point is, however, this is an individual choice. You may choose a different approach, but a strong computer platform -- like Windows -- gives each user a wide range of choices. As soon as someone says, "Well, I don't need that feature," I know they are using an under-supported platform. Now the question is, will Rhaspody be well supported or under-supported? I guess that remains to be seen. It will also make all the difference in the world when I decide whether to buy it or go with Window NT 5 (light or enterprise). ------ John De Hoog, Tokyo
From: dehoog@experts.com (John De Hoog) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: Mon, 03 Mar 1997 00:02:00 GMT Organization: Experts, Inc. Message-ID: <331b125f.1680238@library.airnews.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Charles William Swiger <cs4w+@andrew.cmu.edu> said: >> Some time ago I asked a question in the next.advocacy group about >> everyday-use applications available for NeXTStep, and it turned out >> there were precious few of the kind I have grown used to on Windows. > >You're right. There are fewer applications available, but they tend to >work better and interoperate better than what you get with other systems. That's marvelously vague, so I guess we'll have to take your word for it. >> There are apparently no offline Web browsers like Tierra Highlights, > >An "offline Web browser" is an oxymoron. It's also IMHO a really stupid >idea, and the lack of such is no loss. Not at all. You've just given the typical "when in a corner, say you don't really care" response. See my reply to Ken Lui in this thread. >> no offline news readers like Forte Agent, > >You can read news offline easily enough by setting up a local caching >newsserver. There's a precompiled "PersonalINN" package on the NeXT FTP >archives which will let you read news offline. Like I said, no offline news readers like Forte Agent. > >> and no email clients of the caliber of Becky! Internet Mail 1.20. > >Never heard of it. Most people seem pretty happy with Mail.app, but >there are other GUI news/mail readers available, like Eloquent. What >did you want to do with email that Mail.app is inadequate for? Thanks for asking. Let me take advantage of my offline news reader to quote from a couple of other threads in another group on this issue. ======= [quote] Becky! Internet Mail is a multimedia mail client that supports sound and html. For example, I use it in place of Netscape Navigator to receive the Netscape Inbox Direct mailings, which show up as html (Java images and all) in the message pane. Becky! is as close to the perfect email client as any I've tried, including the highly touted ones like Eudora Pro. It supports multiple email addresses, multiple users (with password protection), up to ten visible signatures, filtering to multi-level folders, templates, all the usual attachment encoding, clickable links, management of mail on server without downloading, threaded viewing, spell-checking, and lots more. The latest version, Becky 1.20, is available at: http://www.bekkoame.or.jp/~carty/becky-e/beck120.zip http://www.eis.or.jp/muse/rim-arts/becky-e/beck120.zip http://www.tt.rim.or.jp/~satoko/becky-e/beck120.zip ====== [end of quote] >> The equivalent of Office 97 for NeXT does not exist. > >Sure it does. Lighthouse offers an office suite and a whole range of >productivity applications-- Diagram, Concurrence, OmniWeb, OmniWrite, >Quantrix, WetPaint, TaskMaster, etc. . > Now let my turn your question around. What advantages does the Lighthouse suite offer over Office 97? ------ John De Hoog, Tokyo
From: kennel@lyapunov.ucsd.edu () Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 3 Mar 1997 00:36:29 GMT Organization: The University of California at San Diego Message-ID: <slrn5hk72r.9td.kennel@lyapunov.ucsd.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <markeaton_-0103971953190001@ip73.santa-clara7.ca.pub-ip.psi.net> On Sat, 01 Mar 1997 19:53:19 -0800, Mark Eaton <markeaton_@_mindspring_._com> wrote: :Not to mention the fact that since templates and template functions :generate an entire copy of the class or function each time you use it, :code bloat goes way up. So in a real life application liberal use of :templates will probably backfire due to cache overflow and excessive VM :paging. Although there are advantages for dynamic vs. static languages, attributing the faults of C++ implementations to all static generic languages is quite unfair. Firstly, compilers for real languages can see whole programs at once, and can finely generate only those implementations of those routines for those particular generic parameters which will actually be called, and in fact, elide multiple implementations into one "generalized" implementation of some routines to save code size, at some expense in run-time. In C++, all implementations for all routines for Generic<T> for every T used anywhere, are typically emitted. That really sucks raw rhubarb. There can be some *advantages* to static type constraints in reducing code size, as it is provably possible to eliminate various routines as "will never be called". In a fully dynamic system, this can't be done, as the identity of 'method selectors' can change depending on run-time data input and calculation. Sure, if you make everything a huge lisp-style dynamic library and don't include its size as being part of the program, then dynamic programs can look very small. This is somewhat misleading, as I think you can see. Also, it's usually the case that only one specific implementation is used at any particular call in the program, so cache issues will likely be similar to dynamic and static langauges, and finally, few programs page due to code size compared to data size. (Excluding C++ template bloat, which is NOT characteristic of all static langauges with genericity). :I'm agnostic on the language issue, but templates are an evil abomination. No they're not, if you use Eiffel or Sather or other good OO languages. :-Mark :markeaton_@_mindspring_._com -- Matthew B. Kennel/Institute for Nonlinear Science, UCSD/ Where do you want to go today? ''Don't bother answering. We're abducting you.''
From: "Lawson English" <english@primenet.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Avie confirms Rhapsody on Intel too. Date: 2 Mar 1997 17:34:01 -0700 Organization: Primenet Services for the Internet Message-ID: <AF3F6E35-9EBD9@198.68.42.182> References: <5fcv9f$c80$1@news.xmission.com> nntp://news.primenet.com/comp.sys.next.programmer Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Don Yacktman <don@globalobjects.com> said: >In a GUI the convenience vs. overhead >swings hard toward favoring Objective-C, especially when a tool >like InterfaceBuilder is available. A good developer will look >for the strengths in the tools available and apply the right >tool for each job--and which one is "right" whill change >depending upon the task at hand (as well as the developer's >experience, oopinion, and comfort level with the tools). Sounds reasonable. --------------------------------------------------- "Without a new GUI that is as innovative and ground-breaking as the original was in its time, the Macintosh will cease to matter, and we should all go home." -Me ---------------------------------------------------
From: kennel@lyapunov.ucsd.edu () Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 3 Mar 1997 00:46:04 GMT Organization: The University of California at San Diego Message-ID: <slrn5hk7kq.9td.kennel@lyapunov.ucsd.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> On Sun, 02 Mar 1997 05:16:09 GMT, William Grosso <apuleius@ix.netcom.com> wrote: :Let's make this clear. C++ can make method invocations :faster. Compile-time binding buys you that one and NOBODY :denies it (or, at the very least, nobody competent denies it). :So, in any serious discussion of language benefits, we can :acknowledge that one and move on. : :Because, really, it's irrelevant. Because it's *local* optimization. :And bad performance, in almost every piece of code I've ever seen, :has been an *achitectural* issue. Except sometimes when it isn't. Compile-time binding does make method invocations faster in some circumstance, but that is not the real win. The real win being the increased opportunities for cascading inlining of small methods, and subsequent elision of needless code. This really is important for mathematical libraries. :And it's at the architectural level that Objective-C is almost :obscenely beautiful. It's a language that supports programmers :over an application lifecycle. 'obscenely beautiful'??? Just sort of OK, in my opinion. :Does C++ support the programmer at all ? Of course not. It wasn't :a goal of Stroustrup's (cf: _The Design and Evolution of C++_, section :1.1 and chapter 2) and it hasn't been a major concern of the ANSI :committee. : :Objective-C, while far from perfect, makes for much more habitable :code. And what about something like Eiffel, perhaps substantially closer to "perfect"? ISE Eiffel has 'melting ice' dynamic recompilation tecnology, despite being a statically type constrained OO language. :Cheers, : :Andy -- Matthew B. Kennel/Institute for Nonlinear Science, UCSD/ Where do you want to go today? ''Don't bother answering. We're abducting you.''
From: markeaton_@_mindspring_._com (Mark Eaton) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sun, 02 Mar 1997 16:52:59 -0800 Organization: MindSpring Enterprises Message-ID: <markeaton_-0203971652590001@ip91.santa-clara6.ca.pub-ip.psi.net> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <markeaton_-0103971953190001@ip73.santa-clara7.ca.pub-ip.psi.net> <slrn5hk72r.9td.kennel@lyapunov.ucsd.edu> In article <slrn5hk72r.9td.kennel@lyapunov.ucsd.edu>, kennel@lyapunov.ucsd.edu () wrote: [snipped: interesting discussion of templates as used in static oo languages other than C++] > > :I'm agnostic on the language issue, but templates are an evil abomination. > > No they're not, if you use Eiffel or Sather or other good OO languages. Thanks for the info. I don't have a lot of experience with either of those languages, so I'll take your word for it. But the person I was responding to was advocating C++ over ObjC... -Mark ---> markeaton_@_mindspring_._com
From: MaRK_BeSSeY@NeXT.CoM (Mark Bessey) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: 3 Mar 1997 00:42:56 GMT Organization: NeXT Software, Inc. Message-ID: <5fd6qg$kme@news.next.com> References: <3319E057.181F@hknet.com> Diana McPartlin <dlm@hknet.com> writes > I'm still confused. > > This is how I understand it so far: > > OpenStep is a set of APIs (application programming interfaces) this > means it is a standard or set of specifications upon which OSs and > applications can be developed. Right. > OPENSTEP is an implementation of the OpenStep standard. We have > OPENSTEP for Mach and OPENSTEP for Windows NT. Right. These are Apple (formerly NeXT) product names. > So OPENSTEP is a framework that looks like an OS, but which is actually > an implementation of OpenStep API on top of other OSs (even though Mach > isn't exactly an OS but let's just say it is to avoid getting even more > complicated). Not exactly. OPENSTEP is either: "The complete Mach/BSD operating system, and the OpenStep API libraries and runtime environment" or "A set of OpenStep libraries and runtime environment for Windows", depending on which product you're referring to. You get a lot more software with OPENSTEP for Mach than with OPENSTEP for Windows. > NeXTSTEP, NextStep, NEXTSTEP etc are all versions of the same thing and > I will hereafter refer to them all as NEXTSTEP. > > NEXTSTEP was orignally a set of APIs similar to OpenStep and which > preceded OpenStep. At first these APIs could be run on non-NeXT machines > (I don't understand if it was an OS at this point or not). After > NEXTSTEP 2.0 it was an OS as well as a set of APIs and it only ran on > NeXT computers until version 3.1. After 3.1 it was adapted to run on > Mach OS. Actually, NEXTSTEP was originally "all the software that comes with a NeXT computer". Ignoring the IBM "NextStep on AIX" deal (that product was never available to consumers), the only way to get NEXTSTEP before version 3.1 was to run it on a NeXT computer. NEXTSTEP version 3.1 was the first version to run on (a very few!) PC compatibles from Dell, Compaq, etc. As NEXTSTEP 3.3 was being developed and ported to HP and Sun workstations, NeXT's engineers were also working on a "next generation" API, which would fix some of the rough edges in NEXTSTEP's API, and was designed to be portable to other operating systems. Around the time of the release of NEXTSTEP 3.3, Sun and NeXT announced the OpenStep specification. This is the final form of the "next generation" API mentioned above. NeXT developed an OpenStep implementation for it's own NEXTSTEP operating system, as well as one for Windows NT. Sun implemented the OpenStep API on top of Solaris. NEXTSTEP 4.0 was the first OPENSTEP-compliant version of NEXTSTEP. At this point, the NEXTSTEP name was dropped, and the product became known as "OPENSTEP for Mach 4.0". > I know this isn't right probably because I'm confused about some basic > terms. Could someone plese explain it to me like I'm a Fortune Magazine > editor. I hope this helped a little bit. I don't think you'd want it explained in the words I'd use for a Fortune editor, though :-) Those guys are really starting to irritate the hell out of me lately... -Mark -- Mark Bessey Apple Computer, Inc. -->I DON'T SPEAK FOR APPLE<--
From: dke@san.rr.com (David Every) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Avie confirms Rhapsody on Intel too. Date: Sun, 02 Mar 1997 16:50:54 -0800 Organization: MacKiDo Temple Message-ID: <dke-ya02408000R0203971650540001@news-server> References: <5fblc9$31e$2@news.xmission.com> <AF3F0CAB-20EB4@198.68.42.199> <5fcv9f$c80$1@news.xmission.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5fcv9f$c80$1@news.xmission.com>, don@globalobjects.com wrote: > "Lawson English" <english@primenet.com> wrote: > > TCL, MacApp and PowerPlant all have visual GUI applications/utilities that > > produce template resources that contain no code, but merely allow the > > respective OOP frameworks to parse those resources for instructions on what > > GUI elements to load and what parameters to give them. While not as elegant > > as IB's solution, you could tweak the GUI using the original template > > builder, even if you had no source code, as long as you didn't delete > > elements but merely substituted other elements with the same functionality > > available. > > [snipt] > > Point being that IB is still more flexible in that you can add and > delete components at will as well as modify them. I'm not trying > to tear down these other tools--they are good for what they do--but > IB is an improvement. I think it is interesting to realize that > all these tools are newer than IB and yet they still aren't quite > as powerful. You are incorrect... MacApp is older than IB. So is the resource manager. Both are the forerunners to IB (in concept). That is not to say that IB is not an improvement... but it is certainly not first at what it does. (I beleive smalltalk had some similar functionality, but I am not sure)... it just may have taken the concepts farther. > That's a tribute to OBjective-C because the people > writing these new tools are very clever. And they've done some > things very well--there's a few lessons that IMHO NeXT could learn > to improve IB. IB isn't perfect, you know. :-) Agreed... both ways. IB is a very impressive tool... but Component Workshop, DYLAN, and other tools were pretty dynamic and integrated as well. We can definitely bring in the best of all worlds. -- -- David K. Every Try MacKiDo Temple - <http://www.adnc.com/web/dke>
From: don@globalobjects.com (Don Yacktman) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Avie confirms Rhapsody on Intel too. Date: 3 Mar 1997 02:43:02 GMT Organization: Global Objects Inc. Message-ID: <5fddrm$opa$1@news.xmission.com> References: <5fblc9$31e$2@news.xmission.com> <AF3F0CAB-20EB4@198.68.42.199> <5fcv9f$c80$1@news.xmission.com> <dke-ya02408000R0203971650540001@news-server> dke@san.rr.com (David Every) wrote: > In article <5fcv9f$c80$1@news.xmission.com>, don@globalobjects.com wrote: > > Point being that IB is still more flexible in that you can add and > > delete components at will as well as modify them. I'm not trying > > to tear down these other tools--they are good for what they do--but > > IB is an improvement. I think it is interesting to realize that > > all these tools are newer than IB and yet they still aren't quite > > as powerful. > > You are incorrect... MacApp is older than IB. So is the resource manager. > Both are the forerunners to IB (in concept). That is not to say that IB is > not an improvement... but it is certainly not first at what it does. (I > beleive smalltalk had some similar functionality, but I am not sure)... it > just may have taken the concepts farther. You're right--when I said that, I had in mind some newer environments which are clearly inferior to IB and were created after IB. (And in the context of this duscussion, I should have been more clear on that because MacApp, for example, is clearly a predecessor.) I do realize that IB had forerunners (it didn't just appear out of a vaccuum). And SmallTalk did and does, I believe, have similar functionality. It's dynamic runtime, in fact, means that it has the same flexibility as Objective-C with the added benefit (to developers) of an interpreted environment. It's been a while since I've played with it, but I remember some things about SmallTalk that are definitely better than what NeXT offers. Given the recent changes to ProjectBuilder, I'd say that they are definitely learning some of those needed lessons. :-) Now if NeXT would get the fix+go technology into the environment...then the gap would be shrunk between NeXT's Objective-C environment and Smalltalk's advantage of the interpreter. > > That's a tribute to OBjective-C because the people > > writing these new tools are very clever. And they've done some > > things very well--there's a few lessons that IMHO NeXT could learn > > to improve IB. IB isn't perfect, you know. :-) > > Agreed... both ways. IB is a very impressive tool... but Component > Workshop, DYLAN, and other tools were pretty dynamic and integrated as > well. We can definitely bring in the best of all worlds. Yeah, I'd like to see ProjectBuilder and InterfaceBuilder do more to integrate with other languages. Objective-C, C++, and Java is a good start, but let's add stuff for Dylan, Sather, Python, and more... There is always room for improvement, no matter how good it is. -- Later, -Don Yacktman don@misckit.com <a href="http://www.misckit.com/don.html">My home page</a>
From: apuleius@ix.netcom.com (William Grosso) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Mon, 03 Mar 1997 06:01:38 GMT Organization: Netcom Message-ID: <331a687b.727676@nntp.ix.netcom.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <slrn5hk7kq.9td.kennel@lyapunov.ucsd.edu> On 3 Mar 1997 00:46:04 GMT, kennel@lyapunov.ucsd.edu () wrote: >On Sun, 02 Mar 1997 05:16:09 GMT, William Grosso <apuleius@ix.netcom.com> wrote: > >:Because, really, it's irrelevant. Because it's *local* optimization. >:And bad performance, in almost every piece of code I've ever seen, >:has been an *achitectural* issue. > >[counterexample snipped] This is the sort of silliness that plagues language discussions. I said "almost every" and I meant "almost every." Sure there are counterexamples. That's why I didn't say "every." >And what about something like Eiffel, perhaps substantially closer to >"perfect"? > >ISE Eiffel has 'melting ice' dynamic recompilation tecnology, despite >being a statically type constrained OO language. > Not sure why any of these features are germane. I was talking about support for the programmer over the application lifecycle. Why do you think Eiffel does any better than C++ in this regard ? Cheers, Andy
From: Stefano Pagiola <spagiola@worldbank.org> Newsgroups: comp.sys.mac.programmer.codewarrior,comp.sys.mac.system,comp.sys.next.programmer Subject: Re: Mac/NeXT & Unix: File System Date: Sat, 01 Mar 1997 09:15:45 -0500 Organization: World Bank Message-ID: <33183A11.2E94@worldbank.org> References: <5ddp66$jpc@news.bu.edu> <5dtpb5$h4t@news.bu.edu> <Mn1TiBm00iVC81ZnAQ@andrew.cmu.edu> <AF2E42E196681EFC18@node50.tfs.net> <5eb9r5$iv2@csugrad.cs.vt.edu> <AF39A1D79668E697E@pm3-p20.tfs.net> <33145CC0.6C05@worldbank.org> <3315C02D.1C61@deskmedia.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mike Johnson wrote: > > I want to be able to drag a file off a PC floppy onto my > > NeXT or Mac and be able to double-click on it. On NeXTSTEP, I generally can, and > > if I can't, fixing it is a simple matter of adding the correct extension. On > > my Mac, I usually have to go to the app, open the file, and save it. Which is > > easier? > > On a Mac you can use PC Exchange to relate a PC Extension to a Mac > program. Isn't this what you are doing on your NeXt machine? On the NeXT, I don't need to use anything. Once I insert the DOS (or Mac) floppy, i can usually just double-click on a file directly to open it, or drag-and-drop a file into the NeXT's filesystem, at which point its ready to go without further intervention. (Note that for this to work with Mac-origin files, I do need to add the proper extension -- eg .doc to a Word doc -- when I save it on the Mac.) -- Stefano Pagiola 850 N Randolph Str No.817, Arlington VA 22203, USA All opinions are my own and do not necessarily reflect those of my employer
From: mmalcolm crawford <m.crawford@shef.ac.uk> Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: 3 Mar 1997 12:29:58 GMT Organization: University of Sheffield, UK Message-ID: <5feg86$7hd@bignews.shef.ac.uk> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> In-Reply-To: <331b6372.304713214@library.airnews.net> On 03/02/97, John De Hoog wrote: > Gil was not talking about OpenStep/Mach, but about the present Mac > system. I am not prepared to argue that Win95 is technically superior > to OpenStep, but they don't even serve the same audience. > As Rhapsody, OpenStep will serve the same audience as Win95 -- only better. > WinNT not only has more application > support but is technically on a level that can compete with most > Unix-based systems out there, including NeXTStep. (Rhapsody doesn't > exist, so we'll have to wait until it does and until it has a full > stable of applications before we can talk about its merits.) > For the purposes of debate, given what we know so far, it's reasonable to talk about OpenStep/Mac as if it were Rhapsody. I do not believe NT is in the same league as Unix. > The original question was about productivity. It would be pretty hard > for anyone but a developer or a vertical-application user to be very > productive on today's NeXT system, in today's application context. > This is drivel. I, and many others, use NEXTSTEP as a productivity environment. Indeed, one of the primary reasons I use NEXTSTEP is because I find ti to be a much more productive environment than Windows. > Some time ago I asked a question in the next.advocacy group about > everyday-use applications available for NeXTStep, and it turned out > there were precious few of the kind I have grown used to on Windows. > Try asking again. I'm certainly not going to claim that every niche is filled, however, as I just said, I get my daily work done fine in NEXTSTEP. More easily, in fact, than my colleagues using Windows. > In particular, there were few applications geared to people using a > dial-up Internet account. > How many duplicat applications do you need? Provided there is at least one solution, and there is at least one, then the requirement is satisfied. > It seems the typical NeXTStep user works in > an environment with a dedicated network connection. There are > apparently no offline Web browsers like Tierra Highlights, no good > offline news readers like Forte Agent, and no email clients of the > caliber of Becky! Internet Mail 1.20. > I'll defere to Chuck's comments about offline browsing etc. > The equivalent of Office 97 for NeXT does not exist. > I'd say this was a *feature*. As far as I am aware, all the component apps exist -- although in much more slimline form (they collectively take up probably as much disk space as a single app from M$'s bloatware) -- indeed there are *alternatives*. The strength of NEXTSTEP's integration is such that you're not forced to buy all your apps from one vendor just to get them to work together effectively. > You can talk all you want about technical superiority, but > productivity requires applications first of all. And you can talk all > you want about how easy it is to develop applications on NeXTStep, but > as far as I know > You've shown you don't know enough. Best wishes, mmalc. --
Newsgroups: comp.sys.next.programmer,comp.sys.mac.programmer.codewarrior,comp.sys.mac.system From: thomas@gamelan.shnet.org._NO_SPAM (Thomas Funke) Subject: Re: Mac/NeXT & Unix: File System Message-ID: <1997Mar1.101245.513@gamelan.shnet.org> Sender: thomas@gamelan.shnet.org (thomas) Cc: fanning@ra.anl.gov Organization: Disorganization References: <5ddp66$jpc@news.bu.edu> <32FAB1C7.3AE4@pharmacology.unimelb.edu.au> <5dqhrc$pm8@news.bu.edu> <3300D85D.2DC9@subsequent.com> <5dtpb5$h4t@news.bu.edu> <33029F59.5E8D@subsequent.com> <330324FB.E67@cygnus.com> <3302E06E.8D@subsequent.com> <5ek5is$3d9@crl9.crl.com> <5erca9$m2@usenet.rpi.edu> <33145768.42D7@ra.anl.gov> Date: Sat, 1 Mar 1997 10:12:45 GMT In <33145768.42D7@ra.anl.gov> TH Fanning wrote: > I completely disagree with this. What if I try tons of > software, each one adding to my "defaults database", but > then I delete these apps from my system. Wouldn't the > database slowly grow over time? How do I "clean" it > out? With separate files, I can just trash them. And as with any database, you an trash entries in the default database as well. This is not PC-world :-)
From: dehoog@experts.com (John De Hoog) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: Mon, 03 Mar 1997 13:53:16 GMT Organization: Experts, Inc. Message-ID: <331ad3ed.16524100@library.airnews.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <5feg86$7hd@bignews.shef.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit mmalcolm crawford <m.crawford@shef.ac.uk> said: >As Rhapsody, OpenStep will serve the same audience as Win95 -- only better. Be specific, please. People want applications, not just pretty technology. >> >For the purposes of debate, given what we know so far, it's reasonable to >talk about OpenStep/Mac as if it were Rhapsody. I do not believe NT is in >the same league as Unix. Since Rhapsody isn't available and NT is, you'll have to compare Rhapsody with the future NT. When Rhapsody ships, NT will be all that more mature, while Rhapsody will still be in diapers. By the time a stable release is out, and it has full application support, what year or what century do you suppose we'll be in? Where will NT be at that time? These are the relevant considerations. If you want to talk about NeXT, then answer my application concerns. >> Some time ago I asked a question in the next.advocacy group about >> everyday-use applications available for NeXTStep, and it turned out >> there were precious few of the kind I have grown used to on Windows. >> >Try asking again. I'm certainly not going to claim that every niche is >filled, however, as I just said, I get my daily work done fine in NEXTSTEP. >More easily, in fact, than my colleagues using Windows. It depends on what work you and they are doing. Your arguments are singularly lacking in specifics, whereas I have been quite specific in my answers to Chuck and Ken. >How many duplicat applications do you need? Provided there is at least one >solution, and there is at least one, then the requirement is satisfied. So where are the offline tools? The agents that search the Web for you? Where is the equivalent of my email client that I described elsewhere in this thread? >I'll defere to Chuck's comments about offline browsing etc. And please read my responses as well. > >> The equivalent of Office 97 for NeXT does not exist. >> >I'd say this was a *feature*. As far as I am aware, all the component apps >exist -- although in much more slimline form (they collectively take up >probably as much disk space as a single app from M$'s bloatware) -- indeed >there are *alternatives*. The strength of NEXTSTEP's integration is such >that you're not forced to buy all your apps from one vendor just to get them >to work together effectively. 50% of the Office 97 code is shared. What do you mean by slimline form? How do you define bloatware? Not everyone is content with the bare minimum of features. >You've shown you don't know enough. So answer my specific questions about specific application areas. Look, I'm genuinely interested in a user-friendly Unix. Instead of trying to pretend NeXT (and by extension Rhapsody) is something it's not, why not be honest about its weaknesses? Then your audience might be more open to its potential. ------ John De Hoog, Tokyo
From: stephane@lysis.ch (Stephane Corthesy) Newsgroups: comp.sys.next.programmer Subject: Re: MiscTableMatrix Palette !! Date: 3 Mar 97 14:22:07 GMT Organization: Lysis SA Message-ID: <331ade8f.0@news.planet.ch> References: <5f6rl6$nb4@hpuniv.univ-lr.fr> <5f70bj$6b6$1@news.xmission.com> Cc: don@globalobjects.com In <5f70bj$6b6$1@news.xmission.com> Don Yacktman wrote: > yannick buisson (université de La Rochelle) wrote: > > I have the MiscKit 2.0.2 version. > > > > I try to compile the few available palettes .... > > But i just manage to compile the MiscSwitchView palette ! > > > > Does someone manage to compile the MiscTabMatrix palette > > under OpenStep 4.1 ?? > > When i try to compile MiscTabMatrix, i have an error like > > NEXT_ROOT = variable undefined !!! > > > > If yes, i am interessting to get a good version > > So am I! :-) > > Seriously, I'm working on getting things working more smoothly, > but there is still a lot of work to do. Help is certainly wanted > and welcome... > > I do hope to be making some new releases soon, but please remember > that the OPENSTEP stuff is, right now, pretty gamey and needs a > lot of work before it has the maturity of the NEXTSTEP kit. > I've tried to port MiscTabMatrix.palette to 4.1, with a few enhancements like using NSButtonCells; I've nearly finished now, I just have some nasty graphical bugs to zap, and I hope it will be OK at end of March (I'm fairly busy now). As soon as I have a good version, I will submit it to Sean (shill@iphysiol.unil.ch) and MiscKit, if it's not too late... Stephane
From: Jason Lincoln <jlincoln@us.oracle.com> Newsgroups: comp.sys.next.programmer Subject: Q: NeXTSTEP and RPC Date: Sun, 02 Mar 1997 22:12:54 +0000 Organization: Oracle Corp. Message-ID: <3319FB66.37A4@us.oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi All, I would like to create a NeXTSTEP frontend to Oracle Office. I have the programmers book on Oracle Office which describes the API to Oracle Office. This API is built in C functions. I had hoped that I would beable to use EOF and connect to the Office database but it doesn't look like Oracle Office works that way. My question pertains to calling the Oracle Office API C functions. I have the appropriate header files but do not know how to enable my NeXTSTEP application to call these functions which reside on another box. I believe I can do this using Remote Procedural Calls but I am not sure. Also, should I beable to take the object files and link them into my NeXTSTEP executable? Any suggestions, observations, or links to information is appreciated. Thanks, Jason
From: rft@cg.tuwien.ac.at (Robert F Tobler) Newsgroups: comp.sys.next.programmer,comp.sys.mac.programmer.codewarrior,comp.sys.mac.system Subject: Re: Mac/NeXT & Unix: File System Date: 3 Mar 1997 17:10:33 GMT Organization: Vienna University of Technology, Austria Message-ID: <5ff0m9$i7e@news.tuwien.ac.at> References: <5ddp66$jpc@news.bu.edu> <5ddtsg$oba$1@majipoor.cygnus.com> <5ephtv$mac@news.tuwien.ac.at> <5f4gh8$7f4@crl.crl.com> Cc: van@crl.com In <5f4gh8$7f4@crl.crl.com> Van C. Bagnol wrote: > The potential problem is that the current NeXTSTEP user mapping > goes by filename extension ("type") and to expand this scheme to > individual files will increase the mapping by an order of magnitude; > to expand out to a network or to the number of users on the network > it increases by another order of magnitude, which increases the > management of it all. > As soon as one user logs in, the database for his preferences are loaded. Thus, also there are databases for all other users in their respective home directories, they are not needed at that time. So I don't think it very hard to maintain. Even for a larger network this is not hard, since the user needs to do the mapping change on the files himeself, and therefore it cannot happen that there are thousands of mappings autmatically created when a network filesystem bcomes available. Now it would even be possible to make the per-user settings rule based. e.g.: ~/PhotoshopTIFFs/*.tiff -> Photoshop ~/TIFFanyTIFFs/*.tiff -> TIFFany /Net/*.tiff -> FASTview This way the amount of mapping information is reduced to a small number of rules, and maybe some exceptions for individual files. > What I'm not sure happens is when files are moved around the filesystem > or network, or if the files or directories in the path to the file are > renamed. The application that maintains the database is the Workspace Manager. All the file operations from the GUI are also done via the Worksapce Manager, so it can easily track the information and update the database. Now if you use the commandline, this information cannot be as easily maintained. But I don't think it would be hard to add some additional commands to the commandline that maintain the information. e.g.: gui-cp cp which maintains the extension mapping gui-mv mv which maintains the extension mapping I do not think it would be too much of a burden to give the command line user the choice between the raw unix copy and the command that maintain the mapping database. The CLI user even has the choice to hide the 'gui-*' commands behind aliases, so that even his mv and cp track the database. > > Keeping a parallel structure of file entries synchronized with a > filesystem is a lot more work than maintaining a list of just the > files' types. Let alone keeping several such parallel structures. > As I said: Only one databse needs to be maintained for each user, thus this does not add to the complexityof the database engine; it only adds to the used disk space. And the diskspace is also negligible. Suppose a user has made 10000 mappings (this is a lot, on a standalone PC about 1000 mappings is a much better estimate) at about 50 bytes per mapping (a bit optimized here) it costs 500KBytes. So in a big network of PC's you might need about 500kbyte more per user. I think its worth it. ------------------------------------------------------------------------ Robert F. Tobler - tel:+43(1)58801-4585,fax:5874932 Institute of Computer Graphics - mailto:rft@cg.tuwien.ac.at Vienna University of Technology - http://www.cg.tuwien.ac.at/~rft/
From: don@globalobjects.com (Don Yacktman) Newsgroups: comp.sys.next.programmer Subject: Re: MiscTableMatrix Palette !! Date: 3 Mar 1997 18:02:39 GMT Organization: Global Objects Inc. Message-ID: <5ff3nv$1do$1@news.xmission.com> References: <5f6rl6$nb4@hpuniv.univ-lr.fr> <5f70bj$6b6$1@news.xmission.com> <331ade8f.0@news.planet.ch> stephane@lysis.ch (Stephane Corthesy) wrote: > I've tried to port MiscTabMatrix.palette to 4.1, with a few > enhancements like using NSButtonCells; I've nearly finished now, > I just have some nasty graphical bugs to zap, and I hope it will > be OK at end of March (I'm fairly busy now). As soon as I have > a good version, I will submit it to Sean > (shill@iphysiol.unil.ch) and MiscKit, if it's not too late... Please do. Even if you don't have all the bugs out, submit it anyway and we'll put it in the Temp area. That way, someone else, in the meantime, might be able to help you zap the bugs... you don't have to do it all yourself. :-) That goes for any MiscKit submission--it doesn't have to be complete to be of value. There are over 200 people reading the MiscKit developer list, so in theory there should always be someone available to take up a little slack if help is needed to complete a particular submission. -- Later, -Don Yacktman don@misckit.com <a href="http://www.misckit.com/don.html">My home page</a>
From: nurban@sps1.phys.vt.edu (Nathan Urban) Newsgroups: comp.sys.mac.system,comp.sys.next.programmer,comp.sys.mac.programmer.codewarrior,comp.sys.mac.oop.powerplant,comp.sys.mac.programmer Subject: Re: Mac/NeXT & Unix: You're all NUTS! Date: 3 Mar 1997 13:10:03 -0000 Organization: Virginia Polytechnic Institute and State University Message-ID: <5feijb$257@sps1.phys.vt.edu> References: <5d8qta$6np@news.bu.edu> <3314AD68.5B51@acm.org> <5f27sj$3ub@sps1.phys.vt.edu> <331A0AD3.A0D@acm.org> In article <331A0AD3.A0D@acm.org>, i.joyner@acm.org wrote: > Let's be scientific about this: that is see if the theory makes sense, > and then if observations done in experiments support the theory. Okay, and while you're at it, be sure to give plenty of "observations" without supporting or opposing references. > 2) Applications programming and maintenance is greatly simplified, reducing > cost, the whole point of software engineering research. At the expense of the operating system making assumptions about how to handle errors that are potentially inappropriate to the application at hand. > 3) OBSERVATION: operations interface is consistent making operations > considerably easier. Operators know what to do, even if they are not > familiar with an application. Another observation is that in > fact you need less operators to run these systems. Give specific examples, especially of ones where operators know what to do without being familiar with an application, where they would also _not_ know what to do with a similar unfamiliar application on a system such as Unix. > [Deadlock stuff] I will grant that limiting application processes and giving well-defined restricted actions to the OS will reduce deadlock. I also don't think that it's worth the restrictions being imposed, for anything but the utmost of high reliability systems. I've been using Unix for nearly 8 years now and can count the instances which the machine _might_ have deadlocked (I don't know for sure) on the fingers of one hand. Most operating systems don't bother trying to produce deadlock-free systems, for that reason. > 5) CONCURRENCY: THEORY: processes can run until some resource they > depend on is not available because it is locked, eg., being produced > by another process. In general, it is undesirable for concurrent > operations to be non-deterministic. > The process scheduler will move processes from the waiting entries > list to the ready queue when the waited on resource becomes available, > without operator intervention. For the resource to become available > might require operator intervention, but it could also be automatic from > some other process > [...] > However, this can occur in any system > and is independent of the original suggestion, where management of the > resources is moved out of the application process set. I'm not sure we're clear on what the original suggestion I was objecting to was. I wasn't objecting to having the OS handle management of resources. I was objecting to the OS trying to handle error conditions that the application should really handle itself, and especially the idea of operating systems _requiring_ user intervention in order to handle errors. And especially, a fixed kind of user intervention, such as a system-standard dialog box. You think this is a good thing because it promotes consistency. I think it limits the application's choice in how to handle errors. > 7) CORRECTNESS: THEORY: "Correctness is the ability of software > products to exactly perform their tasks, as defined by the > requirements and the specification." Bertrand Meyer Object-Oriented > Software Construction (first edition) (2nd edition will be available > any time now.) > OBSERVATION: The larger and more complex an application is, the more > likely it is to fail the correctness criteria. Having applications > programmers code for a plethora of exceptions that they should not > have to worry about, because they belong to the environment, > increases the risk that failure will occur in the application. I agree that programmers should have a stock of basic error-handling machines from which to draw, I don't like coding exception handlers any more than you do, but I think that applications programmers should have the choice of handling errors in any way they desire, including ignoring them. This does not preclude the possibility of having a library of error handlers. > 8) ROBUSTNESS: THEORY: "Robustness is the ability of software systems > to function even in abnormal conditions." Also OOSC 1st ed. In my > suggestion, abnormal conditions are filtered from applications > by the resource managers. This does not remove the possibility that > an application may opt to handle specific exceptions, subject of > course to security constraints. If you want the OS to handle more exceptions by default, that's fine. But if the OS is going to be doing that sort of thing, it needs to follow a policy of _minimal_ intervention, rather than maximal. Throwing up an interactive dialog box every time a file cannot be found can be _wildly_ inappropriate for many applications. The OS does _not_ "always know best". Rather than forcing programmers to override the OS's exception hanlding constantly (which is the whole reason you purport to like this scheme, as it's supposed to keep the programmer from constantly worrying about exceptional conditions), the OS should take the minimum action necessary to prevent fatal errors, and allow the application to layer on additional error handling if desired. I'm not against handling exceptions on a global, OS-wide level. I just think that the OS should attempt to handle exceptions by default in a minimal way that is appropriate for all processes (which often means very little exception handling, just enough to keep a process from dying), and allow application processes to register their own exception handlers (including null handlers), subject to OS security constraints, etc. as you say. And especially, an OS should never require user intervention, except in cases where it _only_ makes sense for a user to make a decision. The only example I can think of is an error that is known to be in response to a user-invoked action (as opposed to a programmatically invoked one), where the error affects the operation of the entire system. For example, if the user initiated a reboot from the console, and something went wrong, _then_ it would be appropriate to send a dialog to the console requesting intervention. But in precious few other cases is requiring human intervention a universally appropriate action. -- -------------------------------------------------------------------------- Nathan Urban | Undergrad {CS,Physics,Math} | Virginia Tech nurban@vt.edu | {NeXT,MIME} mail welcome | http://nurban.campus.vt.edu/ --------------------------------------------------------------------------
From: mmalcolm crawford <m.crawford@shef.ac.uk> Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: 3 Mar 1997 18:10:42 GMT Organization: University of Sheffield, UK Message-ID: <5ff472$ies@bignews.shef.ac.uk> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <5feg86$7hd@bignews.shef.ac.uk> <331ad3ed.16524100@library.airnews.net> In-Reply-To: <331ad3ed.16524100@library.airnews.net> > So answer my specific questions about specific application areas. > Look, I'm genuinely interested in a user-friendly Unix. Instead of > trying to pretend NeXT (and by extension Rhapsody) is something it's > not, why not be honest about its weaknesses? Then your audience might > be more open to its potential. > Where have I not been honest? What applications are you looking for which NEXTSTEP lacks? --
From: zizi zhao <ziziz@worldnet.att.net> Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: Mon, 03 Mar 1997 15:01:22 -0500 Organization: AT&T WorldNet Services Message-ID: <331B2E12.4A06@worldnet.att.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <5feg86$7hd@bignews.shef.ac.uk> <331ad3ed.16524100@library.airnews.net> <5ff472$ies@bignews.shef.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit mmalcolm crawford wrote: > > > So answer my specific questions about specific application areas. > > Look, I'm genuinely interested in a user-friendly Unix. Instead of > > trying to pretend NeXT (and by extension Rhapsody) is something it's > > not, why not be honest about its weaknesses? Then your audience might > > be more open to its potential. > > > Where have I not been honest? What applications are you looking for which > NEXTSTEP lacks? > Apps from microsoft. ZZ ;~/
From: mmalcolm crawford <m.crawford@shef.ac.uk> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 3 Mar 1997 18:24:35 GMT Organization: University of Sheffield, UK Message-ID: <5ff513$ini@bignews.shef.ac.uk> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> In-Reply-To: <331b125f.1680238@library.airnews.net> On 03/03/97, John De Hoog wrote: > Like I said, no offline news readers like Forte Agent. > Wrong: HHNews.app allows you to read news offline. > Now let my turn your question around. What advantages does the > Lighthouse suite offer over Office 97? > They take up a lot less disk space than Office97 (150MB?!) To turn your question around: what advantages does Office97 offer over numerous applications NEXTSTEP offers which adequately cover the same functionality? Best wishes, mmalc. --
From: MaRK_BeSSeY@NeXT.CoM (Mark Bessey) Newsgroups: comp.sys.next.programmer Subject: Re: Finding return type in forward:: ? Date: 3 Mar 1997 20:17:34 GMT Organization: NeXT Software, Inc. Message-ID: <5ffbku$qul@news.next.com> References: <5f94ku$dih@sun0.urz.uni-heidelberg.de> Gregor Hoffleit writes > In forward::, is it possible to find out what return type the forwarded > selector is expected to return to the caller ? > > AFAIK, for methods known to the runtime you could request that by > class_getInstanceMethod() and method_getArgumentInfo(), but it seems > to be possible for a `unknown' and therefore forwarded method. > > Gregor This is not generally possible with forward::, which is part of the "everything's an id" heritage of Objective-C. You can do it with forwardInvocation: and methodSignatureForSelector: in Foundation-based code. Except that really you can't :-) The problem is that the return type is "known" at two different places: the calling site and the method implementation. Unfortunately, the return type of the message isn't encoded in the selector. Too bad, since that would allow overloading return type in objective-C methods, which would be an interesting feature to play around with. You can only find out the "expected" return type if you know which class&method the piece of code calling you thinks it is messaging. It just gets more complicated from here though, so I'll just quit while I'm ahead... Moral of the story: if you're going to use forward::, only forward methods that return type id, or a compatible type (pointer types and int). So, what are you trying to do that got you into this mess, anyway? -- Mark Bessey Apple Computer, Inc. -->I DON'T SPEAK FOR APPLE<--
From: dehoog@experts.com (John De Hoog) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: Mon, 03 Mar 1997 21:58:28 GMT Organization: Experts, Inc. Message-ID: <331c487e.46365279@library.airnews.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <5feg86$7hd@bignews.shef.ac.uk> <331ad3ed.16524100@library.airnews.net> <5ff472$ies@bignews.shef.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit mmalcolm crawford <m.crawford@shef.ac.uk> said: > >> So answer my specific questions about specific application areas. >> Look, I'm genuinely interested in a user-friendly Unix. Instead of >> trying to pretend NeXT (and by extension Rhapsody) is something it's >> not, why not be honest about its weaknesses? Then your audience might >> be more open to its potential. >> >Where have I not been honest? What applications are you looking for which >NEXTSTEP lacks? No one has responded to my replies to Chuck and Ken, in which I laid out some specific application functionality that, apparently, NeXTStep does not offer. All three examples I gave relate to the Internet, obviously a key computer application area and not a "niche". ------ John De Hoog, Tokyo
From: dehoog@experts.com (John De Hoog) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: Mon, 03 Mar 1997 21:59:27 GMT Organization: Experts, Inc. Message-ID: <331b4654.45811233@library.airnews.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> <5ff513$ini@bignews.shef.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit mmalcolm crawford <m.crawford@shef.ac.uk> said: >On 03/03/97, John De Hoog wrote: >> Like I said, no offline news readers like Forte Agent. >> >Wrong: HHNews.app allows you to read news offline. That does not make it the equal of Forte Agent. Tell me what else it can do. How does it handle multi-part binaries? Does it have threaded viewing? Filtering? What kind of email support? In other words, to what extent have they gone beyond the bare-bones Unix tool to provide a truly convenient offline reader? > >> Now let my turn your question around. What advantages does the >> Lighthouse suite offer over Office 97? >> >They take up a lot less disk space than Office97 (150MB?!) Let's compare like to like. Few people need to install all the Office 97 templates, samples, illustrations and other extras, most of which can be left on the CD-ROM. The functional parts of the programs themselves take up much less space. > >To turn your question around: what advantages does Office97 offer over >numerous applications NEXTSTEP offers which adequately cover the same >functionality? I don't know, because you haven't told me anything about those applications. I'm sure there are some very good ones, but when I ask for specifics, both this time and a couple of months ago, NeXTSteppers seem reluctant to present any of the details. ------ John De Hoog, Tokyo
From: Stephen Peters <speters@cygnus.com> Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: 03 Mar 1997 14:17:29 -0800 Organization: Cygnus Solutions Message-ID: <qdohd0d3ie.fsf@blues.cygnus.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <5feg86$7hd@bignews.shef.ac.uk> <331ad3ed.16524100@library.airnews.net> <5ff472$ies@bignews.shef.ac.uk> <331c487e.46365279@library.airnews.net> dehoog@experts.com (John De Hoog) writes: > mmalcolm crawford <m.crawford@shef.ac.uk> said: > No one has responded to my replies to Chuck and Ken, in which I laid > out some specific application functionality that, apparently, NeXTStep > does not offer. All three examples I gave relate to the Internet, > obviously a key computer application area and not a "niche". `Relating to the Internet' doesn't automatically mean that the application is a `key computer application'. The Internet itself *is* important, and NeXTSTEP handles it pretty well. Things like browsing the Internet when you're not connected to the Internet can be considered another matter. You're attempting to state that NeXTSTEP productivity is sorely lacking, due to an absence of important applications. Although an offline browser may be important to *you*, it does not appear to be important to over 95% of the browsing public. I, for one, find it very hard to get hot and bothered about its absence. I suspect there are several must-have apps on my dock that you would find totally unimportant. If we're going to argue about the death of productivity on NeXT boxes, can we at least find areas that most people *agree* is important? -- Stephen L. Peters speters@cygnus.com PGP fingerprint: BFA4 D0CF 8925 08AE 0CA5 CCDD 343D 6AC6 "What, do you think soup is a biped?" -- Crow, MST3K
From: gupta@tlctest.mt.att.com. (Arun Gupta) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: 3 Mar 1997 03:44:22 GMT Organization: IMEMYSELF Message-ID: <5fdhem$1om@newsb.netnews.att.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> John De Hoog <dehoog@experts.com> wrote: > >Who do you think has spent more time actually using both System 7 and >Win95 for real work on a daily basis, Gil Amelio or John De Hoog? > >Gil may know the MacOS is a mess, but he doesn't grasp the depth of >the mess. Once again, you make your false claim that Gil Amelio said that the MacOS is a mess. Surely you are more creative. -arun gupta
From: mmalcolm crawford <m.crawford@shef.ac.uk> Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Followup-To: comp.sys.next..advocacy,comp.sys.mac.advocacy Date: 3 Mar 1997 23:49:31 GMT Organization: University of Sheffield, UK Message-ID: <5ffo2b$r2v@bignews.shef.ac.uk> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <5feg86$7hd@bignews.shef.ac.uk> <331ad3ed.16524100@library.airnews.net> <5ff472$ies@bignews.shef.ac.uk> <331B2E12.4A06@worldnet.att.net> In-Reply-To: <331B2E12.4A06@worldnet.att.net> On 03/03/97, zizi zhao wrote: > mmalcolm crawford wrote: > > Where have I not been honest? What applications are you looking for > > which NEXTSTEP lacks? > > > > Apps from microsoft. > OK, touche'. What do you actually need, though -- I suspect that there is likely to be a NEXTSTEP app available which will meet your needs. Best wishes, mmalc. (followups directed to advocacy groups) --
From: Garance A Drosehn <gad@eclipse.its.rpi.edu> Newsgroups: comp.sys.next.programmer,comp.sys.mac.system,comp.sys.mac.programmer.codewarrior Subject: Re: Mac/NeXT & Unix: File System Date: 28 Feb 1997 09:59:19 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Message-ID: <5f6a9o$354@usenet.rpi.edu> References: <5ddp66$jpc@news.bu.edu> <5de4gb$np2@news.bu.edu> <32FB7FCA.4D15@mcs.com> <qdohdwi3xe.fsf@blues.cygnus.com> <peterm.855560581@ulfrun> <qdafpcigu6.fsf@blues.cygnus.com> <peterm.855734840@ulfrun> <Yn0RG7q00iWQI1qLIH@andrew.cmu.edu> <peterm.855825088@ulfrun> <SHESS.97Feb13094615@howard.one.net> <peterm.855919020@ulfrun> <SHESS.97Feb14103937@howard.one.net> <peterm.856170937@ulfrun> <SHESS.97Feb17161830@howard.one.net> <peterm.856265782@ulfrun> <SHESS.97Feb19093610@howard.one.net> <5ejgug$oij@usenet.rpi.edu> <SHESS.97Feb25125500@howard.one.net> shess@one.net (Scott Hess) wrote: > Garance A Drosehn <gad@eclipse.its.rpi.edu> writes: > shess@one.net (Scott Hess) wrote: > > It's the latency that's important. If an inode has 96 bytes of > > information, you can fit 10 inodes in a 1k fragment. If an inode > > has 128 bytes, you can only fit 8, if it has 160 bytes, you can > > only fit 6. > > I do not buy the argument that there will be a significant > (obvious-to-the-user) performance penalty ... > <snip> > The overhead should only come when opening files, and it isn't > going to be all *that* much different. > > Well, I'm not really arguing that adding a couple bits to the > structures is going to affect anything in a truly user-visible > fashion. I'm concerned with the drawing of the line - if we're > going to add such-and-such bits, well, lets also add these other > bits, too. My thought would be to draw the line at the things already supported by the MacOS, assuming we were willing to go with any changes to the inode structure. Offhand I can't think of much more which that would add other than the creation-date timestamp. Now, having said that I'll just turn around and argue against any major inode/catalog changes, but the reason would not be anything to do with system performance. > > In essence, that's what this thread is about - the creation > > timestamp is one more bit of info helpful to the user. I'm > > arguing that this bit is very seldom used, and though it > > might be useful periodically, it's not useful frequently > > enough to be worth hazarding throughput. If you make the > > things the user does hundreds of times a day fast, it's not > > too painful if you make the things they do once a week a > > bit slower. > > Note that if one uses a resource-fork approach to storing > little bits of info, then you have fewer catalog lookups to > do (which is to say, the application is doing fewer file-open > operations). I think it would be inconsistent to wail and > moan about adding a tiny bit of overhead to a file-open, but > then be quite comfortable and gung-ho about organizing > information in such a way that greatly increases the number > of file-open's which are done every time an application is > launched or a document is opened. If file opens are so > expensive in the first case, then we should not be so calm > about them in the second case. > > Hold on! If you make the arbitrary assumption that _all_ files > have two forks, then indeed introducing a wrapper is problematic. It isn't that all files have two forks. It's that the resource fork is a mini-database of small things. Ignore the data fork. If a file has a resource fork, then that fork is *one* file. If you split that into a wrapper, that same information will (most likely) be stored in multiple files. This is good for pieces of info which are large (such as a tiff image for a document), and not so great if the pieces are little tiny things. It is also nice to have a simpleton's database system handy, where you can index some information based on a 4-byte key. It's better to have that data in a single file, instead of spread out over lots of little files. Note, for instance, that this is exactly the thinking behind the defaults database on NeXTSTEP. You have one file with a simple database interface, instead of spreading things over lots of files. > Now you've got an additional level of manipulation, without any > gain. But, in my experience with NeXTSTEP (and also personal > computers in general), files as wrappers tend to be the minority. My experience with Macs suggests that it happens more on a Mac, because the system makes it convenient to do. Particularly when some piece of information is for the benefit of the system, instead of being for the application. Think of version-information, for instance, or custom icons for documents. The *system* needs to know how to access that information for *any* document. The mac can do this, due to the resource fork. > Most files tend to be just what they appear, a plain old file. This is because most other operating systems can not do the same thing, not as conveniently at least. I'd love it if I could find out the version of *every* NeXTSTEP application without having to start the application up, for instance. This should be information available at the file-viewer level, but NeXT has no standard way of doing this. If it did have a standard way, it would either be: 1) some new file in the app wrapper 2) a piece of data in some mini-database file in the app wrapper (a Mach-O segment? A nib?). In essense, this file would be mighty similar to the resource fork of a Mac. > Furthermore, my experience indicates that files with more than > one fork generally tend to want an arbitrary number of forks. This is my experience too. > The number of files with exactly two forks would be in a very > small minority. The MacOS started with two, and has long been making noises about having more... I think one way to do this is to have some kind of "resource type" of file ("type" in same sense that "tiff" is a type of file). An app wrapper might have one of these, with a specific name, for system-level information (information that the system would like to see from all applications or documents, such as "version" information). Apps could then have other files of the same type. You could have some application which would know how to inspect and set values in a "resource file". Maybe even call it ResEdit. Each of these files could be thought of as a fork, but it wouldn't be quite as much of a cross-platform pain as the single resource fork is on a Mac. Well, I've been awake too long for me to make this sound as brilliant as I'd like it to sound, and in any case all of this is unrelated to the point I was making in my earlier article. My point was that for every file where a NeXTSTEP advocate might say "It's OK to take the single resource fork of this file and turn it into multiple files inside an app-wraper", you are asking people to put up with the overhead of doing multiple file-opens. That performance penalty is, I suspect, larger than the *performance* penalty from adding the creation-date field to the inode information. This is especially true if, as others have stated, there is already some spare room in the layout of an inode. I do agree that the performance penalty of app-wrappers is (usually) not going to be significant enough to care about, but at the same time I'm not going to agree with the performance-related argument against adding a little bit more information to the inode. There are *other* good reasons not to do that, but performance isn't one of them. As I said earlier, I end up coming to the same conclusion as Scott, but for different (and I think more defendable) reasons. --- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu Senior Systems Programmer (MIME & NeXTmail capable) Rensselaer Polytechnic Institute; Troy NY USA
From: dehoog@experts.com (John De Hoog) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: Tue, 04 Mar 1997 00:24:36 GMT Organization: Experts, Inc. Message-ID: <331b6a1a.54969011@library.airnews.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> <5ff513$ini@bignews.shef.ac.uk> <331b4654.45811233@library.airnews.net> <5ffmvs$ku3$1@darla.visi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit David Young <dwy@ace.net> said: >In comp.sys.next.programmer John De Hoog <dehoog@experts.com> wrote: >: That does not make it the equal of Forte Agent. Tell me what else it >: can do. How does it handle multi-part binaries? Does it have threaded >: viewing? Filtering? What kind of email support? In other words, to >: what extent have they gone beyond the bare-bones Unix tool to provide >: a truly convenient offline reader? > >You're an idiot. We're not here to justify the quality of our applications. >Curious? Try NEXTSTEP. Find out. We say it's good because it does everything >we need. Your mileage may vary. Agent sucks. I've seen it do nothing but >crash on the 95 boxes at the office. There are at least five NEXTSTEP >native news readers, *plus* whatever UNIX newsreaders there are. Thanks for the insults, and thanks most of all for side-stepping the specific questions. I now realize, from your answers and from the lack of answers to my questions about automatic Web agents, html email clients, etc., and from the fact that most of you don't even understand the features I've described (e.g., don't understand the need of a SOHO user with a dial-up Internet connection and multiple providers), that Apple has bought a company with very little chance of bringing it into the mainstream. Happy niche-playing! ------ John De Hoog, Tokyo
From: Patrick Schulz <schulz@freia.inf.tu-dresden.de> Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: Fri, 28 Feb 1997 13:26:42 +0100 Organization: Institute of Computer Engineering, CS department, University of Technology Dresden, Germany Message-ID: <3316CF02.12C9@freia.inf.tu-dresden.de> References: <msg37701.thr-34dc7b90.54c5638@flannet.middlebury.edu> <5evgk9$7m4@news.next.com> <qdiv3f2b7i.fsf@blues.cygnus.com> <5f5s91$14s@usenet.rpi.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Garance A Drosehn wrote: > [ a lot of true stuff, but deleted ] > People who are just joining this adventure now might think that > I'm making all of the above up just to be funny, but I'm reasonably > sure that I have all the facts straight there. The thing what makes this term a real advanture is how NeXT and Sun deals with. NeXT defined: OPENSTEP for [any OS] - Product, Implementation and extension (!!!) of the Standard OpenStep - The standard (API) itself as defined with Sun Sun defined: OpenStep Solaris - Product, Implementation and a few extensions of the Standard and some Applications (WorkSpace...) to run under Solaris Workshop OpenStep - Product, Programming Tools for developing applications for OpenStep Solaris (requires in- stalled OpenStep Solaris Product) OpenStep - The standard (API) itself as defined with NeXT OK, this seems understandable. But here are some examples for the confusing usage of the term by NeXT and Sun itself: http://www.next.com/OPENSTEP/Initiative.html Here you can see the "OPENSTEP compliant" logo, which by logic should be spelled "OpenStep compliant" It just makes no sense to be compliant to a product. here "OpenStep" is used for both, standard and implementation http://www.next.com/NeXTanswers/HTMLFiles/1989.htmld/1989.html here you'll find different capitalization in header and text ... http://www.eu.sun.com/sunsoft/solaris/press/openstep.html http://www.next.com/AboutNeXT/PressKit/PressReleases/1996/Solarisv2.html BTW: Apple often uses the term "OPENSTEP based API". For me this sounds like adoping all OpenStep API plus all NeXT extensions for the new MacOS. This could make Rhapsody programs to be NOT compliant to the OpenStep Standard, when they use the NeXT extensions. Summary: Don't care about how "openstep" is written, just try to imagine what could be meant by using it :-) -- Patrick Schulz; Alaunstrasse 21a D-01099 Dresden; Germany email: schulz@freia.inf.tu-dresden.de (MIME & NeXTmail welcome) http://www.inf.tu-dresden.de/~ps3/ - vmunix: panic - no coffee detected, user halted.
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 3 Mar 1997 23:31:08 GMT Organization: ace dot net internet technologies Message-ID: <5ffmvs$ku3$1@darla.visi.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> <5ff513$ini@bignews.shef.ac.uk> <331b4654.45811233@library.airnews.net> In comp.sys.next.programmer John De Hoog <dehoog@experts.com> wrote: : That does not make it the equal of Forte Agent. Tell me what else it : can do. How does it handle multi-part binaries? Does it have threaded : viewing? Filtering? What kind of email support? In other words, to : what extent have they gone beyond the bare-bones Unix tool to provide : a truly convenient offline reader? You're an idiot. We're not here to justify the quality of our applications. Curious? Try NEXTSTEP. Find out. We say it's good because it does everything we need. Your mileage may vary. Agent sucks. I've seen it do nothing but crash on the 95 boxes at the office. There are at least five NEXTSTEP native news readers, *plus* whatever UNIX newsreaders there are. You're also obviously lacking in the clue deparment when you assume that UNIX tools are bare bones. nn and tin are extraordinarily powerful and easy to use, despite being text based. : Let's compare like to like. Few people need to install all the Office : 97 templates, samples, illustrations and other extras, most of which : can be left on the CD-ROM. The functional parts of the programs : themselves take up much less space. Bullshit, you choose typical install and you get 210MB of shit. Very few people pick through the custom installation. : I don't know, because you haven't told me anything about those : applications. I'm sure there are some very good ones, but when I ask : for specifics, both this time and a couple of months ago, NeXTSteppers : seem reluctant to present any of the details. Here's what you've done: 1. You make a statement like "NEXTSTEP doesn't have ApplicationX", without being a NEXTSTEP user. 2. We say, "yes, it does." 3. You say, "Yeah, but it's not as good", again, without being a NEXTSTEP user. 4. You ask us to justify it with features. Besides, how can you describe how driving a Lotus Esprit is better than a Ford Pinto to someone who's only driven the lemon? "It feels better." "Explain?" "It handles better." "Huh?" -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: mmalcolm crawford <m.crawford@shef.ac.uk> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Followup-To: comp.sys.mac.advocacy,comp.sys.next.advocacy Date: 3 Mar 1997 23:47:02 GMT Organization: University of Sheffield, UK Message-ID: <5ffntm$qt7@bignews.shef.ac.uk> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> <5ff513$ini@bignews.shef.ac.uk> <331b4654.45811233@library.airnews.net> In-Reply-To: <331b4654.45811233@library.airnews.net> On 03/03/97, John De Hoog wrote: > mmalcolm crawford <m.crawford@shef.ac.uk> said: > That does not make it the equal of Forte Agent. Tell me what else it > can do. How does it handle multi-part binaries? Does it have threaded > viewing? Filtering? What kind of email support? In other words, to > what extent have they gone beyond the bare-bones Unix tool to provide > a truly convenient offline reader? > > Ah, having satisfied your initial requirements, the old changing the goalposts manouevre... Yes; yes; it allows you to follow-up by email, news, or both; don't understand the question; far enough. > >To turn your question around: what advantages does Office97 offer over > >numerous applications NEXTSTEP offers which adequately cover the same > >functionality? > > I don't know, because you haven't told me anything about those > applications. I'm sure there are some very good ones, but when I ask > for specifics, both this time and a couple of months ago, NeXTSteppers > seem reluctant to present any of the details. > What details do you want? Never mind, let me put it this way -- what compelling advantage does Office97 offer that makes it essential for me to use? Rhetorical -- the answer it none: you claimed, in effect, that NEXTSTEP does not support "productivity users"; I represent existence proof that it does. Indeed, for the most part, I seem able to achieve more using NEXTSTEP than my colleagues using Windows "solutions". Does Windows offer a WYSIWYG PostScript-editing tool? (Even a text editor that could happily cope with files greater than about a megabyte would be good, then I might have a chance at hand-editing it; sadly Windows seems unable even to offer that.) Best wishes, mmalc. (followups directed to advocacy groups) --
Newsgroups: comp.sys.next.programmer From: frank@ali.bc.ca (Frank Pang) Subject: Memory leaks when unarchiving? Message-ID: <E6HsGx.GHz@gateway.ali.bc.ca> Sender: nobody@gateway.ali.bc.ca Organization: A.L.I. Technologies, Inc. Date: Tue, 4 Mar 1997 00:10:07 GMT I have a problem which has nagged me for too long. I get memory leaks and had MallocDebug trace the source of the leaks to a call to [NSUnarchiver unarchiveObjectWithFile:@"foo"]. The sample code compiles and runs fine except that it will generate a memory leak on the second iteration below. I use MallocDebug library to trace the leak. Am I missing something here? I am compiling this with the standard cc, using NeXTStep 3.3 with EOF 1.1 so I have the Foundation libraries dated Feb 27 1995. Do cc flags matter here? Yes I do link -lFoundation_s and -lMallocDebug. here's a snippet of a simple class: definition: @interface Asset : NSObject <NSCoding> { NSString *name; } snips of the implementation: - (id)initWithCoder:(NSCoder *)coder { NSString *newName; newName = [coder decodeObject]; [self setName:newName]; return self; } - (void)encodeWithCoder:(NSCoder *)coder { [coder encodeObject:name]; } *** this code causes leaks on the second iteration of the for loop. #import <stdio.h> #import <stdlib.h> #import <Asset.h> #import <foundation/NSArchiver.h> #import <foundation/NSAutoreleasePool.h> #import <appkit/appkit.h> int main (void) { Asset *ass, *anAsset; int i; NSAutoreleasePool *aPool; ass = [[Asset alloc] init]; [ass setName:@"foo"]; for (i = 0; i < 3; i++) { aPool = [[NSAutoreleasePool alloc] init]; // save test [NSArchiver archiveRootObject:ass toFile:@"foo"]; printf ("archived, press a key.\n"); getchar (); // unarchive anAsset = [NSUnarchiver unarchiveObjectWithFile:@"foo"]; printf ("unarchived, press a key.\n"); getchar (); [aPool release]; } } -- Frank Pang, frank@ali.bc.ca Software Developer A.L.I. Technologies Ltd., (NeXT & MIME accepted here) 95-10551 Shellbridge Way, Richmond, BC, 279-5422 (ext. 366) Canada V6X 2W9
From: "Andrew McPherson" <mcpheran@mail.cit.ac.nz> Newsgroups: comp.sys.mac.system,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer,comp.sys.mac.oop.powerplant,comp.sys.next.programmer Subject: Re: Mac/NeXT & Unix: You're all NUTS! Date: 4 Mar 97 01:56:23 GMT Organization: Central Institute of Technology Message-ID: <01bc2837$08c87b00$26193b9c@A413-04.cit.ac.nz> References: <5d8qta$6np@news.bu.edu> <5dbfr3$g10@dismay.ucs.indiana.edu> <connelly-ya023680000602970146410001@news.ziplink.net> <Pine.SGI.3.95.970207004811.10697B-100000@wong> <slrn45fuv15.nv0.campbejr@phu989.um.us.sbphrd.com><33011DDB.4B1A@acm.org> <0n0OxoO00iWp023GQ0@andrew.cmu.edu> <33026799.D07@acm.org> <5e04nv$eqt@spool.cs.wisc.edu> <33079938.783E@acm.org> <5ean3v$3l5@spool.cs.wisc.edu><33091DD2.61FA@acm.org> <0n2TR_y00iWk05nyQ0@andrew.cmu.edu><330A8B29.1D5A@acm.org> <8n2mO2O00iWl05_J00@andrew.cmu.edu> <330B8D60.74C1@acm.org> Ok, so UNIX is robust. Like wow! I suppose the users will really care about that more than the interface! Let's face it folks, UNIX sucks! Not from a technical point, but from a end-user point. You know that UNIX is just not an option for the vast home/small business market, because the interface is even worse than MS-DOG. We'll take the best from the UNIX systems, put the mac interface on it and blow away the Wintel market with better marketing. And that's how apple came up with MacOS8...
From: don@globalobjects.com (Don Yacktman) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 4 Mar 1997 01:03:10 GMT Organization: Global Objects Inc. Message-ID: <5ffsce$1do$4@news.xmission.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> <5ff513$ini@bignews.shef.ac.uk> <331b4654.45811233@library.airnews.net> <5ffmvs$ku3$1@darla.visi.com> <331b6a1a.54969011@library.airnews.net> dehoog@experts.com (John De Hoog) wrote: > I now realize, from your answers and from the lack > of answers to my questions [...] We don't even pay attention to our own *ssholes except when cleaning up after certain business...so why should we pay attention to some other *sshole? > about automatic Web agents, html email > clients, etc., and from the fact that most of you don't even > understand the features I've described (e.g., don't understand the > need of a SOHO user with a dial-up Internet connection and multiple > providers), You don't honestly believe that we're all a bunch of rich twits with dedicated T1's to connect us to the net, do you? I, and most other NeXT users, understand the features you want and why they are important. They exist, for the most part, in OPENSTEP or NEXTSTEP, but not necessarily in the form you are used to. To do offline browsing or newsreading, as per one of your examples, we use the Harvest WWW cache and INN (or other alternatives that do the same thing). The beauty of that approach is that they turn every browser and news reader into an offline browser/reader. They aren't too bad to set up, either, since some people have been nice enough to create Installer.app packages that put it together for you. Intelligent agents don't seem to be in abundance (as far as web spiders go) but that is probably because of lack of market right now. I know of two spiders for NEXTSTEP, though neither is publically available. One was the, ahem, "little-known" WebCrawler. Under OPENSTEP spiders are so easy to create that you need have no fear that they will exist for Rhapsody. What's left? Mail readers? Well, if you're into user hostile there is what I have been using (as well as most of us) which is Mail.app+procmal. It is an amazingly powerful combo. If procmail is too nasty for you, there were specific NEXTSTEP apps for that call MailBaCK and LightMail. I think the former still exists, and the latter was swallowed up by ITS. The latter was a work of art, though. (Cheers, Bill! :-) ) Imagine an InterfaceBuilder for mail routing and scripting that can do procmail sorts of things. Then you have Mail.app or Eloquent.app, or Mynah.app, or... so there are plenty of email readers out there. There are at least four news readers. There are three decent web browsers I can think of. It isn't as if we don't have choices, it isn't as if there aren't any apps, and, hey, these apps _are_ feature rich. The reason you don't get "answers" is, as mmalcolm suggested, your moving goalpost manouveur. When we answer your question, you either ignore it or you say "that's not what I wanted" and proceed to ask a new question. We can't answer a question before it is asked. Because your questioning method is, by its very nature, impossible to answer completely, we've pretty much thrown our hands in the air and said, "why don't you just try it for yourself, then." Try it and see if this stuff isn't there. It all works fine for us, so it is damn irritating to have you tell us it isn't. > [...] Apple has bought a company with very little chance of > bringing it into the mainstream. > > Happy niche-playing! And this is why you are an *sshole. This is bullsh** pure and simple. FUD for the sake of making waves--non-productive, false, and sensational. Please keep this pedantic whining out of comp.sys.next.programmer and go play in .advocacy, where you fit right in. -- Later, -Don Yacktman don@misckit.com <a href="http://www.misckit.com/don.html">My home page</a>
From: John Kheit <jkheit@cnj.digex.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 4 Mar 1997 01:04:35 GMT Organization: monoChrome, Inc., NJ, USA Message-ID: <5ffsf3$qd1@news4.digex.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> <5ff513$ini@bignews.shef.ac.uk> <331b4654.45811233@library.airnews.net> <5ffmvs$ku3$1@darla.visi.com> <331b6a1a.54969011@library.airnews.net> dehoog@experts.com (John De Hoog) wrote: > Thanks for the insults, and thanks most of all for side-stepping > the specific questions. I now realize, from your answers and from > the lack of answers to my questions about automatic Web agents, > html email clients, etc., and from the fact that most of you > don't even understand the features I've described (e.g., don't > understand the need of a SOHO user with a dial-up Internet > connection and multiple providers), that Apple has bought a > company with very little chance of bringing it into the mainstream. Try these for lighthouse: http://wof.lighthouse.com/cgi-bin/WebObjects/FAQServer http://www.lighthouse.com/ProductInfo/Academic.html News apps: Radical News http://www.radical.com/ HNNews http://soback.kornet.nm.kr/~hnalgae/ NewsFlash http://www.wolfware.com Alexandra is for free (don't know if there is a web address for info) Then there is also, Kiwi, Eloquent, NewsGrazer, NewsBase (pretty sure it does MIME)...and likely others I'm not aware of. If anyone knows of addresses to the above news apps that I didn't have addresses to...please post them... -- Thanks, be well, take care, later, John Kheit; Self expressed... monoChrome, Inc. | ASCII, MIME, PGP, SUN, & NeXTmail OK NeXT/OPENSTEP Developer | mailto:jkheit@cnj.digex.net Telepathy, It's coming... | http://www.cnj.digex.net/~jkheit New York Law School | Jag talar inte svenska )^> %^) =^)
From: zizi zhao <ziziz@worldnet.att.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: Mon, 03 Mar 1997 19:09:53 -0500 Organization: AT&T WorldNet Services Message-ID: <331B6851.5943@worldnet.att.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> <5ff513$ini@bignews.shef.ac.uk> <331b4654.45811233@library.airnews.net> <5fflgm$1do$2@news.xmission.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Don Yacktman wrote: > > dehoog@experts.com (John De Hoog) wrote: > > mmalcolm crawford <m.crawford@shef.ac.uk> said: > > > >To turn your question around: what advantages does Office97 offer over > > >numerous applications NEXTSTEP offers which adequately cover the same > > >functionality? > > > > I don't know, because you haven't told me anything about those > > applications. I'm sure there are some very good ones, but when I ask > > for specifics, both this time and a couple of months ago, NeXTSteppers > > seem reluctant to present any of the details. > > Because we don't have the time or inclination to write up laundry lists of > features which you could dig up yourself if you were to take the time to do a > little research yourself. You can't expect us to spoon feed you > *everything*, for crying out loud! (That can also be read: "We're just as > lazy as you are.") > > Try one of these: > > http://www.stone.com > http://www.lighthouse.com/ProductInfo/Academic.html > > for starters. (There are many more, someone else can make a list. I'm > feeling lazy right now.) Or email the company for more info about the apps. > These companies make the apps, so why not see what they claim for their apps? > Last time I was there there were screen shots and feature laundry lists for > everything. > also try http://www2.stepwise.com/cgi-bin/WebObjects/Stepwise/ISVs.woa
From: Stephen Peters <speters@cygnus.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 03 Mar 1997 17:03:03 -0800 Organization: Cygnus Solutions Message-ID: <qdn2skcvug.fsf@blues.cygnus.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> <5ff513$ini@bignews.shef.ac.uk> <331b4654.45811233@library.airnews.net> <5ffmvs$ku3$1@darla.visi.com> <331b6a1a.54969011@library.airnews.net> dehoog@experts.com (John De Hoog) writes: > I now realize, from your answers and from the lack of answers to my > questions about automatic Web agents, html email clients, etc., and > from the fact that most of you don't even understand the features > I've described [...] that Apple has bought a company with very > little chance of bringing it into the mainstream. That's right, John. Because you can't do a capable job of describing what you want, and because some random person on the net not even affiliated with Apple or NeXT flamed you, Apple is doomed. Your logic leaves me (and I'm sure others) awestruck. -- Stephen L. Peters speters@cygnus.com PGP fingerprint: BFA4 D0CF 8925 08AE 0CA5 CCDD 343D 6AC6 "What, do you think soup is a biped?" -- Crow, MST3K
From: don@globalobjects.com (Don Yacktman) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 3 Mar 1997 23:05:58 GMT Organization: Global Objects Inc. Message-ID: <5fflgm$1do$2@news.xmission.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> <5ff513$ini@bignews.shef.ac.uk> <331b4654.45811233@library.airnews.net> dehoog@experts.com (John De Hoog) wrote: > mmalcolm crawford <m.crawford@shef.ac.uk> said: > >To turn your question around: what advantages does Office97 offer over > >numerous applications NEXTSTEP offers which adequately cover the same > >functionality? > > I don't know, because you haven't told me anything about those > applications. I'm sure there are some very good ones, but when I ask > for specifics, both this time and a couple of months ago, NeXTSteppers > seem reluctant to present any of the details. Because we don't have the time or inclination to write up laundry lists of features which you could dig up yourself if you were to take the time to do a little research yourself. You can't expect us to spoon feed you *everything*, for crying out loud! (That can also be read: "We're just as lazy as you are.") Try one of these: http://www.stone.com http://www.lighthouse.com/ProductInfo/Academic.html for starters. (There are many more, someone else can make a list. I'm feeling lazy right now.) Or email the company for more info about the apps. These companies make the apps, so why not see what they claim for their apps? Last time I was there there were screen shots and feature laundry lists for everything. After you do your own research, ask us if the apps live up to what the developer's claims. Or tell us what you think the weak areas are. Those of us using these apps are quite happy with them. Tell us why we should be missing MS Office, since we're quite happy with what we have and don't exactly find ourselves pining for Office... -- Later, -Don Yacktman don@misckit.com <a href="http://www.misckit.com/don.html">My home page</a>
From: yannick buisson (université de La Rochelle) Newsgroups: comp.sys.next.programmer Subject: MiscTableMatrix Palette !! Date: 28 Feb 1997 14:55:34 GMT Organization: Universite de La Rochelle Message-ID: <5f6rl6$nb4@hpuniv.univ-lr.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Hi all, I have the MiscKit 2.0.2 version. I try to compile the few available palettes .... But i just manage to compile the MiscSwitchView palette ! Does someone manage to compile the MiscTabMatrix palette under OpenStep 4.1 ?? When i try to compile MiscTabMatrix, i have an error like NEXT_ROOT = variable undefined !!! If yes, i am interessting to get a good version thanks for your help YANNICK -- //// (. .) ----oOO--(_)--OOo-------------------------------------------- Yannick BUISSON Centre de Ressources Informatiques Université de La Rochelle tel prof. : 46 45 82 14. fax prof. : 46 45 82 45. yannick@cri.univ-lr.fr
From: amando@gcomm.com Newsgroups: comp.sys.next.programmer Subject: DEBUGGER INFO NEEDED Date: Fri, 28 Feb 1997 16:05:02 +0200 Organization: CompuServe Incorporated Message-ID: <3316E60E.5BCC@gcomm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I am a newbie in the nextstep programming enviroment and I need to learn a bit more about Next's GDB. The info offered by Next is very complicated for me, since I am just beginning. Could anybody please tell me where can I find more info or a book that explains with more detail GDB and the art of debugging programs? I will thank you very much all the info... TIA Amando Blasco
From: amando@gcomm.com Newsgroups: comp.sys.next.programmer Subject: Re: objective c Date: Fri, 28 Feb 1997 16:13:55 +0200 Organization: CompuServe Incorporated Message-ID: <3316E823.4D78@gcomm.com> References: <33145BB5.5F20@shamu.mtn.ncahec.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit melissab@shamu.mtn.ncahec.org wrote: > > I am a student researching object oriented languages, specifically > objective c. I need some input from real world users! How you use > objective c , which compiler, your opinion of the languages > (like,dislike) , ease of use, and what application you are using it for > etc...Per your permission I will use your name and affiliation in my > paper plus your opinion of the product. Much thanks in advance! Melissa > Boring Hi Melissa! I am learning about Objetive C (and English :) too. I found an electronic book titled "NextStep Advantage" that covers from the fundamentals of OOP to the Objetive-C and details about the usefull Classes available in the nextstep enviroment. NeXT also has written an Objetive-C book that is included inside NeXT's computers that explains all the Objetive-C set of commands and an introduction of the OOP. In www.stepwise.com you can also find a lists of books published that might help to learn this art! I hope this will help you! Amando Blasco amando@gcomm.com
From: "Andrew McPherson" <mcpheran@mail.cit.ac.nz> Newsgroups: comp.sys.next.programmer,comp.sys.mac.system,comp.sys.mac.programmer.codewarrior Subject: Re: Mac/NeXT & Unix: File System Date: 4 Mar 97 02:02:55 GMT Organization: Central Institute of Technology Message-ID: <01bc2837$f2e46d20$26193b9c@A413-04.cit.ac.nz> References: <5ddp66$jpc@news.bu.edu> <5de4gb$np2@news.bu.edu> <32FB7FCA.4D15@mcs.com><qdohdwi3xe.fsf@blues.cygnus.com> <peterm.855560581@ulfrun><qdafpcigu6.fsf@blues.cygnus.com> <peterm.855734840@ulfrun><Yn0RG7q00iWQI1qLIH@andrew.cmu.edu> <peterm.855825088@ulfrun><SHESS.97Feb13094615@howard.one.net> <peterm.855919020@ulfrun><SHESS.97Feb14103937@howard.one.net> <peterm.856170937@ulfrun><SHESS.97Feb17161830@howard.one.net> <peterm.856265782@ulfrun><SHESS.97Feb19093610@howard.one.net> <5ejgug$oij@usenet.rpi.edu> <SHESS.97Feb25125500@howard.one.net> Scott Hess <shess@one.net> wrote in article <SHESS.97Feb25125500@howard.one.net>... > In article <5ejgug$oij@usenet.rpi.edu>, > Garance A Drosehn <gad@eclipse.its.rpi.edu> writes: > shess@one.net (Scott Hess) wrote (somewhere towards the end...): > Furthermore, my experience indicates that files with more than one > fork generally tend to want an arbitrary number of forks. The number > of files with exactly two forks would be in a very small minority. > Granted, you can add a structured file format of some sort which > overlays file structure to allow condensing multiple forks into fewer > forks. But if you're going to do that, why stop at two forks? Why > not condense it all the way down to one fork? Because you'll end up with the windoze 95/NT curse, you'd have to rely on a database of file associations... And guess what happens if the database gets corrupted? (mac) You rebuild the desktop file, and all those associations remain in order. (DOS-box) Well, you just have to jump in and do a text-edit on the database yourself, until you've corrected it your files don't know what program to use...
From: edream@mailbag.com (Edward K. Ream) Newsgroups: comp.sys.next.programmer Subject: More OpenStep Questions Date: Fri, 28 Feb 1997 09:01:59 -0600 Organization: Berbee Information Networks Corporation Message-ID: <edream-2802970901590001@msn-4-14.binc.net> Hello again, Now that we are all up to speed on the difference between OPENSTEP and OpenStep :-) I'd like to ask the questions that I _really_ meant to ask! 1. Are the Foundation Toolkit and App Toolkit an integral part of the Next OS? That is, are they part of the "official" API's of the OS? Or are they simply libraries supplied by compiler vendors? Or maybe something in between? Comment: I'm trying to understand what, exactly, the Mac "Yellow Box" will contain. 2. Are Objective-C objects an integral part of the Next OS? That is, do the OS API's imply a specific structure for objects (for instance, the isa pointer)? If so, then a) do all C++ compilers ultimately produce objective C calls? b) is there a public ABI (app binary interface) that describes this interface? Comment: I'm trying to understand what the fundamental performance characteristics of the Yellow Box will be. 3. Is it possible to call objective-c methods from C code? Is this the purpose of objc_sendm? If it is possible, how easy is it for the C code to use the results? (The objective-C headers will not, e.g., contain an explicit reference to the isa pointer, so how could C code use those headers?) Comment 1: I'm trying to understand the process of porting C code (or C++ code) to an objective-C world. If we are stuck with only calls _from_ objective-C to C, then porting code would probably involve using an (old) C layer below a new objective-C layer, and the C layer could _not_ call code in the higher layer. Comment 2: This kind of port could be very significant in merging Mac OS 7.x and Copeland code into the Next OS code. Cheers, Edward Edward -- Edward K. Ream (608) 231-0766 edream@mailbag.com Owner, Sherlock Software
From: gandreas@mirage.skypoint.com (Glenn Andreas) Newsgroups: comp.sys.mac.programmer.codewarrior,comp.sys.mac.system,comp.sys.next.programmer Subject: Re: Mac/NeXT & Unix: File System Date: Fri, 28 Feb 1997 09:10:25 -0600 Organization: GAndreas Software Message-ID: <gandreas-2802970910250001@news.skypoint.com> References: <5ddp66$jpc@news.bu.edu> <5dtpb5$h4t@news.bu.edu> <Mn1TiBm00iVC81ZnAQ@andrew.cmu.edu> <AF2E42E196681EFC18@node50.tfs.net> <5eb9r5$iv2@csugrad.cs.vt.edu> <AF39A1D79668E697E@pm3-p20.tfs.net> <33145CC0.6C05@worldbank.org> <tkimpton-ya023180002702971745260001@newsserver.epix.net> In article <tkimpton-ya023180002702971745260001@newsserver.epix.net>, tkimpton@mail2.maned.com (Thomas R. Kimpton) wrote: > Perhaps I've missed someone mentioning this, but: The only > place where the file *name* (which is how a file is referenced > in an open call) is associated with an inode, is the directory > structure(entry). Cool idea, but this doesn't quite work, since it fails for hard-links (i.e., two different directory entries point to the same i-node). However, since Mac alias are more like soft-links than hard links, this might not be an issue, though there are probably some stuff in the unix layer that pretty much assumes that hard links work "correctly". -- Glenn Andreas Author of Macintosh games: gandreas@skypoint.com Theldrow 2.3 http://www.skypoint.com/members/gandreas Blobbo 1.0.2 ftp://ftp.skypoint.com/pub/members/g/gandreas Unsolicited bulk email will be proofread for a US$500/k, min $1000
From: Mircea Oancea <mircea@pathcom.com> Newsgroups: comp.sys.next.programmer Subject: ANNOUNCE libFoundation-0.7 Date: 28 Feb 1997 01:31:59 GMT Organization: A poorly-installed InterNetNews site Message-ID: <5f5cif$e8u$3@newsmaster.pathcom.com> Hi to all Objective-C programmers, We are pleased to announce you the availability of libFoundation, a free and almost complete implementation of Foundation Kit as defined in the OpenStep specifications, plus more classes that come with the newest releases of OpenStep 4.x. It has completely or almost completely implemented the following classes: NSObject NSString, NSMutable NSArray, NSMutableArray NSDictionary, NSMutableDictionary NSSet, NSMutableSet NSData, NSMutableData NSValue, NSNumber NSDate, NSCalendarDate, NSTimeZone NSCharacterSet NSEnumerator NSAutoreleasePool NSException NSNotification, NSNotificationCenter NSCoder, NSArchiver, NSUnarchiver NSScanner NSInvocation, NSMethodSignature NSFileManager NSBundle NSProcessInfo NSAccount NSDistributedLock NSPosixFileDescriptor NSTimer NSRunLoop NSThread NSUserDefaults Some extensions to the OpenStep specification are also present. They include an extended exception handling mechanism, a garbage collector based on reference counting and a printf-like formatting class. The exception handling mechanism is very similar with those found in Java and C++ and requires support for nested functions from the compiler. The garbage collector adds the benefits of automatic garbage collecting to the OpenStep programs and it is fully integrated with OpenStep classes. The printf-like formatting class is a general purpose class that can be used to do various operations that require parsing of format strings like in printf(). This class is used for example to do all the formatting jobs from NSString class in libFoundation. These extensions are also available in a separate library for other OpenStep Foundation implementations; the current supported Foundation libraries are gnustep-base and the Foundation library in NeXTStep 3.3. Support for 4.x OpenStep Foundation library is planned. The library requires the 2.7.2.1 GNU Objective-C compiler with the Objective-C patches from Scott Christley <scott@net-community.com>. On NeXTStep machines the library can also be compiled with NeXT Objective-C runtime besides the GNU runtime. The library was ported on the following platforms: - m68k-next-nextstep3 - i386-next-nextstep3 - i386-unknown-linux Preliminary support has been done for Sparc Solaris 2.4 and HPUX 9.x. The library also runs with GNU runtime on OpenStep 4.x for Mach with the GNU compiler (not the native one). Distributed Objects and Unicode support in NSString are planned. You can download the source code from > ftp://ftp.logicnet.ro:/pub/users/ovidiu/libFoundation-0.7.tgz > ftp://koala.NMR.EMBL-Heidelberg.DE:/pub/next/OpenStep/GNUstep/Sources/libFoun dation-0.7.tgz > ftp://ftp.net-community.com/pub/Free/libFoundation-0.7.tgz Happy hacking, Ovidiu Predescu <ovidiu@bx.logicnet.ro> Mircea Oancea <mircea@pathcom.com>
Newsgroups: comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.misc,comp.soft-sys.nextstep From: jurgen@oic.de (Juergen Moellenhoff) Subject: Q:Reporting tool Message-ID: <E6BKEz.165@oic.de> Sender: news@oic.de Organization: OIC, Bochum, Germany Date: Fri, 28 Feb 1997 15:30:35 GMT Hi, I'm looking for reporting tools, but I don't know which report writers are available for OPENSTEP 4.x/Mach and EOF? Can someone give me an advice which tools are available (and usable)? Thank you in advance, Juergen Moellenhoff
From: "L. Todd Heberlein" <heberlei@NetSQ.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Getting access to Rhapsody DR Date: 4 Mar 1997 04:38:20 GMT Organization: mother.com Internet Services Message-ID: <01bc284c$b8a07400$882168cf@test1> FYI, I got the following information back from Apple regarding getting access to the Rhapsody Developers Release: ------------------------ To receive the Rhapsody Developer Release you need to join the Apple Developer Program <devsupport@apple.com> and make sure all the forms you need to receive prototype software are complete, in order to receive developer releases. The Apple Developer mailings only have released software in them, not developer releases or other prototype software. ------------------------ I found additional information at http://17.126.23.20/dev/macdevprogram.html Cheers, Todd
From: morbius@killspam.net (Morbius) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: Mon, 03 Mar 1997 21:02:10 -0800 Organization: Mind's I Inc. Message-ID: <morbius-0303972102100001@pm807.sure.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> <5ff513$ini@bignews.shef.ac.uk> <331b4654.45811233@library.airnews.net> <5ffmvs$ku3$1@darla.visi.com> <331b6a1a.54969011@library.airnews.net> <5ffsce$1do$4@news.xmission.com> In article <5ffsce$1do$4@news.xmission.com>, don@globalobjects.com wrote: > dehoog@experts.com (John De Hoog) wrote: > > I now realize, from your answers and from the lack > > of answers to my questions [...] > > We don't even pay attention to our own *ssholes except when > cleaning up after certain business...so why should we pay > attention to some other *sshole? {DELETED} > > [...] Apple has bought a company with very little chance of > > bringing it into the mainstream. > > > > Happy niche-playing! > > And this is why you are an *sshole. > > This is bullsh** pure and simple. FUD for the sake of making > waves--non-productive, false, and sensational. Please keep this > pedantic whining out of comp.sys.next.programmer and go play in > .advocacy, where you fit right in. You, sir, have just squashed a young and innocent mind, in search of knowledge. He was merely making an innocent inquiry and you had to slap him down...:) Who knows what will happen now. You might have given him a complex...;) Morbius -- "Nyuck, nyuck, nyuck!..." Curly e-mail: morbius@sure.net
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: Mon, 3 Mar 1997 02:52:30 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <on6cAyW00iVD8_x=kc@andrew.cmu.edu> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> In-Reply-To: <331b125f.1680238@library.airnews.net> Excerpts from netnews.comp.sys.next.programmer: 3-Mar-97 Re: Nice interview with Amelio by John De Hoog@experts.com > >You're right. There are fewer applications available, but they tend to > >work better and interoperate better than what you get with other systems. > > That's marvelously vague, so I guess we'll have to take your word for > it. Nope-- please feel free to ask for someone to give you a demo of NEXTSTEP. If you're anywhere near Pittsburgh, PA, I'll be happy to show you what I mean. >>> There are apparently no offline Web browsers like Tierra Highlights, >> >> An "offline Web browser" is an oxymoron. It's also IMHO a really stupid >> idea, and the lack of such is no loss. > > Not at all. You mean I'm not free to have the opinion that I only want to browse the web when I actually have my network connection up? > You've just given the typical "when in a corner, say you > don't really care" response. See my reply to Ken Lui in this thread. It's known as making a decision that certain so-called functionality is worthless for any practical usage. In particular, I think off-line web browsers are useless. If you don't, that's your concern. You aren't going to convince me that NEXTSTEP's lack of offline web browsers has any importance whatsoever. As I already said, you can get the functionality of offline web browsing by setting up a Harvest cache. >>> no offline news readers like Forte Agent, >> >> You can read news offline easily enough by setting up a local caching >> newsserver. There's a precompiled "PersonalINN" package on the NeXT FTP >> archives which will let you read news offline. > > Like I said, no offline news readers like Forte Agent. If you refuse to consider any alternatives besides Forte Agent as valid, you're right. Forte Agent does not exist for NEXTSTEP. However, you can get the functionality offered by an offline news reader which is what you claimed did not exist in the section above quoted by '>>>'. >>> and no email clients of the caliber of Becky! Internet Mail 1.20. >> >> Never heard of it. Most people seem pretty happy with Mail.app, but > >there are other GUI news/mail readers available, like Eloquent. What > >did you want to do with email that Mail.app is inadequate for? > > Thanks for asking. Let me take advantage of my offline news reader to > quote from a couple of other threads in another group on this issue. > > ======= [quote] > > Becky! Internet Mail is a multimedia mail client that supports sound > and html. > > For example, I use it in place of Netscape Navigator to receive the > Netscape Inbox Direct mailings, which show up as html (Java images and > all) in the message pane. I don't know of any email clients for NEXTSTEP which support HTML. Of course, NeXT's Mail.app supports an RTF(D) format that allows more precise message formatting and layout than HTML does, since HTML is a markup language and RTF(D) and/or EPS attachments allow you to have precise control over what is displayed. >>> The equivalent of Office 97 for NeXT does not exist. >> >> Sure it does. Lighthouse offers an office suite and a whole range of >> productivity applications-- Diagram, Concurrence, OmniWeb, OmniWrite, >> Quantrix, WetPaint, TaskMaster, etc. . > > Now let my turn your question around. What advantages does the > Lighthouse suite offer over Office 97? It wasn't written by Microsoft, and it runs under NEXTSTEP. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: "L. Todd Heberlein" <heberlei@NetSQ.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 4 Mar 1997 03:49:30 GMT Organization: mother.com Internet Services Message-ID: <01bc2845$e9ffc840$422168cf@test1> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> <5ff513$ini@bignews.shef.ac.uk> <331b4654.45811233@library.airnews.net> <5ffmvs$ku3$1@darla.visi.com> <331b6a1a.54969011@library.airnews.net> <5ffu31$qok$1@darla.visi.com> > What's a SOHO user? Small Office, Home Office. Just to weigh in (I am a NeXT, Mac, and NT user), I think the NEXTSTEP (an by extension OpenStep) is a wonderful environment, but it does not have the breadth and depth of applications/capabilities that the Mac or Windows platforms do. First, it is largely a matter of numbers. For years I used Jason's NewsGrazer on my NeXTstation. I thought it was great, but it could use additional features and/or capabilities. Indeed, Jason (sp?) was planning on a "Pro" version, but shelved it for various reasons. Since then, there have been several other news readers, and I even wrote my own prototype with features I thought were important (but which I am sure many others would think were silly). When Rhapsody (and OpenStep in general) becomes available on millions of machines, there will be suddenly thousands of users with various needs which might seem silly to me (but not to them). When this happens, I bet there will be an explosion of new programs with different features, capabilities, and approaches to doing something as basic as "reading news". Second, I suspect many applications I use on my NeXT will NOT be available on Rhapsody. Many NeXT programs are NEXTSTEP and not OpenStep compliant. Work will have to be done to move these applications to Rhapsody -- it will be more work than a simple "recompile". Unfortunately, many of the companies and original programmers of these programs are no longer around. Third, I do not have a lot of confidence that the NEXTSTEP Lighthouse applications will make it over to Rhapsody. Since Sun purchased Lighthouse, Lighthouse's wonderful suite of NEXTSTEP applications have been essentially buried. To understand my concern, try finding these applications from Lighthouse's home page, www.lighthouse.com. :-( Fourth, in no way, shape, or form do I want developers (Mac or otherwise) to think Rhapsody will already have all the applications users will ever need. I want the thousands of Mac developers to start bringing their creative imaginations and their talents to the OpenStep environment. Well, those are my opinions. Cheers, Todd
From: don@globalobjects.com (Don Yacktman) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 4 Mar 1997 05:48:56 GMT Organization: Global Objects Inc. Message-ID: <5fgd48$1do$6@news.xmission.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> <5ff513$ini@bignews.shef.ac.uk> <331b4654.45811233@library.airnews.net> <5ffmvs$ku3$1@darla.visi.com> <331b6a1a.54969011@library.airnews.net> <5ffsce$1do$4@news.xmission.com> <morbius-0303972102100001@pm807.sure.net> morbius@killspam.net (Morbius) wrote: > You, sir, have just squashed a young and innocent mind, > in search of knowledge. He was merely making an innocent > inquiry and you had to slap him down...:) The "innocent" part is, IMHO debatable. :-) If he wanted knowledge, his questioning should be more honest and less sensationalistic. The moving goal post technique is particularly irritating, but even claiming falsely OPENSTEP lacks certain functionality _after_ counter examples have been given smacks of FUD--or a really thick skull. > Who knows what will happen now. You might have given him a > complex...;) Well, it is probably a good moment to say that I shouldn't have vented that way in public--it isn't my normal course of action. (The only excuse I've got is that it's been a bad day...and I didn't have time to do my normal venting activity, which is to pound the heck out of my piano. :-) ) I think Todd's post is worth noting, too, though. What we know about apps on NEXTSTEP will probably not at all be true for Rhapsody. There will be some of the same apps, of course, but there will be a lot of new apps, too. I hope a lot of the old ones survive, because I like them, but if something equally as elegant and equally as functional appears to replace ones that die, I won't shed tears. So I guess the whole thread really doesn't matter anyway, given how much the landscape is likely to change in the future. The conclusions that I draw follow this sort of thought: 1. Good apps exist for NEXTSTEP--and don't leave me wanting. 2. They were put together rapidly by small teams and there's an astounding variety given the small size of the market. 3. NEXTSTEP's developer environment was a catalyst toward creating all the productivity tools that are needed. 4. OPENSTEP is better than NEXTSTEP, and Rhapsody is expected to be better yet. 5. As long as Apple doesn't botch it, the same catalyst should exist, meaning that the needed apps will appear on Rhapsody. Some may be ported NeXT apps, many will be completely new. 6. Some may be available almost as soon as DR1, thanks to ported NEXTSTEP apps or Mac folks grabbing and using OPENSTEP now. 7. Based on past history (#2) by the time the public release is out, there should be plenty of apps for Rhapsody...with more to come as time passes. Yeah, much of that isn't a sure thing, but looking at the past and extrapolating the trends leads me to believe that most of us will be quite happy with Rhapsody and the apps available for it. -- Later, -Don Yacktman don@misckit.com <a href="http://www.misckit.com/don.html">My home page</a>
From: Ian Joyner <i.joyner@acm.org> Newsgroups: comp.sys.mac.system,comp.sys.next.programmer,comp.sys.mac.programmer.codewarrior,comp.sys.mac.oop.powerplant,comp.sys.mac.programmer Subject: Re: Mac/NeXT & Unix: You're all NUTS! Date: Tue, 04 Mar 1997 14:03:35 +1000 Organization: Unisys Message-ID: <331B9F17.4C30@acm.org> References: <5d8qta$6np@news.bu.edu> <3314AD68.5B51@acm.org> <5f27sj$3ub@sps1.phys.vt.edu> <331A0AD3.A0D@acm.org> <5feijb$257@sps1.phys.vt.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit (Nathan, please read you personal mail before responding to this.) This exchange starts out a little rough, but it gets better on the way down. So I gave Nathan the benefit of my thoughts in response to his, and actually it is worth reading. This thread has become interesting again. Thank you Nathan... Nathan Urban wrote: > > In article <331A0AD3.A0D@acm.org>, i.joyner@acm.org wrote: > > > Let's be scientific about this: that is see if the theory makes sense, > > and then if observations done in experiments support the theory. > > Okay, and while you're at it, be sure to give plenty of "observations" > without supporting or opposing references. You will find references in there... > > 2) Applications programming and maintenance is greatly simplified, reducing > > cost, the whole point of software engineering research. > > At the expense of the operating system making assumptions about how to > handle errors that are potentially inappropriate to the application at > hand. This is not a case of the OS making assumptions. It is also not what I said, you are extrapolating inappropriately. But we are being very general here... Read further down in my previous post, and you will realise that I allow for the fact that if an application wants to handle an exception in its own way, then there are mechanisms for it to do that. > > 3) OBSERVATION: operations interface is consistent making operations > > considerably easier. Operators know what to do, even if they are not > > familiar with an application. Another observation is that in > > fact you need less operators to run these systems. > > Give specific examples, especially of ones where operators know what to do > without being familiar with an application, where they would also _not_ > know what to do with a similar unfamiliar application on a system such > as Unix. I have given specific examples... more follow. > > [Deadlock stuff] > > I will grant that limiting application processes and giving well-defined > restricted actions to the OS will reduce deadlock. I also don't think > that it's worth the restrictions being imposed, for anything but the > utmost of high reliability systems. I've been using Unix for nearly 8 > years now and can count the instances which the machine _might_ have > deadlocked (I don't know for sure) on the fingers of one hand. Most > operating systems don't bother trying to produce deadlock-free systems, > for that reason. Correct. Deadlock doesn't happen much in practice. Explain why Chuck Swiger made such a huge issue of it? In fact it is impossible to prevent deadlock up front, where processes grab two or more common resources. There are ways to code to minimise the possibility, and then to detect it. There is simply nothing in what I have suggested that increases the potential for deadlock, and as you agree it will likely lessen the potential :-) > > 5) CONCURRENCY: THEORY: processes can run until some resource they > > depend on is not available because it is locked, eg., being produced > > by another process. In general, it is undesirable for concurrent > > operations to be non-deterministic. > > > The process scheduler will move processes from the waiting entries > > list to the ready queue when the waited on resource becomes available, > > without operator intervention. For the resource to become available > > might require operator intervention, but it could also be automatic from > > some other process > > [...] > > However, this can occur in any system > > and is independent of the original suggestion, where management of the > > resources is moved out of the application process set. > > I'm not sure we're clear on what the original suggestion I was objecting > to was. I wasn't objecting to having the OS handle management of > resources. I was objecting to the OS trying to handle error conditions > that the application should really handle itself, and especially the > idea of operating systems _requiring_ user intervention in order to > handle errors. This does not contradict what I said. Clearly the application should handle application exceptions. There will then be a class of error that the OS handles, without operator or engineer interaction. But there is that class that _requires_ operator handling. I think we have seen enough examples of those: they occur on any system! However, if you read my comments on concurrency carefully, you will realise that many conditions can arise where a process becomes blocked on waiting for some resource, like a file, to be made available. In the concurrent world, this should not be handed back to the process as an exception, but handled by the OS scheduler. If the file is produced automatically, then the blocked process will become ready without human intervention. However, human intervention might be required in order to start the process that will produce the file. If a production system relies on this kind of interaction, it is not a good thing, but it is the nature of highly concurrent systems. Example: This is an example where things are operationally easier, because the system is more forgiving. Most systems require an operator to do 'step 1, wait to complete, step 2, wait to complete....' But in a system where processes will automatically wait for resources, the operator can run things in any order. If they forget the steps, the system will prompt them for missing resources. Hence the system becomes self documenting, and you do not rely on some written process that some process officer/quality wally insists should be typed up and three hole punched and put in a binder ;-). Once an operator does this a few times, they will soon get the message to write a job to do it automatically (work flow language or WFL on the systems in consideration, and no you don't need a JCL or shell script expert, the syntax is quite natural). end example; In fact, this all started in the comp.lang.eiffel newsgroup where we talked about exception raising vs wait conditions. In a non-concurrent process, no other process will produce the desired conditions expressed in a predicate, so an exception is raised. In a concurrent system though, a predicate can mean that the process must wait for the condition to be satisfied. Now Bertrand Meyer said it took him six months to actually like this idea, so I guess I can understand the shock waves that have arisen in this group. The point is that exception handling is different in concurrent situations. If a process becomes blocked on a condition, then it might need human intervention in order to realise the condition can never be fulfilled, and in that case to cause an exception (maybe by termination) to really be handed back to the process. It is better for system resilience for an OS to request permission to do this, rather than just go ahead and do it, as the OS should not "assume" what to do in these abnormal situations. (Abnormal situations being outside the set of situations which are the intersection of the set of situations that the application and the set of situations that the OS have been written to handle.) > And especially, a fixed kind of user intervention, such > as a system-standard dialog box. No, you are designing implementations here that I never suggested, except maybe as an example of one of many ways. It might be a dialog box, but this would not be very convenient for large systems. In large systems this is more likely a list of processes currently blocked, what the condition is, and if and how the operator can help out. Remember this is for coarse grained resources. > You think this is a good thing because > it promotes consistency. I think it limits the application's choice in > how to handle errors. Actually it doesn't limit the applications choice in any way: as I said the application can still choose from the entire range of exceptions that it wants to handle. The only consideration that does limit the applications choice is security considerations. But otherwise the applications programmer is not forced to handle the bewlidering number of exceptions that could arise. In fact most operating systems do precisely this. > > 7) CORRECTNESS: THEORY: "Correctness is the ability of software > > products to exactly perform their tasks, as defined by the > > requirements and the specification." Bertrand Meyer Object-Oriented > > Software Construction (first edition) (2nd edition will be available > > any time now.) > > > OBSERVATION: The larger and more complex an application is, the more > > likely it is to fail the correctness criteria. Having applications > > programmers code for a plethora of exceptions that they should not > > have to worry about, because they belong to the environment, > > increases the risk that failure will occur in the application. > > I agree that programmers should have a stock of basic error-handling > machines from which to draw, I don't like coding exception handlers any > more than you do, but I think that applications programmers should have > the choice of handling errors in any way they desire, including ignoring > them. This does not preclude the possibility of having a library of > error handlers. Good, we agree here. And I actually think we are having a de Bono exchange rather than a Socratic one, as we have arrived at the same point! > > 8) ROBUSTNESS: THEORY: "Robustness is the ability of software systems > > to function even in abnormal conditions." Also OOSC 1st ed. In my > > suggestion, abnormal conditions are filtered from applications > > by the resource managers. This does not remove the possibility that > > an application may opt to handle specific exceptions, subject of > > course to security constraints. > > If you want the OS to handle more exceptions by default, that's fine. Thank you. > But if the OS is going to be doing that sort of thing, it needs > to follow a policy of _minimal_ intervention, rather than maximal. Well, the whole thing needs analyzing to work out what the OS should do, and what applications should do. If you are writing systems level programs, games, real-time systems, debuggers (Charles' pride and joy) then sure you want to handle more exceptions. Now the way this is done on the machines I am talking about is that the application enables exceptions with an ON statement, for example: ON DIVIDEBYZERO ON ANYFAULT -- gets anything etc, and attaches the exception to an interrupt handler, which is also in the application. This way the OS is told exactly what to do. As you say just below, the "OS does not always know best." (In fact if it did there would be no need for applications programming at all.) > Throwing up an interactive dialog box every time a file cannot be found > can be _wildly_ inappropriate for many applications. In fact that is not the way that it happens. Again, you have used as an example a dialog box. That interface as I have said is most probably not appropriate. Rather, the process is put in the waiting entries. You should also remove emotive adverbs from your posts. I would rephrase that as "can be inappropriate for a certain class of applications," which I agree with. > The OS does _not_ > "always know best". True, and the application tells the OS where the application knows best. However, if I am paying good money for an OS, I do expect it to do its contracted job. > Rather than forcing programmers to override the OS's > exception hanlding constantly (which is the whole reason you purport to > like this scheme, as it's supposed to keep the programmer from constantly > worrying about exceptional conditions), the OS should take the minimum > action necessary to prevent fatal errors, and allow the application to > layer on additional error handling if desired. "Fatal errors" are by definition those that will terminate a process. The OS is contracted to provide a consistent environment for applications to run in. Thus the OS should do its utmost to shield applications from environmental failures, not its "minimum". If the OS cannot deal with certain failures then in order to ensure system resilience, it should enlist the help of the system operators. The OS doing the minimum does not sound like it is providing a very robust system, does it? If the applications programmer 'expects' to see certain exceptions, they will have told the OS to ignore them, and pass them back to the application. You will find this might be a different programming paradigm to what you are used to. But it vastly simplifies applications development. For myself, I am a systems programmer, and it is my job to provide this kind of systematic support for the applications that will run on top of my software. In that case if I am to write good "middleware", then I should handle exceptions that have to do with the resources that I manage. It is sloppy design to hand these back to my caller. > I'm not against handling exceptions on a global, OS-wide level. I just > think that the OS should attempt to handle exceptions by default in a > minimal way that is appropriate for all processes (which often means > very little exception handling, just enough to keep a process from > dying), and allow application processes to register their own exception > handlers (including null handlers), subject to OS security constraints, > etc. as you say. I think your use of the term minimal is an inappropriate heuristic, as it is too vague: The OS should do what the OS should do, and the application what the application should do. Then you can have design-by-contract over OS interfaces. > And especially, an OS should never require user > intervention, except in cases where it _only_ makes sense for a user to > make a decision. Correct, and that can be quite a large number of exceptions. That is what I am saying, give the user/operator conditions to handle where it makes sense. For example "Disk full" I do not want the OS to start deleting files, nor an application. I want the choice. However, if you don't want a stop, you might have an automatic handler, which the OS starts up to remove known temporary files, or perhaps start an archive to tape. In this case the OS handles the exception. Some OSs provide automatic system assistents in the form of scripts: ON DISKFULL RUN TEMP_FILE_DELETER; If there is no such handling of the disk full condition, ask the operator, don't hand it back as an exception to the program. That is the very opposite of robust. > The only example I can think of is an error that is > known to be in response to a user-invoked action (as opposed to a > programmatically invoked one), where the error affects the operation of > the entire system. OK, but I have shown that in order to automate actions, you need to do some programming. Let's hope that everything that is done on a computer is in response to some user-invoked action. A typical example is that a batch program is invoked by an operator/user. If the program finds a file missing, then it might be because the operator has forgotten this step in the process, and will be prompted (not necessarily via a dialog box!) to make the file present. This is definately in response to a user-invoked action. This is a matter of the user being in control of the computer, not the computer in control of the user. People are the important resource. Computers are just lumps of glorified sand! (Somewhat rephrased from the cover of a recent ACM Computing Reviews). > For example, if the user initiated a reboot from > the console, and something went wrong, _then_ it would be appropriate to > send a dialog to the console requesting intervention. But in precious > few other cases is requiring human intervention a universally > appropriate action. And since you say "universally appropriate action," I don't disagree. But that is never what I said. What I have been saying is give the user/operator the chance to intervene "when appropriate." This is particularly important in concurrent, mission critical systems that must provide 24x365 operations. > -------------------------------------------------------------------------- > Nathan Urban | Undergrad {CS,Physics,Math} | Virginia Tech > nurban@vt.edu | {NeXT,MIME} mail welcome | http://nurban.campus.vt.edu/ > -------------------------------------------------------------------------- Thank you Nathan. I hope that clears up some of the confusion. I know it's a different paradigm to Unix, but is that a bad thing? ------------------------------------------------------------------------ Ian Joyner | "for when lenity and cruelty play | All opinions are Internet email: | for a kingdom, the gentler | personal and are i.joyner@acm.org | gamester is the soonest winner" | not Unisys | William Shakespeare Henry V | official comment ------------------------------------------------------------------------
From: crobato@kuentos.guam.net Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 4 Mar 1997 07:20:52 GMT Organization: Kuentos Message-ID: <5fgigk$7js@lehi.kuentos.guam.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> <5ff513$ini@bignews.shef.ac.uk> <331b4654.45811233@library.airnews.net> In <331b4654.45811233@library.airnews.net>, dehoog@experts.com (John De Hoog) writes: >mmalcolm crawford <m.crawford@shef.ac.uk> said: > >>On 03/03/97, John De Hoog wrote: >>> Like I said, no offline news readers like Forte Agent. >>> >>Wrong: HHNews.app allows you to read news offline. > >That does not make it the equal of Forte Agent. Tell me what else it >can do. How does it handle multi-part binaries? Does it have threaded >viewing? Filtering? What kind of email support? In other words, to >what extent have they gone beyond the bare-bones Unix tool to provide >a truly convenient offline reader? I have Agent, but I could have gone and explored it more if I didn't hate that interface. I can't stand a three panel design with windows that are limited by the larger application window, and I can't freely float my editing and reading windows and be free to resize them independently of each other. What's the use of all these features if it does not make it easier for me to read and to edit? Rgds, Chris Famous People on the Day Windows 95 is Launched--- Neil Armstrong---"One Small Fortune for Bill Gates, One Giant Leap backward for Mankind." President Roosevelt---"This date shall live in infamy." *** crobato@kuentos.guam.net *** TKS for the Contributions.
From: dehoog@experts.com (John De Hoog) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: Tue, 04 Mar 1997 01:42:25 GMT Organization: Experts, Inc. Message-ID: <331d7d57.59894623@library.airnews.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> <5ff513$ini@bignews.shef.ac.uk> <331b4654.45811233@library.airnews.net> <5ffmvs$ku3$1@darla.visi.com> <331b6a1a.54969011@library.airnews.net> <5ffsf3$qd1@news4.digex.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit John Kheit <jkheit@cnj.digex.net> said: >Try these for lighthouse: >http://wof.lighthouse.com/cgi-bin/WebObjects/FAQServer >http://www.lighthouse.com/ProductInfo/Academic.html > >News apps: >Radical News http://www.radical.com/ >HNNews http://soback.kornet.nm.kr/~hnalgae/ >NewsFlash http://www.wolfware.com > >Alexandra is for free (don't know if there is a web address for info) >Then there is also, Kiwi, Eloquent, NewsGrazer, NewsBase (pretty sure it >does MIME)...and likely others I'm not aware of. If anyone knows of >addresses to the above news apps that I didn't have addresses to...please >post them... Thank you, John, for the above information, and my apologies for not removing the "comp.sys.next.programmer" cross-post from the headers. (I believe it was put there by mistake by the person who initiated this thread.) ------ John De Hoog, Tokyo
From: rbraver@ohww.norman.ok.us (Robert Braver) Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <5fghi0$bn4@ecuador.earthlink.net> Date: 4 Mar 1997 08:16:57 GMT Control: cancel <5fghi0$bn4@ecuador.earthlink.net> Message-ID: <cancel.5fghi0$bn4@ecuador.earthlink.net> Sender: nudestars@wstarztv.net Spam cancelled. Autocancel spam type: NUDECELEBS Original Subject: 10000 Starz! Archive www.nude-celebs.com
From: dehoog@experts.com (John De Hoog) Newsgroups: comp.sys.next.advocacy,comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Followup-To: comp.sys.next.advocacy,comp.sys.mac.advocacy Date: Tue, 04 Mar 1997 07:04:02 GMT Organization: Experts, Inc. Message-ID: <331bc6b0.78671303@library.airnews.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <5feg86$7hd@bignews.shef.ac.uk> <331ad3ed.16524100@library.airnews.net> <5ff472$ies@bignews.shef.ac.uk> <331c487e.46365279@library.airnews.net> <qdohd0d3ie.fsf@blues.cygnus.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Stephen Peters <speters@cygnus.com> said: > >You're attempting to state that NeXTSTEP productivity is sorely >lacking, due to an absence of important applications. Although an >offline browser may be important to *you*, it does not appear to be >important to over 95% of the browsing public. I, for one, find it >very hard to get hot and bothered about its absence. I suspect there >are several must-have apps on my dock that you would find totally >unimportant. Agents that do your Web surfing for you in the background, finding just the places that have changed since you last looked, are not of major importance? Take a look at Stroud's or other shareware sites and you'll find a veritable explosion of applications in this area, from Net Attache and Teleport Pro to Surfbot, Web Whacker, Tierra Highlights and many more. > >If we're going to argue about the death of productivity on NeXT boxes, >can we at least find areas that most people *agree* is important? I'm sure there are some very productive applications, and very productive people, on the NeXT platform. But what about breadth of application support? I prefer a computer platform that has all sorts of applications for all sorts of needs to one that limits me to a few choices, many of them getting long in the tooth, and others whose developers have stopped supporting them. [Followup-To advocacy groups only] ------ John De Hoog, Tokyo
From: alexdn@globalobjects.com (Alex Duong Nghiem) Newsgroups: comp.lang.c++,comp.lang.java.misc,comp.lang.objective-c,comp.sys.next.marketplace,comp.sys.next.programmer,misc.jobs.offered,nyc.jobs.contract,nyc.jobs.offered,us.jobs.contract,us.jobs.offered Subject: Java opps in NYC and CO (client provides training) - C++ opp in Germany Date: Tue, 4 Mar 1997 03:38:24 -0500 Organization: Global Objects Inc. Message-ID: <MPG.d85a97610c118b3989682@news.mindspring.com> Folks: Global Objects specializes in providing quality solutions through object and web technologies. Positions: - 10 Java developers - the client will provide the training. You need a strong background in C++ (4 or more years), strong OO, good RDBMS skills, and a good background in various business domains - the client provides the Java training if necessary. In addition, we need a C++ developer in Germany. This candidate needs 5+ years of C++ development experience along with strong OO modeling skills. All the positions are contract positions and will last 6 months to 1 year. These positions start immediately. For immediate consideration, pls email your resume (in RTF or Word format) to jobs@globalobjects.com. You can also fax it to 770.457.7333. We process electronic resumes on the same day and may take up to a week to process faxed resumes. Thanks, - Alex - -- ************************************************************ * Global Objects Inc. 770.457.7333 (F) * * http://www.globalobjects.com jobs@globalobjects.com * * * * ==> Specializing in web/object technologies <== * * ==> Play Java games and take our OO quiz ! <== * ************************************************************ PS Check out our latest Java game at www.globalobjects.com/Winvaders!
From: mmalcolm crawford <m.crawford@shef.ac.uk> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Followup-To: comp.sys.mac.advocacy,comp.sys.next.advocacy Date: 4 Mar 1997 10:08:19 GMT Organization: University of Sheffield, UK Message-ID: <5fgsaj$cvr@bignews.shef.ac.uk> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <5fcq0u$5ih@hpax.cup.hp.com> <331a0cf6.295444@library.airnews.net> In-Reply-To: <331a0cf6.295444@library.airnews.net> On 03/02/97, John De Hoog wrote: > In May, I expect to get a dedicated Internet connection to my home. > Right now, however, I pay $400/month in phone bills for dialup > service, since all service in Japan is metered. Even with a dedicated > connection, however, I expect to continue using offline browsers like > Tierra Highlights and offline readers like Agent. Why? Let me explain, > since these concepts seem so foreign to NeXTStep users. > > Tierra Highlights is used to monitor lots of Web sites at regular > intervals (set separately for each site), and to highlight any > changes at those sites since the last time you looked at them. > This feature is included in the Bookmarks of OmniWeb (you are actually allowed to create as many bookmarks pages as you want, each with a collapsable hierarchical view under separate headings, which makes organising your index much easier than on, say, Netscape). For each individual URL you are able to specify the frequency of checking, and an inspector tells you when the URL was last accessed, checked, updated etc. Time to move the goalposts again? Best wishes, mmalc. [follow-ups to advocacy groups] --
From: mmalcolm crawford <m.crawford@shef.ac.uk> Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy,comp.sysnext.advocacy Subject: Re: Nice interview with Amelio Followup-To: comp.sys.next.advocacy,comp.sys.mac.advocacy Date: 4 Mar 1997 10:13:13 GMT Organization: University of Sheffield, UK Message-ID: <5fgsjp$d1h@bignews.shef.ac.uk> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <5feg86$7hd@bignews.shef.ac.uk> <331ad3ed.16524100@library.airnews.net> <5ff472$ies@bignews.shef.ac.uk> <331c487e.46365279@library.airnews.net> In-Reply-To: <331c487e.46365279@library.airnews.net> On 03/03/97, John De Hoog wrote: > No one has responded to my replies to Chuck and Ken, in which I laid > out some specific application functionality that, apparently, NeXTStep > does not offer. > Yes they have. Your original assertions have, I believe, been disproven. Maybe you'd care to move the goalposts again? Best wishes, mmalc. "If Office97 is the answer, you're asking the wrong question." mmalc -- 4march97 [followups to advocacy groups] --
From: mmalcolm crawford <m.crawford@shef.ac.uk> Newsgroups: comp.sys.next.programmer Subject: Re: Clipping path around a rotated image from an eps file Date: 4 Mar 1997 10:28:04 GMT Organization: University of Sheffield, UK Message-ID: <5fgtfk$da4@bignews.shef.ac.uk> References: <5f2kp1$a04@ucsbuxb.ucsb.edu> <5fa6jc$dci@bignews.shef.ac.uk> <5ff9rj$ms2@ucsbuxb.ucsb.edu> In-Reply-To: <5ff9rj$ms2@ucsbuxb.ucsb.edu> On 03/03/97, Lloyd Goldwasser wrote: > I do resize the view according to the angle of rotation, so the view > is large enough to hold the image. The view itself is within a > ScrollView, since the whole shebang may be too large for the screen. > Ah, I wondered about that... So your View is actually the document view of a ClipView, which is itself the content view of a ScrollView. There's a note in the docs about ClipViews: --- rotate: - rotate:(NXCoord)angle Disables rotation of the ClipView's coordinate system. You also should not rotate the ClipView's document view, nor should you install a ClipView as a subview of a rotated view. The proper way to rotate objects in the document view is to perform the rotation in your document view's drawSelf:: method. Returns self. --- I guess you should call a PSrotate() somewhere instead of using the rotate: method? I hope this helps? Best wishes, mmalc. --
From: tiggr@es.ele.tue.nl (Pieter Schoenmakers) Newsgroups: comp.sys.next.programmer Subject: Re: Finding return type in forward:: ? Date: 04 Mar 1997 12:36:12 +0100 Organization: Eindhoven University of Technology Sender: tiggr@tom.ics.ele.tue.nl Message-ID: <x7g1yb6g9f.fsf@tom.ics.ele.tue.nl> References: <5f94ku$dih@sun0.urz.uni-heidelberg.de> <5ffbku$qul@news.next.com> In-reply-to: MaRK_BeSSeY@NeXT.CoM's message of 3 Mar 1997 20:17:34 GMT To: MaRK_BeSSeY@NeXT.CoM (Mark Bessey) In article <5ffbku$qul@news.next.com> MaRK_BeSSeY@NeXT.CoM (Mark Bessey) writes: Unfortunately, the return type of the message isn't encoded in the selector. Too bad, since that would allow overloading return type in objective-C methods, which would be an interesting feature to play around with. It indeed is interesting; it is done in TOM (which, in this context, I shall call `an Objective-C derivative'). More information is on http://tom.ics.ele.tue.nl:8080. --Tiggr
From: zizi zhao <ziziz@worldnet.att.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: Tue, 04 Mar 1997 09:06:22 -0500 Organization: AT&T WorldNet Services Message-ID: <331C2C5D.4516@worldnet.att.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> <5ff513$ini@bignews.shef.ac.uk> <331b4654.45811233@library.airnews.net> <5ffmvs$ku3$1@darla.visi.com> <331b6a1a.54969011@library.airnews.net> <5ffsf3$qd1@news4.digex.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit John Kheit wrote: > > dehoog@experts.com (John De Hoog) wrote: > > Thanks for the insults, and thanks most of all for side-stepping > > the specific questions. I now realize, from your answers and from > > the lack of answers to my questions about automatic Web agents, > > html email clients, etc., and from the fact that most of you > > don't even understand the features I've described (e.g., don't > > understand the need of a SOHO user with a dial-up Internet > > connection and multiple providers), that Apple has bought a > > company with very little chance of bringing it into the mainstream. > > Try these for lighthouse: > http://wof.lighthouse.com/cgi-bin/WebObjects/FAQServer > http://www.lighthouse.com/ProductInfo/Academic.html > > News apps: > Radical News http://www.radical.com/ > HNNews http://soback.kornet.nm.kr/~hnalgae/ > NewsFlash http://www.wolfware.com > > Alexandra is for free (don't know if there is a web address for info) > Then there is also, Kiwi, Eloquent, NewsGrazer, NewsBase (pretty sure it > does MIME)...and likely others I'm not aware of. If anyone knows of > addresses to the above news apps that I didn't have addresses to...please > post them... I guess what J.D.H. wanted is a basket containing email, news agent, browser, ... like IE and Navigator. However, in NEXTSTEP you have "SERVICES" for every App, which links related Apps together. For example, if there are http://www.j.d.h/ in your email messages, clicking the URL, you would have Netsurfer or OmniWeb or other broswers to dispaly the web-page for you. ZZ
From: rbraver@ohww.norman.ok.us (Robert Braver) Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <5fhaaf$9g0@bolivia.earthlink.net> Date: 4 Mar 1997 15:44:13 GMT Control: cancel <5fhaaf$9g0@bolivia.earthlink.net> Message-ID: <cancel.5fhaaf$9g0@bolivia.earthlink.net> Sender: efmpr@afdepp.net Spam cancelled. Autocancel spam type: NUDECELEBS Original Subject: Want 10000 nude celebrities!!?
Newsgroups: comp.sys.next.programmer From: joerd@mail.wsu.edu Subject: templates Sender: news@serval.net.wsu.edu (News) Message-ID: <970304072854.198AAFgH.wayne@pareto> Date: Tue, 4 Mar 1997 15:28:54 GMT Content-Type: text/plain; charset=US-ASCII Mime-Version: 1.0 (Generated by Eloquent) Organization: Washington State University Hello: I need some help with templates. Basically, I can't seem to get them to work when I seperate the definition (in a .h or .cc) file from the construction. For example, if I have a Main.cc like that below I get link errors with unrecognized methods Matrix<int>::Print() and Matrix<int>::Set(int num). I had read in Practical C++ Programming that putting the command typedef Matrix<int> MatrixInts; at the start of Matrix.cc would solve the problem for the GNU compiler but it doesn't seem to work. I can make it work by putting the method definitions in the header file (Matrix.h) I have put the files below in case someone can tell me how to make this system work. Thanks in advance, Wayne Joerding Professor of Economics Ofc: 509-335-6468 Washington State University FAX: 509-335-4362 PO Box 644741 http://cbeunix.cbe.wsu.edu/~joerd/ Pullman WA 99164 email: joerd@mail.wsu.edu "Stupidity always has the chance of being a capital offense." --------------- Main.cc ----------------------- #include <stream.h> #include "Matrix.h" main() { cout << "Hello World!\n"; Matrix<int> aMatrix1; aMatrix1.Set(5); aMatrix1.Print(); cout << "Ending Hello World!\n"; return(0); } ------------------------------------------------- --------------- Matrix.h ----------------------- #include <stdio.h> template < class D> class Matrix { protected: D cell; public: void Print(); void Set(D num); }; ------------------------------------------------- --------------- Matrix.cc ----------------------- #include <stream.h> #include "Matrix.h" typedef Matrix<int> MatrixInts; template <class D> void Matrix <D>::Print(void) { cout << cell << "\n"; } template <class D> void Matrix <D>::Set(D num) { cell = num; } -------------------------------------------------
From: efmpr@afdepp.net Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <5fhaaf$9g0@bolivia.earthlink.net> Control: cancel <5fhaaf$9g0@bolivia.earthlink.net> Date: 4 Mar 1997 15:47:08 GMT Organization: North Carolina State University Message-ID: <5fhg5s$6f2@uni00nw.unity.ncsu.edu> ignore Article canceled by slrn 0.9.3.2
From: "Georg Tuparev" <gtupar@ctp.com> Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 4 Mar 1997 16:43:16 GMT Organization: Cambridge Technology Partners, Inc. Message-ID: <5fhjf4$laq@concorde.ctp.com> References: <slrn5hk7kq.9td.kennel@lyapunov.ucsd.edu> In article <slrn5hk7kq.9td.kennel@lyapunov.ucsd.edu> kennel@lyapunov.ucsd.edu () writes: > The real win being the increased opportunities for cascading > inlining of small methods, and subsequent elision of needless > code. > > This really is important for mathematical libraries. I have to disagree here. Being the author of the fastest method for comparing huge protein and DNA structures and using for its implementation methods normally used in the quantum mechanics and the hydrodynamics I learned that the most important think (TM) is to have simple and clean design. And the best way to do it is to use ObjC. If you are hoping that static function calls will solve the big unification theory you are on a wrong track. Just my $0.00 -- georg -- -- ------- /\/\ Georg Tuparev <georg_tuparev@ctp.com> / /_ \ Cambridge Technology Partners \ / / Apollo House, Apollolaan 15 \/\/ 1077 AB Amsterdam, The Netherlands Tel: +31(20)575-0492 Fax: +31(20)575-0500 WWW: http://www.ctp.com
From: ldubois@syndetics.be (Luc Dubois) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: Fri, 28 Feb 1997 12:13:38 +0100 Organization: Syndetics Research Message-ID: <1997022812133841029741@pool011-107.innet.be> References: <msg37701.thr-34dc7b90.54c5638@flannet.middlebury.edu> <5evgk9$7m4@news.next.com> <qdiv3f2b7i.fsf@blues.cygnus.com> MaRK_BeSSeY@NeXT.CoM (Mark Bessey) writes: > David Herren writes > > OPENSTEP is the abstracted API which runs on multiple OSs. OpenStep is > > the operating system itself. Confusing, isn't it? > > Apparently confusing enough for you to get that exactly wrong :-) > > OPENSTEP (all caps) is Apple's name for their implementation of the > OpenStep specification. More specifically, Apple sells: > OPENSTEP for Mach > OPENSTEP Enterprise for Windows NT > Which both implement the OpenStep API on different operating systems. > OPENSTEP for Mach also includes our Mach operating system for NeXT > computers, Intel PC's, and Sparc workstations. OK, thank you guys, the picture is becoming a bit clearer now (but not completely). We have: - OpenStep = the specification of an abstract API - OPENSTEP for Mach = an OS - OPENSTEP Enterprise for Windows NT = the implementation of a framework based on the specification of an abstract API Now, Mach, as I've learned from lurking in the c.s.n.* newsgroups is not an OS in its own right. Then, "OPENSTEP" (all caps) is both - an OS (on top of the Mach kernel) *and* - a framework-cum-library on top of a host OS? This is still going to confuse the market (simple folks like current Macintosh users/developers, but especially Fortune Magazine editors, Wall Street Journal reporters, and someone-help-us-over-the-bridge financial "analists" etc.). Hopefully Apple will deal with this. I think it's important. Luc -- Syndetics Research | Authors of Synema(tm) Director (c) 1992-1996. Herderstraat 1 | Thesaurus construction software for the 3740 Bilzen - Belgium | Information Retrieval industry.
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Re: More OpenStep Questions Date: Tue, 4 Mar 1997 13:10:05 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <kn76JxW00WBOE2zVon@andrew.cmu.edu> References: <edream-2802970901590001@msn-4-14.binc.net> In-Reply-To: <edream-2802970901590001@msn-4-14.binc.net> Excerpts from netnews.comp.sys.next.programmer: 28-Feb-97 More OpenStep Questions by Edward K. Ream@mailbag.c > 1. Are the Foundation Toolkit and App Toolkit an integral > part of the Next OS? That is, are they part of the "official" > API's of the OS? Yes. [ ... ] > Comment: I'm trying to understand what, exactly, > the Mac "Yellow Box" will contain. http://www.next.com:80/Pubs/Documents/Download/apple.html ...would be a good place to start. > 2. Are Objective-C objects an integral part of the Next OS? Obj-C is an integral part of NeXT's software. The kernel itself, and many of the Unix CLI utilities are not written in Obj-C. > That is, do the OS API's imply a specific structure for objects > (for instance, the isa pointer)? Yes. > If so, then a) do all C++ compilers ultimately produce objective C calls? No. C++ compilers and C++ objects are different from Obj-C objects. However, NeXT ships a modified version of the GNU C compiler which can compile Obj-C++ code-- code that contains both Objective-C and C++ syntax and objects. > b) is there a public ABI (app binary interface) that describes > this interface? I believe you can find the GNU BFD (binary file description) used to build gdb, if that's what you're asking about. > Comment: I'm trying to understand what the fundamental > performance characteristics of the Yellow Box will be. Obj-C method invocations have roughly twice the overhead of a C function call. They are similar in performance to the overhead of C++ virtual methods. Note that you can ask the runtime for the functional implementation which is normally performed dynamicly by the runtime's objc_msgSend routine, so in a tight loop you can get the performance of pure C functions if it matters. > 3. Is it possible to call objective-c methods from C code? Yes. > Is this the purpose of objc_sendm? No-- that's the routine that the compiler inserts whenever it sees the [anObject method:arg] ...syntax. From the NeXT docs: "The compiler converts every message expression into a call on one of the first two of these three functions. Messages to super are converted to calls on objc_msgSendSuper(); all others are converted to calls on objc_msgSend(). Both functions find the implementation of the theSelector method that's appropriate for the receiver of the message. For objc_msgSend(), theReceiver is passed explicitly as an argument. For objc_msgSendSuper(), superContext defines the context in which the message was sent, including who the receiver is. Arguments that are included in the aSelector message are passed directly as additional arguments to both functions. Calls to objc_msgSend() and objc_msgSendSuper() should be generated only by the compiler. You shouldn't call them directly in the Objective C code you write. You can however use the Object instance method performv:: to send an arbitrary message to an object." > If it is possible, how easy is it for the C code to use the results? > (The objective-C headers will not, e.g., contain an explicit > reference to the isa pointer, so how could C code use > those headers?) Example, again from NeXT's docs (may be slightly out-of-date, too-- OPENSTEP is based off of NSObject instead of Object): "The only way to circumvent dynamic binding is to get the address of a method and call it directly as if it were a function. This might be appropriate on the rare occasions when a particular method will be performed many times in succession and you want to avoid the overhead of messaging each time the method is performed. With a method defined in the Object class, methodFor:, you can ask for a pointer to the procedure that implements a method, then use the pointer to call the procedure. The pointer that methodFor: returns must be carefully cast to the proper function type. Both return and argument types should be included in the cast. The example below shows how the procedure that implements the setTag: method might be called: id (*setter)(id, SEL, int); int i; setter = (id (*)(id, SEL, int))[target methodFor:@selector(setTag:)]; for ( i = 0; i < 1000, i++ ) setter(targetList[i], @selector(setTag:), i); The first two arguments passed to the procedure are the receiving object (self) and the method selector (_cmd). These arguments are hidden in method syntax but must be made explicit when the method is called as a function. Using methodFor: to circumvent dynamic binding saves most of the time required by messaging. However, the savings will be significant only where a particular message will be repeated many times, as in the for loop shown above." > Comment 1: I'm trying to understand the process of porting C code > (or C++ code) to an objective-C world. If we are stuck with > only calls _from_ objective-C to C, then porting code would > probably involve using an (old) C layer below a new objective-C layer, > and the C layer could _not_ call code in the higher layer. You're not stuck. You can use the @defs() directive which will insert the structure representation of a Obj-C object within a plain C structure. Alternatively, there are standard C functions which allow you to access the instance variables, arguments, and and so forth directly. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: jabi@acsu.buffalo.edu Newsgroups: comp.sys.next.programmer Subject: QUESTION: OPENSTEP/NT Apps Date: Tue, 04 Mar 1997 14:33:55 -0500 Organization: University at Buffalo Message-ID: <331C7923.1A03@arch.buffalo.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit NNTP-Posting-User: jabi Hi: I have a dumb question: I have OPENSTEP 4.1 for Windows NT. I use Project Builder to build a simple application. Now I have MyApp.app which has MyApp.exe and Resources Can I just give this to a friend who runs NT but doesn't have OPENSTEP??? How do I "deploy" my applications? Please e-mail me at wjabi@arch.buffalo.edu Thanks/ -- w a s s i m j a b i :::::::::::::::::::::::::::::::::::: Dept. of Architecture http://libra.arch.buffalo.edu/www/ University at Buffalo EMail: wjabi@arch.buffalo.edu 3435 Main St. - Hayes Tel: +1 (716) 829-3483 Buffalo, NY 14214 USA Fax: +1 (716) 829-3256
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: Tue, 4 Mar 1997 12:44:55 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <Yn75yL_00WBO82zUcI@andrew.cmu.edu> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <5fcq0u$5ih@hpax.cup.hp.com> <331a0cf6.295444@library.airnews.net> In-Reply-To: <331a0cf6.295444@library.airnews.net> Excerpts from netnews.comp.sys.next.programmer: 2-Mar-97 Re: Nice interview with Amelio by John De Hoog@experts.com >> In the past, I've tried these offline readers, and it just doesn't >> feel right to me. Interaction isn't very good, especially if a thread >> is very active. By the time one has uploaded his response, there >> could be many others that make it irrelevant. So, there's more >> potential for more wasted bandwidth. Great for lurkers, but like I >> said, a digest mailing list is much more effective in this regard. >> Offline apps will go by the wayside within 5 years. Heck, I don't >> even use my serial ports anymore. Using a router/bridge at home will >> be the way to go, if not already. > > I disagree with the above points of view. Here are some reasons, which > I hope you'll consider. > > In May, I expect to get a dedicated Internet connection to my home. > Right now, however, I pay $400/month in phone bills for dialup > service, since all service in Japan is metered. Like a lot of things, networking costs are relative and the cost of living varies from place to place similar to the way average salary varies from location to location. Your company might pay part or even all of the costs associated with Internet connectivity from one's home as a part of normal business expenses. There are lots of other alternatives-- for example, I've gotten free Internet connectivity from an ISP by doing a few hours of consulting work to help them out. > Even with a dedicated > connection, however, I expect to continue using offline browsers like > Tierra Highlights and offline readers like Agent. Why? Let me explain, > since these concepts seem so foreign to NeXTStep users. Those concepts aren't foreign ones; they just strike me as fairly useless. > Tierra Highlights is used to monitor lots of Web sites at regular > intervals (set separately for each site), and to highlight any changes > at those sites since the last time you looked at them. Even with a > dedicated connection, this is still a very systematic and efficient > way to keep track of the latest developments. Right now I have over 50 > sites being monitored. They are arranged into "topics," such as News, > Business, Computers, and smaller topics devoted to single sites such > as Upside, so I can check on various pages in detail. That's nice functionality, but it has nothing whatsoever to do with offline web browsing. OmniWeb provides the check & mark changed sites capabilities, and NetSurfer provides a tabbed shelf with categories to arrange web sites; I like both features. [ ... ] > As for an offline newsreader -- I am responding to this at my office, > after first reading it at home. I have the entire thread on an MO > disk, along with archived threads from way back when. An offline > reader in the land of metered phone calls is essential; Under NEXTSTEP, you could set up INN and have your service provider feed you compressed news batches via a UUCP feed over TCP/IP in the form of your SLIP or PPP connection, and you could have this sent at cheaper times. > even with a > dedicated line, though, I like the ability to go back and check > earlier parts of a thread before responding, and to refer to other > threads as necessary. Not to mention the luxury of composing a > measured response, rather than jumping in like in a chat group. Again, you could do so right now under NEXTSTEP. You just have to use other mechanisms than the specific applications you've mentioned, because those specific ones don't exist. [ ... ] -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: klui@cup.hp.com (Ken Lui) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 4 Mar 1997 17:53:30 GMT Organization: Hewlett-Packard Company Message-ID: <5fhniq$gu4$1@hpax.cup.hp.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <331b4654.45811233@library.airnews.net> <5ffmvs$ku3$1@darla.visi.com> <331b6a1a.54969011@library.airnews.net> In article <331b6a1a.54969011@library.airnews.net>, John De Hoog <dehoog@experts.com> wrote: >Happy niche-playing! I find this comment interesting, because in the U.S., where computer technology is driven, offline readers are niche markets. Ken -- Ken Lui, klui@cup.hp.com 19111 Pruneridge Avenue General Systems Division Cupertino, CA 95014-0795 USA Open/Intelligent Warehouse Team 1.408.447.3230 FAX 1.408.447.7200
From: klui@cup.hp.com (Ken Lui) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: 4 Mar 1997 18:33:03 GMT Organization: Hewlett-Packard Company Message-ID: <5fhpsv$if5$1@hpax.cup.hp.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <331ad3ed.16524100@library.airnews.net> <5ff472$ies@bignews.shef.ac.uk> <331c487e.46365279@library.airnews.net> In article <331c487e.46365279@library.airnews.net>, John De Hoog <dehoog@experts.com> wrote: >No one has responded to my replies to Chuck and Ken, in which I laid >out some specific application functionality that, apparently, NeXTStep >does not offer. All three examples I gave relate to the Internet, >obviously a key computer application area and not a "niche". RE: offline readers, etc because you live in a country with metered phone service. I'm glad I don't live in Japan. Does metered service mean all calls are toll? Well, my ISDN service is toll, too; but it's much more convenient and efficient for me to do things online. I let my servers store important things so I don't have to worry about backup, data recovery, etc. So, offline apps are a nonissue--and a niche--for me. It's certainly a personal preference, so I can see why you would need to use it. I probably won't. Ken -- Ken Lui, klui@cup.hp.com 19111 Pruneridge Avenue General Systems Division Cupertino, CA 95014-0795 USA Open/Intelligent Warehouse Team 1.408.447.3230 FAX 1.408.447.7200
Newsgroups: comp.sys.next.programmer From: shane@cs.toronto.edu (Shane Ruman) Subject: Question about WebObjects and JavaScript Message-ID: <1997Mar4.145908.21003@jarvis.cs.toronto.edu> Distribution: na Date: 4 Mar 97 19:59:08 GMT Hello, I'm wondering if anyone ouyt there has eve used WebObjects pro 2.0 (I'm trying to get them to upgrade but <shrug>) and Javascript in an html page. When I try to access a Web-Objects generated page element from javascript the interpreter complains that the name of the element is not known. I'm using the name as defined in the .wod file, name attribute (and have tried the name value in the .html file as well) but its no go from Javascript's end. Viewing the source of the html page generated by WO reveals that the name value of the element is being set to what I thought it should be. Is it possible to access WebObjects generated elements in a javascript? I also came across some really strange problems with conditional expressions but found away around that eventually. Any help is greatly appreciated, Shane
From: mmalcolm crawford <m.crawford@shef.ac.uk> Newsgroups: comp.sys.mac.system,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer,comp.sys.mac.oop.powerplant,comp.sys.next.programmer Subject: Re: Mac/NeXT & Unix: You're all NUTS! Date: 4 Mar 1997 22:38:07 GMT Organization: University of Sheffield, UK Message-ID: <5fi88f$35g@bignews.shef.ac.uk> References: <5d8qta$6np@news.bu.edu> <5dbfr3$g10@dismay.ucs.indiana.edu> <connelly-ya023680000602970146410001@news.ziplink.net> <Pine.SGI.3.95.970207004811.10697B-100000@wong> <slrn45fuv15.nv0.campbejr@phu989.um.us.sbphrd.com><33011DDB.4B1A@acm.org> <0n0OxoO00iWp023GQ0@andrew.cmu.edu> <33026799.D07@acm.org> <5e04nv$eqt@spool.cs.wisc.edu> <33079938.783E@acm.org> <5ean3v$3l5@spool.cs.wisc.edu><33091DD2.61FA@acm.org> <0n2TR_y00iWk05nyQ0@andrew.cmu.edu><330A8B29.1D5A@acm.org> <8n2mO2O00iWl05_J00@andrew.cmu.edu> <330B8D60.74C1@acm.org> <01bc2837$08c87b00$26193b9c@A413-04.cit.ac.nz> In-Reply-To: <01bc2837$08c87b00$26193b9c@A413-04.cit.ac.nz> On 03/04/97, "Andrew McPherson" wrote: > We'll take the best from the UNIX systems, put the mac interface on it and > blow away the Wintel market with better marketing. > And that's how apple came up with MacOS8... > Umm, actually that's how NeXT came up with NeXTstep. I believe that conditions are now such that, with AppLE behind it, Rhapsody (child of NeXTstep) will now be in a postition to stand up in the Wintel market. I won't predict it'll "blow it away" (except technically), however it will do well enough. Best wishes, mmalc. --
Newsgroups: comp.sys.next.programmer From: jspool@uie.com (Jared M. Spool) Subject: Reprint: Integrating Other Applications Sender: news@world.std.com (Mr Usenet Himself) Message-ID: <331ca402.42118302@news.std.com> Date: Tue, 4 Mar 1997 22:49:28 GMT Organization: User Interface Engineerng Next Developers: People have recently shown interest in developing new applications that leverage the functionality built-in to existing applications. The following is a reprint of an article that was printed in the November/December 1996 issue of Eye For Design. I thought you might find this of interest. (There is information on how to get a sample issue of Eye For Design at the end of this message.) - o - o - o - Integrating Other Applications by Will Schroeder Problem: Your application or web site needs some functionality. There's another product or site (either third-party or from your company) which already does what you need. Should you just integrate it with your application, or spend the effort to "reinvent the wheel?" Integration is a tempting solution, but we've learned that it can cause problems of its own. Recently, we tested three applications (a chemical compound database, a financial analysis package, and a process modeller) that extended their functionality by launching Microsoft Excel. We observed that users had some interesting problems users had with the integration of the two products. __________ A Drink from a Fire Hydrant Complementing your application with another feature-rich application is like getting a drink of water from a fire hydrant. Beware of creating learning hurdles when you integrate an application. In our tests, the users were familiar with Excel, and we still observed some Excel-related usability issues. If your users aren't proficient in the other application, or you just need a few of its functions, attempting to integrate it might place an undue burden on users. __________ Two Applications or One? As a designer, you must decide how tightly to integrate with the other application. Do you want the user to perceive the boundaries between the applications or to treat them as one? Most of the usability problems we saw pertained to the users' mental models of how the two products worked together. __________ Breaking the Mental Model Over time, users develop a mental model of how a product or site works. If any aspect of the integration changes the way the familiar product works, this can disrupt users' mental model. One product added a formula to the Excel Function Wizard to calculate and display a mathematical curve (in Excel, functions result in a number in a spreadsheet cell). After users completed this function, we asked them what they expected and they all said, "I'll get a number in a cell." When they got a 3D graph instead, they were surprised - the integration had broken their mental model. __________ Crossing the Boundaries In switching from one application or web site to another, the user crosses a boundary. Even if users are familiar with the place they're going, they can become temporarily disoriented if they don't realize where they are or how they got there. When we tested applications that put users into Excel, some users took a while to realize that they were in Excel, and a few even thought they had gotten into Excel by mistake! We've seen similar problems when applications use object linking and embedding (OLE) technology to provide in-place editing, or when web pages link to other sites. Even though parts of the screen change, users often don't realize that they are suddenly in a different context. __________ Methods of Switching One development team wanted the two integrated applications to look like one. They added commands to Excel's Window menu so that users could switch among the open windows in the two applications. This didn't work; users didn't look there. The team revised their design by adding a palette of icons for switching, and this worked better. We also saw that users who knew Excel would notice the addition of an icon to Excel's toolbar, but only if it was flagrant (in this case, large and red!). __________ Incompatible Data Types If functions in the other application don't work on all your types of data, you're likely to see problems. We saw many examples of users attempting to apply familiar functionality in ways that didn't make sense with the integrated product. One developer had added a feature to display chemical diagrams in Excel spreadsheet cells. In the usability test, he grinned ruefully when users tried to sort on a column full of pictures. Another example comes from Goldmine (a contact manager), which uses the Crystal Report Writer to provide its reports. The filtering syntax in the two applications are different - a filter written within Goldmine won't work in the report writer. Sometimes problems like this can be avoided by integrating an application behind the scenes. For example, a VBX called Formula One acts like an invisible spreadsheet, so developers can add spreadsheet capabilities to their application without making users learn another interface. We did see a pattern in users' expectations in a couple areas. Uniformly, users expected automatic data updating (where changes in the Excel data are reflected in the calling application, and vice versa). However, when we asked users whether they could load an Excel file directly into the calling application, users weren't sure whether the file formats were directly compatible. __________ Duplication of Functionality In some cases, it may make sense to duplicate some functionality from the other application if it avoids confusion. We tested a product which relied on Excel for printing, and therefore omitted a Print command from the product's File menu. Several users could not complete a printout task. Even though they knew that Excel was available, using it to print did not occur to them. We have also seen instances where users looked in Help in the "wrong" application, searching for functionality that was in the other application. But not all users searched in Help, so some simply concluded that the functionality didn't exist. - o - o - o - Eye For Design is published six times a year with articles on a variety of product design and usability issues. If you would like a complimentary issue mailed to you, just send your postal address to efd@uie.com. (Sorry, we do not have an email version available, yet.) Or, you can check out our website at http://www.uie.com. Hope you found this to be of interest. Jared p.s. We'll ship your complimentary issue anywhere in the world, as long as you tell us what country your from.
From: "Jay Riley" <datamagik@usa.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: 4 Mar 97 17:13:50 -0600 Organization: Texas Networking, Inc. Message-ID: <AF4208D5-9DA32@207.207.3.178> References: <01bc284c$b8a07400$882168cf@test1> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit nntp://news.texas.net/comp.sys.next.advocacy, nntp://news.texas.net/comp.sys.next.programmer On Mon, Mar 3, 1997 10:38 PM, L. Todd Heberlein <mailto:heberlei@NetSQ.com> wrote: >FYI, I got the following information back from Apple regarding getting >access to the Rhapsody Developers Release: > >------------------------ >To receive the Rhapsody Developer Release you need to join the Apple >Developer Program <devsupport@apple.com> and make sure all the forms you >need to receive prototype software are complete, in order to receive >developer releases. The Apple Developer mailings only have released >software in them, not developer releases or other prototype software. >------------------------ > >I found additional information at > http://17.126.23.20/dev/macdevprogram.html > Plus I understand Rhapsody will run NeXTSTEP/OPENSTEP applications with a simple re-compile. I understand you can get NeXTSTEP today in achedemic version (for Intel based machines) for around $300. Try <http://www.next.com/> for more info. Regards, Jay Riley/Owner, DATAMAGIK ***************************************************************** DATAMAGIK Systems, Software & Design Engineering 1-888-369-5741 Brownlee Circle Austin, Texas <http://www.flash.net/~jriley/> ***************************************************************** + Created on a PowerBook with Cyberdog's suite of OpenDoc parts +
From: "Lawson English" <english@primenet.com> Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: 4 Mar 1997 16:39:01 -0700 Organization: Primenet Services for the Internet Message-ID: <AF42043C-E6183@198.68.42.242> References: <5fhpsv$if5$1@hpax.cup.hp.com> nntp://news.primenet.com/comp.sys.mac.advocacy Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit >RE: offline readers, etc because you live in a country with metered >phone service. When I lived in England, some homes still had coin-operated electric-power meters... Mine still had one installed, but they had bypassed it for the more "new-fangled" kind. ------------------------------------------------------------------------- Windows: Tumor-causing, teeth-staining, smelly, puking habit. -------------------------------------------------------------------------
From: nudestars@wstarztv.net Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <5fi83l$13n@bolivia.earthlink.net> Control: cancel <5fi83l$13n@bolivia.earthlink.net> Date: 4 Mar 1997 23:19:36 GMT Organization: North Carolina State University Message-ID: <5fiam8$e6d@uni00nw.unity.ncsu.edu> ignore Article canceled by slrn 0.9.3.2
From: dehoog@experts.com (John De Hoog) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: Wed, 05 Mar 1997 00:58:42 GMT Organization: Experts, Inc. Message-ID: <331cbed6.3007201@library.airnews.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <331b4654.45811233@library.airnews.net> <5ffmvs$ku3$1@darla.visi.com> <331b6a1a.54969011@library.airnews.net> <5fhniq$gu4$1@hpax.cup.hp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit klui@cup.hp.com (Ken Lui) said: > >I find this comment interesting, because in the U.S., where computer >technology is driven, offline readers are niche markets. Japan is 25% of Apple's market. Do you call that a niche? Offline readers are a bigger niche than the entire NeXTStep user base. Consider all the users of Forte Agent and Free Agent, MP Gravity, MS Internet News, not to mention NewsHopper and MacSoup on the Apple side, and tell me again what a niche looks like. ------ John De Hoog, Tokyo
Date: Tue, 04 Mar 1997 19:32:15 -0600 From: frankf@endo.com Subject: fast semaphore implementation and shared memory Newsgroups: comp.sys.next.programmer Message-ID: <857523499.13676@dejanews.com> Organization: Deja News Usenet Posting Service I'm looking for a fast semaphore/lock implementation for a single write process and multiple (but constant number of) consumer-processes shared memory situation on SGI Indigo platform. The processes are unix processes. It is for a highly time critical application and therefore I don't want to use the OS semaphores (unless I really have to). Are there any fast software and/or hardware solutions to implement such a buffer access protection mechanism? (C or assembler) Frank Franssen -------------------==== Posted via Deja News ====----------------------- http://www.dejanews.com/ Search, Read, Post to Usenet
From: apuleius@ix.netcom.com (William Grosso) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Wed, 05 Mar 1997 01:20:50 GMT Organization: Netcom Message-ID: <331cca20.1827497@nntp.ix.netcom.com> References: <slrn5hk7kq.9td.kennel@lyapunov.ucsd.edu> <5fhjf4$laq@concorde.ctp.com> On 4 Mar 1997 16:43:16 GMT, "Georg Tuparev" <gtupar@ctp.com> wrote: > >If you are hoping that static function calls will solve the big unification theory >you are on a wrong track. > Just to qualify this a little-- Georg is absolutely right when it comes to large and complex things. But, for well-understood things (like, say, inverting a matrix), C++ can give you a gain over Objective-C. Of course, you really ought to be using FORTRAN for that sort of thing anyway .... Cheers, Andy
From: Webboy <webboy@super.zippo.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: Tue, 04 Mar 1997 18:49:13 -0700 Organization: Starnet Message-ID: <331CD115.362@super.zippo.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <331b4654.45811233@library.airnews.net> <5ffmvs$ku3$1@darla.visi.com> <331b6a1a.54969011@library.airnews.net> <5fhniq$gu4$1@hpax.cup.hp.com> <331cbed6.3007201@library.airnews.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit John De Hoog wrote: > > klui@cup.hp.com (Ken Lui) said: > > > > >I find this comment interesting, because in the U.S., where computer > >technology is driven, offline readers are niche markets. > > Japan is 25% of Apple's market. Do you call that a niche? > What the hell are you talking about here John? He's talking offline news, you are talking Apple. ___________________________________ webboy@super.zippo.com
From: "Lawson English" <english@primenet.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 4 Mar 1997 23:52:03 -0700 Organization: Primenet Services for the Internet Message-ID: <AF4269C1-39C43@198.68.42.130> References: <331cbed6.3007201@library.airnews.net> nntp://news.primenet.com/comp.sys.next.programmer Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit >Offline readers are a bigger niche than the entire NeXTStep user base. >Consider all the users of Forte Agent and Free Agent, MP Gravity, MS >Internet News, not to mention NewsHopper and MacSoup on the Apple >side, and tell me again what a niche looks like. People that pooh-pooh Apple's size should recall that Cyberdog has as much as 1% (up to 5% during "sweep week" at the various browser counter sites) of the browser market. This is pretty hefty, considering that Apple doesn't promote CD save by encouraging magazine articles. -- Customer: "I'm running Windows '95." Tech Support: "Yes." Customer: "My computer isn't working now." Tech Support: "Yes, you said that." -- english@primenet.com
From: remove-excess@verbiage.com (John De Hoog) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: Wed, 05 Mar 1997 07:09:20 GMT Organization: Firesign Productions Message-ID: <331d1ae6.26578860@news.alt.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <331b4654.45811233@library.airnews.net> <5ffmvs$ku3$1@darla.visi.com> <331b6a1a.54969011@library.airnews.net> <5fhniq$gu4$1@hpax.cup.hp.com> <331cbed6.3007201@library.airnews.net> <331CD115.362@super.zippo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Now we have Jason Sterne <webboy@super.zippo.com> saying, >> klui@cup.hp.com (Ken Lui) said: >> >> > >> >I find this comment interesting, because in the U.S., where computer >> >technology is driven, offline readers are niche markets. >> >> Japan is 25% of Apple's market. Do you call that a niche? >> >What the hell are you talking about here John? He's talking offline >news, you are talking Apple. Try to follow the logic, Webboy. (1) He says offline readers are a niche in the U.S. (2) However, offline readers are not a niche in Japan. (3) Japan is not a niche for Apple, but is Apple's second largest market. (4) Ergo, offline readers are (potentially, at least) not a niche product in the Apple market. Besides, I made that clear in the rest of my post, which you snippered. How's your budding law career coming, "Webboy"? ------- John De Hoog, Tokyo (remove-)excess@verbiage.com
From: webboy@webname.com (Webboy) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: Wed, 05 Mar 1997 01:00:20 -0700 Organization: Starnet Message-ID: <webboy-ya02408000R0503970100200001@news.azstarnet.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <331b4654.45811233@library.airnews.net> <5ffmvs$ku3$1@darla.visi.com> <331b6a1a.54969011@library.airnews.net> <5fhniq$gu4$1@hpax.cup.hp.com> <331cbed6.3007201@library.airnews.net> <331CD115.362@super.zippo.com> <331d1ae6.26578860@news.alt.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <331d1ae6.26578860@news.alt.net>, remove-excess@verbiage.com wrote: >Now we have Jason Sterne <webboy@super.zippo.com> saying, > >>> klui@cup.hp.com (Ken Lui) said: >>> >>> > >>> >I find this comment interesting, because in the U.S., where computer >>> >technology is driven, offline readers are niche markets. >>> >>> Japan is 25% of Apple's market. Do you call that a niche? >>> >>What the hell are you talking about here John? He's talking offline >>news, you are talking Apple. > >Try to follow the logic, Webboy. > >(1) He says offline readers are a niche in the U.S. >(2) However, offline readers are not a niche in Japan. >(3) Japan is not a niche for Apple, but is Apple's second largest >market. >(4) Ergo, offline readers are (potentially, at least) not a niche >product in the Apple market. > >Besides, I made that clear in the rest of my post, which you >snippered. > >How's your budding law career coming, "Webboy"? >------- >John De Hoog, Tokyo >(remove-)excess@verbiage.com With circular logic like that, a lot further than yours. -- webboy@webname.com Made on a Power Macintosh 7300/180 Semper Mac!
From: bayleyp@dnc.net (bayleyp) Newsgroups: comp.sys.next.programmer Subject: Run NeXT on SOM? Date: Wed, 05 Mar 1997 00:24:53 -0800 Organization: http://www.orst.edu/~bayleyp/ Message-ID: <bayleyp-ya02408000R0503970024530001@news.dnc.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Any news if Apple will use System Object Model in NeXT? I can already compile SOM objects using Obj-C, but I can also choose any other language with SOM bindings.
From: klui@cup.hp.com (Ken Lui) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 5 Mar 1997 04:58:12 GMT Organization: Hewlett-Packard Company Message-ID: <5fiuh4$dn$1@hpax.cup.hp.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <331b6a1a.54969011@library.airnews.net> <5fhniq$gu4$1@hpax.cup.hp.com> <331cbed6.3007201@library.airnews.net> In article <331cbed6.3007201@library.airnews.net>, John De Hoog <dehoog@experts.com> wrote: >klui@cup.hp.com (Ken Lui) said: >>I find this comment interesting, because in the U.S., where computer >>technology is driven, offline readers are niche markets. > >Japan is 25% of Apple's market. Do you call that a niche? I was referring to offline readers. Your above sentence implies that everyone in Japan uses offline readers, which isn't true. My apologies if I wasn't clear. >Offline readers are a bigger niche than the entire NeXTStep user base. I'd like to see the source for this info. And I would speculate that even if this were so, their roles will be reversed in the future. >Consider all the users of Forte Agent and Free Agent, MP Gravity, MS >Internet News, not to mention NewsHopper and MacSoup on the Apple >side, and tell me again what a niche looks like. Again, I'd like to see a source regarding how many users use the above programs. I still feel offline readers are dwindling in the U.S. I have no proof but BBSes aren't very common these days and offline readers were mainly used for their message bases. And I almost never read about someone who wants help with an offline reader. Just for the heck of it, I searched for offline and news in dejanews and there were 2875 entries. Most are from either fido subdomains or countries such as France, Italy, Korea, and so forth--countries with metered phone service, I presume. Ken -- Ken Lui, klui@cup.hp.com 19111 Pruneridge Avenue General Systems Division Cupertino, CA 95014-0795 USA Open/Intelligent Warehouse Team 1.408.447.3230 FAX 1.408.447.7200
From: dehoog@experts.com (John De Hoog) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: Wed, 05 Mar 1997 11:18:00 GMT Organization: Experts, Inc. Message-ID: <331d5534.8186601@library.airnews.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <331b6a1a.54969011@library.airnews.net> <5fhniq$gu4$1@hpax.cup.hp.com> <331cbed6.3007201@library.airnews.net> <5fiuh4$dn$1@hpax.cup.hp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit klui@cup.hp.com (Ken Lui) said: >>Offline readers are a bigger niche than the entire NeXTStep user base. > >I'd like to see the source for this info. And I would speculate >that even if this were so, their roles will be reversed in the >future. > >>Consider all the users of Forte Agent and Free Agent, MP Gravity, MS >>Internet News, not to mention NewsHopper and MacSoup on the Apple >>side, and tell me again what a niche looks like. > >Again, I'd like to see a source regarding how many users use the >above programs. I still feel offline readers are dwindling in the >U.S. I have no proof but BBSes aren't very common these days and >offline readers were mainly used for their message bases. And I >almost never read about someone who wants help with an offline >reader. Just for the heck of it, I searched for offline and news >in dejanews and there were 2875 entries. Most are from either >fido subdomains or countries such as France, Italy, Korea, and >so forth--countries with metered phone service, I presume. There is a Usenet group called alt.usenet.offline-reader, and another devoted just to forte-agent. The latter has especially high traffic, and most of the people who post there do so from U.S. addresses. BBSs have nothing to do with it. Many of us just find it easier to deal with news on our own drive, so we can easily go back through threads, watch threads, ignore threads and so on. Anyway, accept the fact that it is a legitimate application area that needs to be well supported on any platform that expects to have a broad, worldwide following. ------ John De Hoog, Tokyo
From: nevin@CS.Arizona.EDU (Nevin ":-]" Liber) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: Wed, 05 Mar 1997 06:47:13 -0700 Organization: University of Arizona CS Department, Tucson "It's A *DRY* Heat!" Arizona Message-ID: <nevin-0503970647130001@mac-nevin.cs.arizona.edu> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <5fcq0u$5ih@hpax.cup.hp.com> In article <5fcq0u$5ih@hpax.cup.hp.com>, klui@cup.hp.com (Ken Lui) wrote: > In article <Yn6Omsi00iWm03O_o0@andrew.cmu.edu>, > Charles William Swiger <cs4w+@andrew.cmu.edu> wrote: > >An "offline Web browser" is an oxymoron. It's also IMHO a really stupid > >idea, and the lack of such is no loss. > I believe this concept is carried over from BBS/Fidonet days where > people don't want to rack up connect time charges/limits imposed by > the phone company or the BBS service. Personally, I feel it's not very > effective--i.e. why do online stuff offline. There are definitely a > lot of people using offline browsers, readers, etc; but one may as > well subscribe to digest mailing lists instead. I don't think Charles was as clear on his offline browsing as he could have been (and was on his offline newsreading statement). It isn't that doing these types of things while not connected to the Internet is a bad idea, the Bad Idea comes when a specific browser or newsreader has to specifically differentiate between offline and online connections. It is much, much better to put those things at a lower level or layer (the two Charles mentioned were a Harvest web cache for offline browsing, and a PersonalINN package for offline newsreading); then *every* browser and newsreader gets this benefit automatically. If the point of view is of the browser or newsreader, it shouldn't matter whether the underlying http/nntp request is sent out over a network or intercepted by another piece of software and handled offline. Adding system services to allow any browser or newsreader to perform its functions offline is a Good Idea; hardcoding that functionality into a specific browser or newsreader instead of putting that functionality at a lower layer is a Bad Idea. -- Nevin ":-)" Liber <mailto:nevin@CS.Arizona.EDU> (520) 293-2799 <http://www.cs.arizona.edu/people/nevin/>
From: jlimpert@pathfinder.com (john limpert) Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: renderman help. Date: 5 Mar 1997 15:31:24 GMT Organization: Time Warner Pathfinder Message-ID: <jlimpert-0503971135220001@edit86.edit.pathfinder.com> If I click on a .rib file in nextstep 3.3 it brings up a program called 3view which lets me move around a wireframe or shaded object. How do I render a rib in photorealistic renderman? thanks!
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: G.C.Th.Wierda@AWT.nl (Drs G. C. Th. Wierda) Subject: GNU regex for NEXTSTEP? Message-ID: <E6KqKE.I6@AWT.NL> Sender: news@AWT.NL Organisation: AWT Organization: Adviesraad voor het Wetenschaps- en Technologiebeleid Date: Wed, 5 Mar 1997 14:21:50 GMT Hi, I am looking for GNU regex for NEXTSTEP, preferably something that I can install as libregex.a and that comes with iregex.c (the interactive front end for testing). I tried looking on FSF sites, but without any luck so far. Can anybody help? -- Gerben Wierda, Stafmedewerker Adviesraad voor het Wetenschaps- en Technologiebeleid. Staff member Advisory Council for Science and Technology Policy Javastraat 42, 2585 AP, 's-Gravenhage, The Hague, The Netherlands Tel (+31) 70 3639922 Fax (+31) 70 3608992 http://www.AWT.nl/ "One foolish wise man can state more than a thousand wise fools can question." "Doubters need to understand believes. Believers need not understand doubt."
From: Petr Novak <novak@microcomp.de> Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin Subject: Launching Perl script ? Date: Wed, 05 Mar 1997 17:56:56 +0100 Organization: Impact GmbH,Cologne, Germany Message-ID: <331DA5D8.354C@microcomp.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hallo ! How can be an Perl script executed from Openstep on NT ? I made some trials with NSTask, but without success. Petr Novak
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Followup-To: comp.sys.mac.advocacy,comp.sys.next.advocacy Date: 5 Mar 1997 17:11:13 GMT Organization: ace dot net internet technologies Message-ID: <5fk9fh$8b9$3@darla.visi.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <331b4654.45811233@library.airnews.net> <5ffmvs$ku3$1@darla.visi.com> <331b6a1a.54969011@library.airnews.net> <5fhniq$gu4$1@hpax.cup.hp.com> <331cbed6.3007201@library.airnews.net> <331CD115.362@super.zippo.com> <331d1ae6.26578860@news.alt.net> In comp.sys.next.programmer John De Hoog <remove-excess@verbiage.com> wrote: : Try to follow the logic, Webboy. Ouch. : (3) Japan is not a niche for Apple, but is Apple's second largest : market. : (4) Ergo, offline readers are (potentially, at least) not a niche : product in the Apple market. NEXTSTEP was a major success in Japan, especially with Canon. Japan was a major market for NEXTSTEP. Yet, the offline readers available for NEXTSTEP don't meet with your needs. I suspect you don't speak for all of Japan when you say that offline readers are crucial. : How's your budding law career coming, "Webboy"? This is just plain flame action, whcih doesn't belong on a .programmer newsgroup. I've redirected responses to csn.advocacy; please do the same. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: David Young <dwy@ace.net> Newsgroups: comp.sys.next.programmer Subject: Re: Run NeXT on SOM? Date: 5 Mar 1997 17:15:51 GMT Organization: ace dot net internet technologies Message-ID: <5fk9o7$8b9$4@darla.visi.com> References: <bayleyp-ya02408000R0503970024530001@news.dnc.net> bayleyp <bayleyp@dnc.net> wrote: : Any news if Apple will use System Object Model in NeXT? I can already : compile SOM objects using Obj-C, but I can also choose any other language : with SOM bindings. Man, I hope not. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 5 Mar 1997 17:20:52 GMT Organization: ace dot net internet technologies Message-ID: <5fka1k$8b9$5@darla.visi.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <331b6a1a.54969011@library.airnews.net> <5fhniq$gu4$1@hpax.cup.hp.com> <331cbed6.3007201@library.airnews.net> <5fiuh4$dn$1@hpax.cup.hp.com> <331d5534.8186601@library.airnews.net> In comp.sys.next.programmer John De Hoog <dehoog@experts.com> wrote: : BBSs have nothing to do with it. Many of us just find it easier to : deal with news on our own drive, so we can easily go back through : threads, watch threads, ignore threads and so on. Anyway, accept the : fact that it is a legitimate application area that needs to be well : supported on any platform that expects to have a broad, worldwide : following. I think you're totally overlooking INN. You can run an entire newsfeed to your home machine on NEXTSTEP, which means that the spool is saved locally to your hard drive. Imagine this scenario: You only read news once daily, so you set up INN to open a feed connection to your provider nightly at 3AM, when phone bills are low. pppd picks up on the network request and automatically dials up your ISP, and after the transfer is finished, hangs up after a few minutes idle time. The next morning you read news over breakfast from the local spool. Because you're so cool, you've set up an autodecoder for alt.binaries.fonts, which passes the AFM fonts on to a conversion utility by way of a shell script, and copies them to /LocalLibrary/Fonts. If this isn't solution enough for you, I don't know what would be. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
Newsgroups: comp.sys.next.programmer From: frank@ali.bc.ca (Frank Pang) Subject: NSUnarchiver leaks memory! Message-ID: <E6Kzww.I1t@gateway.ali.bc.ca> Sender: nobody@gateway.ali.bc.ca Organization: A.L.I. Technologies, Inc. Date: Wed, 5 Mar 1997 17:43:44 GMT Thanks to Ivo Boehme for providing the solution there. Whew, and all along I thought I was doing something wrong. His observations are consistent with mine... --- begin forwarded message X-Nextstep-Mailer: Mail 3.3 (Enhance 1.1) From: Ivo Boehme <iboehme@abm07.abm.de> Date: Tue, 4 Mar 1997 01:14:35 -0800 To: frank@cetus.ali.bc.ca Subject: Memory leak Frank, > I have a problem which has nagged me for too long. I get memory leaks > and had MallocDebug trace the source of the leaks to a call to > [NSUnarchiver unarchiveObjectWithFile:@"foo"]. The sample code compiles `+ unarchiveObjectWithData:(NSData *)data' always creates a mem leak. Link this category to your code and call `- deallocData' before releasing a NSUnarchiver object. Gee, this bug really gave us a huge swap space ... %---------------------------------------- #import <foundation/foundation.h> @interface NSUnarchiver (antibug) - deallocData; @end @implementation NSUnarchiver (antibug) - deallocData { free((void*)[data bytes]); return self; } %---------------------------------------- Hope it helps, Ivo P.S. Unfortunately I am currently not able to post messages. That's why PM. (You may post it for me, if you like ...) --- end forwarded message -- Frank Pang, frank@ali.bc.ca Software Developer A.L.I. Technologies Ltd., (NeXT & MIME accepted here) 95-10551 Shellbridge Way, Richmond, BC, 279-5422 (ext. 366) Canada V6X 2W9
From: "Georg Tuparev" <gtupar@ctp.com> Newsgroups: comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 5 Mar 1997 18:51:08 GMT Organization: Cambridge Technology Partners, Inc. Message-ID: <5fkfas$la@concorde.ctp.com> References: <webboy-ya02408000R0503970100200001@news.azstarnet.com> Hey guys! This is comp.sys.next.programming and not alt.stupid.logic -- georg -- In article <webboy-ya02408000R0503970100200001@news.azstarnet.com> webboy@webname.com (Webboy) writes: > >(1) He says offline readers are a niche in the U.S. > >(2) However, offline readers are not a niche in Japan. > >(3) Japan is not a niche for Apple, but is Apple's second largest > >market. > >(4) Ergo, offline readers are (potentially, at least) not a niche > >product in the Apple market. > > > With circular logic like that, a lot further than yours. -- ------- /\/\ Georg Tuparev <georg_tuparev@ctp.com> / /_ \ Cambridge Technology Partners \ / / Apollo House, Apollolaan 15 \/\/ 1077 AB Amsterdam, The Netherlands Tel: +31(20)575-0492 Fax: +31(20)575-0500 WWW: http://www.ctp.com
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: Wed, 5 Mar 1997 14:09:00 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <In7QHA_00iVCM7WPQW@andrew.cmu.edu> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <5fcq0u$5ih@hpax.cup.hp.com> <nevin-0503970647130001@mac-nevin.cs.arizona.edu> In-Reply-To: <nevin-0503970647130001@mac-nevin.cs.arizona.edu> Excerpts from netnews.comp.sys.next.programmer: 5-Mar-97 Re: Nice interview with Amelio by Nevin ":-]" Liber@CS.Ari > I don't think Charles was as clear on his offline browsing as he could > have been (and was on his offline newsreading statement). Well, your mileage may vary. All I really wanted to do was demonstrate that one could achieve off-line web browsing or news reading under NEXTSTEP. I also mentioned that web browsers or news readers which were specificly designed to work offline seem silly to me. > It isn't that doing these types of things while not connected to the > Internet is a bad idea, the Bad Idea comes when a specific browser or > newsreader has to specifically differentiate between offline and online > connections. And you seem to agree. Cool! -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: Re: GNU regex for NEXTSTEP? Date: Wed, 5 Mar 1997 14:15:37 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <Yn7QNNi00iVCA7WFkS@andrew.cmu.edu> References: <E6KqKE.I6@AWT.NL> In-Reply-To: <E6KqKE.I6@AWT.NL> Excerpts from netnews.comp.sys.next.software: 5-Mar-97 GNU regex for NEXTSTEP? by Drs G. C. Th. Wierda@AWT > I am looking for GNU regex for NEXTSTEP, preferably something that I > can install as libregex.a and that comes with iregex.c (the interactive > front end for testing). I tried looking on FSF sites, but without any luck > so far. How about <URL=ftp://prep.ai.mit.edu/pub/gnu/regex-0.12.tar.gz>? It doesn't seem to have iregex.c, but it does come with a series of tests. You might try asking on the gnu.* groups, too-- this is a generic question about GNU software, and is not NEXTSTEP-specific. Unless you're looking for a precompiled version, that is.... -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: sschaper@inlink.com Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: Wed, 05 Mar 1997 19:21:33 GMT Organization: InLink Message-ID: <331dc772.73186408@news.inlink.com> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> On 4 Mar 97 17:13:50 -0600, "Jay Riley" <datamagik@usa.net> wrote: >> >>------------------------ >>To receive the Rhapsody Developer Release you need to join the Apple >>Developer Program <devsupport@apple.com> and make sure all the forms you >>need to receive prototype software are complete, in order to receive >>developer releases. The Apple Developer mailings only have released >>software in them, not developer releases or other prototype software. That sounds fairly expensive to do. You'd think Apple would want as many beta testers and early adopters as possible. This is dissappointing, to say the least.
From: rog@ohm.york.ac.uk (Roger Peppe) Newsgroups: comp.sys.next.programmer,comp.sys.mac.programmer.codewarrior,comp.sys.mac.system Subject: Re: Mac/NeXT & Unix: File System Date: 5 Mar 1997 19:37:15 GMT Organization: Department of Electronics, University of York, UK. Message-ID: <5fki1c$p7d@netty.york.ac.uk> References: <5ddp66$jpc@news.bu.edu> <5de4gb$np2@news.bu.edu> <32FB7FCA.4D15@mcs.com> <qdohdwi <slrn45ghfmn.oqs.campbejr@phu989.um.us.sbphrd.com> <5esiis$ck4@netty.york.ac.uk> <slrn45h5vv0.v1f.campbejr@phu989.um.us.sbphrd.com> > On 24 Feb 1997 17:19:24 GMT, Roger Peppe <_rog@ohm.york.ac.uk_> wrote: > I've thought, BTW, that the first 512bytes of the file could be > invisible (all lseek() calls assume an offset unless a fcntl() > flag get set to maximize visibility). With an extra 1/2K of > control information, all kinds of stuff can be hidden out-of- > band to all the "normal" utilities... > This'd have to apply to devices and directories... > Is 512 bytes enough? i think the basic problem with this approach is that a) it makes the system call interface that much more complex, and therefore harder to document, debug and maintain. (especially if you have several rival implementations...) b) it doesn't go far enough! as you say "is 512 bytes enough" ? obviously not in all circumstances. some people have been talking about the use of the resource fork to store markup information for a text editor; in this case 512 bytes is certainly not enough. if you do it this way, then all this data suddenly becomes accessible only to programs that know about it. one of the great sources of computer power is that it is possible to process data without understanding the nature of that data. descending into unix parlance for a moment (because that's the system i'm most familiar with), "compress" can compress a text document, a graphical image, or the output from a device. "encrypt" similarly. the concept of a pipeline of processes is dependent on this concept. if all files are divided into two halves, one of which is conventionally accessible, and the other concealed, then this is essentially an _a priori_ judgement on the suitability of the data in the concealed half for use with any particular program. the question is: what does this gain you ? i don't think very much - the only advantage being concealment of the existence of these ghostly bits of data from the user. but the user never has to see the "normal" utilities. and the apps in such a system don't have to see the "normal" system calls, either. one can imagine a system where all apps used the same file access library, substantially similar to the unix system call interface, apart from that the open call recognises a particular attribute of directories (the old "sticky" bit might be subverted to this end; it's been through worse) and opens a file "contents" in the directory; the other files in the directory are only accessible to those programs that need to know. if a filesystem is made simple enough then it can become an extremely useful form of abstraction for all kinds of things, completely unrelated to actual datafiles. for an example of what can be done when a filesystem is made really simple, check out Lucent Technologies' Inferno http://www.lucent.com/inferno/ this system incorporates the most advanced OS technology i've seen (it's from the originators of Unix, having refined and reinvented those concepts for the last 30 years, while the rest of the world has just "added features"). > > (a superuser can of course trivially change the ctime *and* the mtime of > > a file however) > Using the "touch" command which calls utimes(). actually, this won't work, because utimes() updates the ctime also. no, the only way to do this is to call settimeofday, touch the file and settimeofday back again. ugh! (i have done it in the past, though :-] ) cheers, rog. P.S. if anyone replies to this and expects me to see the reply it's best to email it to me, because a) this news server only seems to get around 30% of all articles b) the average time taken to reach here seems to be about half a month!
Date: 5 Mar 1997 15:39:24 EST Newsgroups: comp.sys.next.programmer Message-ID: <cancel.331ca402.42118302@news.std.com> Control: cancel <331ca402.42118302@news.std.com> From: clewis@ferret.ocunix.on.ca Sender: news@world.std.com (Mr Usenet Himself) Subject: cmsg cancel <331ca402.42118302@news.std.com> EMP/ECP (aka SPAM) cancelled by clewis@ferret.ocunix.on.ca. See news.admin.net-abuse.announce, report 19970305.20 for further details
From: klui@cup.hp.com (Ken Lui) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 5 Mar 1997 17:14:40 GMT Organization: Hewlett-Packard Company Message-ID: <5fk9m0$kho$1@hpax.cup.hp.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <5fcq0u$5ih@hpax.cup.hp.com> <nevin-0503970647130001@mac-nevin.cs.arizona.edu> In article <nevin-0503970647130001@mac-nevin.cs.arizona.edu>, Nevin ":-]" Liber <nevin@CS.Arizona.EDU> wrote: >It isn't that doing these types of things while not connected to the >Internet is a bad idea, the Bad Idea comes when a specific browser or >newsreader has to specifically differentiate between offline and online >connections. Your example is a good one. As long as everything is transparent to the apps I can accept. Ken -- Ken Lui, klui@cup.hp.com 19111 Pruneridge Avenue General Systems Division Cupertino, CA 95014-0795 USA Open/Intelligent Warehouse Team 1.408.447.3230 FAX 1.408.447.7200
Date: Wed, 05 Mar 1997 13:51:27 -0600 From: pas@filoli.com Subject: Job:US-CA-Palo Alto:NEXTSTEP/OPENSTEP/Object Oriented Developer Newsgroups: ba.jobs.offered,comp.sys.next.programmer,comp.sys.next.marketplace Message-ID: <857590785.19289@dejanews.com> Organization: Deja News Usenet Posting Service *** The Filoli Information Systems, Co. *** Filoli Information Systems, Inc. has an immediate need for Senior and Entry Level OO software developers with NEXTSTEP and Objective-C experience. Filoli is a startup with over 100 employees currently developing a large paperless distributed claims processing system for clients in the Workers Compensation insurance market. Filoli's mission is to use advanced information technology including imaging, networking, and workflow management to to improve the capability and economic performance of the front office in markets such as insurance and health care. *** Job Description *** Location: Palo Alto CA Title: Senior/Junior Software Engineer Responsibilities: Develop GUI, application or framework components for a Workers Compensation claims processing and medical management system. Requirements Analysis Application and Framework Component Design Software Implementation Software Unit, Integration and Sytem Testing Software and System Documentation Preferred Requirements (Senior Level): Excellent teamwork and communication capabilities, especially good writing skills Experience with OO analysis and design methodologies 2+ yrs C++, Java, Objective-C or Smalltalk programming experience 2+ yrs UNIX Operating System experience 4+ yrs professional software development experience A BS degree in Computer Science or a related field Preferred Requirements (Entry Level/Junior): Excellent teamwork and communication capabilities, especially good writing skills Experience with OO programming C++, Java, Objective-C or Smalltalk programming experience UNIX Operating System experience A BS degree in Computer Science or a related field Other desirable qualifications: NEXTSTEP, OPENSTEP, Windows NT Operating System experience Knowledge of databases (Sybase preferred) Experience developing reusable framework components Experience with tcl *** Contact Information *** Please contact Dawn Deir at (415)856-3100 Ext 272, or send your resume to jobs@filoli.com or fax to (415) 856-3137. *** What Others Are Saying *** Robertson Stephens & Company, one of the most respected West Coast investment banks, has just completed (Feb. 24, 1997) a report on: The Workers' Compensation Industry: Slaying the Long-Tailed Cost Dragon This report looks at the desirability of investing in the Workers' Compensation market (principallly looking at the risks/rewards of investing in carriers, and health care providers). They believe the Comp market is poised for potential financial growth, primarily due to disability management and related medical cost containment practices. On page 22 of the report we read: "We believe another interesting niche opportunity within the specialty service provider space will be the rise of information systems companies focused on the workers' compensation market. For example, Filoli Information Systems, in California's Silicon Valley, develops and markets an integrated claims management system, called CompAIDE, for workers' compensation carriers and self-insureds. Using the latest scanning technology, CompAIDE reduces claims and administrative costs by providing paperless automation of the claims process." -------------------==== Posted via Deja News ====----------------------- http://www.dejanews.com/ Search, Read, Post to Usenet
From: klui@cup.hp.com (Ken Lui) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 5 Mar 1997 17:40:45 GMT Organization: Hewlett-Packard Company Message-ID: <5fkb6t$l0a$1@hpax.cup.hp.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <331cbed6.3007201@library.airnews.net> <5fiuh4$dn$1@hpax.cup.hp.com> <331d5534.8186601@library.airnews.net> In article <331d5534.8186601@library.airnews.net>, John De Hoog <dehoog@experts.com> wrote: >There is a Usenet group called alt.usenet.offline-reader, and another >devoted just to forte-agent. The latter has especially high traffic, Actually, the forte-agent alt newsgroup contains 6K messages while the reader newsgroup contains 9K messages in dejanews. > Anyway, accept the >fact that it is a legitimate application area that needs to be well >supported on any platform I accept that it's legitimate, but I question the effectiveness of its implementation where it assumes one's offline. In another thread, Niven Liber made an excellent point where if some lower-level subsystem actually controls how news articles are siphoned to/from the real feed, any "online" newsreader can be used as an "offline" reader. I hadn't thought about that before. Similarly, my systems at home are physically "offline," but their configurations think they're online all the time--the under- lying network hardware makes it transparent so I don't have to worry about rigging the configuration on my machines once my bridge has been configured--the bridge monitors net traffic and if it senses a packet wanting to go outside of my "subnet," it makes a connection, and when traffic remains idle after a threshold, the line(s) are dropped. Does Forte-Agent use its own news database format or is it compatible with b news or c news? If it does, or some other agent uses its own proprietary format, then that's an additional level of overhead that's not really needed. "Support" can be interpreted in different ways, and I find the approach outlined by Niven more simpler and elegant. Ken -- Ken Lui, klui@cup.hp.com 19111 Pruneridge Avenue General Systems Division Cupertino, CA 95014-0795 USA Open/Intelligent Warehouse Team 1.408.447.3230 FAX 1.408.447.7200
From: s0wwchin@atlas.vcu.edu (Weiyuan W Chin) Newsgroups: comp.sys.next.programmer Subject: Developing for Rhapsody Date: 5 Mar 1997 17:06:50 -0500 Organization: Virginia Commonwealth University Distribution: world Message-ID: <5fkqpq$1nhm@atlas.vcu.edu> It has occured to me that there isn't a rush by Mac developers to develop under the OPENSTEP API's. Reading over the press releases, I get the sense that one could avoid the re-write to OPENSTEP API's and just recompile an app written in Codewarrior for OPENSTEP. Now, would that result in an app that basically translates API calls to OPENSTEP calls? Would this result in an app that runs as fast as a fully native OPENSTEP app? Are developers just going ahead with their current development plans and a) hope that the compability for developers is as complete as the user environment b) hoping that the OPENSTEP portion of Rhapsody will fail so that they can do things the way they always have c) hoping that Rhapsody will fail so that they can write Be apps d) something else?? Not knowing PowerPlant, MacApp, or CodeWarrior, can someone point out how they compare to ProjectBuilder, IB, AppKit, FoundationKit, etc.? I just don't see the rush of newbie OPENSTEP programming questions that I had expected. Maybe it's just that most Mac developers don't have access to a NeXT/Intel/SPARC to do OPENSTEP development yet. BTW, has Macromedia figured out that they own the source code to Virtuoso which is basically Freehand for NEXTSTEP? A couple of months of development and then some QA and viola - they can have an OPENSTEP - Rhapsody app ready before Rhapsody is. Things are just too quiet. ..Bill Chin s0wwchin@atlas.vcu.edu (NeXTmail/MIME accepted)
From: jlimpert@pathfinder.com (john limpert) Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: help me with ppp Date: 5 Mar 1997 22:29:09 GMT Organization: Time Warner Pathfinder Message-ID: <jlimpert-0503971833060001@edit86.edit.pathfinder.com> i have nextstep 3.3 for intel and a pc w/ 28.8 modem. how do I get a ppp connection to the internet established?? any help would be appreciated. jlimpert@pathfinder.com
From: edwinl1@ix.netcom.com(MO & Associates) Newsgroups: comp.sys.next.programmer Subject: Sugestion Box/New Ideas Administrator Software Date: 6 Mar 1997 01:24:32 GMT Organization: Netcom Message-ID: <5fl6cg$knj@sjx-ixn4.ix.netcom.com> THE NEW IDEAS ADMINISTRATOR Version 2.01 The best "NEW IDEAS ADMINISTRATOR" in the market. Use e-Mail (optional). Intuitive way for employees to have access to a tool in order to make suggestions to Supervisors. Can be done using computer or filling the new idea form. Can be e-mailed (optional) to his/her supervisor, director, vice- president, etc. The supervisor evaluates the idea and sends back the evaluation, asking for more info or with the final evaluation. Awards might be implemented depending the amount saved by the company. Also has different level of access, employee, supervisor, director, administrator, etc. Your Company can save millions. It can be customized for your needs. Also Help screens available. All kind of reports. Upgrades twice a year. Also help available through Internet. It's a simple but Powerful Tool for just: $139.99 Send Check or Money Order - $139.99 to: MO & Associates 666 W 81 St. 117 Hialeah, FL 33014 (The response has been so big that we need 4 to 8 weeks to process.) Satisfaction Guaranteed Ask for more info to: edwinL1@ix.netcom.com
From: nurban@sps1.phys.vt.edu (Nathan Urban) Newsgroups: comp.sys.mac.system,comp.sys.next.programmer,comp.sys.mac.programmer.codewarrior,comp.sys.mac.oop.powerplant,comp.sys.mac.programmer Subject: Re: Mac/NeXT & Unix: You're all NUTS! Date: 5 Mar 1997 20:36:10 -0000 Organization: Virginia Polytechnic Institute and State University Message-ID: <5fklfq$bhp@sps1.phys.vt.edu> References: <5d8qta$6np@news.bu.edu> <331A0AD3.A0D@acm.org> <5feijb$257@sps1.phys.vt.edu> <331B9F17.4C30@acm.org> In article <331B9F17.4C30@acm.org>, i.joyner@acm.org wrote: > Nathan Urban wrote: > > In article <331A0AD3.A0D@acm.org>, i.joyner@acm.org wrote: > Read further down in my previous post, and you will realise that I > allow for the fact that if an application wants to handle an exception > in its own way, then there are mechanisms for it to do that. I know that, but there is also the important matter of the operating system having intelligent default handlers, so you don't have to override the OS all the time. That makes you lose the main advantage of registered handlers, which is convenience. > > I'm not sure we're clear on what the original suggestion I was objecting > > to was. I wasn't objecting to having the OS handle management of > > resources. I was objecting to the OS trying to handle error conditions > > that the application should really handle itself, and especially the > > idea of operating systems _requiring_ user intervention in order to > > handle errors. > This does not contradict what I said. Clearly the application should > handle application exceptions. There will then be a class of error > that the OS handles, without operator or engineer interaction. But there > is that class that _requires_ operator handling. I think we have seen > enough examples of those: they occur on any system! However, if you > read my comments on concurrency carefully, you will realise that > many conditions can arise where a process becomes blocked on waiting > for some resource, like a file, to be made available. In the concurrent > world, this should not be handed back to the process as an exception, > but handled by the OS scheduler. This is where I think we disagree. From a concurrency point of view, this may be more desirable, but I think that it is the process's responsibility to handle something like a resource-not-available error, up to and including asking for human intervention by whatever means _it_ deems appropriate. > Example: > This is an example where things are operationally easier, because the > system is more forgiving. Most systems require an operator to do > 'step 1, wait to complete, step 2, wait to complete....' But in a > system where processes will automatically wait for resources, the > operator can run things in any order. If they forget the steps, > the system will prompt them for missing resources. Hence the system > becomes self documenting, and you do not rely on some written process > that some process officer/quality wally insists should be typed > up and three hole punched and put in a binder ;-). I agree that this would be a good example of where your proposal would be beneficial. However, in this example, I think that most of the tasks would be of the nature where the process would block waiting for human interaction anyway, so it wouldn't matter whether or not the OS handled it or the application. There are many other cases, such as batch-processing type operations, where it would be more appropriate to just move on. I think the question here is what the default action should be. You could have two possibilities: (1) The OS blocks the processes automatically for resources, and prompts for the resource. Other processes that don't want this behavior can override the handler. (2) The OS hands the process a resource-not-available exception by default, and nothing else. The process registers a default exception handler, and can choose among stock handlers such as "prompt for resource" or "null handler" (just move on). I like (2) better.. you seem to be advocating (1). > The point is that exception handling is different in concurrent > situations. > If a process becomes blocked on a condition, then it might need human > intervention in order to realise the condition can never be fulfilled, > and in that case to cause an exception (maybe by termination) to really > be handed back to the process. It is better for system resilience for > an OS to request permission to do this, rather than just go ahead and > do it, as the OS should not "assume" what to do in these abnormal > situations. Is this different from what Unix does? Unix doesn't typically go and kill processes anytime something goes wrong, only when things are screwed up so badly that it deems the error unrecoverable. Even then, processes usually get a SIGHUP that allows them to recover gracefully if trapped (they can even refuse to die if they find they don't have to). > > And especially, a fixed kind of user intervention, such > > as a system-standard dialog box. > No, you are designing implementations here that I never suggested, > except maybe as an example of one of many ways. You _did_ suggest that, and that's why I fixated on your suggestion as a Really Bad Idea. I didn't like some of your other suggestions of default behaviors either, though I can't quite remember what they were now. The capability of providing default error handlers is a good one, my main problem is that the defaults used when a process does not register its own handler need to be carefully chosen to do as little as possible, and in particular should almost never require human intervention. > It might be a dialog box, but this would not be very convenient for > large systems. In large systems this is more likely a list of > processes currently blocked, what the condition is, and if and how > the operator can help out. Remember this is for coarse grained > resources. Okay. I like that much better. Perhaps you could have an ErrorDetector panel, that sets some flag (under Rhapsody, maybe a little marker on the Workspace icon) that notifies you of processes it was forced to block. Then you can pull up that panel, displaying the information you described. However, again, I think the OS should tend to avoid blocking processes, though perhaps it would be good to give processes the ability to ask the OS to block them under specified classes of exceptional conditions. > > I agree that programmers should have a stock of basic error-handling > > machines from which to draw, I don't like coding exception handlers any > > more than you do, but I think that applications programmers should have > > the choice of handling errors in any way they desire, including ignoring > > them. This does not preclude the possibility of having a library of > > error handlers. > Good, we agree here. And I actually think we are having a de Bono > exchange rather than a Socratic one, as we have arrived at the same point! My objections were really always toward the implementation rather than the concept, though that may not have been clear at first. > Now the way this > is done on the machines I am talking about is that the application > enables exceptions with an ON statement, for example: > ON DIVIDEBYZERO > ON ANYFAULT -- gets anything > etc, and attaches the exception to an interrupt handler, which is also > in the application. So what you are really advocating is just a unified way for applications to register handlers for standard OS-generated exceptions, in the form of an exception-handling API right at the system-call level, correct? > > Throwing up an interactive dialog box every time a file cannot be found > > can be _wildly_ inappropriate for many applications. > In fact that is not the way that it happens. Again, you have used as an > example a dialog box. That interface as I have said is most probably > not appropriate. Rather, the process is put in the waiting entries. Okay. See my previous comment on this issue. > You should also remove emotive adverbs from > your posts. I would rephrase that as "can be inappropriate for a certain > class of applications," which I agree with. Well, I'll stick with my original assertion, as that particular example _would_ be wildly inappropriate for many applications. I'm glad you're not advocating it as the default action for a resource-not-available exception, as I had thought. > > Rather than forcing programmers to override the OS's > > exception hanlding constantly (which is the whole reason you purport to > > like this scheme, as it's supposed to keep the programmer from constantly > > worrying about exceptional conditions), the OS should take the minimum > > action necessary to prevent fatal errors, and allow the application to > > layer on additional error handling if desired. > "Fatal errors" are by definition those that will terminate a process. > The OS is contracted to provide a consistent environment for > applications to run in. Thus the OS should do its utmost to shield > applications from environmental failures, not its "minimum". I think you misunderstood what I was saying. I wasn't saying that the OS should barely try to prevent fatal errors. I was saying that the OS should do whatever is necessary to prevent _fatal_ errors, but little more. I believe that nonfatal errors should be handed to the application to deal with itself, though it should certainly have the capability of registering a handler for such an error, so it doesn't have to constantly check for an error condition. > If the applications programmer 'expects' to see certain > exceptions, they will have told the OS to ignore them, and pass them > back to the application. Okay, I see your perspective here. I just want to say that the OS has to be very careful in handling errors that the application didn't expect and ask the OS to ignore, so that it does not try to take an action that may be inappropriate to that application. > For myself, I am a systems programmer, and it is my job to provide > this kind of systematic support for the applications that will run on > top of my software. In that case if I am to write good "middleware", > then I should handle exceptions that have to do with the resources that > I manage. It is sloppy design to hand these back to my caller. Well, I don't know about that. Going back to the file-not-found example.. sure, the OS manages file resources. But that doesn't necessarily mean that it should attempt to handle exceptions that have to do with file resources. The ways in which different callers will choose to deal with such an exception vary quite a bit, so in this case the best action may truly be to hand the exception back to the caller, as the OS simply does not have the knowledge to provide a really general solution. > > I'm not against handling exceptions on a global, OS-wide level. I just > > think that the OS should attempt to handle exceptions by default in a > > minimal way that is appropriate for all processes > I think your use of the term minimal is an inappropriate heuristic, > as it is too vague: > The OS should do what the OS should do, and the application what the > application should do. Then you can have design-by-contract over > OS interfaces. I don't think that's really any less vague, as people disagree over which things the OS and the application should do. > > And especially, an OS should never require user > > intervention, except in cases where it _only_ makes sense for a user to > > make a decision. > Correct, and that can be quite a large number of exceptions. > That is what I am saying, give the user/operator conditions to > handle where it makes sense. For example "Disk full" I do not want > the OS to start deleting files, nor an application. I want the choice. > However, if you don't want a stop, you might have an automatic handler, > which the OS starts up to remove known temporary files, or perhaps start > an archive to tape. In this case the OS handles the exception. Some OSs > provide automatic system assistents in the form of scripts: > ON DISKFULL RUN TEMP_FILE_DELETER; > If there is no such handling of the disk full condition, ask the > operator, don't hand it back as an exception to the program. That is the very > opposite of robust. It depends on the class of exception, of course. "Disk full" is an exceptional condition which affects _all_ applications, so is most appropriately handled by the OS. Most applications wouldn't even have the access privileges necessary to do anything intelligent in a case like that, except for maybe something like backing up their data over a network in the expectation of imminent system failure. However, "File not found" generally only applies to the applications which request the use of that file, and so is best handled by the application. > > The only example I can think of is an error that is > > known to be in response to a user-invoked action (as opposed to a > > programmatically invoked one), where the error affects the operation of > > the entire system. > OK, but I have shown that in order to automate actions, you need to do > some programming. Let's hope that everything that is done on a > computer is in response to some user-invoked action. A typical > example is that a batch program is invoked by an operator/user. > If the program finds a file missing, then it might be because the > operator has forgotten this step in the process, and will be > prompted (not necessarily via a dialog box!) to make the file > present. This is definately in response to a user-invoked action. Well, yes. Though a GUI application and a batch program are both user-invoked when you get down to it, their modes of interaction with a user are totally different. Thus, I think the correct action to take in many cases would be to simply notify the process of the exception, so that it may request user assistance (if necessary) through means commensurate with its mode of operation. > > For example, if the user initiated a reboot from > > the console, and something went wrong, _then_ it would be appropriate to > > send a dialog to the console requesting intervention. But in precious > > few other cases is requiring human intervention a universally > > appropriate action. > And since you say "universally appropriate action," I don't disagree. > But that is never what I said. What I have been saying is give the > user/operator the chance to intervene "when appropriate." > This is particularly important in concurrent, mission critical systems > that must provide 24x365 operations. In concurrent, mission-critical systems your suggestion has greater weight. It is more important that all errors are handled in some way, even possibly inappropriate ways, and that certains classes of errors are always immediately brought to the attention of an operator. However, I think that greater flexibility for PC- and workstation-class usage. Servers also operate under conditions where operators are often not available at all times, and must be capable of a high degree of autonomy. That is where is may be best to have applications deal with errors, as they have the greatest capability to make intelligent decisions about error-handling without the need for human intervention. Of course, the user/operator _should_ be given the chance to intervene "when appropriate", as you say; I'm just questioning whether the OS should decide "when appropriate". -- -------------------------------------------------------------------------- Nathan Urban | Undergrad {CS,Physics,Math} | Virginia Tech nurban@vt.edu | {NeXT,MIME} mail welcome | http://nurban.campus.vt.edu/ --------------------------------------------------------------------------
Date: 5 Mar 1997 18:27:03 EST Newsgroups: comp.sys.next.programmer Message-ID: <cancel.5fi83l$13n@bolivia.earthlink.net> Control: cancel <5fi83l$13n@bolivia.earthlink.net> From: clewis@ferret.ocunix.on.ca Sender: nudestars@wstarztv.net Subject: cmsg cancel <5fi83l$13n@bolivia.earthlink.net> EMP/ECP (aka SPAM) cancelled by clewis@ferret.ocunix.on.ca. See news.admin.net-abuse.announce, report 19970305.38 for further details
From: dehoog@experts.com (John De Hoog) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: Thu, 06 Mar 1997 03:56:53 GMT Organization: Experts, Inc. Message-ID: <33243d21.67559194@library.airnews.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <331b6a1a.54969011@library.airnews.net> <5fhniq$gu4$1@hpax.cup.hp.com> <331cbed6.3007201@library.airnews.net> <5fiuh4$dn$1@hpax.cup.hp.com> <331d5534.8186601@library.airnews.net> <5fka1k$8b9$5@darla.visi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit David Young <dwy@ace.net> said: John De Hoo wrote: >: BBSs have nothing to do with it. Many of us just find it easier to >: deal with news on our own drive, so we can easily go back through >: threads, watch threads, ignore threads and so on. Anyway, accept the >: fact that it is a legitimate application area that needs to be well >: supported on any platform that expects to have a broad, worldwide >: following. > >I think you're totally overlooking INN. You can run an entire newsfeed >to your home machine on NEXTSTEP, which means that the spool is saved >locally to your hard drive. Imagine this scenario: > >You only read news once daily, so you set up INN to open a feed connection >to your provider nightly at 3AM, when phone bills are low. pppd picks up >on the network request and automatically dials up your ISP, and after >the transfer is finished, hangs up after a few minutes idle time. >The next morning you read news over breakfast from the local spool. >Because you're so cool, you've set up an autodecoder for alt.binaries.fonts, >which passes the AFM fonts on to a conversion utility by way of a shell >script, and copies them to /LocalLibrary/Fonts. > >If this isn't solution enough for you, I don't know what would be. Many of us who use offline readers, you will notice, respond to posts frequently throughout the day. We don't simply dump an entire news feed into a hard drive and use that. Here's my own scenario: I have a bunch of groups that I "subscribe" to. Whenever I feel like taking a break from translating, I do a "Get new headers in subscribed groups" with Forte Agent. Agent dials up my provider in Japan, logs on to a news server in the U.S. and updates the headers. At the same time, it marks articles using its filters. If a thread is marked "Watch," all its bodies are downloaded. (Other filters decide which threads to ignore, which authors to skip, which authors or key words to mark for downloading later, and which ones to download immediately.) After it downloads everything it is supposed to, it disconnects. I can then proceed through the downloaded articles in various ways. If I just want to see the downloaded bodies, I press the space bar or "B". If I want to see the new headers as well, I press "N" progressively. If I see a topic that interests me, I mark the header and download it next time. So this is a process that can be repeated any number of times during the day. I don't have to download a lot of bodies I'm not interested in, and I can keep up with the latest additions to threads just as you do. The main advantage of this over online reading is that it minimizes online time (and thus expensive phone bills), but it still gives me the same flexibility as someone reading on line. How is your INN setup for the above scenario? ------ John De Hoog, Tokyo
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 6 Mar 1997 05:02:45 GMT Organization: ace dot net internet technologies Message-ID: <5flj5l$mhv$1@darla.visi.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <331b6a1a.54969011@library.airnews.net> <5fhniq$gu4$1@hpax.cup.hp.com> <331cbed6.3007201@library.airnews.net> <5fiuh4$dn$1@hpax.cup.hp.com> <331d5534.8186601@library.airnews.net> <5fka1k$8b9$5@darla.visi.com> <33243d21.67559194@library.airnews.net> In comp.sys.next.programmer John De Hoog <dehoog@experts.com> wrote: : Many of us who use offline readers, you will notice, respond to posts : frequently throughout the day. We don't simply dump an entire news : feed into a hard drive and use that. Here's my own scenario: I haven't noticed. However, you could have INN update much more frequently if you liked, or on command. What you basically are doing is dumping an entire feed to a hard drive; you're picking certain groups (a feed doesn't have to be large) and spooling them for download. : I have a bunch of groups that I "subscribe" to. Whenever I feel like : taking a break from translating, I do a "Get new headers in subscribed : groups" with Forte Agent. Okay, so you have your active file set to the groups you pay attention to. You invoke your update command manually. Same thing. : Agent dials up my provider in Japan, logs on to a news server in the : U.S. and updates the headers. At the same time, it marks articles : using its filters. If a thread is marked "Watch," all its bodies are : downloaded. (Other filters decide which threads to ignore, which : authors to skip, which authors or key words to mark for downloading : later, and which ones to download immediately.) After it downloads : everything it is supposed to, it disconnects. INN doesn't pick thread by thread, as far as I know. You could probably modify the script to do this. Outside of binaries groups, though, it's not entirely a huge deal. Articles compress very well. [relatively simple client side features deleted] : So this is a process that can be repeated any number of times during : the day. I don't have to download a lot of bodies I'm not interested : in, and I can keep up with the latest additions to threads just as you : do. Well, your Agent is doing a lot of the picking for you. On high traffic groups, this is probably okay, but I don't really trust overcomplicated AI outside of "ignore all messages from Lawson English". : The main advantage of this over online reading is that it minimizes : online time (and thus expensive phone bills), but it still gives me : the same flexibility as someone reading on line. *shrug* Works for you, I guess. I put a higher value on interactivity. : How is your INN setup for the above scenario? It's not my setup, like I've said before; I read news from home by slogin'ing to my workstation at the office and running tin. It's a possible setup with the freely available tools for UNIX. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: scrmac@uslink.net (Andy Griffin) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: Wed, 5 Mar 1997 21:14:34 -0600 Organization: TDS Telecom - Madison, WI Message-ID: <19970305211434201081@brainerd-dial-27.uslink.net> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> <331dc772.73186408@news.inlink.com> <sschaper@inlink.com> wrote: > On 4 Mar 97 17:13:50 -0600, "Jay Riley" <datamagik@usa.net> > wrote: > > >> > >>------------------------ > >>To receive the Rhapsody Developer Release you need to join the Apple > >>Developer Program <devsupport@apple.com> and make sure all the forms you > >>need to receive prototype software are complete, in order to receive > >>developer releases. The Apple Developer mailings only have released > >>software in them, not developer releases or other prototype software. > > That sounds fairly expensive to do. You'd think Apple would want > as many beta testers and early adopters as possible. This is > dissappointing, to say the least. It seems to me that the Apple Developer's Associates Program costs US$250/year. I don't know what your resource situation is like but is sounds reasonable to me. -- Andy Griffin scrmac@uslink.net Lead Programmer Any opinions expressed are not necessarily my own. Rabid Rhino Software Proud owner of a crappy web page
From: "Eric A. Dubiel" <eadubie@rs6000.cmp.ilstu.edu> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: Wed, 05 Mar 1997 23:28:28 -0600 Organization: Instructional Technology Services & Smith NET-Illinois State University Message-ID: <331E55D6.71AB@rs6000.cmp.ilstu.edu> References: <01bc284c$b8a07400$882168cf@test1> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit L. Todd Heberlein wrote: > > FYI, I got the following information back from Apple regarding getting > access to the Rhapsody Developers Release: ... You've got to wish they'd provide this developer/alpha/beta versions for FREE to Educational users!!!! But that'd make too much sense. -- Eric A. Dubiel; http://www.ilstu.edu/~eadubie mailto:eadubie@rs6000.cmp.ilstu.edu ytalk eadubie@138.87.201.11 MIME, SUN, NeXT, PGP Mail ok R&D---Instructional Technology Services----Illinois State University "NEXTSTEP is probably the most respected software on the planet" - Byte Magazine ALL VIEWS EXPRESSED REPRESENT MYSELF ONLY
From: jjens@primenet.com (John Jensen) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: 5 Mar 1997 18:26:03 -0700 Organization: Primenet Services for the Internet Message-ID: <5fl6fc$8mu@nnrp1.news.primenet.com> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> <331dc772.73186408@news.inlink.com> sschaper@inlink.com wrote: >On 4 Mar 97 17:13:50 -0600, "Jay Riley" <datamagik@usa.net> >wrote: >>> >>>------------------------ >>>To receive the Rhapsody Developer Release you need to join the Apple >>>Developer Program <devsupport@apple.com> and make sure all the forms you >>>need to receive prototype software are complete, in order to receive >>>developer releases. The Apple Developer mailings only have released >>>software in them, not developer releases or other prototype software. >That sounds fairly expensive to do. You'd think Apple would want >as many beta testers and early adopters as possible. This is >dissappointing, to say the least. Why not an 800 number and twenty bucks to cover media cost? Is there any way that could hurt Apple? We're only talking the beta version after all, and just about everyone would buy in on the final release. John BTW, if you'd like a free copy of the SCO Unix development system (for non-commercial use) just web over to www.sco.com and they'll send it out. (They charge $19 dollars to cover media cost.)
From: goldwass@lifesci.lscf.ucsb.edu (Lloyd Goldwasser) Newsgroups: comp.sys.next.programmer Subject: Re: Clipping path around a rotated image from an eps file Date: 3 Mar 1997 19:46:59 GMT Organization: University of California, Santa Barbara Message-ID: <5ff9rj$ms2@ucsbuxb.ucsb.edu> References: <5f2kp1$a04@ucsbuxb.ucsb.edu> <5fa6jc$dci@bignews.shef.ac.uk> mmalcolm crawford <m.crawford@shef.ac.uk> wrote: > On 02/27/97, Lloyd Goldwasser wrote: > > I'm trying to look at a rotated image from an eps file, and I'm > > encountering some clipping path behavior that's puzzling (and > > undesirable). > > > > The following > > > > id epsImageRep=[topImage bestRepresentation]; > > > > [self rotate:topAngleInDegrees]; > > [epsImageRep draw]; > > [self rotate:-topAngleInDegrees]; > > > > draws the image with the specified rotation, but, for some reason, > > the clipping path doesn't seem to be aware of the rotation of this > > image. The upper wedge of the rotated image lops out of its view > > onto the rest of its window, which isn't, um, attractive behavior. > > > I'm afraid I don't quite understand your problem, so I may be way off here; > > is there any reason that the View should know in advance that its > coordinate > system will be changed so that it should allow "extra space"... > > Have any of the View's superclasses been sent a setClipping:NO message? > Thanks for your reply; sorry for not being clearer. Maybe this will help... I'm rotating an eps image relative to horizontal, say, about 10 degrees; the above lines do the rotation OK. However, the rotated image doesn't respect the clipping path of the view, but goes out onto the rest of its window. I get something like this: ____--\ the top of the ____---- \ eps image ---> ____---- \ -------------------------------- | | the view ---> | | | | | | --------------------------------. Yet the image shouldn't go out of its view at all! I do resize the view according to the angle of rotation, so the view is large enough to hold the image. The view itself is within a ScrollView, since the whole shebang may be too large for the screen. The ScrollView handles the resizing of the view without any problems, adjusting the scrollers and so forth. Interestingly, the rotated image _does_ know something about the scrollview's edge, since the _left_ side of the image always respects the left side of the top of the view, even when part of it is scrolled out of view. It's only the right side of the image that flops out. I've tried specifying a different clipping path during this drawing, for instance, rotating it in the opposite direction to compensate. What I've found is that changing the right side of the path doesn't have _any_ effect, while changing the left side does affect the amount that gets displayed. Lowering the top of the clipping path on the left shaves off a bit of the top the image all the way across. In other words, only a subset of the image may be drawn, but that subset is _always_ a (rotated) rectangle. By changing the left side of the clipping path, I can change the height of that rectangle, but I can't stop it from flopping out of the view unless I make the rectangle so short that it leaves blank spaces within the view. I haven't send any setClipping:NO messages; is there any reason to think that something would be doing so behind my back? I've tried inserting setClipping:YES both when this object is initialized and right before this bit of drawing, but neither had any effect. Similarly for such messages sent to the superviews. Any insights...? Thanks, Lloyd Goldwasser goldwass@lifesci.lscf.ucsb.edu
From: apuleius@ix.netcom.com (William Grosso) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: Thu, 06 Mar 1997 07:41:54 GMT Organization: Netcom Message-ID: <331e71c0.23090973@nntp.ix.netcom.com> References: <01bc284c$b8a07400$882168cf@test1> <331E55D6.71AB@rs6000.cmp.ilstu.edu> On Wed, 05 Mar 1997 23:28:28 -0600, "Eric A. Dubiel" <eadubie@rs6000.cmp.ilstu.edu> wrote: > >You've got to wish they'd provide this developer/alpha/beta versions for >FREE to Educational users!!!! But that'd make too much sense. > Why ? Please. I'd like somebody to explain why Apple should give free development tools to students IN PREFERENCE to other groups of people. Myself, I think they should buy the list of recent attendees from Rational's courses (or Lockheed's ACC courses or call up Software Development '97 and get the names of people who will be attending the advanced developers track or...) and send *those* people free copies. Experienced developers who are designing software and have budgets to spend on training and development tools are the people they should be targeting. Not the kiddies who, if they get lucky, will someday be entry-level coders. Cheers, Andy
From: ldubois@syndetics.be (Luc Dubois) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: Thu, 6 Mar 1997 13:01:59 +0100 Organization: Syndetics Research Message-ID: <199703061301591275778@pool011-119.innet.be> References: <msg37701.thr-34dc7b90.54c5638@flannet.middlebury.edu> <5evgk9$7m4@news.next.com> <qdiv3f2b7i.fsf@blues.cygnus.com> <1997022812133841029741@pool011-107.innet.be> <3319E057.181F@hknet.com> <5fd6qg$kme@news.next.com> Mark Bessey <MaRK_BeSSeY@NeXT.CoM> wrote: > Diana McPartlin <dlm@hknet.com> writes > > So OPENSTEP is a framework that looks like an OS, but which is actually > > an implementation of OpenStep API on top of other OSs (even though Mach > > isn't exactly an OS but let's just say it is to avoid getting even more > > complicated). > > Not exactly. OPENSTEP is either: "The complete Mach/BSD operating system, > and the OpenStep API libraries and runtime environment" or "A set of > OpenStep libraries and runtime environment for Windows", depending on > which product you're referring to. You get a lot more software with > OPENSTEP for Mach than with OPENSTEP for Windows. Mark, I'm glad someone from Apple/NeXT jumped in. "OPENSTEP is either". This is a real problem and is exactly what I was saying and which i.m.h.o. is confusing. OPENSTEP for Mach *is* the OS, while OPENSTEP for Windows NT is a framework (delivered in the form of libaries and a set of APIs) on top of an "host" OS (or should that be a "client" OS ;-)). > I hope this helped a little bit. I don't think you'd want it explained in > the words I'd use for a Fortune editor, though :-) Those guys are really > starting to irritate the hell out of me lately... As I said before, exactly for the benefit of simple folks like current Macintosh users/developers ;-), but especially Fortune Magazine editors, Wall Street Journal reporters, and someone-help-us-over-the-bridge financial "analists" etc., the distinction between these two need to be phrased in a simple unambiguous way asap. Hopefully Apple will deal with this. I think it's important. Luc P.S. I think the whole concept of the OPENSTEPLIB (I call it that in wait for a better name) is a stroke of genius, one that few people seem to grasp the potential of. We wouldn't even need a OpenStep/Intel. If Apple can continue this (keeping the lib and api in sync with the real OPENSTEP OS) and maybe (hopefully) porting it to every other OS in the world, Apple developers gain an enormous competitive advantage. I am really excited about this! We could deploy all our software on all platforms, just by using the new Apple development environment. If that doesn't leverage more sales of Apple computers as the preferred development solution, I don't know what will. I don't even dare to imagine how this could evolve over time, when most computers out there will be equipped with this OPENSTEPLIB...! Can you? Now, if only Apple would turn this ugly ULTRA-FAT-Binary technology into "Slim-Binaries" by utilising Semantic Dictionary Encoding, they could at the same time and in one fell swoop pull control over the internet from under Microsoft as well (OK, Microsoft doesn't yet control the Internet, but they have every intention of trying to get it). What an exciting year we have ahead of us! Luc -- Syndetics Research | Authors of Synema(tm) Director (c) 1992-1996. Herderstraat 1 | Thesaurus construction software for the 3740 Bilzen - Belgium | Information Retrieval industry.
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sun, 02 Mar 1997 20:26:38 GMT Organization: InterServ News Service Message-ID: <5fcngp$7dd@lal.interserv.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> In <<33190835.19824536@nntp.ix.netcom.com>>, apuleius@ix.netcom.com (William Grosso) wrote: >On Fri, 28 Feb 1997 03:55:20 GMT, JamesCurran@CIS.CompuServe.com >(James M. Curran) wrote: >> >> It's also interesting that you choose a sort algorithm in your example >>of where Obj-C is an improvement of C++ >> >Interesting example of cluelessness. The use of sorting was >*incidental* to the main point. I was aware it was incidental to the mainpoint, which is why I dealt with it in a separate message than the one where I discussed that other matters a the main point. However, you will recall that I asked for a "real-world" example of where ObjC is better than C++, and that was his immediate reply. Hence, it can be assumed that he is using ObjC to do the sort in eral code, which makes my comments relevant. >>[discussion of speed differences omitted] >Let's make this clear. C++ can make method invocations >faster. Compile-time binding buys you that one and NOBODY >denies it (or, at the very least, nobody competent denies it). >So, in any serious discussion of language benefits, we can >acknowledge that one and move on. >Because, really, it's irrelevant. Because it's *local* optimization. >And bad performance, in almost every piece of code I've ever seen, >has been an *achitectural* issue. True enough for the most part, ANd it would be completely true, *if* there were just a few instances of localized bad optimization. But with ObjC these ineffeciency are pandemic. It becomes an architectural issue. >And it's at the architectural level that Objective-C is almost >obscenely beautiful. It's a language that supports programmers >over an application lifecycle. But, only if you are willing to put up with widespread ineffeciency. I doubt most programming will. I suspect that for the major of ObjC code, classes are used for only the most heavyweight object -- just the places where it's advantages outweigh it's shortcoming -- and fall back on straight C for the rest. This would be an architectural problem. I can't see ObjC programmers writing "light-weight" objects in the manner C++ programmers do: For example, a C++ program will often have one or more class with NO memeber data, and all its methods inline -- technically, it doesn't exist -- but it does model a concept, and is useful. >In a recent paper (_Acyclic Visitor_), Robert Martin (editor of >C++ Report), said the following: > "When recompiles take too much time, developers begin to > take shortcuts. They may hack a change in the 'wrong' place, > rather than engineer a change in the right place; simply > because the 'right' place will force a huge recompilation." >[NB: he's arguing that dynamic_cast<>, a dynamic extension to C++, >is a good thing]. >I would take his argument a step further. We need to to make >refactoring, restructuring, and extending classes as painless as >possible. Otherwise, over the course of an application's lifetime, >large-scale crap is going to happen and --guess what-- all the local >optimizations in the world won't prevent the program from flat out >sucking. No we don't need to make "refactoring, restructuring, and extending classes as painless as possible" for exactly the reason you state. If you can change the properties of a class willy-nilly, you destroy type safety, and lead to programmers making the quick hack in the wrong place which is what you are tryng to prevent. If anyone can change a class, then suddenly it's internal implementation must be frozen. Otherwise, changing the original could break any of the local extenstions. With C++, changes to the class must be made in one place, so that all users of the class are using the exact same class, and any change to the internal implementation will be able to include ALL the methods of the class. Then we have the ObjC method of defining things as "id" and then casting them to what they really are. This is exactly the type of "quick hack" that leads to architectural failure. So, basically, you have the right goal; you're just on the completely wrong path toward it. >And, to quote RM again (he's not an idol of mine, but quoting the >editor of C++ Report seems tactically sound) > "Our goal is to build software that is easy to maintain. That > is easily changeable. That does not cause lots of rework when > simple changes are made." >Rephrased: "Our goal is to support the programmer." >Does C++ support the programmer at all ? Of course not. It wasn't >a goal of Stroustrup's (cf: _The Design and Evolution of C++_, section >1.1 and chapter 2) and it hasn't been a major concern of the ANSI >committee. Funny you should mention D&E, since I was just about to recommend it to you. I assume you got passed the second chapter. If so, you'll recall such statements as "Maintainability.. of systems written in C++ is most important than keeping the language definition short" (section 4.2) and "Had design decision systematically favored simplicity and elegance over compatibility, C++ would today have been much smaller & cleaner. It would also have been an unimportant cult language." ("Unimportant cult language" pretty much describes ObjC, doesn't it? And, I suspect, three years from now, it will also describe Java(tm)) >Objective-C, while far from perfect, makes for much more habitable >code. Then how do you explain my previous example (full version earlier in this thread): C++: for (int i=0; i<bs; i++) B.val(i) = Complex(A.val(i) + A.val(i+1), 0); ObjC: for (int i =0; i < bs; i++) [B set:i :(double)((int)[A val:i] + (int)[A val:(i+1)])]; That's more "habitable"? Truth, James
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: Sun, 02 Mar 1997 20:27:03 GMT Organization: InterServ News Service Message-ID: <5fcnhe$7dd@lal.interserv.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> In <<5fa9bm$pv6@newsb.netnews.att.com>>, gupta@tlctest.mt.att.com. (Arun Gupta) wrote: >>> Apple Of His Eye >>> By Eric Nee >>> March 01, 1997 >>> >>> http://www.upside.com/texis/columns/qa >Remember JdH gleefully (mis) quoting an article to claim that >Gil Amelio said that the MacOS is a mess. Well, here is >another quote : >Amelio : >I do not think, as good as Windows 95 is, that it's as good as System >7. There's only one real measure, and that is productivity. What >you want out of an operating system is for it to be transparent. >To the extent that the computer is not invisible, that you have to >tend to its care and feeding, the management of it and so forth, >that's a distraction from what you're trying to create. We come closer >to the ideal model of making the computer more transparent than the >other guy. Will we always have that advantage? I don't know. They've >come a long way in the last decade. I don't think they're there yet. >We have to challenge ourselves to try to keep putting some distance >between us and them. >End quote At this point it should be noted that MS has studies which show that people who haven't used either system before, become productive faster on Win95 than on a Mac. Apple, on the other hand, has studies that show that people who have used a Mac for years, are more productive on a Mac than they are on Win95 upon first seeing it. Truth, James
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sun, 02 Mar 1997 20:26:31 GMT Organization: InterServ News Service Message-ID: <5fcngf$7dd@lal.interserv.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <markeaton_-0103971953190001@ip73.santa-clara7.ca.pub-ip.psi.net> In <<markeaton_-0103971953190001@ip73.santa-clara7.ca.pub-ip.psi.net>>, markeaton_@_mindspring_._com (Mark Eaton) wrote: >You went off on a tangent to the original issue. ObjC is dynamic, C++ is >static. The algorithm is irrelavent. If you have a on object in ObjC that >doesn't implement a necessary method, you can easily add one with a >Category - even without source code. In C++ you are SOL. There is no technical reason adding new methods to existing code couldn't be done in C++ -- except that the designers of C++ realized that this is a violation of type safety, and specifically disallowed it. What is the point of declaring a data member or method of a class "private" (or "@private" in Obj-C), if any function can declare itself part of the class and gain access to it? It is particularly important to restrict yourself to the public interface of a class when that class is defined in a third-party framework (as is the case in the example we were discussing), because it's quite possible that the private interface would change upon the next release (in which case, you'll be the one SOL) >> >> Array<Thingee> MyArray; >> >> sort(MyArray.start(), MyArray.end()); >> >> "sort" is part of (soon-to-be) Standard C++ library, and is provided >> as a template. Which means that from just the lines I gave above, the >> compile will build an sort function customized to the needs of MyArray >It will not be customized. It will create a copy of the sort function >which uses appropriately typed interfaces. No other optimization occurs. Yes, they do, particularly when inline functions are used. (In C++, most member access & comparison functions are defined as inline). For example, given the following silly code: #include <stdio.h> class A { int x; public: A(int y) { x = y;} int Minus5() {return (x - 5);} }; template <class T> void DoIt(T x) { if ((x.Minus5() - 10) == 0) printf("It was 15\n"); else printf("It was not 15\n"); } void main() { A a1(15); A a2(20); DoIt(a1); DoIt(a2); } the code generated would be EXACTLY as if I had written it as: void main() { printf("It was 15\n"); printf("It was not 15\n"); } with ALL other processing optimized away, for a total of 27 bytes of code. (Yyes, I just wrote and compiled that using Microsoft's Visual C++, and if you'd like, I'll email the assembler output of it) >> (which I've defined here as an array of Thingee's). The cool thing >> here is that if Thingee has on inline operator< (comparison function), >> and operator= (copy function) (most object have the first, many the >> second), the generated sort function is remarkable effeicent since >and if it doesn't? And you don't have the source code? Or if you aren't >sure it implements operator= and you just call it anyway (the compiler >will automatically generate a bitwise copy, hope your class didn't contain >any pointers!) If the class doesn't have an oper= and oper<, you can't use the standard library sort() function, so you have to write you own--which is what you'd have to do in ObjC anyway. (And, BTW, how are you planning to do that -- if you don't have the source code???) As for the rest of your worries...(no oper= when the class uses a pointer). If the class does use a pointer, the class designer should have included a oper= (and a virtual destructor) -- this is Programming 101 stuff. If he didn't, he's an idiot, and you shouldn't be using his class -- there are probably many more bugs in it. OTOH, if he did design it properly, but for some reason, just doesn't want objects copied, he should have declared the oper= private, which would prevent you from using it (and prevent the compiler from creating a bitwise copy function), so again, no problem. >> it's build as if those functions were coded right there. It has been >> show to be up to 50% faster than C qsort() function, (which must make >> a call through a function pointer for comparisons, and use memcpy() >> for copies). Since Obj-C's function calls are even more costly, the >> difference here between C++ and Obj-C could probably be a full order >> of magnitute. >Code that truly is speed sensitive should not be written in either. If you >are willing to pay an abstraction penalty, ObjC (or more specifically a >dynamic runtime) is better. Wait -- you're saying that if I want it fast, I should code the sort routine for a array of C++/ObjC objects, for which I do not have the source code --- in ASSEMBLER???? That's crazy. Besides taking months (instead of the 30 seconds it would take to write the one line in C++), it would certainly fail the next time the framework was updated. And beside, there's no reason to. In C++, the generated sort routine would be as fast as the assembler. >Not to mention the fact that since templates and template functions >generate an entire copy of the class or function each time you use it, >code bloat goes way up. So in a real life application liberal use of >templates will probably backfire due to cache overflow and excessive VM >paging. This is not quite accurate. The template generated code is included once per executable, not once per use (ie, if you sort an array in five different spots in your program, only one copy of the sort function is produced). It would generate separate functions if you used it on different object. But in your example, you would have to write separate functions for each class anyway, so what's the difference? (Other than C++ passing the work on to the compiler instead of the programmer) >I'm agnostic on the language issue, but templates are an evil abomination. Templates allow you to do truly amzing things in programs, giving you all the design speed & ease of the latest RAD development system, without the code bloat and interpetive layers they add. I suggest that you attend an advanced level course (or at least a seminar) on the use of C++ templates. You'll realize that they are the future of programming..... Truth, James
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sun, 02 Mar 1997 21:58:02 GMT Organization: InterServ News Service Message-ID: <5fcss2$93i@lal.interserv.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> In <<5fbln2$31e$3@news.xmission.com>>, don@globalobjects.com (Don Yacktman) wrote: >This would only be true if the Objective-C programmer were an idiot. >You use the runtime to attach the custom sort method to the object >and then you write your sorting algorithm in a way which bypasses >the runtime (trivial to do--search Dejanews for examples). The only >time you have to take a runtime hit is the initial call to the sort >function, which is probably only called once. Let the runtime do >the flexible binding and then optimize your internal code, and you >can actually do quite well. At least as good as qsort, anyway... >and maybe better if you're clever. I'm not exactly sure what you are refering to here, but I think we are talking about two different things. So, let me give an example of what I'm talking about, and let's see if we're on the same page: At the core of any sort function, there's a line which looks like this: (psuedo-code) if x < y then swap x & y in C++, this could be written as (T is the data type of x & y) if (x < y) { T t = x; x = y; y = t; } This assumes that Class T has operator< and operatror= defined. inwhich case it would be the same as: if (operator<(x,y) { T t(x); // ctor call operator=(x,y); operator=(y,t); } I believe the equilvant ObjC code (in it's simple, obvious form) would be something along the lines of: if ( [x lessthan: y] ) { T t; [t init:x]; [x copyfrom:y] [y copyfrom:t] } (I've just started learning ObjC, so feel free to correct that) Now, I believe you are saying that, one can optimize that by looking up and storing the addresses of the methods lessthan, init, & copyfrom, and calling them through, essentially, function pointers. This will naturally be faster than looking them up each time, as would be the normal case with ObjC, but still (slightly) slower that calling the functions directly, as would be the normal case with C++. Also, I'm pretty sure it'll wreak hell with your syntax, making this fairly simple function a nightmare for some future maintence programmer to read. (I would REALLY like to see the optimizer ObjC code doing the above the way you suggest) But, anyway, it still doesn't address my point about C++. If we had those defined the class as: class T { int realval; char uselessgarbage[100]; public: T(int x) {realval = x;} operator=(const T& rhs) { realval = rhs.realval;} }; inline T operaror<(T&lhs, T& rhs) { return(lhs.realval < rhs.realval) then the above code is compiled as if it had been written: if (x.realval < y.realval) // inline integer comparison { int t = x.realval; // integer moves y.realval = x.realval; y.realval = t.realval; } with NO function calls at all, and the value of t probably automatically moved to a register. IOW, it would do the four operations shown in less time and space than it would take ObjC just to pass the operands to the comparison function, regardless of how that function is than called. Next, we have to deal with templates. With a templatized array sort function, one can sort ANY type of arrays, including those of built-in types, with each optimized to the needs of the specific type: #include <vector> vector<int> IntArray; vector<double> DoubleArray; vector<MyClass> MyObjArray; vector<YourClass> YourObjArray; sort(IntArray.begin(), IntArray.end()); sort(DoubleArray.begin(), DoubleArray.end()); sort(MyObjArray.begin(), MyObjArray.end()); sort(YourObjArray.begin(), YourObjArray.end()); ObjC would need at least three different sort functions, and four if you needed to specifically optimize for MyClass's vs YourClass's. With templates, you just create the one templatized sort function (actually part of the soon-to-be Standard C++ library), and the compiler will produce the four sort functions, each optimized to the needs of the class being sorted. Truth, James
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Avie confirms Rhapsody on Intel too. Date: Sun, 02 Mar 1997 23:13:11 GMT Organization: InterServ News Service Message-ID: <5fd190$a7f@lal.interserv.com> References: <al.856919430@BIX.com> <nagleE66yn1.KA@netcom.com> <3313c6ab.20970787@news.alt.net> <petrichE67wqo.LA8@netcom.com> <maury-2602971618300001@199.166.204.230> <5f2avt$fge$2@news.xmission.com> <5f5m5n$nvv@lal.interserv.com> <5fblc9$31e$2@news.xmission.com> In <<5fblc9$31e$2@news.xmission.com>>, don@globalobjects.com (Don Yacktman) wrote: >JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: >> In <<5f2avt$fge$2@news.xmission.com>>, >> don@globalobjects.com (Don Yacktman) wrote: >> >> >Of course, InterfaeBuilder is allowing, via the connection >> >mechanism, the editing of the selector and target instance >> >variables. Because selectors are based on hashed unique >> >strings within the runtime, it is possible to assign selectors >> >to the button objects even if there is currently no object in >> >the runtime that responds to that particular selector! This >> >is what allows you to short-circuit the compile process with >> >InterfaceBuilder. >> >> By "short-circuit the compile process" you mean "delay >> until run-time" which means instead of waiting just once, you >> have to wait for this process to be done every time you run it. >Um, the "wait" is on the order of microseconds...if not nanoseconds. It >isn't like you are recompiling or anything. You're assigning two pointers, >one for the target object and one for the message to send. Even in C++ >you're going to have to at least assign a pointer to the target. If you use >the command pattern, you have to instantiate an object that in Objective-C >would be redundant. But they will still have to look up the address of the method based on the hashed selector, before you assign the pointer. If you know you will be calling the same method over & over (as with the sort example we're discussing elsewhere) where the ratio of use to look-up is 20:1 or so, than the lookup time fades to insignificance. But, for most methods the ratio is closer to 1:1 inwhich case that time has to be factored in. >> But that ability is rarely needed in real world applications. >As long as they don't use a GUI, I agree. With GUIs, flexibility is >paramount. Hold it.... You talk for a long time about how this ability is useful in writing an interpreter -- I usage I already knew about. And as I seen very few real world applications that need an extendably interpreter, I stated " that ability is rarely needed in real world applications." ie, I refuted your argument before you even made it. You responded, by stating that this is useful in working with GUIs, but instead if justifying that statement, you just rambled on with a pointless and obvious straitjacket metaphor. So, let us be specific: What have you done in a GUI, that an average developer or user might feel the need to do, with IB (or ObjC) that would have been difficult to do in C++. >> In >> almost all real cases, your button class would know, within a limited >> range, what kinds of targets it will be sending messages to. And that >> can be handled in C++ with virtual functions through a common base >> class. >But that means that if your target wants to be a target for multiple >objects, it must inherit multiple interfaces. That is a gross >misuse of inheritance and leads to some of the most garbled class >"hierarchies" I've ever seen. No it wouldn't... That's what the "would know, within a limited range" part comes in. All the potential targets would need to be inherited from a single common base class, which is not an unreason limitation in a well-designed system. One could argue it's a REQUIREMENT of a well-designed system. (It seems everytime someone argues has ObjC or in this case, IB, allows you to wrote better system, their arguments only show how it allows you to hack a bad desigh into a worse design) >Also, the flexibility of target/action means that the message sent >to the target can change (ie, which method gets called is alterable). >Believe me, this flexibility can be used to very good effect. One >example is simply that the interface internals are "self documenting". >When you inspect an InterfaceBuilder connection, there is typically >no question what it is doing. >An oversimplified example would be sending -cut: and -paste messages to >different objects instead of a -genericPerform: message to both--in which >case the target would have to look at the sender in order to determine what >is supposed to be done. If you use the command pattern, you are adding the >instantiation of an extra object to provide exactly this flexibility. The >setup/overhad is _more_ than what it would be in Objective-C. Enough more >that it would probably allow Objective-C to be faster than C++ in this case. I doubt that... The PasteCommand object as defined in "Design Patterns" is particularly lightweight -- just a single pointer. The "setup" for it is just a single copy -- it could be hard-coded by the compiler. Using it would be just a function call through a pointer (with a single pointer as a parameter). ObjC would be very hard pressed to match that in efficency. Truth, James
From: igerard@ina.fr (Gerard Iglesias) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 6 Mar 1997 13:39:19 GMT Organization: INA, Institut National de l'Audiovisuel, Bry-sur-Marne, France Message-ID: <5fmhe7$2mf@wolfy.ina.fr> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> Cc: JamesCurran@CIS.CompuServe.com In <5fcngp$7dd@lal.interserv.com> James M. Curran wrote: > C++: > for (int i=0; i<bs; i++) > B.val(i) = Complex(A.val(i) + A.val(i+1), 0); > > ObjC: > for (int i =0; i < bs; i++) > [B set:i :(double)((int)[A val:i] + (int)[A val:(i+1)])]; > > It's an example where ObjC shows that is not designed to make algorithmic computing, that's true. But I think that it's possible to make a better version in ObjC of this example : for (int i =0; i < bs; i++) [[B val:i] set:[A complexAverageAt:i]; for example, I don't know all the details of your needs. I work on a project with C++ since 4 years(and before 5 years with Ada), and I am responsible of the global architecture of the software (making cartoon with computer), in an other side I have a well knowledge of ObjC under NeXT, and I make somme works with it. What I can say now is that it's very difficult to make simple, powerfull and elegant design with C++, in comparison with ObjC. For an example, try to make Interface Builder with C++, you can't do that without an automatic generation of code(a pre compiler), and even you make this, you will not be able to use the full power of the dynamic binding. The proof of the superiority of ObjC in this area : 8 years after the the discovering of IB, you can't see an interface builder in C++ which well compares with the original. And the C++ community is very big in comparison of the small ObjC community. In conclusion, If you want to make good object design use ObjectiveC, and if you want absolutely use C++ for computation you can because the NeXT compiler is an ObjectiveC++ compiler where you can mix the best of the two worlds. Best regard. PS: Excuse me but I am a french guy and I don't write very well in English language. -- Gerard Iglesias Email : igerard@ina.fr Computer Graphics researcher INA.
Date: Wed, 05 Mar 1997 23:21:09 -0600 From: deniseh@filoli.com Subject: Question about app:openFile:type: Newsgroups: comp.sys.next.programmer Message-ID: <857625164.10023@dejanews.com> Organization: Deja News Usenet Posting Service It seems that app:openFile:type: is invoked whether I double-click on a file which my app recognizes or cmd-drop the file onto my app icon. Does anybody know if there's a way within app:openFile:type for me to determine which occurred? This is important because I need to provide different behavior depending upon which occurred. Thanks in advance-- Denise Howard -------------------==== Posted via Deja News ====----------------------- http://www.dejanews.com/ Search, Read, Post to Usenet
From: "Kevin-Neil Klop" <kevink@apple.com> Newsgroups: comp.sys.next.programmer Subject: STDIN/OUT not working? Date: Thu, 06 Mar 1997 07:55:30 +0000 Organization: Apple Computer, Inc. Message-ID: <kevink-0603970755300001@17.221.12.64> I've been having a problem with OpenStep/Mach 4.1 as well... it seems like the stdio-based functions do NOT work correctly. As an example, a C program of the form: void main( int argc, char *argv[]) { while( !feof( stdin ) ) { . . . } } never gets inside of the "while" loop (i.e. stdin always has an end of file queued to it). In addition, ignoring feof(), and just using fgetc( stdin ) and fgets( stdin ), neiother of them seem to ever return a character from the keyboard. I compile with a very simple command line: cc test.c -o test ARRRGGGGHHHH! Anyone tell me if this is a common problem or am I just doing something stupid (and, if the latter, can you tell me what stupid thing I'm doing? ::grin::) -- Kevin --
From: Laurent.Champciaux@emn.fr Newsgroups: comp.sys.next.programmer Subject: Problems with N3DShader class Date: 6 Mar 1997 16:20:30 GMT Organization: Ecole des Mines de Nantes Distribution: world Message-ID: <5fmqse$rd1@wfn.emn.fr> Keywords: N3DShader Hi, I have some problems using the N3DShader class. I work on NS3.3 - SPARC. My first problem is with archiving N3DShader objects. When I read an archived N3DShader object from file, I don t get back the shader name, so [aShader shader] replies with NULL ! My question is : can I write to a file an N3DShader object, can I allocate and init a new N3DShader object and then read it from the file ? If so, is the object usable at once or not ? It seems that it is not so simple ! What I do for reading an archived N3DShader object : As method -read does not give me back the shader name : 1) I allocate and init a new N3DShader object. 2) I set the shader name with -setShader:name 3) I read the stream Then, all instance variables of the N3DShader object are there (its name too) but it seems that the shader is unusable ! In other words, the shader does not look like as it should ! Tired... Are there any undocumented things about N3DShader I should know ? One more thing, when I free an N3DShader object, my app crashes :-( Any experience near here with N3DShader ? I will appreciate any help. Laurent. -- ======================================================= Laurent Champciaux Departement Informatique - Ecole des Mines de Nantes 4, rue A.Kastler - BP 20722 - 44307 Nantes Cedex 03 Tel: 33 2 51 85 82 18 (B220) email: Laurent.Champciaux@emn.fr Fax : 33 2 51 85 82 49
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: 4 Mar 1997 01:32:17 GMT Organization: ace dot net internet technologies Message-ID: <5ffu31$qok$1@darla.visi.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> <331b125f.1680238@library.airnews.net> <5ff513$ini@bignews.shef.ac.uk> <331b4654.45811233@library.airnews.net> <5ffmvs$ku3$1@darla.visi.com> <331b6a1a.54969011@library.airnews.net> In comp.sys.next.programmer John De Hoog <dehoog@experts.com> wrote: : Thanks for the insults, and thanks most of all for side-stepping the : specific questions. I now realize, from your answers and from the lack : of answers to my questions about automatic Web agents, html email : clients, etc., and from the fact that most of you don't even : understand the features I've described (e.g., don't understand the : need of a SOHO user with a dial-up Internet connection and multiple : providers), that Apple has bought a company with very little chance of : bringing it into the mainstream. What's a SOHO user? I run a NeXT as my home machine as well, which uses PPP to connect to the Internet, a POP mail transfer agent in conjunction with NeXT's *fabulous* Mail.app, read news, browse web sites, etc. You're asking for a specific program. Does NeXT have Eudora? No, but it has other programs which perform similar tasks, often better, sometimes worse. If you think that because NEXTSTEP doesn't Forte Agent, it'll never be a success, then you really are all those names I called you. : Happy niche-playing! I'd like to think of myself as an individual. Therefore, my needs are a niche; I need to be able to do UNIX systems programming on an OS that's comfortable to use. There's no better system for be than NEXTSTEP. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: Don Ryan <dryan@dit.ie> Newsgroups: comp.sys.next.programmer Subject: Re: Developing for Rhapsody Date: Thu, 06 Mar 1997 17:06:02 +0000 Organization: Dublin Institute of Technology Message-ID: <331EF97A.3C4A@dit.ie> References: <5fkqpq$1nhm@atlas.vcu.edu> <331E6D78.4784@wam.umd.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Jeffrey S. Dutky wrote: > I only aquired my NeXT box and got it set up two weeks ago. In those > two weeks I have made it about 300 pages into the Garfinkel/Mahoney > book. A quick question for anyone who is familiar with this book. As I understand, it was published sometime around 1993. There's been several posts about the fact that porting an application written using the NeXTSTEP API over to the OPENSTEP API is non-trivial. To what extent is the book based on the older API. A brief response would suffice, as in one of either: 1. Still worth reading. Some things are different now but the book doesn't rely on these things too much. or 2. Contains a lot of stuff you'd have to unlearn. Better off going with the docs on NeXT's site or one of the new OPENSTEP books. Thanks a lot. Don Ryan.
From: John Jensen <jjens@primenet.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: 6 Mar 1997 07:51:01 -0700 Organization: Primenet (602)416-7000 Message-ID: <5fmlkl$19q@nnrp1.news.primenet.com> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> <331dc772.73186408@news.inlink.com> <19970305211434201081@brainerd-dial-27.uslink.net> Regarding the cost of the developer program, which will recive the Rhapsody beta, Andy Griffin <scrmac@uslink.net> wrote: : It seems to me that the Apple Developer's Associates Program costs : US$250/year. I don't know what your resource situation is like but is : sounds reasonable to me. I don't know, you might be right, but I've always thought it was a mistake for OS vendors to treat devleopment tools as a profit center. I'm sure there is a component to develper tools that are "extra" and should be charged for, but I think there is also a component that is pure marketing. As an example, I spent last night getting FileReader objects working using the (free) JDK1.1 from Sun on Win95. (So I'm already developing Rhapsody code.) Where would Java be without the free JDK? If Rhapsody goes to developers at $250 (plus paperwork), only committed developers will buy it. If Apple can build Rhapsody as a platform with that core group, great. If Rhapsody were to go to developers at some "impulse purchase" price, you would get more applications written and build a better buzz for the final release. When I think about it, treating developers as a profit center _now_ would be the _final_ stupidity. Nothing exists in a vacuum, to win Apple has to first pull developers and then pull users from other platforms. John
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy Subject: Re: Objective C? Date: Thu, 6 Mar 1997 13:13:59 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <4n7kZb_00iWl070Vg0@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> In-Reply-To: <5fcss2$93i@lal.interserv.com> [ ...apologies for quoting a lot, but I need to leave the context in... ] Excerpts from netnews.comp.sys.next.advocacy: 2-Mar-97 Re: Objective C? by James M. Curran@CIS.Comp > At the core of any sort function, there's a line which looks like > this: (psuedo-code) > > if x < y then swap x & y > > in C++, this could be written as (T is the data type of x & y) > > if (x < y) > { > T t = x; > x = y; > y = t; > } [ ... ] > I believe the equilvant ObjC code (in it's simple, obvious form) would > be something along the lines of: > if ( [x lessthan: y] ) > { > T t; > [t init:x]; > [x copyfrom:y] > [y copyfrom:t] > } > > (I've just started learning ObjC, so feel free to correct that) It would be closer to if ([x compare:y] == NSOrderedAscending) { T t; t = [x copy]; x = [y copy]; y = t; } Depending on what T is, -copy might perform a shallow or deep copy, or, in the case of immutable objects (like a constant string), might not do anything but return a pointer to the same structure in memory. However, normally one doesn't have to perform the key-value comparision and swap items yourself. For instance, let's say I have an array of objects, and I want to get a sorted array that I'm going to iterate over and do something with. If these are standard objects provided by NeXT, like NSString, or NSNumber (which provides an object wrapper around primitive C types), they implement the -compare method already. If I'm working with my own objects, all I need to do is implement the -compare method myself and have it take a look at whatever state within the two objects and return NSOrderedAscending, NSOrderedDescending, or NSOrderedSame. From NeXT's docs: ]"- (NSArray *)sortedArrayUsingSelector:(SEL)comparator ] ]Returns an array object that lists the receiver's elements in ascending order, ]as determined by the comparison method specified by the selector comparator. ]The new array contains references to the receiver's elements, not copies of ]them. The retain count is incremented for each element in the receiving array. ] ]The comparator message is sent to each object in the array, and has as its ]single argument another object in the array. The comparator method is used to ]compare two elements at a time and should return NSOrderedAscending if the ]receiver is smaller than the argument, NSOrderedDescending if the receiver is ]larger than the argument, and NSOrderedSame if they are equal. Sorting using ]this method guarantees no more than N log N comparisons. ] ]For example, an array of NSString objects can be sorted by using the compare: ]method declared in the NSString class. Assuming anArray exists, a sorted ]version of the array can be created in this way: ] ]NSArray *sortedArray; ]sortedArray = [anArray sortedArrayUsingSelector:@selector(compare:)];" Note that NSObjects implement reference counting; if you actually wanted to make deep copies of the objects, you'd do: sortedArray = [[anArray sortedArrayUsingSelector:@selector(compare:)] copy]; [ ... ] > Also, I'm pretty sure it'll wreak hell with your syntax, making this fairly > simple function a nightmare for some future maintence programmer to > read. (I would REALLY like to see the optimizer ObjC code doing the > above the way you suggest) All you have to do is implement -compare. You don't have to worry about looking up the function pointers, or doing anything else, since you can rely on the basic classes provided with OPENSTEP to implement an n-log-n implementation that's fast enough for most purposes. If you wanted to, you could override their implementation with your own sort implementation if you felt that you had a faster version for the specific objects you were working with, but you could always fall back on the one provided with the system if your custom sort doesn't work right in the future because someone changed the details. Obj-C code is therefore easier to maintain than C++ code, because you never have to worry about changing the sorting implementation-- all you have to do is maintain the code that compares the two objects. > But, anyway, it still doesn't address my point about C++. If we had > those defined the class as: > > class T { > int realval; > char uselessgarbage[100]; > public: > T(int x) {realval = x;} > operator=(const T& rhs) { realval = rhs.realval;} > }; > inline T operaror<(T&lhs, T& rhs) { return(lhs.realval < rhs.realval) > > then the above code is compiled as if it had been written: > > if (x.realval < y.realval) // inline integer comparison > { > int t = x.realval; // integer moves > y.realval = x.realval; > y.realval = t.realval; > } > with NO function calls at all, and the value of t probably > automatically moved to a register. But you haven't actually swapped x and y with that code! You've just swapped one instance variable, not the whole objects x and y. > IOW, it would do the four operations shown in less time and space than it > would take ObjC just to pass the operands to the comparison function, > regardless of how that function is than called. That's because you cheated. Hell, you could write the same code you did in Obj-C without using any function calls, either: If you had this: @interface T : Object { int realval; char blah[100]; // more stuff } @end ...and you had some code somewhere, you could do: if (x->realval < y->realval) { int t = x->realval; y->realval = x->realval; y->realval = t->realval; } ...and get exactly the same behavior and performance of the C++ version. After all, Obj-C objects are implemented as C structures, and you can refer to instance variables directly via the '->' operator instead of via dynamic messaging if the compiler knows what the object type is or if you cast the object appropriately. Assuming you don't cheat and you have to use C++ virtual functions to access instance variables and perform a real copy, you'll get very nearly the same overhead that you would using Obj-C methods to access ivars and do a real copy. The code for -compare would look like this if you cheat: -compare:(T) y { return (realval - y->realval); } ...or like this if you don't: -compare:(T) y { int result = [self realval] - [y realval]; if (result > 0) return NSOrderedDescending; // which returns 1 if (result < 0) return NSOrderedAscending; // which returns -1 return NSOrderedSame; // which returns 0 } -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: don@globalobjects.com (Don Yacktman) Newsgroups: comp.sys.next.programmer Subject: Re: Problems with N3DShader class Date: 6 Mar 1997 18:41:36 GMT Organization: Global Objects Inc. Message-ID: <5fn350$oof$1@news.xmission.com> References: <5fmqse$rd1@wfn.emn.fr> Laurent.Champciaux@emn.fr wrote: > I have some problems using the N3DShader class. I work on NS3.3 - SPARC. > > My first problem is with archiving N3DShader objects. When I read an > archived N3DShader object from file, I don t get back the shader name, so > [aShader shader] replies with NULL ! That is strange. Looking at the source (:-) ) it writes the name to the archive. When it is read back, though, it _is_ read into a temporary (different) variable and then in the -awake method a call to -setShader: is done. (-setShader: does a lot of work--you can't just set the string value of the shader without doing that work and have the object function correctly.) So, the problem you describe would seem to be possible if you subclassed N3DShader and overrode -awake and then forgot to call [super awake]. Otherwise, I'm not sure you you could get that problem...as long as -awake is being called upon unarchiving everything should be OK. > My question is : can I write to a file an N3DShader object, can I allocate > and init a new N3DShader object and then read it from the file ? If so, is > the object usable at once or not ? It seems that it is not so simple ! Well, it seems it should be, but I'm not (yet) a complete 3DKit guru. Someone with more kit experience may be able to shed some light (ie, if someone's done it, they could post a code snippet or describe what they did). > What I do for reading an archived N3DShader object : > > As method -read does not give me back the shader name : > 1) I allocate and init a new N3DShader object. > 2) I set the shader name with -setShader:name > 3) I read the stream > > Then, all instance variables of the N3DShader object are there (its name > too) but it seems that the shader is unusable ! In other words, the shader > does not look like as it should ! Try doing the -setShader last. I don't think explicity calling -awake is a good idea, but it does look like calling -awake is where the final setup is done--there's a lot going on there. In fact, how are you trying to archive the object to a file? Are you using stuff like NXWriteRootObject() (I think that's the right spelling. :-) ) or are you directly calling -write:? The latter is, of course, a no-no. The object writing functions will make sure -awake is being called properly. Given the problems you are describing, it really sounds like -awake isn't getting called. (It does a lot more than just the -setShader, which would explain why the object was still unusable for you.) > Tired... Are there any undocumented things about N3DShader I should know ? There probably are...but I'm not well enough versed in this to be able to give details. Hopefully the MiscKit project will be able to make some good enhancements to the documentation. Since we can't release source, the least we can do is try to make the docs crystal clear! > One more thing, when I free an N3DShader object, my app crashes :-( I don't see any reason why that should happen...but is this the shader that unardhived incorrectly, or just any shader? The former would be troublesome, but the latter should be freeable without any troubles, unless I'm misreading the source. (Which is possible, since I'm not completely intimate with it yet--there's a lot there.) > Any experience near here with N3DShader ? I will appreciate any help. Well, as I said, I lack experience, but hopefully I was helpful anyway. :-) -- Later, -Don Yacktman don@misckit.com <a href="http://www.misckit.com/don.html">My home page</a>
From: nurban@sps1.phys.vt.edu (Nathan Urban) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: 6 Mar 1997 13:46:15 -0000 Organization: Virginia Polytechnic Institute and State University Message-ID: <5fmhr7$ekp@sps1.phys.vt.edu> References: <01bc284c$b8a07400$882168cf@test1> <331E55D6.71AB@rs6000.cmp.ilstu.edu> <331e71c0.23090973@nntp.ix.netcom.com> In article <331e71c0.23090973@nntp.ix.netcom.com>, apuleius@ix.netcom.com (William Grosso) wrote: > Why ? > Please. I'd like somebody to explain why Apple should give free > development tools to students IN PREFERENCE to other groups > of people. Because students are the ones who can't afford to buy the tools themselves. > Myself, I think they should buy the list of recent attendees from > Rational's courses (or Lockheed's ACC courses or call up Software > Development '97 and get the names of people who will be attending > the advanced developers track or...) and send *those* people free > copies. Experienced developers who are designing software and > have budgets to spend on training and development tools are > the people they should be targeting. Uh, hello? "Experienced developers who ... have budgets to spend on ... development tools"? Let them buy it then! Rule #1 of economics: charge money to the people who can afford to pay it. Apple does need to get the tools in the hands of as many developers as possible. It doesn't really want to give them away to everyone, though. So if it's going to give something away free, give it to people who would use the tools but would certaintly not buy the tools otherwise. Besides, if students can't afford Rhapsody development tools, then where are companies going to hire new programmers from? Microsoft makes its tools quite affordable to students (though not free). NeXT has always maintained a strong commitment to academic users, and now all of a sudden, there are a bunch of Mac programmers who don't know anything about OpenStep, and a bunch of students who do. (Students are precisely the sort of people who will fool around with a new system on a whim, as they have no engrained commitments to any one platform.) > Not the kiddies who, if they get lucky, will someday be entry-level > coders. Don't be insulting. -- -------------------------------------------------------------------------- Nathan Urban | Undergrad {CS,Physics,Math} | Virginia Tech nurban@vt.edu | {NeXT,MIME} mail welcome | http://nurban.campus.vt.edu/ --------------------------------------------------------------------------
From: pjbrew@spam.free.zone--(ix.netcom.com) (Phil Brewster) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: Thu, 06 Mar 1997 12:34:55 -0700 Organization: Netcom Message-ID: <pjbrew-0603971234550001@slc-ut4-22.ix.netcom.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <5fcnhe$7dd@lal.interserv.com> In article <5fcnhe$7dd@lal.interserv.com>, JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > In <<5fa9bm$pv6@newsb.netnews.att.com>>, > gupta@tlctest.mt.att.com. (Arun Gupta) wrote: > > >>> Apple Of His Eye > >>> By Eric Nee > >>> March 01, 1997 > >>> > >>> http://www.upside.com/texis/columns/qa > > >Remember JdH gleefully (mis) quoting an article to claim that > >Gil Amelio said that the MacOS is a mess. Well, here is > >another quote : > > >Amelio : > > >I do not think, as good as Windows 95 is, that it's as good as System > >7. There's only one real measure, and that is productivity. What > >you want out of an operating system is for it to be transparent. > >To the extent that the computer is not invisible, that you have to > >tend to its care and feeding, the management of it and so forth, > >that's a distraction from what you're trying to create. We come closer > >to the ideal model of making the computer more transparent than the > >other guy. Will we always have that advantage? I don't know. They've > >come a long way in the last decade. I don't think they're there yet. > >We have to challenge ourselves to try to keep putting some distance > >between us and them. > > >End quote > > > At this point it should be noted that MS has studies which show that > people who haven't used either system before, become productive faster > on Win95 than on a Mac. > > Apple, on the other hand, has studies that show that people who have > used a Mac for years, are more productive on a Mac than they are on > Win95 upon first seeing it. > > > Truth, > James Still waiting for proof on this last point, James..... The fact that you keep repeating it doesn't make it so. Cheers, -- Phil Brewster <pjbrew @ ix. netcom. com> ".... if it ain't broke, it doesn't have enough features yet". -- Scott Adams, The Dilbert Principle [1996], p. 174
From: sschaper@inlink.com Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: Thu, 06 Mar 1997 20:40:56 GMT Organization: InLink Message-ID: <331f2b7d.20505173@news.inlink.com> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> <331dc772.73186408@news.inlink.com> <5fl6fc$8mu@nnrp1.news.primenet.com> On 5 Mar 1997 18:26:03 -0700, jjens@primenet.com (John Jensen) wrote: >Why not an 800 number and twenty bucks to cover media cost? Is there >any way that could hurt Apple? > >We're only talking the beta version after all, and just about everyone >would buy in on the final release. I would definitely do that if available. >John > >BTW, if you'd like a free copy of the SCO Unix development system (for >non-commercial use) just web over to www.sco.com and they'll send it >out. (They charge $19 dollars to cover media cost.) > Doesn't run on PCI PowerMacs, though, does it? I'm already plannning on getting MKLinux and AfterStep to get used to both the kernal, UNIX and the other parent of the Rhapsody GUI.
From: Stephen Peters <speters@cygnus.com> Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: 06 Mar 1997 12:13:18 -0800 Organization: Cygnus Solutions Message-ID: <qdu3mokcdd.fsf@blues.cygnus.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <5fcnhe$7dd@lal.interserv.com> <pjbrew-0603971234550001@slc-ut4-22.ix.netcom.com> pjbrew@spam.free.zone--(ix.netcom.com) (Phil Brewster) writes: > In article <5fcnhe$7dd@lal.interserv.com>, JamesCurran@CIS.CompuServe.com > (James M. Curran) wrote: > > Apple, on the other hand, has studies that show that people who have > > used a Mac for years, are more productive on a Mac than they are on > > Win95 upon first seeing it. > > Still waiting for proof on this last point, James..... > > The fact that you keep repeating it doesn't make it so. To be honest, even without the proof, I'd find it hard to dispute as written above. People who have used a Mac for years are more comfortable using Macs than if you throw them into a new environment. That's a far from surprising result, similar to any claim that people who've been using Win95 since its release are more productive on Win95 than they are on the Mac when first thrown into it. Do you honestly think that people who have used one system for years won't be more productive on that system than if you suddenly throw them onto something else? -- Stephen L. Peters speters@cygnus.com PGP fingerprint: BFA4 D0CF 8925 08AE 0CA5 CCDD 343D 6AC6 "What, do you think soup is a biped?" -- Crow, MST3K
From: sanguish@digifix.com Newsgroups: comp.sys.next.advocacy,comp.sys.next.announce,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.bugs,comp.sys.next.programmer Subject: NEXTSTEP/OpenStep Resources on the Net Supersedes: <22496856059808@digifix.com> Date: 6 Mar 1997 20:42:14 GMT Organization: Digital Fix Development Message-ID: <5437857680935@digifix.com> Topics include: Stepwise NEXTSTEP/OpenStep Information WWW site eduSTEP WWW site NeXT Computer, Inc. WWW site comp.sys.next newsgroups related newsgroups comp.sys.next newsgroups mailing list ftp sites NeXTanswers Stepwise NEXTSTEP/OpenStep Information WWW site =============================================== This online community resource includes - ISV company pages - ISV product descriptions - NEXTSTEP Developer Directory - NEXTSTEP Community WhitePages - Mailing List archives and information You can connect via the world wide web at: http://www.stepwise.com/ Suggestions or comments can be directed to me at sanguish@digifix.com If you would like to get your company and product information on Stepwise, please contact me at sanguish@digifix.com. eduSTEP WWW site ================ http://www.nmr.embl-heidelberg.de/eduStep/ eduStep aims to provide up-to-date information on: - NextStep tools and projects for scientists. - Third-party products interesting for the educational and scientific community (with educational discounts noted, where they exist). - A listing of resellers and shops interested in working with customers in the educational community. - Conferences, meetings, workshops - Major projects, such as SciTools, EMBL's project to develop a NextStep scientific work environment - Status reports on GNUStep, a freely-available implementation of OpenStep now being developed NeXT Computer, Inc. WWW site ============================ http://www.next.com comp.sys.next.* newsgroups ========================== news:comp.sys.next.advocacy This is the "why NEXTSTEP is better (or worse) than anything else in the known universe" forum. It was created specifically to divert lengthy flame wars from .misc. news:comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) This is a moderated newsgroup, meaning that you can't post to it directly. Submissions should be e-mailed to next-announce@digifix.com where the moderator (Scott Anguish) will screen them for suitability. Archives are available by ftp at ftp://ftp.stepwise.com/pub/Next_Announce_Archives Messages posted to announce should NOT be posted or crossposted to any other comp.sys.next groups. news:comp.sys.next.bugs A place to report verifiable bugs in NeXT-supplied software. Material e-mailed to Bug_NeXT@NeXT.COM is not published, so this is a place for the net community find out about problems when they're discovered. This newsgroup has a very poor signal/noise ratio--all too often bozos post stuff here that really belongs someplace else. It rarely makes sense to crosspost between this and other c.s.n.* newsgroups, but individual reports may be germane to certain non-NeXT- specific groups as well. news:comp.sys.next.hardware Discussions about NeXT-label hardware and compatible peripherals, and non-NeXT-produced hardware (e.g. Intel) that is compatible with NEXTSTEP. In most cases, questions about Intel hardware are better asked in comp.sys.ibm.pc.hardware. Questions about SCSI devices belong in comp.periphs.scsi. This isn't the place to buy or sell used NeXTs--that's what .marketplace is for. news:comp.sys.next.marketplace NeXT stuff for sale/wanted. Material posted here must not be crossposted to any other c.s.n.* newsgroup, but may be crossposted to misc.forsale.computers.workstation or appropriate regional newsgroups. news:comp.sys.next.misc For stuff that doesn't fit anywhere else. Anything you post here by definition doesn't belong anywhere else in c.s.n.*--i.e. no crossposting!!! news:comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. Generic UNIX questions belong elsewhere (comp.unix.questions), although specific questions about NeXT's implementation or porting issues are appropriate here. Note that there are several other more "horizontal" newsgroups (comp.lang.objective-c, comp.lang.postscript, comp.os.mach, comp.protocols.tcp-ip, etc.) that may also be of interest. news:comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. news:comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. Related Newsgroups ================== news:comp.soft-sys.nextstep Like comp.sys.next.software and comp.sys.next.misc combined. Exists because NeXT is a software-only company now, and comp.soft-sys is for discussion of software systems with scope similar to NEXTSTEP. news:comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. news:comp.object Technical talk about OOP in general. Lots of C++ discussion, but NeXT and Objective-C get quite a bit of attention. At times gets almost philosophical about objects, but then again OOP allows one to be a programmer/philosopher. (The original comp.sys.next no longer exists--do not attempt to post to it.) Exception to the crossposting restrictions: announcements of usenet RFDs or CFVs, when made by the news.announce.newgroups moderator, may be simultaneously crossposted to all c.s.n.* newsgroups. Getting the Newsgroups without getting News =========================================== Thanks to Michael Ross at antigone.com, the main NEXTSTEP groups are now available as a mailing list digest as well. next-nextstep next-advocacy next-announce next-bugs next-hardware next-marketplace next-misc next-programmer next-software next-sysadmin object lang-objective-c (For a full description, send mail to listserv@antigone.com). The subscription syntax is essentially the same as Majordomo's. To subscribe, send a message to *-request@lists.best.com saying: subscribe where * is the name of the list e.g. next-programmer-request@lists.best.com The ftp sites ============= ftp://ftp.next.peak.org - The main site for North American submissions formerly ftp.cs.orst.edu ftp://ftp.informatik.uni-muenchen.de: - (Peanuts) Located in Germany. ftp://ftp.dn.net/pub/next - Peanuts mirror in the US ftp://terra.stack.urc.tue.nl - (Dutch NEXTSTEP User Group) ftp://cube.sm.dsi.unimi.it - (Italian NEXTSTEP User Group) ftp://ftp.nmr.embl-heidelberg.de/pub/next - eduStep ftp://ftp.next.com: - See below ftp.next.com and NextAnswers@next.com ===================================== [from the document ftp://ftp.next.com/pub/NeXTanswers/1000_Help] Welcome to the NeXTanswers information retrieval system! This system allows you to request online technical documents, drivers, and other software, which are then sent to you automatically. You can request documents by fax or Internet electronic mail, read them on the world-wide web, transfer them by anonymous ftp, or download them from the BBS. NeXTanswers is an automated retrieval system. Requests sent to it are answered electronically, and are not read or handled by a human being. NeXTanswers does not answer your questions or forward your requests. USING NEXTANSWERS BY E-MAIL To use NeXTanswers by Internet e-mail, send requests to nextanswers@next.com. Files are sent as NeXTmail attachments by default; you can request they be sent as ASCII text files instead. To request a file, include that file's ID number in the Subject line or the body of the message. You can request several files in a single message. You can also include commands in the Subject line or the body of the message. These commands affect the way that files you request are sent: ASCII causes the requested files to be sent as ASCII text SPLIT splits large files into 95KB chunks, using the MIME Message/Partial specification REPLY-TO address sets the e-mail address NeXTanswers uses These commands return information about the NeXTanswers system: HELP returns this help file INDEX returns the list of all available files INDEX BY DATE returns the list of files, sorted newest to oldest SEARCH keywords lists all files that contain all the keywords you list (ignoring capitalization) For example, a message with the following Subject line requests three files: Subject: 2101 2234 1109 A message with this body requests the same three files be sent as ASCII text files: 2101 2234 1109 ascii This message requests two lists of files, one for each search: Subject: SEARCH Dell SCSI SEARCH NetInfo domain NeXTanswers will reply to the address in your From: line. To use a different address either set your Reply-To: line, or use the NeXTanswers command REPLY-TO If you have any problem with the system or suggestions for improvement, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY FAX To use NeXTanswers by fax, call (415) 780-3990 from a touch-tone phone and follow the instructions. You'll be asked for your fax number, a number to identify your fax (like your phone extension or office number), and the ID numbers of the files you want. You can also request a list of available files. When you finish entering the file numbers, end the call and the files will be faxed to you. If you have problems using this fax system, please call Technical Support at 1-800-848-6398. You cannot use the fax system outside the U.S & Canada. USING NEXTANSWERS VIA THE WORLD-WIDE WEB To use NeXTanswers via the Internet World-Wide Web connect to NeXT's web server at URL http://www.next.com. USING NEXTANSWERS BY ANONYMOUS FTP To use NeXTanswers by Internet anonymous FTP, connect to FTP.NEXT.COM and read the help file pub/NeXTanswers/README. If you have problems using this, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY MODEM To use NeXTanswers via modem call the NeXTanswers BBS at (415) 780-2965. Log in as the user "guest", and enter the Files section. From there you can download NeXTanswers documents. FOR MORE HELP... If you need technical support for NEXTSTEP beyond the information available from NeXTanswers, call the Support Hotline at 1-800-955-NeXT (outside the U.S. call +1-415-424-8500) to speak to a NEXTSTEP Technical Support Technician. If your site has a NeXT support contract, your site's support contact must make this call to the hotline. Otherwise, hotline support is on a pay-per-call basis. Thanks for using NeXTanswers! _________________________________________________________________ Written by: Eric P. Scott ( eps@toaster.SFSU.EDU ) and Scott Anguish ( sanguish@digifix.com ) Additions from: Greg Anderson ( Greg_Anderson@afs.com ) Michael Pizolato ( alf@epix.net ) Dan Grillo ( dan_grillo@next.com )
From: MaRK_BeSSeY@NeXT.CoM (Mark Bessey) Newsgroups: comp.sys.next.programmer Subject: Re: STDIN/OUT not working? Date: 6 Mar 1997 20:51:02 GMT Organization: NeXT Software, Inc. Message-ID: <5fnanm$m26@news.next.com> References: <kevink-0603970755300001@17.221.12.64> "Kevin-Neil Klop" <kevink@apple.com> writes > I've been having a problem with OpenStep/Mach 4.1 as well... it seems > like the stdio-based functions do NOT work correctly. As an example, a > C program of the form: > > void main( int argc, char *argv[]) > { > while( !feof( stdin ) ) > { > . > . > . > } > } > > never gets inside of the "while" loop (i.e. stdin always has an end of > file queued to it). In addition, ignoring feof(), and just using fgetc( > stdin ) and fgets( stdin ), neiother of them seem to ever return a > character from the keyboard. > > I compile with a very simple command line: > > cc test.c -o test > > ARRRGGGGHHHH! Anyone tell me if this is a common problem or am I just > doing something stupid (and, if the latter, can you tell me what stupid > thing I'm doing? ::grin::) > > -- Kevin -- Well, I see three problems with your example: 1. The return type of main cannot be void (see the ANSI C spec.) 2. You didn't include stdio.h 3. Your output program is named test, which is the same name as a builtin bourne shell command Since you claim your actual program compiles, we can eliminate #2. And #1 won't cause any real problems, so... You aren't REALLY calling your program test, are you? Can you give a compilable example? This works fine for me under 4.2, and i've no reason to believe it won't work on 4.1... -- Mark Bessey Apple Computer, Inc. -->I DON'T SPEAK FOR APPLE<--
From: webboy@webname.com (David) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: Thu, 06 Mar 1997 13:59:54 -0700 Organization: Webboy Productions Message-ID: <webboy-ya02408000R0603971359540001@news.azstarnet.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <5fcnhe$7dd@lal.interserv.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5fcnhe$7dd@lal.interserv.com>, JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > > Apple, on the other hand, has studies that show that people who have >used a Mac for years, are more productive on a Mac than they are on >Win95 upon first seeing it. > > > Truth, > James This is complete un-truth James, and you know it. The studies Apple touts are of cross-platform users. Quit making things up. -- webboy@webname.com
From: jrudd@cygnus.com (John Rudd) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: 6 Mar 1997 21:15:30 GMT Organization: Cygnus Solutions Message-ID: <5fnc5i$k0p$2@majipoor.cygnus.com> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> <331dc772.73186408@news.inlink.com> <5fl6fc$8mu@nnrp1.news.primenet.com> <331f2b7d.20505173@news.inlink.com> Cc: sschaper@inlink.com In <331f2b7d.20505173@news.inlink.com> sschaper@inlink.com wrote: > On 5 Mar 1997 18:26:03 -0700, jjens@primenet.com (John Jensen) > wrote: > >BTW, if you'd like a free copy of the SCO Unix development system (for > >non-commercial use) just web over to www.sco.com and they'll send it > >out. (They charge $19 dollars to cover media cost.) > > > Doesn't run on PCI PowerMacs, though, does it? I'm already > plannning on getting MKLinux and AfterStep to get used to both > the kernal, UNIX and the other parent of the Rhapsody GUI. > No, but it's a good model for Apple to investigate... If you're a non-commercial user who only needs 1 license, or a single-user system, why not give it away for evaluation? If not forever, then what about for the first year? or just the first (pre-unified) release? -- John "kzin" Rudd jrudd@cygnus.com http://www.cygnus.com/~jrudd =========Intel: Putting the backward in backward compatible.============ Smalltalk == Astronaut's tools. Awkward at first, but exceptional design C++ == A hammer. A SLEDGEHAMMER. Not cast metal, a big rock on a stick.
From: stanj@cs.stanford.edu (Stan Jirman) Newsgroups: comp.sys.next.programmer Subject: Re: templates Date: 6 Mar 1997 22:19:11 GMT Organization: Stanford University Message-ID: <5fnfsv$39m@nntp.Stanford.EDU> References: <970304072854.198AAFgH.wayne@pareto> Cc: joerd@mail.wsu.edu In <970304072854.198AAFgH.wayne@pareto> joerd@mail.wsu.edu wrote: > Hello: > I need some help with templates. Basically, I can't seem to get > them to work when I seperate the definition (in a .h or .cc) file > from the construction. For example, if I have a Main.cc like > that below I get link errors with unrecognized methods > Matrix<int>::Print() and Matrix<int>::Set(int num). > > I had read in Practical C++ Programming that putting the command > typedef Matrix<int> MatrixInts; > at the start of Matrix.cc would solve the problem for the GNU > compiler but it doesn't seem to work. > > I can make it work by putting the method definitions in the header file > (Matrix.h) > > I have put the files below in case someone can tell me how to make this > system work. Wayne, the problem you have is not so much with G++ but with templates. The templates are a compile-time construct and hence must all be visible in a .h file at compile time. Alternatively, you can include the .cc file, too. This is a reason why people can't distribute template libraries as .o files -- you have to give away the source. Also, you better use GCC 2.7.2, which you can get from the archives. It works fine under my 3.3 system, but I didn't get it to compile & work on 4.1. The new GCC will be a part of 4.2 (I have it on 4.2 NT). Hope it helps, - Stan --- Nature photography: http://www-leland.stanford.edu/~stanj NeXTmail and MIME: stanj@cs.stanford.edu
From: jlimpert@pathfinder.com (john limpert) Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: web applications Date: 6 Mar 1997 23:58:08 GMT Organization: Time Warner Pathfinder Message-ID: <jlimpert-0603972002060001@edit86.edit.pathfinder.com> Help. Where do I get shareware web applications for email http ftp etc. newsreader. thanks
From: Ian Joyner <i.joyner@acm.org> Newsgroups: comp.sys.mac.system,comp.sys.next.programmer,comp.sys.mac.programmer.codewarrior,comp.sys.mac.oop.powerplant,comp.sys.mac.programmer Subject: Re: Mac/NeXT & Unix: You're all NUTS! Date: Fri, 07 Mar 1997 11:00:24 +1000 Organization: Unisys Message-ID: <331F68A8.7DED@acm.org> References: <5d8qta$6np@news.bu.edu> <331A0AD3.A0D@acm.org> <5feijb$257@sps1.phys.vt.edu> <331B9F17.4C30@acm.org> <5fklfq$bhp@sps1.phys.vt.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Right, we are pretty much on the right track now, so I'll just clarify a few points: Nathan Urban wrote: > > In article <331B9F17.4C30@acm.org>, i.joyner@acm.org wrote: > > > Nathan Urban wrote: > > > > In article <331A0AD3.A0D@acm.org>, i.joyner@acm.org wrote: > > However, if you > > read my comments on concurrency carefully, you will realise that > > many conditions can arise where a process becomes blocked on waiting > > for some resource, like a file, to be made available. In the concurrent > > world, this should not be handed back to the process as an exception, > > but handled by the OS scheduler. > > This is where I think we disagree. From a concurrency point of view, > this may be more desirable, but I think that it is the process's > responsibility to handle something like a resource-not-available error, > up to and including asking for human intervention by whatever means _it_ > deems appropriate. In a sense you are correct. This OS code runs as part of the process, so you get default handling. But then if the application programmer expects the resource not to be there, they should tell the OS to let it be their responsibility. But if the application does not handle this, then the OS scheduler must be able to do something with the process, and put it in the waiting state. After all the fact that a resource is not available is not a desirable condition, it halts processing! The sense that you are correct is that the application can decide if it can cope with the absence of the resource or not. If not, let then let the OS scheduler put the process into wait state, until the resource is available. It is concurrency that has complicated the picture, but concurrency also provides the elegant solution that applications do not explicitly have to code for. > There are many other cases, such as > batch-processing type operations, where it would be more appropriate to > just move on. I think the question here is what the default action > should be. You could have two possibilities: > > (1) The OS blocks the processes automatically for resources, and prompts > for the resource. Other processes that don't want this behavior can > override the handler. > > (2) The OS hands the process a resource-not-available exception by > default, and nothing else. The process registers a default exception > handler, and can choose among stock handlers such as "prompt for > resource" or "null handler" (just move on). > > I like (2) better.. you seem to be advocating (1). (1) is the concurrent solution. When a process asks for a resource, and it is not present yet, because it is being produced by another process, the first process must wait. I like (1) better because it is the more general solution. In (1) if the resource is non-critical to the progress of the process, then the process tells the OS about this, and then it gets the exception back. Nothing happens by magic, but this is a case of requiring applications programmers to do less work. > > > And especially, a fixed kind of user intervention, such > > > as a system-standard dialog box. > > > No, you are designing implementations here that I never suggested, > > except maybe as an example of one of many ways. > > You _did_ suggest that, and that's why I fixated on your suggestion as a > Really Bad Idea. I didn't like some of your other suggestions of > default behaviors either, though I can't quite remember what they were > now. OK, I apologise for the misleading example, but it was to give people who are more used to desktop style operations a feel for what might happen in their environment. The exact implementation of the user/ operator interface will be different in different environments. > The capability of providing default error handlers is a good one, my > main problem is that the defaults used when a process does not register > its own handler need to be carefully chosen to do as little as possible, > and in particular should almost never require human intervention. Right, but as I was pointing out, if you want to set up an operator free environment, that does not come for free. You have to think in advance about all the situations that might occur, and provide some guideline to the OS of how you want the situation handled. As I said, operations staff might set up some script which the OS (or whatever system component) processes to help in decide. Now this means that your system is handling things that otherwise you would require each applications programmer to think about, which they probably won't. > > It might be a dialog box, but this would not be very convenient for > > large systems. In large systems this is more likely a list of > > processes currently blocked, what the condition is, and if and how > > the operator can help out. Remember this is for coarse grained > > resources. > > Okay. I like that much better. Perhaps you could have an ErrorDetector > panel, that sets some flag (under Rhapsody, maybe a little marker on the > Workspace icon) that notifies you of processes it was forced to block. > Then you can pull up that panel, displaying the information you > described. > > However, again, I think the OS should tend to avoid blocking processes, > though perhaps it would be good to give processes the ability to ask > the OS to block them under specified classes of exceptional conditions. And this is what a request for a resource from the OS is asking the OS to do. In concurrent programming, I just want to say: "I need this resource now," and then the right operation like waiting for the resource happens without further coding. This is different to the request: "Is this resource ready, so that I can process it?" Now you could also program your application to process resources as they become ready, so you have a loop with a guarded case in it that picks up an processes whatever resources are ready. Djkstra proposed non-deterministic constructs to do this a long time ago. If none of the resources are ready, then the application must go into wait state. However, the fact that no resources are ready does not indicate an error that results in an exception in the concurrent world. But note that in this case where one process handles several resources, the opportunity for concurrency is reduced, as the application can only handle one thing at a time. It is therefore better to break the application up into smaller units. This simplifies programming, enhances reliability, as there are less interdependencies, and maximises opportunities for concurrency. > My objections were really always toward the implementation rather than > the concept, though that may not have been clear at first. OK, I was advocating the concept, giving a few implementation specific examples, which have turned out to be misunderstood. Sorry to not have more cleanly separated concept from implementation. > > Now the way this > > is done on the machines I am talking about is that the application > > enables exceptions with an ON statement, for example: > > > ON DIVIDEBYZERO > > ON ANYFAULT -- gets anything > > > etc, and attaches the exception to an interrupt handler, which is also > > in the application. > > So what you are really advocating is just a unified way for applications > to register handlers for standard OS-generated exceptions, in the form > of an exception-handling API right at the system-call level, correct? That is part of the mechanism. If an application does not register it wants to handle an exception, then it could be a defect in the program. For example, errors like divide by zero or array index out of bounds will usually terminate an application. But the application might be coded to save time by not checking, and letting the underlying run-time system check. In this case it must register that it wants to handle the exception, and then recover, or else divide by zero, or bad array index is a defect. > > > Rather than forcing programmers to override the OS's > > > exception hanlding constantly (which is the whole reason you purport to > > > like this scheme, as it's supposed to keep the programmer from constantly > > > worrying about exceptional conditions), the OS should take the minimum > > > action necessary to prevent fatal errors, and allow the application to > > > layer on additional error handling if desired. > > > "Fatal errors" are by definition those that will terminate a process. > > The OS is contracted to provide a consistent environment for > > applications to run in. Thus the OS should do its utmost to shield > > applications from environmental failures, not its "minimum". > > I think you misunderstood what I was saying. I wasn't saying that the > OS should barely try to prevent fatal errors. I was saying that the OS > should do whatever is necessary to prevent _fatal_ errors, but little > more. I believe that nonfatal errors should be handed to the > application to deal with itself, though it should certainly have the > capability of registering a handler for such an error, so it doesn't > have to constantly check for an error condition. OK, I might have misunderstood what you were saying. However, in the concurrent world, a resource that is not available is not an error, it is merely a condition, that will at some time be satisfied. An application should not have to be explicitly coded for concurrency, that should be the job of the supporting environment. > > If the applications programmer 'expects' to see certain > > exceptions, they will have told the OS to ignore them, and pass them > > back to the application. > > Okay, I see your perspective here. I just want to say that the OS has > to be very careful in handling errors that the application didn't expect > and ask the OS to ignore, so that it does not try to take an action that > may be inappropriate to that application. Precisely. And the application will decide and state if waiting on a resource is inappropriate, otherwise implicitly, it will have to wait for the resource. Actually, we should generalise here and say that the application asks for a set of resources, and processes whatever is available or becomes available first. If the application does not want to lock forever, but get back to their user with some reassuring message, or tell them a joke to keep them amused, then the application could indicate a timeout, and do some default processing there. > > For myself, I am a systems programmer, and it is my job to provide > > this kind of systematic support for the applications that will run on > > top of my software. In that case if I am to write good "middleware", > > then I should handle exceptions that have to do with the resources that > > I manage. It is sloppy design to hand these back to my caller. > > Well, I don't know about that. Going back to the file-not-found > example.. sure, the OS manages file resources. But that doesn't > necessarily mean that it should attempt to handle exceptions that have > to do with file resources. The ways in which different callers will > choose to deal with such an exception vary quite a bit, so in this case > the best action may truly be to hand the exception back to the caller, > as the OS simply does not have the knowledge to provide a really general > solution. But again, the programming paradigm must be consistent, that is handle a missing file the same as any other resource. Programming in a concurrent manner becomes much more complicated if each different resource is handled in a different manner. > > > I'm not against handling exceptions on a global, OS-wide level. I just > > > think that the OS should attempt to handle exceptions by default in a > > > minimal way that is appropriate for all processes > > > I think your use of the term minimal is an inappropriate heuristic, > > as it is too vague: > > > The OS should do what the OS should do, and the application what the > > application should do. Then you can have design-by-contract over > > OS interfaces. > > I don't think that's really any less vague, as people disagree over > which things the OS and the application should do. You're right: what I said is more vague, but more appropriate! > > If there is no such handling of the disk full condition, ask the > > operator, don't hand it back as an exception to the program. That is the very > > opposite of robust. > > It depends on the class of exception, of course. "Disk full" is an > exceptional condition which affects _all_ applications, so is most > appropriately handled by the OS. Most applications wouldn't even have > the access privileges necessary to do anything intelligent in a case > like that, except for maybe something like backing up their data over a > network in the expectation of imminent system failure. However, "File > not found" generally only applies to the applications which request the > use of that file, and so is best handled by the application. Well, there are a whole lot of reasons why a file is not found. In the concurrent world, it probably means that it is just not there 'yet'. However, of course the file might be an initialisation file, which if it is not there the application will use defaults, or maybe create the file. So in that case the application, says "non-critical resource, let me keep processing if you don't find it." But the concurrent case is the general case, the non-blocking case is the special case. It is simpler for applications to only have to code for special cases. That is what applications programming is all about! > > > For example, if the user initiated a reboot from > > > the console, and something went wrong, _then_ it would be appropriate to > > > send a dialog to the console requesting intervention. But in precious > > > few other cases is requiring human intervention a universally > > > appropriate action. > > > And since you say "universally appropriate action," I don't disagree. > > But that is never what I said. What I have been saying is give the > > user/operator the chance to intervene "when appropriate." > > This is particularly important in concurrent, mission critical systems > > that must provide 24x365 operations. > > In concurrent, mission-critical systems your suggestion has greater > weight. Well, the concurrent and mission-critical attributes are becoming desirable at the low end now. In fact that is what Apple buying NeXT is all about, users want more stability in their systems (while not sacrificing the famed Mac ease of use. That in fact raises the natural questions about Unix: is it really robust enough? and will Apple retain the ease of use (Unix requires to many guru mode interactions)?) > It is more important that all errors are handled in some way, > even possibly inappropriate ways, and that certains classes of errors are > always immediately brought to the attention of an operator. However, > I think that greater flexibility for PC- and workstation-class usage. What I am suggesting, (although this has worked out to be a far more complex subject than I first thought) is about flexibility. You get greater flexibility by handling the general (concurrent) cases in a general way, so that applications programmers can focus on their special cases. This is much better design. > Servers also operate under conditions where operators are often not > available at all times, and must be capable of a high degree of autonomy. Right, but autonomy does not come for free. You have to work very hard to work out all the conditions to keep a system going. The OS passing such conditions back to the program does not help. It is better that the OS at least logs problems, so that the operations staff can go back and explicitly handle the problem in their scripts. > That is where is may be best to have applications deal with errors, as > they have the greatest capability to make intelligent decisions about > error-handling without the need for human intervention. Again, if it is an application problem, hand it to the application, but as far as overall system operations goes, applications programming should not be concerned with this complexity. > Of course, > the user/operator _should_ be given the chance to intervene "when > appropriate", as you say; I'm just questioning whether the OS should > decide "when appropriate". By default it has to manually ask for intervention. Automating these decisions does not come for free, you have to tell the OS what plug in handler it is going to invoke to handle the situation. But this comes about by having correctly modularised systems, and expecting applications to handle such problems is distinctly unmodular. I seem to have repeated myself quite a few times in this post, but I think that is because everything is getting back to the same general solution, which is good :-) Thanks again Nathan for a good exchange :-) ------------------------------------------------------------------------ Ian Joyner | "for when lenity and cruelty play | All opinions are Internet email: | for a kingdom, the gentler | personal and are i.joyner@acm.org | gamester is the soonest winner" | not Unisys | William Shakespeare Henry V | official comment ------------------------------------------------------------------------
From: apuleius@ix.netcom.com (William Grosso) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: Fri, 07 Mar 1997 02:05:17 GMT Organization: Netcom Message-ID: <331f75f5.3233279@nntp.ix.netcom.com> References: <01bc284c$b8a07400$882168cf@test1> <331E55D6.71AB@rs6000.cmp.ilstu.edu> <331e71c0.23090973@nntp.ix.netcom.com> <5fmhr7$ekp@sps1.phys.vt.edu> On 6 Mar 1997 13:46:15 -0000, nurban@sps1.phys.vt.edu (Nathan Urban) wrote: > >Uh, hello? "Experienced developers who ... have budgets to spend on ... >development tools"? Let them buy it then! Rule #1 of economics: >charge money to the people who can afford to pay it. > Rule number 1 of successful marketing: get your secondary products into the hands of people who can help you sell your main product. Apple wants to sell computers. Apple wants to Macintoshes. Apple wants to be a player in the Enterprise market. Apple needs to get real world developers using their tools. Apple needs to seed the market. I can talk til I'm blue in the face about how wonderful EOF is, but that's a hill of beans next to having an architecture person from a potential client to play with the tool. Ditto for Objective-C and DO and the AppKit and IB and ........ Gotta get the product into the hands of people who'll be making the decisions. > >Besides, if students can't afford Rhapsody development tools, then where >are companies going to hire new programmers from? > If you're a bright student who learned how to program, the rest is lagniappe for a company. You'll get hired, you'll learn the tools being used, you'll learn how to design applications (instead of "write algorithms," which is the focus of CS degrees). This especially true with OpenStep. It's so much easier to use, and developers are so much mroe productive in it, that the learning curve is simply not a significant issue for entry-level programmers. >> Not the kiddies who, if they get lucky, will someday be entry-level >> coders. > >Don't be insulting. > You respect all your cohorts ? How strange. Cheers, Andy
From: nouser@nohost.nodomain (Thomas) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 06 Mar 1997 11:33:18 -0800 Organization: home Message-ID: <tz8afog4xz5.fsf@aimnet.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <markeaton_-0103971953190001@ip73.santa-clara7.ca.pub-ip.psi.net> In-reply-to: markeaton_@_mindspring_._com's message of Sat, 01 Mar 1997 19:53:19 -0800 Fcc: /u6/users/tmb/mail/x-nout In article <markeaton_-0103971953190001@ip73.santa-clara7.ca.pub-ip.psi.net> markeaton_@_mindspring_._com (Mark Eaton) writes: I'm agnostic on the language issue, but templates are an evil abomination. The semantics of templates in C++ may not be perfect, but the functionality is very important for many applications. Maybe you don't need them in your applications; I do, and, regrettably, while Objective-C has a better object model than C++, its lack of templates or similar constructs is a limitation in some applications. Thomas.
From: nouser@nohost.nodomain (Thomas) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 06 Mar 1997 11:27:44 -0800 Organization: home Message-ID: <tz8bu8w4y8f.fsf@aimnet.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <markeaton_-0103971953190001@ip73.santa-clara7.ca.pub-ip.psi.net> <5fcngf$7dd@lal.interserv.com> In-reply-to: JamesCurran@CIS.CompuServe.com's message of Sun, 02 Mar 1997 20:26:31 GMT Fcc: /u6/users/tmb/mail/x-nout In article <5fcngf$7dd@lal.interserv.com> JamesCurran@CIS.CompuServe.com (James M. Curran) writes: There is no technical reason adding new methods to existing code couldn't be done in C++ -- except that the designers of C++ realized that this is a violation of type safety, and specifically disallowed it. I know the designers of C++ were smarter than that. It is perfectly type-safe to add methods to existing classes, which is why you can actually replace substitute instances of a derived class for instances of a base class in C++ in the first place. The technical reason for why it is difficult to add new methods to existing code in C++ is how method dispatch is commonly implemented in C++. The C++ object model made particular tradeoffs between flexibility and performance, different from Objective-C. Which tradeoff is "better" depends on the application. I think the development of systems like ActiveX, SOM, and Corba shows that people want more flexibility for the applications that C++ is being used for, and Lippman in "Inside the C++ Object Model" also has second thoughts. Thomas.
From: apuleius@ix.netcom.com (William Grosso) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Fri, 07 Mar 1997 01:53:37 GMT Organization: Netcom Message-ID: <331f6ea2.1358032@nntp.ix.netcom.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> On Sun, 02 Mar 1997 20:26:38 GMT, JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > > But, only if you are willing to put up with widespread ineffeciency. >I doubt most programming will. I suspect that for the major of ObjC >code, classes are used for only the most heavyweight object -- just >the places where it's advantages outweigh it's shortcoming -- and fall >back on straight C for the rest. > I certainly don't do that. I doubt anyone else does either. Sometimes I do write a chunk (say, <100 lines) of "optimized" C-code. I'd say that happens once per 20 K or so lines of code. The worst reasonable estimate I've ever seen for Objective-C put the performance penalites at roughly 1.5 times the speed of C++. A more likely estimate is probably on the order of 1.25 or so. On the other hand, Microsoft Word (written in C and C++) has an architectural performance hit that goes off the Richter scale (gotta love the dancing paperclip though). It goes like this: if we can refactor and restructure our objects and applications over the application lifecycle, then we get more object reuse and can avoid the architectural performance hit. Most of the time, it's worth the 1.25 hit. > > I can't see ObjC programmers writing "light-weight" objects in the >manner C++ programmers do: For example, a C++ program will often have >one or more class with NO member data, and all its methods inline -- >technically, it doesn't exist -- but it does model a concept, and is >useful. Well, go work for an Objective-C shop and learn to write code then. Hell, I learned C++ (and wrote a fair amount of C++ code) before I ventured opinions on usenet about it. I've written stateless objects plenty of times. They're stunningly useful, especially when they actually exist (rather than just as collections of functions). Rather than get into your prejudices, let me just summarize: Yes, there is a local performance hit. No, it's nowhere near as bad as you think. Yes, we do all sorts of cool OO things, including stateless objects and all 23 of the GOF Design patterns (and all the patterns from POSA as well). In fact, we can, thanks to the runtime and dynamic language, follow OO even more strictly and do things like object serialization (e.g. information hiding even when making objects persistence). And, even more truly, things like EOF are possible in dynamic languages and not in C++ (trust me-- going to ODBC and DAO after EOF is more than a little painful). > > No we don't need to make "refactoring, restructuring, and extending >classes as painless as possible" for exactly the reason you state. >If you can change the properties of a class willy-nilly, you destroy >type safety, and lead to programmers making the quick hack in the >wrong place which is what you are tryng to prevent. This is a religious issue. As opposed to the above, where you are misinformed about the cost of the run-time and about standard practices. You like strong typing. C'est la vie. Different strokes for different folks. It takes all kinds. Still, I would refer you to _Static Typing and Other Mysteries of Life_ by Bertrand Meyer (available from the ISE web site) . From the paper: "The C++ approach, where you can still 'cast' -- that is to say convert-- a value into just about any type, defeats in my view the principle of static typing." Rather an interesting read. Should be required for those who think C++ protects programmers from type errors. The flat out truth is that as long as C++ has old-style casts, it is *less* safe than Objective-C (which allows for arbitrary conversion, but also supports object reflection). > Then we have the ObjC method of defining things as "id" and then >casting them to what they really are. This is exactly the type of >"quick hack" that leads to architectural failure. > Again, a complete misunderstanding of common practice. Bad code can be written in any language. Good Objective-C code doesn't go around, willy-nilly converting types. We use weak typing where it's beneficial, and strong typing where it's appropriate. As to C++'s support for the application lifecycle, I refer you to Richard Gabriel's recent collection of essays (_Patterns of Software_). Let me just add that I have never seen a C++ application age gracefully. Cheers, Andy
From: markeaton_@_mindspring_._com (Mark Eaton) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Thu, 06 Mar 1997 20:10:55 -0800 Organization: MindSpring Enterprises Message-ID: <markeaton_-0603972010560001@ip205.santa-clara6.ca.pub-ip.psi.net> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <markeaton_-0103971953190001@ip73.santa-clara7.ca.pub-ip.psi.net> <5fcngf$7dd@lal.interserv.com> In article <5fcngf$7dd@lal.interserv.com>, JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > In > <<markeaton_-0103971953190001@ip73.santa-clara7.ca.pub-ip.psi.net>>, > markeaton_@_mindspring_._com (Mark Eaton) wrote: > > >You went off on a tangent to the original issue. ObjC is dynamic, C++ is > >static. The algorithm is irrelavent. If you have a on object in ObjC that > >doesn't implement a necessary method, you can easily add one with a > >Category - even without source code. In C++ you are SOL. > > There is no technical reason adding new methods to existing code > couldn't be done in C++ -- except that the designers of C++ realized > that this is a violation of type safety, and specifically disallowed You just said 'there is no technical reason you can't other than the fact that it is specifically disallowed'. Nice bit o' logic there... > >> > >> Array<Thingee> MyArray; > >> > >> sort(MyArray.start(), MyArray.end()); > >> > >> "sort" is part of (soon-to-be) Standard C++ library, and is provided > >> as a template. Which means that from just the lines I gave above, the > >> compile will build an sort function customized to the needs of MyArray > > >It will not be customized. It will create a copy of the sort function > >which uses appropriately typed interfaces. No other optimization occurs. > > Yes, they do, particularly when inline functions are used. (In C++, > most member access & comparison functions are defined as inline). For > example, given the following silly code: > [code example munched] you can't attribute the benefits of inlining to templates. Other than inlining, which is an orthogonal language feature to templates, no optimizations are performed. > As for the rest of your worries...(no oper= when the class uses a > pointer). If the class does use a pointer, the class designer should > have included a oper= (and a virtual destructor) -- this is > Programming 101 stuff. If he didn't, he's an idiot, and you shouldn't > be using his class -- there are probably many more bugs in it. > OTOH, if he did design it properly, but for some reason, just doesn't > want objects copied, he should have declared the oper= private, which > would prevent you from using it (and prevent the compiler from > creating a bitwise copy function), so again, no problem. Calling the original author all the names in the book isn't going to help you. > >Code that truly is speed sensitive should not be written in either. If you > >are willing to pay an abstraction penalty, ObjC (or more specifically a > >dynamic runtime) is better. > > Wait -- you're saying that if I want it fast, I should code the sort > routine for a array of C++/ObjC objects, for which I do not have the > source code --- in ASSEMBLER???? That's crazy. Besides taking months > (instead of the 30 seconds it would take to write the one line in > C++), it would certainly fail the next time the framework was > updated. Is that what I said? Did I mention assembler AT ALL? No. I said if _you_ are _willing_ to pay an abstraction penalty for an *object* *oriented* sort function, you will be better off with a dynamic version (which can sort on objects that it didn't even know about at compile time). > >Not to mention the fact that since templates and template functions > >generate an entire copy of the class or function each time you use it, > >code bloat goes way up. So in a real life application liberal use of > >templates will probably backfire due to cache overflow and excessive VM > >paging. > > This is not quite accurate. The template generated code is included > once per executable, not once per use (ie, if you sort an array in > five different spots in your program, only one copy of the sort > function is produced). It would generate separate functions if you > used it on different object. But in your example, you would have to But if I want to sort five different types of things, I get five copies of the same function, which differ only in their type. Talk about efficient. (not to mention the fact that the spec for templates leaves it up to the implementor to determine exactly where that code is stored. most implementations will just shove it right after the section it is first called from. which means you won't be able to tune your code for cache usage) > > >I'm agnostic on the language issue, but templates are an evil abomination. > > Templates allow you to do truly amzing things in programs, giving you > all the design speed & ease of the latest RAD development system, > without the code bloat and interpetive layers they add. I suggest > that you attend an advanced level course (or at least a seminar) on > the use of C++ templates. You'll realize that they are the future of > programming..... Oh now this is rich. Does Java have templates? Of course not. Why would you need them in a dynamic language? Gee, and I thought there was a lot of momentum building behind that language. Guess all those Jave programmers really wanted the 90s equivalent of macros... P.S. I program in C++ professionally, and have done so for many years now. I thankfully look forward to earning a living writing in a dynamic language like Java or ObjC. ---> markeaton_@_mindspring_._com
From: MaRK_BeSSeY@NeXT.CoM (Mark Bessey) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: 7 Mar 1997 07:21:10 GMT Organization: NeXT Software, Inc. Message-ID: <5fofl6$pis@news.next.com> References: <199703061301591275778@pool011-119.innet.be> Luc Dubois writes > "OPENSTEP is either". > > This is a real problem and is exactly what I was saying and which > i.m.h.o. is confusing. OPENSTEP for Mach *is* the OS, while OPENSTEP for > Windows NT is a framework (delivered in the form of libaries and a set > of APIs) on top of an "host" OS (or should that be a "client" OS ;-)). I fully expect that this will be much less confusing in the new world. The OPENSTEP for NT product and the Rhapsody OS will have different names, I bet. > If Apple can continue this (keeping the lib and api in sync with the > real OPENSTEP OS) and maybe (hopefully) porting it to every other OS in > the world, Apple developers gain an enormous competitive advantage. I am > really excited about this! We could deploy all our software on all > platforms, just by using the new Apple development environment. If that > doesn't leverage more sales of Apple computers as the preferred > development solution, I don't know what will. I don't even dare to > imagine how this could evolve over time, when most computers out there > will be equipped with this OPENSTEPLIB...! Can you? Hey, that's why I'm (still) here. NeXT had some truly great, world-beating technology (Objective-C, PDO, EOF, for instance), but they never really got the word out. Just the thought of what thousands of creative Mac developers will come up with is mind boggling... > Now, if only Apple would turn this ugly ULTRA-FAT-Binary technology into > "Slim-Binaries" by utilising Semantic Dictionary Encoding, they could at > the same time and in one fell swoop pull control over the internet from > under Microsoft as well (OK, Microsoft doesn't yet control the Internet, > but they have every intention of trying to get it). That's an interesting idea, but we'd be swimming against the tide. How about this: If we have the OpenStep library on a large % of desktops, and an OpenStep-to-Java interface, we can leverage the platform-independence of Java with our kick-butt native-code class library... > What an exciting year we have ahead of us! Now, *THAT'S* an understatement... -Mark -- Mark Bessey Apple Computer, Inc. -->I DON'T SPEAK FOR APPLE<--
From: yannick buisson (université de La Rochelle) Newsgroups: comp.sys.next.programmer Subject: raise exception !! Date: 7 Mar 1997 09:09:24 GMT Organization: Universite de La Rochelle Message-ID: <5fom04$frd@hpuniv.univ-lr.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Hi , i want to intercept an error that is generated by a raise exception in an oracle stored procedure !! In NextStep, the willreport:error: delegate method do that but how can i do in OpensStep 4.1 EOF2.0 ??? thanks for your help YANNICK -- //// (. .) ----oOO--(_)--OOo-------------------------------------------- Yannick BUISSON Centre de Ressources Informatiques Université de La Rochelle tel prof. : 46 45 82 14. fax prof. : 46 45 82 45. yannick@cri.univ-lr.fr
From: pjbrew@spam.free.zone--(ix.netcom.com) (Phil Brewster) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: Fri, 07 Mar 1997 02:49:02 -0700 Organization: Netcom Message-ID: <pjbrew-0703970249020001@slc-ut3-10.ix.netcom.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <5fcnhe$7dd@lal.interserv.com> <pjbrew-0603971234550001@slc-ut4-22.ix.netcom.com> <qdu3mokcdd.fsf@blues.cygnus.com> In article <qdu3mokcdd.fsf@blues.cygnus.com>, Stephen Peters <speters@cygnus.com> wrote: > pjbrew@spam.free.zone--(ix.netcom.com) (Phil Brewster) writes: > > > In article <5fcnhe$7dd@lal.interserv.com>, JamesCurran@CIS.CompuServe.com > > (James M. Curran) wrote: > > > > Apple, on the other hand, has studies that show that people who have > > > used a Mac for years, are more productive on a Mac than they are on > > > Win95 upon first seeing it. > > > > Still waiting for proof on this last point, James..... > > > > The fact that you keep repeating it doesn't make it so. > > To be honest, even without the proof, I'd find it hard to dispute as > written above. People who have used a Mac for years are more > comfortable using Macs than if you throw them into a new environment. > That's a far from surprising result, similar to any claim that people > who've been using Win95 since its release are more productive on Win95 > than they are on the Mac when first thrown into it. > > Do you honestly think that people who have used one system for years > won't be more productive on that system than if you suddenly throw > them onto something else? > > -- > Stephen L. Peters speters@cygnus.com > PGP fingerprint: BFA4 D0CF 8925 08AE 0CA5 CCDD 343D 6AC6 > "What, do you think soup is a biped?" -- Crow, MST3K As a general statement such as you have formulated it in your final question, it is of course true. As a statement about the computer satisfaction study that Evans conducted, it is false, though James keeps claiming that it is true anyway. The study was based on random samplings from dual-platform companies and from users who had experience on both Mac and Win95. James believes that since the study was conducted in March-April 1996, these users did not have a chance to become sufficiently familiar with Win95 to feel comfortable with it or judge it fairly, which is at least a possibility (though it is not exactly a compelling argument in favor of Win95 for productivity or ease of use if it takes that long to get used to, IMHO....). Yet he further believes for no apparent reason except to prop up his pseudo-argument that they all used Macs and nothing else for years before then, discounting for no reason except stubborn blindness all those dual users who had used Win3.x along with Mac as well as all those who had used Windows as their primary platform of choice at these companies in the years before the release of Win95 and before the study was conducted. In other words, he is falsely generalizing from approximately one-third of a randomly selected dual-user pool to explain away the results of the study: results which favored the Mac across the board. Of course, if I were a Windows advocate I would probably want to repress the memory of Win3.x too..... In brief: I have shown his generalization to be false in at least two detailed posts since January to which James has never responded, though he has kept repeating his misleading claim about the Evans study once every month or so since then, typically in the form of brief asides such as this most recent one and outside the framework of the original thread, which has been dormant since January 14 and one of my posts in response to his claims. Now for all I know, I've been relaxing comfortably in his 'killfile' all this time or his news server 'ate his homework' or he's been too busy to read everything in this NG on a regular basis, so maybe none of this has been getting through..... In any event, thanks for posting, Mr. Peters. Search AltaVista or DejaNews under 'Evans Research' and you'll probably find the thread leading up to this from January 11-14 if you're interested. You can also check under 'Evans Study Arguments' for my more recent summary from about a month ago the last time this happened, but the key points are contained in the summary paragraph above. IMO, the most objective 'ease-of-use' comparison between MacOS and Win95 was conducted by "PC World" in Feb. 1996 (p. 147), since it was a 'blind-folded user' test, which neither the Evans study for Apple nor the study that Microsoft sponsored in November 1995 were. It's something of a truism that an experienced user will rate even a Unix-based system as 'easy to use' and/or be able to perform productivity tasks very quickly even with a <*mock shudder*> CLI, so the fact that the "PC World" test had users accomplishing the same types of tasks on platforms they had not previously used made it a more accurate overall test of usability, in my view, than either the Apple- or the Microsoft-sponsored studies. In all cases, the people involved in the tests were using one of the other OS'es as their 'real-world' OS of choice (MacOS, Win95, NT, or OS/2), but were only asked to evaluate the one they tested on. The MacOS was rated more highly by a slight margin than Win95, with both being rated more highly than NT or OS/2 -- and <ahem> it was experienced Win95, NT and/or OS/2 users who rated the MacOS thus. Of course, the spoiled Mac users too inept to handle a 'technically sophisticated OS' must have sabotaged the 'ease-of-use' rankings of the other OS'es out of sheer fanatical hatred of Microsoft and IBM, right, Wintel and OS/2 advocates?..... ;-) Cheers, -- Phil Brewster <pjbrew @ ix. netcom. com> ".... if it ain't broke, it doesn't have enough features yet". -- Scott Adams, The Dilbert Principle [1996], p. 174
From: wretched-excess@verbiage.com (John De Hoog) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Nice interview with Amelio Date: Fri, 07 Mar 1997 10:36:32 GMT Organization: Look, Mom, I'm On the Internet! Message-ID: <3323ef30.178678886@news.alt.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <3318b3b1.259720578@library.airnews.net> <5fbm7o$18u@bignews.shef.ac.uk> <331b6372.304713214@library.airnews.net> <Yn6Omsi00iWm03O_o0@andrew.cmu.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Charles William Swiger <cs4w+@andrew.cmu.edu> earlier said: > >An "offline Web browser" is an oxymoron. It's also IMHO a really stupid >idea, and the lack of such is no loss. That may be your opinion, but it is hardly universal. Read this: April Issue of Internet World Magazine Reviews Offline Web Browsers Source: Business Wire WESTPORT, Conn.--(BUSINESS WIRE) via Individual Inc. -- As the popularity of the Internet continues to grow, bandwidth and instant access have become pressing issues facing users of the Internet. Internet World magazine looks at the "offline" browsers that offer access to information, even when someone is not actively on the Internet. "Professionals and other users are going to rely heavily on the Internet in the near future for up-to-the-minute information and other Web-related business," said Alan M. Meckler, chairman and CEO of Mecklermedia (NASDAQ: MECK). "These software packages provide a wide variety of information directly to your PC eliminating the need to search for URL's." Internet World's "Speed Browsing" article provides a critical review of 10 popular offline browsers that work in concert with the two market-dominating online browsers, Netscape Navigator 3.0 and Microsoft Explorer. Many of these programs allow users to package Web pages collected and to export them to another computer for office presentations or home viewing. "When you begin to use an offline browser, you also may find that you are collecting far more material than you need," said Ted Stevenson, senior editor, Internet World who wrote the article. "An offline browser will eat up some of your time at first, but in the long run, it will help you see more of the Web in less time." ------- John De Hoog, Tokyo (remove-)excess@verbiage.com
From: Christian Neuss <neuss@informatik.th-darmstadt.de.NOSPAM> Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: Re: help me with ppp Date: 7 Mar 1997 14:24:10 GMT Organization: Technische Hochschule Darmstadt Message-ID: <5fp8ea$hkd@rs18.hrz.th-darmstadt.de> References: <jlimpert-0503971833060001@edit86.edit.pathfinder.com> jlimpert@pathfinder.com (john limpert) wrote: >i have nextstep 3.3 for intel and a pc w/ 28.8 modem. > >how do I get a ppp connection to the internet established?? Open Digital Librarian and load /NextLibrary/Documentation/NextAdmin. Then search for PPP. The manual describes step by step what you need to do to get connected. Chris -- // Christian Neuss "static typing? how quaint.." // http://www.informatik.th-darmstadt.de/~neuss/ // fax: (+49) 6151 16 5472
From: droleary@alpha.temporal.org (Doc O'Leary) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: 7 Mar 1997 16:16:53 GMT Organization: University of Minnesota Message-ID: <slrn5i0frh.9oa.droleary@alpha.temporal.org> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> <331dc772.73186408@news.inlink.com> <19970305211434201081@brainerd-dial-27.uslink.net> <5fmlkl$19q@nnrp1.news.primenet.com> On 6 Mar 1997 07:51:01 -0700, John Jensen <jjens@primenet.com> wrote: >I don't know, you might be right, but I've always thought it was a mistake >for OS vendors to treat devleopment tools as a profit center. I'm sure >there is a component to develper tools that are "extra" and should be >charged for, but I think there is also a component that is pure marketing. I feel the same way. One of the reasons I gave up on the Mac and passed on NeXT was that I couldn't get cheap development tools. I am amazed that developers, who do their part by supporting a platform, are not treated better. I'll pay for extras like Interface Builder, but give every user the chance to program by keeping the compiler free. >If Rhapsody goes to developers at $250 (plus paperwork), only committed >developers will buy it. If Apple can build Rhapsody as a platform with >that core group, great. It wouldn't be so bad if that were the only cost, but if I get back into Macs I'm going to have to drop an order of magnitude more than that on new hardware. It would be nice if Apple worked out some free Developer + Final release with the purchase of a new PPC. Extra points if the machine is supported by Mklinux (so I can ditch my PC completely). >When I think about it, treating developers as a profit center _now_ would >be the _final_ stupidity. Nothing exists in a vacuum, to win Apple has to >first pull developers and then pull users from other platforms. Absolutely. Every devloper they bring in now gives them more leverage not only over their new OS, but over every system that OpenStep is on. If they play their cards right, Apple can turn NT to their advantage. --------- Doc -- Copyright 1997 by Doc O'Leary. Author of the wildly unsuccessful "DOS and Windows for People Who Still Have a Clue"
From: marc@doublon.unice.fr Newsgroups: comp.sys.next.programmer Subject: Preview PS Date: 7 Mar 1997 16:29:57 GMT Organization: University of Nice Sophia-Antipolis Message-ID: <5fpfq5$uep$1@malibu.unice.fr> Hi, where I can find an example of programmation make the same thing like preview with PS multipages (backward, forward between the page of a PS document). Thanks...
From: giddings@animas.chem.wisc.edu (Michael Giddings) Newsgroups: comp.sys.next.programmer Subject: Compiling individual component of aggregate project? Date: 7 Mar 1997 16:51:11 GMT Organization: University of Wisconsin - Madison Distribution: world Message-ID: <5fph1v$2ur6@news.doit.wisc.edu> Using OS/4.1 (both NT and mach) I have a project that consists of a group of bundles which I generally want compiled and installed as a group, so I used the aggregate feature of Project Builder to group them together. The one problem with this is I can no longer compile an individual bundle by itself. This is a hassle if, for example, I am making a lot of changes to only one bundle and re-compiling it a lot. Or if I want to change the build type of a single bundle to "debug" for use with GDB. Currently if I change build-type, it re-builds ALL the bundles no matter what I do. If I go into the directory and double-click the PB.project for an individual bundle, it just brings up the aggregate project again. It even does this if I remove the aggregate project's PB.project and makefiles. Anyone else have experience with this? I'd like a way to selectively build just one sub-project within an aggregate. I didn't see it in the documentation but maybe I missed it. Thanks! -- Michael Giddings giddings@chem.wisc.edu giddings@barbarian.com (608)258-1699 or (608) 692-2851 http://smithlab.chem.wisc.edu/PersonalPages/giddings/giddings.html http://www.barbarian.com
From: sschaper@inlink.com Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: Fri, 07 Mar 1997 17:01:52 GMT Organization: InLink Message-ID: <33204896.6745840@news.inlink.com> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> <331dc772.73186408@news.inlink.com> <5fl6fc$8mu@nnrp1.news.primenet.com> <331f2b7d.20505173@news.inlink.com> <5fnc5i$k0p$2@majipoor.cygnus.com> On 6 Mar 1997 21:15:30 GMT, jrudd@cygnus.com (John Rudd) wrote: >No, but it's a good model for Apple to investigate... > >If you're a non-commercial user who only needs 1 license, or a single-user >system, why not give it away for evaluation? If not forever, then what about >for the first year? or just the first (pre-unified) release? > Exactly, Apple is up against MacOS and BEOS and needs to do all it can to get the vast majority of present Mac users to convert. I think that the developers releases and the first public release with a solid Blue Box should be free, plus costs, shipping and handling, like the BSD release you referred to. Possibly even putting it in magazines. I would even do this with the Win95 version of OpenStep. For a limited time only. Then, future releases, that encorporate QTML and other technologies into Yellow Box, charge the usual Apple System upgrade prices for it. Use the Microsoft plan of grabbing the market with free products. Apple has _got_ to get market share for NeXTStep, at least as much as it presently has with MacOS.
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.mac.programmer.codewarrior,comp.sys.mac.system,comp.sys.next.programmer Subject: Re: Mac/NeXT & Unix: File System Date: Fri, 07 Mar 1997 12:28:50 -0500 Organization: SoftArc Inc. Message-ID: <maury-0703971228500001@199.166.204.230> References: <5ddp66$jpc@news.bu.edu> <5dtpb5$h4t@news.bu.edu> <Mn1TiBm00iVC81ZnAQ@andrew.cmu.edu> <AF2E42E196681EFC18@node50.tfs.net> <5eb9r5$iv2@csugrad.cs.vt.edu> <AF39A1D79668E697E@pm3-p20.tfs.net> <5f1qoe$8dp@spool.cs.wisc.edu> In article <5f1qoe$8dp@spool.cs.wisc.edu>, Steve Barnet <"mailer-daemon"@[127.0.0.1]> wrote: > I don't think it's necessarily impossible, but it will be necessary to > change some of the underlying assumptions in the system design. In some > cases this may result in changes that are visible to the user. This is > not necessarily a bad thing. If the advantages outweigh the disadvantages > (in the eyes of the average user), such changes can be accepted with > relatively little outcry. I doubt the later. On my Mac a double click opens the correct application about 80% of the time. On my NT box it's about 40%. > If, on the other hand, they would like to penetrate corporate environments > and grab an appreciable chunk of the server market, they will have to make > some hard choices. Agreed. Who's journaled file system to use? NeXT doesn't have one. Who's system should we use to make Mac files invisible to the OS? NeXT doesn't have one. Who's system to support ACL's? NeXT doesn't have one. Who's system to give guaranteed throughput for multimedia applications? NeXT doesn't have one. Looks to me like it's a tough choice regardless. > UNIXish systems dominate the server market The server market is small though, judging by sales of NT server (about 3 million a year). Even Apple's tiny market share sells about the same. They have to please both camps, and FFS isn't the solution. NTFS may be. XFS may be. I would suggest that the time to choose is soon though. Maury
From: shess@one.net (Scott Hess) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 7 Mar 97 10:19:14 Organization: Is a sign of weakness Message-ID: <SHESS.97Mar7101914@howard.one.net> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <331f6ea2.1358032@nntp.ix.netcom.com> In-reply-to: apuleius@ix.netcom.com's message of Fri, 07 Mar 1997 01:53:37 GMT In article <331f6ea2.1358032@nntp.ix.netcom.com>, apuleius@ix.netcom.com (William Grosso) writes: On Sun, 02 Mar 1997 20:26:38 GMT, JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: >But, only if you are willing to put up with widespread >ineffeciency. I doubt most programming will. The worst reasonable estimate I've ever seen for Objective-C put the performance penalites at roughly 1.5 times the speed of C++. A more likely estimate is probably on the order of 1.25 or so. On the other hand, Microsoft Word (written in C and C++) has an architectural performance hit that goes off the Richter scale (gotta love the dancing paperclip though). It goes like this: if we can refactor and restructure our objects and applications over the application lifecycle, then we get more object reuse and can avoid the architectural performance hit. Most of the time, it's worth the 1.25 hit. Rhetorical questions: If you can easily restructure your object hierarchy, will you? If a 50% performance improvement requires that you restructure your object hierarchy, would you rather have a language which makes such restructuring easy? Would you rather have a language which gives you 100% of the theoretical performance on a given algorithm, at the expense of the flexibility to change to a faster algorithm? There are certainly many areas where C++ wins over Objective-C due to message dispatch overhead. OTOH, the _vast_ majority of programmers aren't working in those areas, and this issue is mostly a religious thing, with no basis in fact. The message dispatch overhead only is a factor when you compare identical algorithms. Objective-C has distinct advantages over C++ in terms of restructuring your code. One of the simplest advantages, which C++ advocates claim is a disadvantage, is the loose binding. You can make even fairly radical changes in structure in stages - you don't have to make the _complete_ changeover from the get-go. This often allows you to start the changeover, then measure the advantage, and make the decision about whether to go forward without much time lost. I know that (at least in my case) this can make for programmers who are somewhat more willing to disrupt the current system to get to the desired system. I also know that (at least in my case), it _works_. On one project, it got to be sort of a joke that every six months we found a 50% performance gain. While admitting that this was in part due to excellent design, which allowed us to make big changes in one part of the code with little effect on other parts, it's also substantially related to the language designed in. _Now_ I'd have no problems porting to C++ from Objective-C. The project has become very stable, and everything has been optimized pretty close to perfection. But during development, Objective-C was essential, and we couldn't have done it with C++. [I'll also grant Smalltalk could have done it with ease, and _perhaps_ Java.] Later, -- scott hess <shess@one.net> (606) 578-0412 http://w3.one.net/~shess/ <Favorite unused computer book title: The Idiots Guide to the Zen of Dummies in a Nutshell in Seven Days, Unleashed>
From: Stephen Peters <speters@cygnus.com> Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: 07 Mar 1997 09:59:56 -0800 Organization: Cygnus Solutions Message-ID: <qdbu8vy44j.fsf@blues.cygnus.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <5fcnhe$7dd@lal.interserv.com> <pjbrew-0603971234550001@slc-ut4-22.ix.netcom.com> <qdu3mokcdd.fsf@blues.cygnus.com> <pjbrew-0703970249020001@slc-ut3-10.ix.netcom.com> pjbrew@spam.free.zone--(ix.netcom.com) (Phil Brewster) writes: > In article <qdu3mokcdd.fsf@blues.cygnus.com>, Stephen Peters > <speters@cygnus.com> wrote: > > Do you honestly think that people who have used one system for years > > won't be more productive on that system than if you suddenly throw > > them onto something else? > > As a general statement such as you have formulated it in your final > question, it is of course true. > > As a statement about the computer satisfaction study that Evans conducted, > it is false, though James keeps claiming that it is true anyway. Ah. I misunderstood what was being argued. Mea culpa. -- Stephen L. Peters speters@cygnus.com PGP fingerprint: BFA4 D0CF 8925 08AE 0CA5 CCDD 343D 6AC6 "What, do you think soup is a biped?" -- Crow, MST3K
From: embuck@palmer.cca.rockwell.com (Erik M. Buck) Newsgroups: comp.sys.next.programmer Subject: Re: Developing for Rhapsody Date: 7 Mar 1997 16:27:06 GMT Organization: Rockwell Avionics - Collins Message-ID: <5fpfkq$c3f@castor.cca.rockwell.com> References: <5fkqpq$1nhm@atlas.vcu.edu> <331E6D78.4784@wam.umd.edu> <331EF97A.3C4A@dit.ie> Cc: dryan@dit.ie I1. Still worth reading. Some things are different now but the book doesn't rely on these things too much.
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.next.programmer Subject: Re: Run NeXT on SOM? Date: Fri, 07 Mar 1997 12:38:13 -0500 Organization: SoftArc Inc. Message-ID: <maury-0703971238130001@199.166.204.230> References: <bayleyp-ya02408000R0503970024530001@news.dnc.net> In article <bayleyp-ya02408000R0503970024530001@news.dnc.net>, bayleyp@dnc.net (bayleyp) wrote: > Any news if Apple will use System Object Model in NeXT? I can already > compile SOM objects using Obj-C, but I can also choose any other language > with SOM bindings. SOM's a great solution if your current object model only runs on one machines and you have to talk to others. In other words it's a good idea for the current Mac OS. SOM's not so handy if your object model already runs on multiple machines and is shared. In other words, it's not such a great idea under NeXT. Maury
From: shess@one.net (Scott Hess) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Avie confirms Rhapsody on Intel too. Date: 7 Mar 97 11:30:23 Organization: Is a sign of weakness Message-ID: <SHESS.97Mar7113023@howard.one.net> References: <al.856919430@BIX.com> <nagleE66yn1.KA@netcom.com> <3313c6ab.20970787@news.alt.net> <petrichE67wqo.LA8@netcom.com> <maury-2602971618300001@199.166.204.230> <5f2avt$fge$2@news.xmission.com> <5f5m5n$nvv@lal.interserv.com> <5fblc9$31e$2@news.xmission.com> <5fd190$a7f@lal.interserv.com> In-reply-to: JamesCurran@CIS.CompuServe.com's message of Sun, 02 Mar 1997 23:13:11 GMT In article <5fd190$a7f@lal.interserv.com>, JamesCurran@CIS.CompuServe.com (James M. Curran) writes: In <<5fblc9$31e$2@news.xmission.com>>, don@globalobjects.com (Don Yacktman) wrote: >JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: >> By "short-circuit the compile process" you mean "delay until >> run-time" which means instead of waiting just once, you have to >> wait for this process to be done every time you run it. > >Um, the "wait" is on the order of microseconds...if not >nanoseconds. It isn't like you are recompiling or anything. >You're assigning two pointers, one for the target object and one >for the message to send. Even in C++ you're going to have to at >least assign a pointer to the target. If you use the command >pattern, you have to instantiate an object that in Objective-C >would be redundant. But they will still have to look up the address of the method based on the hashed selector, before you assign the pointer. If you know you will be calling the same method over & over (as with the sort example we're discussing elsewhere) where the ratio of use to look-up is 20:1 or so, than the lookup time fades to insignificance. But, for most methods the ratio is closer to 1:1 inwhich case that time has to be factored in. Measured overhead due to Objective-C message dispatch tends to be around 10%. I've measured this in my own programs, other people measured it in theirs, various research has demonstrated it. It's not a big deal. 10% does not make or break a program. [And as I've posted elsewhere, you can generally make up that 10% due to the ease of restructuring your program to take advantage of algorithmic improvements. If Objective-C allows you to revise your structure 30% more quickly than C++, you can restructure in Objective-C three times for every two times in C++. Most larger modules go through many more than three generations.] Later, -- scott hess <shess@one.net> (606) 578-0412 http://w3.one.net/~shess/ <Favorite unused computer book title: The Idiots Guide to the Zen of Dummies in a Nutshell in Seven Days, Unleashed>
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.next.programmer Subject: Re: Mac/NeXT & Unix: File System Date: Fri, 07 Mar 1997 12:23:08 -0500 Organization: SoftArc Inc. Message-ID: <maury-0703971223080001@199.166.204.230> References: <5ddp66$jpc@news.bu.edu> <5dtpb5$h4t@news.bu.edu> <Mn1TiBm00iVC81ZnAQ@andrew.cmu.edu> <AF2E42E196681EFC18@node50.tfs.net> <5eb9r5$iv2@csugrad.cs.vt.edu> <AF39A1D79668E697E@pm3-p20.tfs.net> In article <AF39A1D79668E697E@pm3-p20.tfs.net>, tbutler@tfs.net (Travis Butler) wrote: > >It's easy to do, within _reasonable_ constraints. The 'me' account is > >quite good at fooling people into thinking the machine is a single-user > >one. But once you start doing idiotic things like writing > >information about which application should open a document directly into > >the filesystem, > > Again, I think your prejudices towards a multiuser system are showing. It's > only 'idiotic' -- not that I think it's even that -- in a multiuser > setting, and IMHO makes a heckuva lot of sense in a single-user setting. > This is exactly the sort of thing I was talking about, where a multiuser > capacity that few will use should take second fiddle to making it better > for single users. The argument fails when you consider that the current Mac system which "forces it to be single user" is simply an implementation flaw and could be fixed,most likely trivially. The solution for multi-user operations under Copeland was to have a login system which overrode the Folder Manager (for the NeXTen, the Folder Manager returns file handles to "special" folders like the System folder, no matter where it is, what it's called or which one you ask for. This allows the Mac OS to be moved about, copied whereever, and renamed into local languages as you see fit without it effecting system software) and returned handles that pointed to different Preferences folders for each user. The solution to the "single user problem" is to simply move the Desktop Database folder into the Preferences folders as well, or return personal handles directly from the Folder Manager "blessing" these folders. Either way allows for each user to have their own desktop database, which they can feel free to edit with MEO as they see fit. Trivial. The arguement that the Mac solution can't be made multi-user is void. > And really, it isn't even doing much to the *filesystem* -- just adding an > extra field to a file record for holding creator information, which can > then be used by the higher-level OS for anything you want. A lot of the more "experimental" file systems for Unix (not that there's any real "standard") add the concept of tagging (al-a OS/2's HPFS) which would deal with this problem nicely and remove the need for wrappers entirely. Why NeXTSTEP currently uses one of the most basic file system, building on top one of the most advanced application systems, is something of a quandary. We have file systems with ACL security and centralized control like AFS. We have file systems with guaranteed throughput and automatic journalling (data protection) like XFS. We have file systems with forks or arbitrary tagging like the Mac FS, HPFS and some Unix variants. We have systems with version control like VMS. Then we have the NeXT, with none of these. I think the file system is definitely one of the things that should be standardized on a higher level for Rhapsody. If there's file systems for Unix _right now_ that would support both Mac like features (tagging solves both extended info and resource forks) and more NeXT-like features (tagging is a far better solution than wrappers) I can't see much of a reason not to select one, notably if it makes another vendor happy. For instance, I'm sure SGI would be rather happy if Apple suddenly placed XFS on 5 million machines. > >multiuser system. If you put that kind of information in a _per-user_ > >database, where it belongs, then things work perfectly fine and the user > >is none the wiser. With small changes to the current Mac OS, this is indeed possible - if not trivial. > >Mac users probably prefer the Mac way because it's the only thing they > >know. > > Obviously false in my case, though admittedly I haven't used later versions > of NeXTStep. And it's bogus for most Mac users as well I'd say. I'm a Mac user (and owner), but I spend 8 hours or more a day on a NT 4.0 box. Let me assure you, this file tagging issue is indeed an issue. Notice there's only two lines typically. It's either "NeXT does this better" (when valid of course) or "no one needs that" (when it's not). Maury
From: (Izidor Jerebic) Newsgroups: comp.sys.next.programmer Subject: ObjC advantages (was Re: Avie confirms Rhapsody on Intel too.) Date: 7 Mar 1997 12:14:56 GMT Organization: Select Technology Message-ID: <5fp0s0$46s@lazar.select-tech.si> References: <5fd190$a7f@lal.interserv.com> In article <5fd190$a7f@lal.interserv.com> JamesCurran@CIS.CompuServe.com (James M. Curran) writes: > Hold it.... You talk for a long time about how this ability is useful > in writing an interpreter -- I usage I already knew about. And as I > seen very few real world applications that need an extendably > interpreter, I stated " that ability is rarely needed in real world > applications." ie, I refuted your argument before you even made it. > You responded, by stating that this is useful in working with GUIs, > but instead if justifying that statement, you just rambled on with a > pointless and obvious straitjacket metaphor. So, let us be specific: > What have you done in a GUI, that an average developer or user might > feel the need to do, with IB (or ObjC) that would have been difficult > to do in C++. > For start: writing the application InterfaceBuilder in C++ is impossible :-) Now seriously: Well, one example of extremely productive usage of dynamicity is ability of dynamic loading of classes. The loaded class becomes part of the application name space and can use other classes and be used by application classes. In this way an application can a) consume less memory and b) be customized by third-party extensions. The following example loads the drawing classes only when user requests the graph display of data. - showGraph:(id)data { static Class graphClass ; if( graphClass == nil ) { NSBundle *bundle ; bundle = [NSBundle bundleWithPath:@"Graph.bundle"] ; graphClass = [bundle principalClass] ; } graph = [[graphClass alloc] init] ; [graph showData:data] ; } The main point is again convenience - Graph bundle is just a compiled (not linked) program, containing one or more classes. There is no additional effort involved in creating loadable modules, and almost negligible effort for applications which dynamically load classes. I would say that you can do this in other languages, but the effort is definitely not negligible. Almost every successful application has its own proprietary system of extensions, so this is obviously much needed feature. Unfortunately, everybody is reinventing the wheel (except objc programmers :) izidor
From: (Izidor Jerebic) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 7 Mar 1997 12:30:33 GMT Organization: Select Technology Message-ID: <5fp1p9$4a3@lazar.select-tech.si> References: <5fcngp$7dd@lal.interserv.com> In article <5fcngp$7dd@lal.interserv.com> JamesCurran@CIS.CompuServe.com (James M. Curran) writes: > > But, only if you are willing to put up with widespread ineffeciency. > I doubt most programming will. I suspect that for the major of ObjC > code, classes are used for only the most heavyweight object -- just > the places where it's advantages outweigh it's shortcoming -- and fall > back on straight C for the rest. This would be an architectural > problem. > > I can't see ObjC programmers writing "light-weight" objects in the > manner C++ programmers do: For example, a C++ program will often have > one or more class with NO memeber data, and all its methods inline -- > technically, it doesn't exist -- but it does model a concept, and is > useful. > What you say is about focusing on coding level. Almost any class worth mentioning in a design of a complex application containing several hundreds of classes is (by your definition) heavy-weight. Classes were invented to describe real-life concepts, not numbers or arrays (we had these concepts before OO), and most of them are heavy-weight. If you need to program numerical analysis, you can consult your local physics gurus, what is the language for that - Fortran (even C++ is too hevy-weight for that). izidor
Date: Thu, 06 Mar 1997 19:26:56 -0500 From: joe.ragosta@dol.net (Joe Ragosta) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Message-ID: <joe.ragosta-ya02408000R0603971926560001@news.dol.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <5fcnhe$7dd@lal.interserv.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: 8bit Organization: DCANet http://www.dca.net/ In article <5fcnhe$7dd@lal.interserv.com>, JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > > At this point it should be noted that MS has studies which show that > people who haven't used either system before, become productive faster > on Win95 than on a Mac. > > Apple, on the other hand, has studies that show that people who have > used a Mac for years, are more productive on a Mac than they are on > Win95 upon first seeing it. > > > Truth, > James It's too bad that I have to waste time with your crap. But there's an outside chance that someone will believe it. Apple and MANY, MANY third parties have compared MacOS to Windows and overwhelmingly determined that MacOS is superior. Rather than repeat everything _again_, I'll just refer you to my web site. Microsoft, OTOH, had a SINGLE study which purported to show that Windows was easier to use than a Mac. The instructions were so clearly biased that the trade magazines laughed the study to death. Even Microsoft doesn't use that study any more. -- Regards, Joe Ragosta joe.ragosta@dol.net Visit the Complete Macintosh Web Site http://www.dol.net/~Ragosta/ComplMac.htm
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Preview PS Date: Fri, 7 Mar 1997 15:35:42 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <wn87kSK00iVCE9ebQU@andrew.cmu.edu> References: <5fpfq5$uep$1@malibu.unice.fr> In-Reply-To: <5fpfq5$uep$1@malibu.unice.fr> Excerpts from netnews.comp.sys.next.programmer: 7-Mar-97 Preview PS by marc@doublon.unice.fr > where I can find an example of programmation make the same thing like > preview with PS multipages (backward, forward between the page of a PS > document). How about /NextDeveloper/Examples/AppKit/Yap? Or, you could consult the NeXT FTP archives for BYAP ("Better YAP")... -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: jason@fisher.psych.uh.edu (Jason L. Asbahr) Newsgroups: comp.sys.next.hardware,comp.sys.next.programmer,comp.dsp Subject: NeXT 56001 DSP for image processing? Date: 7 Mar 97 14:45:53 Organization: C.R.A.S.H. The Computers, Robotics, and Artists Society of Houston Message-ID: <JASON.97Mar7144553@fisher.psych.uh.edu> Hi! Forgive this basic question, but is anyone aware of image processing applications of the 56001 DSP -- papers, examples, source? I'm particularly interested in NeXT/56001 combinations, but examples from other domains are certainly welcome. Thanks! Jason Asbahr 808 Sul Ross Suite 7 C.R.A.S.H. Houston, Texas 77006 jason@crash.org (713) 942-7937 voice
From: herren@flannet.middlebury.edu (David Herren) Newsgroups: comp.sys.next.programmer Subject: newbie question Date: Fri, 7 Mar 1997 16:05:06 -0500 Organization: Language Schools of Middlebury College Sender: herren@flannet.middlebury.edu Message-ID: <msg42535.thr-2198a7.f4cdd@flannet.middlebury.edu> Mime-Version: 1.0 Content-Type: text/enriched; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Content-ID: <msg42535.thr-2198a7.f4cdd.part0@flannet.middlebury.edu> I'm attempting to do the tutorials in Gene Backlin's book, "Developing Nextstep Applications." However, I am attempting this under Openstep 4.1 so I have had to make some changes to his suggested code. Here's his suggested code in a cheasy application that is to get the rect of a window: #import "WindowController.h" @implementation WindowController - getTheFrame:sender { NXRect theFrame; [window getFrame:&theFrame]; [originX setFloatValue:theFrame.origin.x]; [originY setFloatValue:theFrame.origin.y]; [sizeWidth setFloatValue:theFrame.size.width]; [sizeHeight setFloatValue:theFrame.size.height]; return self: } @end I know that at least the following changes must be made under openstep: #import "WindowController.h" @implementation WindowController - (void)getTheFrame:(id)sender { NSRect theFrame; [window getFrame:&theFrame]; [originX setFloatValue:theFrame.origin.x]; [originY setFloatValue:theFrame.origin.y]; [sizeWidth setFloatValue:theFrame.size.width]; [sizeHeight setFloatValue:theFrame.size.height]; } @end When I attempt to compile this I get the error "cannot find method ... return type for "getFrame' defaults to id What other changes do I need to make here? -- David Herren -------------------------------------------------- Web: http://www.middlebury.edu/~herren/ General: herren@flannet.middlebury.edu NeXTMail only: herren@barcelona.middlebury.edu
From: jhoekman@ccrma.stanford.edu Newsgroups: comp.sys.next.programmer Subject: need help w/ DPSDoUserPath and user paths Date: 7 Mar 1997 23:04:41 GMT Organization: Stanford University Message-ID: <5fq6u9$mcu@nntp.Stanford.EDU> Keywords: DPSDoUserPath user path Can anyone take a look at the following code, and find anything immediately wrong? I'm following the example in the documentation pretty close, and this causes my program to crash: - animateSpec2 { static int n, ci=0, oi=0; static float coords[4*LENGTH2]; // could be up to 1024 static float bbox[4]; static char ops[2*LENGTH2+2]; NXEraseRect(&r2); // erase drawing area PSsetgray(NX_BLACK); bbox[0] = 0; bbox[1] = 0; bbox[2] = r2.size.width; bbox[3] = r2.size.height; ops[oi++] = dps_ucache; ops[oi++] = dps_setbbox; for ( n=0; n<LENGTH2; n++ ) { coords[ci++] = (float)(n*hscale+PAD4); coords[ci++] = (float)(PAD4); coords[ci++] = (float)(n*hscale+PAD4); coords[ci++] = (float)(xp[n]*vscale+PAD4); ops[oi++] = dps_moveto; ops[oi++] = dps_lineto; } DPSDoUserPath( coords, 4*LENGTH2, dps_float, ops, 2*LENGTH2+2, bbox, dps_ustroke); } Here's the output in gdb: DPS client library error: PostScript program error, DPSContext 10ea78 %%[ Error: rangecheck; OffendingCommand: ustroke ]%% DPS client library error: PostScript program error, DPSContext 10ea78 %%[ Error: typecheck; OffendingCommand: ustroke ]%% Program generated(1): Memory access exception on address 0x42480000 (invalid address). 0x5005f3d in objc_msgSend () Maybe I don't understand the user path thing completely --I'm not sure why ustroke is offending, and what this parameter is needed for. Here's the code which works, but is too slow: - animateSpec { static int n; [self lockFocus]; NXEraseRect(&r2); // erase window // draw the sticks (spectrum) for ( n = 0; n < LENGTH2; n++ ) { lineshow( (float)( n*hscale+PAD4 ), (float)PAD4, (float)( n*hscale+PAD4 ), (float)((xp[n])*vscale + PAD4) ); } PSflushgraphics(); [self unlockFocus]; } Thanks alot if you can help, Jeff P.S. please reply via email (jhoekman@ccrma.stanford.edu) thanks!
From: "Baskaran Subramaniam" <baskaran@internetMCI.com> Newsgroups: comp.sys.next.programmer Subject: Re: Run NeXT on SOM? Date: 7 Mar 97 17:42:00 -0500 Organization: Internet MCI Message-ID: <AF4603F6-204A7@204.189.161.54> References: <maury-0703971238130001@199.166.204.230> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Cyberdog-MixedBoundary-00020172" Content-Transfer-Encoding: 7bit To: "Maury Markowitz" <maury@softarc.com> --Cyberdog-MixedBoundary-00020172 X-Fontfamily: Monaco X-Fontsize: 9 Content-Type: text/enriched; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <SMALLER><SMALLER><FIXED>On Fri, Mar 7, 1997 12:38 PM, </FIXED></SMALLER></SMALLER> --Cyberdog-MixedBoundary-00020172 Content-Type: application/X-url Content-Transfer-Encoding: base64 Content-Description: Maury Markowitz bWFpbHRvOm1hdXJ5QHNvZnRhcmMuY29t --Cyberdog-MixedBoundary-00020172 X-Fontfamily: Monaco X-Fontsize: 9 Content-Type: text/enriched; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <SMALLER><SMALLER><FIXED> wrote: </FIXED></SMALLER></SMALLER><SMALLER><SMALLER><FIXED>> SOM's a great solution if your current object model only runs on one >machines and you have to talk to others. In other words it's a good idea >for the current Mac OS. > > SOM's not so handy if your object model already runs on multiple >machines and is shared. In other words, it's not such a great idea under >NeXT. > >Maury </FIXED></SMALLER></SMALLER><SMALLER><SMALLER><FIXED>> This is not really true if you have DSOM support on your machine. Or, am I missing somethin? Disclaimer: Views expressed here are mine, no one can claim it as theirs! -----------------------------------------------------------------------= --- Baskaran Subramaniam 2503 Harbor Landing Baskaran Consulting Roswell, GA 30076 e-mail: baskaran@internetMCI.com -----------------------------------------------------------------------= --- </FIXED></SMALLER></SMALLER> --Cyberdog-MixedBoundary-00020172--
From: scholz@leo.org (Bernhard Scholz) Newsgroups: comp.sys.next.programmer Subject: NSThread and NSConnection problem Date: 8 Mar 1997 00:23:56 GMT Organization: Institut fuer Informatik der Universitaet Muenchen Message-ID: <5fqbis$er@xenia.informatik.uni-muenchen.de> Hi OPENSTEP programmers out there. I have to get used to the DO paradigms and thread concepts of OPENSTEP. First I tried out a very simple application based on the interthread communication given in the NSConnection documentation. Refering to this docuementation I created an object 'subThread' (docu named it 'Calculator') with the method: + (void)connectWithPorts:(NSArray *)portArray (please read the NSConnection documentation, because I don't want to quote the whole code). The applications delegate implements the other mentioned methods: -applicationDidFinishedLaunching and -setServer Ok, Everything runs fine, a second thread is spawned, and whenever I message the proxy object (subThread) from the applications controller object, this is performed in the concurrent thread. Now... How do I stop this thread? I can't: - release the NSConnection (referring to NSRunLoop this should break the NSRunLoop but it doesn't) - of course releasing the proxy object doesn't help either (just wanted to test, but the threads remain) - sending a message to the thread via the NSConnection which performs [NSThread exit] locks the application. Ok, all these are very much beginner questions, but some key questions do remain: 1) How do I stop a thread (1) from thread (2) if the only way to call -exit is to use the current thread! Do I really need to program a loop or check for an NSLock? 2) How do wire down a NSConnection? The problem: I do want to write an application where objects can be added and removed dynamically and each does run it's own thread. Sharing data should be implemented using DO. Greetings, Bernhard. -- Bernhard Scholz http://www.leo.org/~scholz/ Peanuts FTP Admin http://peanuts.leo.org/ scholz@leo.org, (StuSta ONLY: boerny@xenia.stusta.mhn.de)
From: goldwass@lifesci.lscf.ucsb.edu (Lloyd Goldwasser) Newsgroups: comp.sys.next.programmer,comp.lang.postscript Subject: more: Re: Clipping path around a rotated image from an eps file Date: 8 Mar 1997 00:25:46 GMT Organization: University of California, Santa Barbara Message-ID: <5fqbmb$eum@ucsbuxb.ucsb.edu> References: <5f2kp1$a04@ucsbuxb.ucsb.edu> <5fa6jc$dci@bignews.shef.ac.uk> <5ff9rj$ms2@ucsbuxb.ucsb.edu> <5fgtfk$da4@bignews.shef.ac.uk> [note the crossposting] I wrote: > > I'm rotating an eps image relative to horizontal [...] > > However, the rotated > > image doesn't respect the clipping path of the view, but goes out > > onto the rest of its window. I get something like this: > > > > ____--\ > > the top of the ____---- \ > > eps image ---> ____---- \ > > -------------------------------- > > | | > > the view ---> | | > > | | > > | | > > --------------------------------. > > I do resize the view according to the angle of rotation, so the view > > is large enough to hold the image. The view itself is within a > > ScrollView, since the whole shebang may be too large for the screen. > > mmalcolm crawford <m.crawford@shef.ac.uk> responded: > Ah, I wondered about that... > > So your View is actually the document view of a ClipView, which is > itself the content view of a ScrollView. > > There's a note in the docs about ClipViews: >[snipped] > > I guess you should call a PSrotate() somewhere instead of using the > rotate: method? > I've now tried quite a few permutations of PSrotate(), rotate:, rotateBy:, rotateTo:, and setDrawRotation: and lots of ways of specifying the clipping path, yet the solution to this problem still eludes me. As far as I can figure out, NXImages and subsets of them _always_ get drawn as rectangles. Whatever the current clipping path may be, the NXImage determines its bounding rectangle from the clipping path's min and max, and then draws the part of itself in that rectangle. On the screen, that rectangle may be rotated if one has used PSrotate() before drawing, but the rotation and screen drawing occur _after_ the clipping rectangle is determined; the clipping rectangle gets rotated along with the image. The consequence is that the rotated image flops out of its scrollview no matter what. On the other hand, no part of the the rotated image _ever_ goes out of its window: it is clipped at the edge of the window instead. At _some_ point there must be clipping that non-rectangular with respect to the image -- I'm just not sure where it occurs, or whether I can get access to it. I can't believe that I'm the only person who has ever tried to put a rotated image into a scrollview . . . . Thanks, Lloyd Goldwasser goldwass@lifesci.lscf.ucsb.edu
Newsgroups: comp.sys.next.programmer,comp.sys.next.software Subject: Real Audio <-> .snd ? Message-ID: <1997Mar7.173012.95359@cc.usu.edu> From: edx@cc.usu.edu Date: 7 Mar 97 17:30:12 MDT Distribution: world Are there any tools to convert a Real Audio file (or stream) to something that can be played on NEXT/OPENSTEP? Any information that might be useful would be appreciated. TIA
From: marcel@sysyem.de Newsgroups: comp.sys.next.programmer Subject: Re: more: Re: Clipping path around a rotated image from an eps file Date: 8 Mar 1997 03:57:54 GMT Organization: Technical University Berlin, Germany Distribution: world Message-ID: <5fqo42$khi$1@brachio.zrz.TU-Berlin.DE> References: <5fqbmb$eum@ucsbuxb.ucsb.edu> In article <5fqbmb$eum@ucsbuxb.ucsb.edu> goldwass@lifesci.lscf.ucsb.edu (Lloyd Goldwasser) writes: In comp.sys.next.programmer article <5fqbmb$eum@ucsbuxb.ucsb.edu> you wrote: [problems with rotated NXImages] Try using the NXEPSImageRep class directly. The problem is that the EPS is drawn into an off-screen cache by NXImage (where it knows nothing about the current scale/rotation) and then composited to the screen. Compositing respects clipping paths, but not the transformation matrix except for translation. Of course, that way you lose the performance advantages of NXImage, but you can either implement your own caching, or subclass NXEPSImageRep to cache a rotated version. Regards, Marcel
Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: Re: help me with ppp References: <jlimpert-0503971833060001@edit86.edit.pathfinder.com> From: Darren Reely <dreely@cyberstore.ca> Message-ID: <3320de27.0@scipio.cyberstore.ca> Date: 8 Mar 97 03:33:59 GMT jlimpert@pathfinder.com (john limpert) wrote: >i have nextstep 3.3 for intel and a pc w/ 28.8 modem. > >how do I get a ppp connection to the internet established?? > >any help would be appreciated. > >jlimpert@pathfinder.com For NS 3.3 check out http://www.thoughtport.com:8080/PPP/ for a good PPP software package. NS 3.3 did not come with PPP so you won't find it in the documentation. Darren http://www.bcog.org/~dreely
From: alexdn@globalobjects.com (Alex Duong Nghiem) Newsgroups: comp.lang.c++,comp.lang.java.misc,comp.lang.java.programmer,comp.sys.next.marketplace,comp.sys.next.programmer,misc.jobs.contract,misc.jobs.offered,nyc.jobs,us.jobs.contract,us.jobs.offered Subject: NYC and CO Springs - Senior OO devs for Java projs (client provides training) Date: Sat, 8 Mar 1997 01:17:54 -0500 Organization: Global Objects Inc. Message-ID: <MPG.d8ace9c2c520068989685@news.mindspring.com> Global Objects specializes in providing quality solutions through object and web technologies. We are currently staffing for the following Java projects for Fortune 500 clients. Positions: - 10 Java developers (in NYC and Colorado Springs) - the client will provide the training. You need a strong background in an OO language (4 or more years of experience in one of the following languages: Smalltalk, C++, Objective-C, Delphi, etc.), strong OO, good RDBMS skills, and a good background in various business domains - the client provides the Java training if necessary. In addition, we need a senior C++ developer in Germany. This candidate needs 5+ years of C++ development experience along with strong OO modeling skills. Telecomm experience is a plus. All the positions are contract positions and will last 6 months to 1 year. These positions start immediately. For immediate consideration, pls email your resume to jobs@globalobjects.com. Pls state your rate (as a 1099 consultant) and availability. All candidates are requested to take our OO quiz at www.globalobjects.com. We process email within 24 hours but process faxes in a week. Thanks, - Alex - * ================> Global Objects Inc <================ * * 770.457.4144(P) 800.492.6371(US) 770.457.7333(F) * * http://www.globalobjects.com jobs@globalobjects.com * * ==========> Play Java games at our web site! <========== *
From: nurban@sps1.phys.vt.edu (Nathan Urban) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: 8 Mar 1997 01:51:05 -0000 Organization: Virginia Polytechnic Institute and State University Message-ID: <5fqgm9$l4i@sps1.phys.vt.edu> References: <199703061301591275778@pool011-119.innet.be> <5fofl6$pis@news.next.com> In article <5fofl6$pis@news.next.com>, mark_bessey@next.com wrote: > That's an interesting idea, but we'd be swimming against the tide. How > about this: If we have the OpenStep library on a large % of desktops, and > an OpenStep-to-Java interface, we can leverage the platform-independence > of Java with our kick-butt native-code class library... Now _that's_ the strategy I want to see Apple take. The Java thing is key because people seem to be afraid of Objective-C as a dead-end has-been, which is as much an act of ignorance as the tons of programmers blindly jumping on the Java bandwagon. But that's where the market is going.. (Though people unhappy with Microsoft putting in native extensions to Java are probably going to be unhappy with Apple for similar reasons.. it's not "truly" cross-platform, as it is limited to OpenStep platforms rather than all Java ones. However, if the OpenStep library is in fact on a large percentage of desktops, and more to the point, is an open standard like Java and is available for (nearly) every platform, that won't make a difference.) However, this strategy depends on Apple getting the OpenStep library on a large percentage of desktops, and the key to that is making the Windows runtime as inexpensive as possible. (Free is desirable, but probably isn't possible because of licensing fees.) And then advertise the heck out of it.. ship CDs in magazines, make it downloadable over the net, etc. (This won't annoy the Mac users who paid for their OS, because the runtime wouldn't ship with all the apps and the Workspace and the other things that Rhapsody would come with.) I hope Apple is intelligent enough to do this. -- -------------------------------------------------------------------------- Nathan Urban | Undergrad {CS,Physics,Math} | Virginia Tech nurban@vt.edu | {NeXT,MIME} mail welcome | http://nurban.campus.vt.edu/ --------------------------------------------------------------------------
From: Yi Zhao <yzhao@ix.netcom.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: Fri, 07 Mar 1997 22:51:53 -0800 Organization: Netcom Message-ID: <33210C89.4073@ix.netcom.com> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> <331dc772.73186408@news.inlink.com> <5fl6fc$8mu@nnrp1.news.primenet.com> <331f2b7d.20505173@news.inlink.com> <5fnc5i$k0p$2@majipoor.cygnus.com> <33204896.6745840@news.inlink.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit So what stuff are included in the Rhapsody DR? Does it include the OpenStep for Intel developer version? If so, I think it might well worth the $250 price tag. BTW, does anyone know whether Apple/NeXT have any plan to reprice OpenStep and WebObjects? They need to attract developers to the OpenStep environment.
From: nurban@sps1.phys.vt.edu (Nathan Urban) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Avie confirms Rhapsody on Intel too. Date: 8 Mar 1997 01:57:06 -0000 Organization: Virginia Polytechnic Institute and State University Message-ID: <5fqh1i$l5k@sps1.phys.vt.edu> References: <al.856919430@BIX.com> <5fblc9$31e$2@news.xmission.com> <5fd190$a7f@lal.interserv.com> <SHESS.97Mar7113023@howard.one.net> In article <SHESS.97Mar7113023@howard.one.net>, shess@one.net (Scott Hess) wrote: > Measured overhead due to Objective-C message dispatch tends to be > around 10%. Is that overhead compared to virtual method calls in C++, or static method calls? -- -------------------------------------------------------------------------- Nathan Urban | Undergrad {CS,Physics,Math} | Virginia Tech nurban@vt.edu | {NeXT,MIME} mail welcome | http://nurban.campus.vt.edu/ --------------------------------------------------------------------------
From: dashlangan@hotmail.com (Dash Langan) Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: *THIS* Y2K Solution + Offshore = Successful Conversion! Date: 8 Mar 1997 12:03:37 +0100 Organization: Posting Service Message-ID: <199703081103.MAA10169@basement.replay.com> The following Y2K solution is so simple and easy that you can confidently send your century- end conversion work overseas. http://www.geocities.com/ResearchTriangle/3462/ For further information on offshore programming alternatives, see: http://www.param.com Dash Langan ------------------------------------------------------------------- *** This is posted via the replay mail2news gateway: *** * No attempt was made to verify the sender's identity. *
From: jcr@idiom.com (John C. Randolph) Newsgroups: comp.sys.next.programmer Subject: Headhunter is apamming posters to c.s.n.p! Date: 8 Mar 1997 05:39:35 -0800 Organization: A poorly-installed InterNetNews site Message-ID: <jcr.857828293@idiom.com> Summary: If this ass-wipe sends you e-mail, mail-bomb his ass. Fellow NeXT hackers, If you see the following message in your mail queue, give the arsehole a call! Tell him why you'll never consider working with a headhunter who's so hard up that he has to resort to unauthorised use of other people's property to get a candidate. -jcr BEGIN IMCLUDED SPAM: From masyiek@andovercg.com Wed Mar 5 16:20:13 1997 X-Sender: masyiek@megspo.megsinet.net Message-Id: <v03007834af43be26da97@[206.222.63.155]> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Wed, 5 Mar 1997 18:19:54 -0600 To: jcr@idiom.com From: masyiek@andovercg.com (masyiek) Subject: Seeking C++ Programmer We haven't spoken before nor have you read any e-mails from me, but I thought just from your note in usenet group that you may be able to help me. I am seeking a very talented C++ programmer (32 bit) interested in working in the Chicago financial industry and may be from the Chicago area or be willing to relocate to Chicago. If you don't know anyone that could help me, can you forward my e-mail to someone that could? thanks, mike syiek "boris" andover consulting group, inc. chicago, il 312.222.9777 --===========================_ _= 8671875(116)-- --===========================_ _= 314025(175)--
From: mkagalen@lynx.dac.neu.edu (Michael Kagalenko) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 7 Mar 1997 21:15:14 -0500 Organization: Northeastern University, Boston, MA. 02115, USA Message-ID: <5fqi3i$7hl@lynx.dac.neu.edu> References: <5fcngp$7dd@lal.interserv.com> <5fp1p9$4a3@lazar.select-tech.si> Content-Type: text/html Izidor Jerebic (izidor.jerebic@select-tech.si) wrote in article <5fp1p9$4a3@lazar.select-tech.si> <pre><blink> ]. If you need ]to program numerical analysis, you can consult your local physics gurus, ]what is the language for that - Fortran (even C++ is too hevy-weight for ]that). Exactly. No one in his right mind (currently) uses C++ for number- crunching. C comes close second to FORTRAN. -- ABILITY,n. The natural equipment to accomplish some small part of the meaner ambitions distinguishing able men from dead ones. -- Ambrose Bierce, "The Devil's Dictionary"
From: Joseph Panico <jpanico@online.disney.com> Newsgroups: comp.sys.next.programmer Subject: Re: newbie question Date: Sat, 08 Mar 1997 11:13:06 -0500 Organization: Disney Online Message-ID: <33219012.4A25@online.disney.com> References: <msg42535.thr-2198a7.f4cdd@flannet.middlebury.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit David Herren wrote: #import "WindowController.h" @implementation WindowController - (void)getTheFrame:(id)sender { NSRect theFrame; [window getFrame:&theFrame]; [originX setFloatValue:theFrame.origin.x]; [originY setFloatValue:theFrame.origin.y]; [sizeWidth setFloatValue:theFrame.size.width]; [sizeHeight setFloatValue:theFrame.size.height]; } @end When I attempt to compile this I get the error "cannot find method ... return type for "getFrame' defaults to id What other changes do I need to make here? -- David Herren -------------------------------------------------- Web: http://www.middlebury.edu/~herren/ General: herren@flannet.middlebury.edu NeXTMail only: herren@barcelona.middlebury.edu David, Look at the 4.x documentation for the AppKit *framework*. The API for the NSWindow class has changed. It no longer has a -getFrame method. The new method is -(NSRect)frame. Good luck. -- Joe Panico Disney Online jpanico@online.disney.com
From: Joseph Panico <jpanico@online.disney.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sat, 08 Mar 1997 11:24:06 -0500 Organization: Disney Online Message-ID: <332192A6.313D@online.disney.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit James M. Curran wrote: But, only if you are willing to put up with widespread ineffeciency. I doubt most programming will. Truth, James I have to disagree. Java, without JIT, is probably an order of magnitude slower than ObjC. With a top of the line JIT, it's probably on par with ObjC. And yet, c++ programmers are abandoning c++ for Java at an astounding pace? Why is this? -- Joe Panico Disney Online jpanico@online.disney.com
Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy From: Nitezki@NiDat.sub.org (Peter Nitezki) Subject: This used to be c.s.n.programmer not c.s.n.advocacy Message-ID: <E6q2qK.7v8@nidat.sub.org> Sender: nitezki@nidat.sub.org (Peter Nitezki) Organization: private site of Peter Nitezki, Kraichtal, Germany Date: Sat, 8 Mar 1997 11:32:43 GMT Hey fellas, What's happening to this newsgroup? Lots of advocacy threads are clogging c.s.n.programmer drowning the real signal with loud humming noise. I really appreciate MacOS programmers rejuvenating our dying community but I'd rather like to see the revival of our high (in Usenet standards, at least ;-) posting discipline of former days. PLEASE, let this newsgroup be a place of technical discussion of hands on problems. And switch all threads to c.s.n.advocacy as soon as they stray off to philosophical questions and matters of taste. -- Peter Nitezki | Nitezki@NiDat.sub.org # Blessed art thou who knoweth Staarenbergstr. 44 | Tel.: +49 7251 62495 # not about the pleasure and D-76703 Kraichtal | Fax : +49 7251 69215 # delight of being hooked GERMANY | E-mail defunct, sorry # up to the Net. Peter 1,3-5
From: nurban@sps1.phys.vt.edu (Nathan Urban) Newsgroups: comp.sys.next.programmer Subject: idle time in Workspace? Date: 8 Mar 1997 13:40:45 -0000 Organization: Virginia Polytechnic Institute and State University Message-ID: <5frq8t$n63@sps1.phys.vt.edu> Is there any programmatic way to determine how long a user has been idle (i.e., no mouse or keyboard events) in the Workspace? I can use the standard Unix trick for getting idle times, but it only works if they've got a terminal open. -- -------------------------------------------------------------------------- Nathan Urban | Undergrad {CS,Physics,Math} | Virginia Tech nurban@vt.edu | {NeXT,MIME} mail welcome | http://nurban.campus.vt.edu/ --------------------------------------------------------------------------
From: "L. Todd Heberlein" <heberlei@NetSQ.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: 8 Mar 1997 19:39:16 GMT Organization: mother.com Internet Services Message-ID: <01bc2bef$3a8a94f0$612168cf@test1> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> <331dc772.73186408@news.inlink.com> <5fl6fc$8mu@nnrp1.news.primenet.com> <331f2b7d.20505173@news.inlink.com> <5fnc5i$k0p$2@majipoor.cygnus.com> <33204896.6745840@news.inlink.com> <33210C89.4073@ix.netcom.com> Yi Zhao <yzhao@ix.netcom.com> wrote in article <33210C89.4073@ix.netcom.com>... > So what stuff are included in the Rhapsody DR? Does it include the > OpenStep for Intel developer version? If so, I think it might well worth > the $250 price tag. I asked, but the response was "watch our web pages": -------------------------------------- Many specific details of Rhapsody are currently unannounced and we plan to let everyone know as they become available. We are continually updating our Frequently Asked Questions <http://www.macos.apple.com/macos/releases/rhapsody/faq.rhap.html>, so continue to check their to find the answers to additional questions you may have. ---------------------------------------- Todd
From: nouser@nohost.nodomain (Thomas) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 08 Mar 1997 14:42:53 -0800 Organization: home Message-ID: <tz8vi723t02.fsf@aimnet.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> In-reply-to: Joseph Panico's message of Sat, 08 Mar 1997 11:24:06 -0500 Fcc: /u6/users/tmb/mail/x-nout In article <332192A6.313D@online.disney.com> Joseph Panico <jpanico@online.disney.com> writes: I have to disagree. Java, without JIT, is probably an order of magnitude slower than ObjC. With a top of the line JIT, it's probably on par with ObjC. I benchmarked method dispatch in Kaffe (the free JIT for Java) to be the the same speed as C++, taking about half the time of GNU Objective-C method dispatch. I don't think this makes a big difference in practice, but I thought I'd inject some data... Thomas.
From: abridge@wheel.dcn.davis.ca.us (Adam Bridge) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sat, 08 Mar 1997 14:41:20 -0800 Organization: Bridge Family Message-ID: <abridge-0803971441200001@dcn51.dcn.davis.ca.us> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> In article <332192A6.313D@online.disney.com>, jpanico@online.disney.com wrote: >James M. Curran wrote: > > But, only if you are willing to put up with widespread > ineffeciency. > I doubt most programming will. > Truth, > James > >I have to disagree. Java, without JIT, is probably an order of magnitude >slower than ObjC. With a top of the line JIT, it's probably on par with >ObjC. And yet, c++ programmers are abandoning c++ for Java at an >astounding pace? >Why is this? >-- Probably because, in many applications, speed isn't of the essence. Who cares if after a user presses a button it takes .1 seconds or .01 seconds? All of this is making me even happier to develop in Smalltalk and I'm praying that QKS delivers a Rhapsody version of Smalltalk Agents after the OS is stable. But in the meantime I know that I can prototype in STA, immediately apply what I know into learning Objective-C, and I will never have to write C++, a language that leaves me utterly cold. Adam Bridge -- Adam Bridge
From: sanguish@digifix.com Newsgroups: comp.sys.next.advocacy,comp.sys.next.announce,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.bugs,comp.sys.next.programmer Subject: NEXTSTEP/OpenStep Resources on the Net Supersedes: <5437857680935@digifix.com> Date: 9 Mar 1997 05:25:33 GMT Organization: Digital Fix Development Message-ID: <7353857885137@digifix.com> Topics include: Stepwise NEXTSTEP/OpenStep Information WWW site eduSTEP WWW site NeXT Computer, Inc. WWW site comp.sys.next newsgroups related newsgroups comp.sys.next newsgroups mailing list ftp sites NeXTanswers Stepwise NEXTSTEP/OpenStep Information WWW site =============================================== This online community resource includes - ISV company pages - ISV product descriptions - NEXTSTEP Developer Directory - NEXTSTEP Community WhitePages - Mailing List archives and information You can connect via the world wide web at: http://www.stepwise.com/ Suggestions or comments can be directed to me at sanguish@digifix.com If you would like to get your company and product information on Stepwise, please contact me at sanguish@digifix.com. eduSTEP WWW site ================ http://www.nmr.embl-heidelberg.de/eduStep/ eduStep aims to provide up-to-date information on: - NextStep tools and projects for scientists. - Third-party products interesting for the educational and scientific community (with educational discounts noted, where they exist). - A listing of resellers and shops interested in working with customers in the educational community. - Conferences, meetings, workshops - Major projects, such as SciTools, EMBL's project to develop a NextStep scientific work environment - Status reports on GNUStep, a freely-available implementation of OpenStep now being developed NeXT Computer, Inc. WWW site ============================ http://www.next.com comp.sys.next.* newsgroups ========================== news:comp.sys.next.advocacy This is the "why NEXTSTEP is better (or worse) than anything else in the known universe" forum. It was created specifically to divert lengthy flame wars from .misc. news:comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) This is a moderated newsgroup, meaning that you can't post to it directly. Submissions should be e-mailed to next-announce@digifix.com where the moderator (Scott Anguish) will screen them for suitability. Archives are available by ftp at ftp://ftp.stepwise.com/pub/Next_Announce_Archives Messages posted to announce should NOT be posted or crossposted to any other comp.sys.next groups. news:comp.sys.next.bugs A place to report verifiable bugs in NeXT-supplied software. Material e-mailed to Bug_NeXT@NeXT.COM is not published, so this is a place for the net community find out about problems when they're discovered. This newsgroup has a very poor signal/noise ratio--all too often bozos post stuff here that really belongs someplace else. It rarely makes sense to crosspost between this and other c.s.n.* newsgroups, but individual reports may be germane to certain non-NeXT- specific groups as well. news:comp.sys.next.hardware Discussions about NeXT-label hardware and compatible peripherals, and non-NeXT-produced hardware (e.g. Intel) that is compatible with NEXTSTEP. In most cases, questions about Intel hardware are better asked in comp.sys.ibm.pc.hardware. Questions about SCSI devices belong in comp.periphs.scsi. This isn't the place to buy or sell used NeXTs--that's what .marketplace is for. news:comp.sys.next.marketplace NeXT stuff for sale/wanted. Material posted here must not be crossposted to any other c.s.n.* newsgroup, but may be crossposted to misc.forsale.computers.workstation or appropriate regional newsgroups. news:comp.sys.next.misc For stuff that doesn't fit anywhere else. Anything you post here by definition doesn't belong anywhere else in c.s.n.*--i.e. no crossposting!!! news:comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. Generic UNIX questions belong elsewhere (comp.unix.questions), although specific questions about NeXT's implementation or porting issues are appropriate here. Note that there are several other more "horizontal" newsgroups (comp.lang.objective-c, comp.lang.postscript, comp.os.mach, comp.protocols.tcp-ip, etc.) that may also be of interest. news:comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. news:comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. Related Newsgroups ================== news:comp.soft-sys.nextstep Like comp.sys.next.software and comp.sys.next.misc combined. Exists because NeXT is a software-only company now, and comp.soft-sys is for discussion of software systems with scope similar to NEXTSTEP. news:comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. news:comp.object Technical talk about OOP in general. Lots of C++ discussion, but NeXT and Objective-C get quite a bit of attention. At times gets almost philosophical about objects, but then again OOP allows one to be a programmer/philosopher. (The original comp.sys.next no longer exists--do not attempt to post to it.) Exception to the crossposting restrictions: announcements of usenet RFDs or CFVs, when made by the news.announce.newgroups moderator, may be simultaneously crossposted to all c.s.n.* newsgroups. Getting the Newsgroups without getting News =========================================== Thanks to Michael Ross at antigone.com, the main NEXTSTEP groups are now available as a mailing list digest as well. next-nextstep next-advocacy next-announce next-bugs next-hardware next-marketplace next-misc next-programmer next-software next-sysadmin object lang-objective-c (For a full description, send mail to listserv@antigone.com). The subscription syntax is essentially the same as Majordomo's. To subscribe, send a message to *-request@lists.best.com saying: subscribe where * is the name of the list e.g. next-programmer-request@lists.best.com The ftp sites ============= ftp://ftp.next.peak.org - The main site for North American submissions formerly ftp.cs.orst.edu ftp://ftp.informatik.uni-muenchen.de: - (Peanuts) Located in Germany. ftp://ftp.dn.net/pub/next - Peanuts mirror in the US ftp://terra.stack.urc.tue.nl - (Dutch NEXTSTEP User Group) ftp://cube.sm.dsi.unimi.it - (Italian NEXTSTEP User Group) ftp://ftp.nmr.embl-heidelberg.de/pub/next - eduStep ftp://ftp.next.com: - See below ftp.next.com and NextAnswers@next.com ===================================== [from the document ftp://ftp.next.com/pub/NeXTanswers/1000_Help] Welcome to the NeXTanswers information retrieval system! This system allows you to request online technical documents, drivers, and other software, which are then sent to you automatically. You can request documents by fax or Internet electronic mail, read them on the world-wide web, transfer them by anonymous ftp, or download them from the BBS. NeXTanswers is an automated retrieval system. Requests sent to it are answered electronically, and are not read or handled by a human being. NeXTanswers does not answer your questions or forward your requests. USING NEXTANSWERS BY E-MAIL To use NeXTanswers by Internet e-mail, send requests to nextanswers@next.com. Files are sent as NeXTmail attachments by default; you can request they be sent as ASCII text files instead. To request a file, include that file's ID number in the Subject line or the body of the message. You can request several files in a single message. You can also include commands in the Subject line or the body of the message. These commands affect the way that files you request are sent: ASCII causes the requested files to be sent as ASCII text SPLIT splits large files into 95KB chunks, using the MIME Message/Partial specification REPLY-TO address sets the e-mail address NeXTanswers uses These commands return information about the NeXTanswers system: HELP returns this help file INDEX returns the list of all available files INDEX BY DATE returns the list of files, sorted newest to oldest SEARCH keywords lists all files that contain all the keywords you list (ignoring capitalization) For example, a message with the following Subject line requests three files: Subject: 2101 2234 1109 A message with this body requests the same three files be sent as ASCII text files: 2101 2234 1109 ascii This message requests two lists of files, one for each search: Subject: SEARCH Dell SCSI SEARCH NetInfo domain NeXTanswers will reply to the address in your From: line. To use a different address either set your Reply-To: line, or use the NeXTanswers command REPLY-TO If you have any problem with the system or suggestions for improvement, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY FAX To use NeXTanswers by fax, call (415) 780-3990 from a touch-tone phone and follow the instructions. You'll be asked for your fax number, a number to identify your fax (like your phone extension or office number), and the ID numbers of the files you want. You can also request a list of available files. When you finish entering the file numbers, end the call and the files will be faxed to you. If you have problems using this fax system, please call Technical Support at 1-800-848-6398. You cannot use the fax system outside the U.S & Canada. USING NEXTANSWERS VIA THE WORLD-WIDE WEB To use NeXTanswers via the Internet World-Wide Web connect to NeXT's web server at URL http://www.next.com. USING NEXTANSWERS BY ANONYMOUS FTP To use NeXTanswers by Internet anonymous FTP, connect to FTP.NEXT.COM and read the help file pub/NeXTanswers/README. If you have problems using this, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY MODEM To use NeXTanswers via modem call the NeXTanswers BBS at (415) 780-2965. Log in as the user "guest", and enter the Files section. From there you can download NeXTanswers documents. FOR MORE HELP... If you need technical support for NEXTSTEP beyond the information available from NeXTanswers, call the Support Hotline at 1-800-955-NeXT (outside the U.S. call +1-415-424-8500) to speak to a NEXTSTEP Technical Support Technician. If your site has a NeXT support contract, your site's support contact must make this call to the hotline. Otherwise, hotline support is on a pay-per-call basis. Thanks for using NeXTanswers! _________________________________________________________________ Written by: Eric P. Scott ( eps@toaster.SFSU.EDU ) and Scott Anguish ( sanguish@digifix.com ) Additions from: Greg Anderson ( Greg_Anderson@afs.com ) Michael Pizolato ( alf@epix.net ) Dan Grillo ( dan_grillo@next.com )
From: shess@one.net (Scott Hess) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Avie confirms Rhapsody on Intel too. Date: 9 Mar 97 00:05:17 Organization: Is a sign of weakness Message-ID: <SHESS.97Mar9000517@howard.one.net> References: <al.856919430@BIX.com> <5fblc9$31e$2@news.xmission.com> <5fd190$a7f@lal.interserv.com> <SHESS.97Mar7113023@howard.one.net> <5fqh1i$l5k@sps1.phys.vt.edu> In-reply-to: nurban@sps1.phys.vt.edu's message of 8 Mar 1997 01:57:06 -0000 In article <5fqh1i$l5k@sps1.phys.vt.edu>, nurban@sps1.phys.vt.edu (Nathan Urban) writes: In article <SHESS.97Mar7113023@howard.one.net>, shess@one.net (Scott Hess) wrote: > Measured overhead due to Objective-C message dispatch tends to be > around 10%. Is that overhead compared to virtual method calls in C++, or static method calls? Static. It's something like twice as slow as VTBL dispatch, depending on what dispatch method your ObjC runtime is using. I've been reading some research papers indicating that Objective-C style dynamic dispatch can potentially be brought within a small fraction of VTBL dispatch, and can sometimes improve on it in certain cases. This is somewhat non-intuitive. The loophole is that VTBL requires a set of instructions which have a great deal of interdependency (start at the object pointer, add a delta, get the VTBL pointer, add a delta, etc) which don't pipeline very well. Meanwhile, more dynamic dispatch methods pipeline reasonably, and in the end it's somewhat of a wash. [The best papers I've seen were by Karen Driesen. I probably murdered that spelling.] Later, -- scott hess <shess@one.net> (606) 578-0412 http://w3.one.net/~shess/ <Favorite unused computer book title: The Idiots Guide to the Zen of Dummies in a Nutshell in Seven Days, Unleashed>
From: shess@one.net (Scott Hess) Newsgroups: comp.sys.mac.programmer.codewarrior,comp.sys.mac.system,comp.sys.next.programmer Subject: Re: Mac/NeXT & Unix: File System Date: 9 Mar 97 00:14:31 Organization: Is a sign of weakness Message-ID: <SHESS.97Mar9001431@howard.one.net> References: <5ddp66$jpc@news.bu.edu> <5dtpb5$h4t@news.bu.edu> <Mn1TiBm00iVC81ZnAQ@andrew.cmu.edu> <AF2E42E196681EFC18@node50.tfs.net> <5eb9r5$iv2@csugrad.cs.vt.edu> <AF39A1D79668E697E@pm3-p20.tfs.net> <5f1qoe$8dp@spool.cs.wisc.edu> <maury-0703971228500001@199.166.204.230> In-reply-to: maury@softarc.com's message of Fri, 07 Mar 1997 12:28:50 -0500 In article <maury-0703971228500001@199.166.204.230>, maury@softarc.com (Maury Markowitz) writes: In article <5f1qoe$8dp@spool.cs.wisc.edu>, Steve Barnet <"mailer-daemon"@[127.0.0.1]> wrote: > If, on the other hand, they would like to penetrate corporate > environments and grab an appreciable chunk of the server market, > they will have to make some hard choices. Agreed. Who's journaled file system to use? NeXT doesn't have one. FreeBSD either has one already, or has one in the works. NeXT's OS is BSD based, so it's unlikely to be a giant project to integrate. [The big problem here is that Apple/NeXT is unlikely to want to outsource their filesystem, so they _have_ to bring it inhouse.] Who's system should we use to make Mac files invisible to the OS? NeXT doesn't have one. Sure they do. I have all sorts of invisible files on my filesystem. A simple toggle lets me see them if I want to. Who's system to support ACL's? NeXT doesn't have one. AFS was ported to NeXT _long_ ago, and it had ACLs (didn't it?). Who's system to give guaranteed throughput for multimedia applications? NeXT doesn't have one. Looks to me like it's a tough choice regardless. This one would be easy to let pass - if it were a common feature in the market. All of the popular operating systems suck in this regard _today_, SGI XFS non-withstanding. > UNIXish systems dominate the server market The server market is small though, judging by sales of NT server (about 3 million a year). Even Apple's tiny market share sells about the same. They have to please both camps, and FFS isn't the solution. NTFS may be. XFS may be. I would suggest that the time to choose is soon though. The problem, here, seems to be one of ambiguous assertions. Both NTFS and XFS owe a tremendous dept to FFS. Regardless of what you call it, whatever the future filesystem Apple/NeXT uses, an old FFS hack will probably understand much more than half of what's going on - because that half will effectively _be_ FFS. The main problems with NeXT's FFS are almost entirely related to lack of resources on NeXT's part to fix them, not to intrinsic failings. If there is a good reason for Apple/NeXT to make it work, they've got the engineering talent to fix it. Later, -- scott hess <shess@one.net> (606) 578-0412 http://w3.one.net/~shess/ <Favorite unused computer book title: The Idiots Guide to the Zen of Dummies in a Nutshell in Seven Days, Unleashed>
From: "Michael Makhlouf" <makhloma@musc.edu> Newsgroups: comp.sys.next.programmer Subject: No rush of postings from Mac developers was Re: Developing for Rhapsody Date: Sun, 09 Mar 1997 01:32:12 -0500 Organization: Medical University of South Carolina Message-ID: <makhloma-0903970132120001@ppp4.musc.edu> References: <5fkqpq$1nhm@atlas.vcu.edu> <331E6D78.4784@wam.umd.edu> :Weiyuan W Chin wrote: :> :> It has occured to me that there isn't a rush by Mac developers :> to develop under the OPENSTEP API's. :> I just don't see the rush of newbie OPENSTEP programming :> questions that I had expected. Maybe it's just that most Mac :> developers don't have access to a NeXT/Intel/SPARC to do OPENSTEP :> development yet. I would be asking a lot of questions if I could run OPENSTEP on my Mac. I read parts of the Nextstep tutorial on the Web, but since I don't own an Intel and definitely can't afford the developer edition of OPENSTEP, I can't do any meaningful work. Although I am not a "real" developer (shareware only), I believe that my viewpoint applies to most Mac programmers. As long as there is nothing of OPENSTEP on the Mac, Mac developers will keep working on their current projects using system 7 API's. It very hard for us to believe that OPENSTEP programs would just need a recompile (or slight source code modification) to run under Rhapsody. I hope that when Rhapsody DR is released we will see a TON of questions. (make sure you check c.s.m.programmer.* though). Tony "waiting to do cool stuff with OPENSTEP on the Mac" Makhlouf
From: "Michael Makhlouf" <makhloma@musc.edu> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: Sun, 09 Mar 1997 01:40:38 -0500 Organization: Medical University of South Carolina Message-ID: <makhloma-0903970140380001@ppp4.musc.edu> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> <331dc772.73186408@news.inlink.com> <5fl6fc$8mu@nnrp1.news.primenet.com> <331f2b7d.20505173@news.inlink.com> <5fnc5i$k0p$2@majipoor.cygnus.com> <33204896.6745840@news.inlink.com> <33210C89.4073@ix.netcom.com> In article <33210C89.4073@ix.netcom.com>, Yi Zhao <yzhao@ix.netcom.com> wrote: :So what stuff are included in the Rhapsody DR? Does it include the :OpenStep for Intel developer version? If so, I think it might well worth :the $250 price tag. : I wonder what would Metrowerks think of this. 250 US$ is less than what Codewarrior costs. I wonder if Apple and metrowerks have made some secret deal in exchange for Metrowerks supporting Rhapsody. Although I sincerely hope, for my sake and Apple's, that the 250 $ developer program will include Developer tools, I am afraid that this won't be the case.I think they will include it with ETO (for around $1000). Of course this is just speculation.
From: nurban@sps1.phys.vt.edu (Nathan Urban) Newsgroups: comp.sys.next.programmer Subject: Re: No rush of postings from Mac developers was Re: Developing for Rhapsody Date: 9 Mar 1997 03:08:45 -0000 Organization: Virginia Polytechnic Institute and State University Message-ID: <5ft9jt$pt1@sps1.phys.vt.edu> References: <5fkqpq$1nhm@atlas.vcu.edu> <331E6D78.4784@wam.umd.edu> <makhloma-0903970132120001@ppp4.musc.edu> In article <makhloma-0903970132120001@ppp4.musc.edu>, "Michael Makhlouf" <makhloma@musc.edu> wrote: > It very hard for us to > believe that OPENSTEP programs would just need a recompile (or slight source > code modification) to run under Rhapsody. Why? Rhapsody is a port of the existing OPENSTEP for Mach to the PowerPC. Sure, Apple is going to be adding things to the API to provide more Mac-like features, but I really doubt they're going to make any major changes to OpenStep. I fully expect that existing OpenStep programs will be immediately portable to Rhapsody, perhaps with some slight source code modifications if Apple finds it necessary to modify the API in places. But all the main aspects should remain the same. -- -------------------------------------------------------------------------- Nathan Urban | Undergrad {CS,Physics,Math} | Virginia Tech nurban@vt.edu | {NeXT,MIME} mail welcome | http://nurban.campus.vt.edu/ --------------------------------------------------------------------------
From: "zarf" <zarf@zarfism.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Date: 9 Mar 1997 07:40:32 GMT Organization: zarfism Message-ID: <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> As a current Mac user I'm concerned that some of my fellow Mac users/cry-babies could torpedo the availability of the NeXT HI under Rhapsody. Though they are vocal, I know I'm not the only Mac user who, though amazed ten years ago by the Mac look and feel, now feels confined by its age and backwardness. Do you foresee any technical hitches for Apple-Next, or third-party if necessary, to provide the following arrangement: * make the Mac global horizontal menubar the default under Rhapsody for those who afraid to leave the single-tasking look * yet changeable to the Keith Ohlfs/NeXTSTEP style for those of us who want to graduate to the NeXT level I know a bit about NIB files but I'm still worried. I just want to know for sure that there is no technical reason that the above arrangement is not possible and hopefully some reassuring details to that end. Please.
From: "zarf" <zarf@zarfism.com> Newsgroups: comp.sys.next.programmer Subject: Travis, Travis, Travis. It's over. Date: 9 Mar 1997 09:50:53 GMT Organization: zarfism Message-ID: <01bc2c6f$5ec6a540$3a65a8c6@metnews.hip.cam.org> Travis Butler <tbutler@tfs.net> wrote in article <AF39A1D79668E697E@pm3-p20.tfs.net>... > >> I'm blathering on about this because it seems like a large number of the > >> arguments by NeXT partisans boil down to 'it has to be this way if you're > >> on a multiuser system.' Well, as I said, I don't WANT a multiuser system; The irony here, is that Copland was going to pretend to be a multi-user system. > Many NeXT partisans keep speaking as if the MacOS isn't a valid OS in its > own right, Well, duh, why do you think we're dumping it lock, stock and barrel? The whole OS is an outdated, antequated kludge! The only thing that's going to be preserved is a facsimile of its appearance!!! What does that tell you? It's over! And it's also some of us "recovering" Mac partisans who realize it's not a state-of-the-art OS. (Never was - but back then what desktop system was? Although I think perhaps the Lisa had pre-emptive multi-tasking.) What seemed so stunning 10 years ago is looking and acting pretty old, wrinkled, and feeble. Especially when competing OSes have been modernizing themselves - all while our Mac has been standing still for six years. Now it's design weaknesses have become glaring. If you want a quick glimpse (and a laugh) into the current broken-down state of the MacOS take a look at: <http://wais.sensei.com.au/macarc2/semper_fi/9701/0833.html> It's over... LONG LIVE RHAPSODY!
From: "Jeffrey S. Dutky" <dutky@wam.umd.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Developing for Rhapsody Date: Thu, 06 Mar 1997 02:08:50 -0500 Organization: University of Maryland Student Body Message-ID: <331E6D78.4784@wam.umd.edu> References: <5fkqpq$1nhm@atlas.vcu.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Weiyuan W Chin wrote: > > It has occured to me that there isn't a rush by Mac developers > to develop under the OPENSTEP API's. Reading over the press > releases, I get the sense that one could avoid the re-write > to OPENSTEP API's and just recompile an app written in > Codewarrior for OPENSTEP. Now, would that result in an app that > basically translates API calls to OPENSTEP calls? Would this > result in an app that runs as fast as a fully native OPENSTEP > app? Are developers just going ahead with their current > development plans and a) hope that the compability for developers > is as complete as the user environment b) hoping that the OPENSTEP > portion of Rhapsody will fail so that they can do things the way > they always have c) hoping that Rhapsody will fail so that they > can write Be apps d) something else?? > I seriously doubt that many Mac developers are hoping for Rhapsody or OPENSTEP to fail since they are the brightest hope for the future of Mac development. Most of the big Mac developers have been pretty willing to make the big leaps when Apple has provided new platforms (look at the jump from 68k to PPC or the jump from System 6 to 7). The only thing that they ask, I think, is that there be reasonable support for their old style products during the transition and that reasonable devolopment tools be made available. > Not knowing PowerPlant, MacApp, or CodeWarrior, can someone > point out how they compare to ProjectBuilder, IB, AppKit, > FoundationKit, etc.? > > I just don't see the rush of newbie OPENSTEP programming > questions that I had expected. Maybe it's just that most Mac > developers don't have access to a NeXT/Intel/SPARC to do OPENSTEP > development yet. > I think the main reason that you don't see a rush of newbie questions is that Mac developers are not newbies. These people are experienced programmers and a new OS is just not that difficult to them. Further, OPENSTEP is not "new" in the sense that BeOS is new. OPENSTEP has been around for many years. There are plenty of programmers out there who have used OPENSTEP on one platform or another. There are a fair number of quality books out there on the subject of OPENSTEP programming. When you are trying to learn to write code for an embrionic OS you need to get out and ask all kinds of stupid questions to other folx also struggling along with the new baby. Noone knows quite what works, not even the folx who wrote the thing, so there are lots of "newbie" questions being asked. With OPENSTEP, however, there is a large body of established lore to which a neophyte can refer and there are a fair number of experienced programmers that companies can hire to train their staffs or do the programming for them. Another point is that it has only been a few months since Apple bought NeXT and many developers who need to get their feet wet with OPENSTEP are probably still just getting aquainted with the system. I only aquired my NeXT box and got it set up two weeks ago. In those two weeks I have made it about 300 pages into the Garfinkel/Mahoney book. In a couple more weeks you should have a fair crop of former Mac developers who have gotten just enough of a taste of OPENSTEP to know what questions they need to ask. When you consider that a neophyte OPENSTEP programmer could need to learn 1) the NeXTSTEP GUI, 2) Objective-C, and 3) the OPENSTEP API and programming tools, I don't think its too much of a suprise that it is taking a few months to see their responses flooding the NGs. -Jeff Dutky
From: "zarf" <zarf@zarfism.com> Newsgroups: comp.sys.next.programmer Subject: Re: No rush of postings from Mac developers was Re: Developing for Rhapsody Date: 9 Mar 1997 08:43:00 GMT Organization: zarfism Message-ID: <01bc2c65$e429e080$3a65a8c6@metnews.hip.cam.org> References: <5fkqpq$1nhm@atlas.vcu.edu> <331E6D78.4784@wam.umd.edu> <makhloma-0903970132120001@ppp4.musc.edu> Michael Makhlouf <makhloma@musc.edu> wrote in article <makhloma-0903970132120001@ppp4.musc.edu>... > > :Weiyuan W Chin wrote: > :> > :> It has occured to me that there isn't a rush by Mac developers > :> to develop under the OPENSTEP API's. :> I just don't see the rush of > newbie OPENSTEP programming > :> questions that I had expected. Maybe it's just that most Mac > :> developers don't have access to a NeXT/Intel/SPARC to do OPENSTEP > :> development yet. > > I would be asking a lot of questions if I could run OPENSTEP on my Mac. I > read parts of the Nextstep tutorial on the Web, but since I don't own an > Intel and definitely can't afford the developer edition of OPENSTEP, I can't > do any meaningful work. Although I am not a "real" developer (shareware > only), I believe that my viewpoint applies to most Mac programmers. As long > as there is nothing of OPENSTEP on the Mac, Mac developers will keep working > on their current projects using system 7 API's. It very hard for us to > believe that OPENSTEP programs would just need a recompile (or slight source > code modification) to run under Rhapsody. I hope that when Rhapsody DR is > released we will see a TON of questions. (make sure you check > c.s.m.programmer.* though). > > Tony "waiting to do cool stuff with OPENSTEP on the Mac" Makhlouf Hyuk! There may be a ton of questions on c.s.M.p but to get answers you and me will have to go to c.s.N.p!! Duh. - embarrassed by my fellow mac-bigots
From: clafey@buncombe.main.nc.us (Cicada La Fey) Newsgroups: comp.sys.next.programmer Subject: Re: Problems with N3DShader class Date: 9 Mar 1997 14:23:27 GMT Organization: Mountain Area Information Network Message-ID: <5fuh4v$ec6@mainsrv.main.nc.us> This is not a direct reply, just that I ran into a bug in the N3DShader in my 3.1 system (which may be fixed in later versions). If I setShader: to some value like "matte", and then later set it to "none", setting it to none causes free() to be called on some unmalloc'd memory, setting the stage for unpredictiable things to happen, but usually an attempt to access memory through a pointer that has been trashed.
From: clafey@buncombe.main.nc.us (Cicada La Fey) Newsgroups: comp.sys.next.programmer Subject: Help me get Photreal Renderman working Date: 9 Mar 1997 14:42:58 GMT Organization: Mountain Area Information Network Message-ID: <5fui9i$ec6@mainsrv.main.nc.us> If anyone knows how to get Photorealistic Renderman working on the NeXT, please enlighten me! Cicada LaFey clafey@main.nc.us I have a NeXT Dimension system and am running NeXTStep Developer 3.1 I am attempting to use photorealistic renderman. I have created a scene using the 3DKit which I have rendered on the screen. This uses the interactive renderman. Now I want to use the photoreal renderman so I call the N3DCamera's renderAsTiff method. The renderpanel comes up with a single server listed: "localhost". I press the OK button and the following message is printed: clnt_create: RPC: Unknown host And the method renderAsTiff returns a tag of zero. The delegate method which is supposed to be called when the rendering is complete never is called. I presume that this is because the rendering job was not successfully submitted. I used the application RenderManager.app to look at the render queue and it was indeed empty. I tried reconfiguring the renderer by setting it to be public instead of private. That ended up creating another server named the name of my machine (coyote). Now both localhost and coyote come up as servers in the render panel, but selecting either of them still results in the same response as before. I have been unable to find any documentation on how the render servers are supposed to be set up, etc... /usr/prman has three executables in it. The program shader has a manual page, but the program prman does not. The third program rpc.renderd I assume is a daemon which perhaps I need to have running on my machine in order for the renderer to work. So I try just putting the following line in my rc.local (A long shot since there is no documentation) /usr/prman/rpc.renderd >/dev/console This results in the following message being printed on my console and still no rendering: Mar 9 08:55:14 coyote syslog: svcudp_create - cannot getsockname: Socket operation on non-socket If anyone knows how to get Photorealistic Renderman working on the NeXT, please enlighten me! Cicada LaFey clafey@main.nc.us
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.system,comp.sys.next.programmer,comp.sys.mac.programmer.codewarrior Subject: Re: Mac/NeXT & Unix: File System Followup-To: comp.sys.mac.system,comp.sys.next.advocacy Date: Sun, 9 Mar 1997 12:11:30 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <kn8ix2200iWPA1xG1y@andrew.cmu.edu> References: <5ddp66$jpc@news.bu.edu> <5dtpb5$h4t@news.bu.edu> <Mn1TiBm00iVC81ZnAQ@andrew.cmu.edu> <AF2E42E196681EFC18@node50.tfs.net> <5eb9r5$iv2@csugrad.cs.vt.edu> <AF39A1D79668E697E@pm3-p20.tfs.net> <5f1qoe$8dp@spool.cs.wisc.edu> <maury-0703971228500001@199.166.204.230> <SHESS.97Mar9001431@howard.one.net> In-Reply-To: <SHESS.97Mar9001431@howard.one.net> [ ...followups redirected out of the programming newsgroups... ] Excerpts from netnews.comp.sys.next.programmer: 9-Mar-97 Re: Mac/NeXT & Unix: File S.. by Scott Hess@one.net > Agreed. Who's journaled file system to use? NeXT doesn't have > one. > > FreeBSD either has one already, or has one in the works. NeXT's OS is > BSD based, so it's unlikely to be a giant project to integrate. [The > big problem here is that Apple/NeXT is unlikely to want to outsource > their filesystem, so they _have_ to bring it inhouse.] Of course, we've got to ask what the value of a journaled file system is to users. It provides the ability for a filesystem to update itself atomically, which means that you can crash and not have to fsck (filesystem check) the disk drives, and that you won't lose files due to metainformation corruption. However, I haven't had my system crash in nearly a year-- journaled filesystems are nice but purely optional. We can wait until later releases of Rhapsody, assuming Rhapsody is stable enough that people don't end up fsck'ing their drives every day. > Who's system should we use to make Mac files invisible to the > OS? NeXT doesn't have one. > > Sure they do. I have all sorts of invisible files on my filesystem. > A simple toggle lets me see them if I want to. Agreed. > Who's system to support ACL's? NeXT doesn't have one. > > AFS was ported to NeXT _long_ ago, and it had ACLs (didn't it?). Yes, AFS was ported to NEXTSTEP on black hardware, and I'd think TransARC is virtually certain to port AFS or DFS to Rhapsody. ACL's only become a significant improvement over the Unix permissions and groups when you've got a large number of networked users (at least in the 100's). [ ... ] > The server market is small though, judging by sales of NT server > (about 3 million a year). Even Apple's tiny market share sells > about the same. They have to please both camps, and FFS isn't the > solution. NTFS may be. XFS may be. I would suggest that the time > to choose is soon though. > > The problem, here, seems to be one of ambiguous assertions. Both NTFS > and XFS owe a tremendous dept to FFS. Regardless of what you call it, > whatever the future filesystem Apple/NeXT uses, an old FFS hack will > probably understand much more than half of what's going on - because > that half will effectively _be_ FFS. > > The main problems with NeXT's FFS are almost entirely related to lack > of resources on NeXT's part to fix them, not to intrinsic failings. > If there is a good reason for Apple/NeXT to make it work, they've got > the engineering talent to fix it. Question: what are the "main problems" with the Berkeley FFS as a user filesystem? Why isn't the FFS a solution? ACL's are nice, journalling is nice, guaranteed throughput is nice-- but they not only aren't essential, they aren't even _important_ to the majority of users. I'm not opposed to the idea of Rhapsody switching to a better filesystem if there is adequate reason for the change, but I'd rather see Apple focus on more important issues, otherwise. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: jbf_see_signature@frazer.com (James B. Frazer) Newsgroups: comp.sys.next.programmer Subject: Re: Help me get Photreal Renderman working Date: Sun, 09 Mar 1997 13:39:04 -0500 Organization: The Internet Access Company, Inc. Message-ID: <jbf_see_signature-ya023580000903971339040001@news.tiac.net> References: <5fui9i$ec6@mainsrv.main.nc.us> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5fui9i$ec6@mainsrv.main.nc.us>, clafey@buncombe.main.nc.us (Cicada La Fey) wrote: > If anyone knows how to get Photorealistic Renderman > working on the NeXT, please enlighten me! snip > The renderpanel comes up with a single server listed: > "localhost". I press the OK button and the following > message is printed: > clnt_create: RPC: Unknown host snip I had the same problem on one NeXT (at work) in which /etc/hostconfig identified the machine name and IP address, with a single level netinfo. I did not have this problem with a second NeXT (at home) with a similar /etc/hostconfig but a two level netinfo. In this setup, the machine names and IPs appear in the "network" directory, while the "local" directory includes only broadcasthost and localhost. (I can't say what I would find in the local directory on the machine at work, since I'm not there, but I suspect it was modified by HostManager.app to include the machine name and IP address, and that that was the cause of the trouble.) Since this occurred in using Stone Design's 3D app, I called them, and this seems to be a common problem. They suggested I add the machine name to /locations/renderers in local (I think?), and that did the trick (I guess?) It seems to me that in the early PPP days there were all sorts of warnings against configuring the host name in /etc/hostconfig because this caused netinfo hangs. This seems like it might be a related problem - but I've never had it with a two level netinfo. OTOH, I've never been able to get a NeXT to execute print requests over the Ethernet. (It claims the connection was lost, or something like that.) Any netinfo experts out there able to clarify this? Barney (delete that _see_signature to email me)
From: msb@plexare.com (Michael S. Barthelemy) Newsgroups: comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Date: 9 Mar 1997 17:15:29 GMT Organization: Integrity Solutions, Inc. Message-ID: <5fur7h$b6u@medusa.is.com> References: <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> In article <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> "zarf" <zarf@zarfism.com> writes: > Do you foresee any technical hitches for Apple-Next, or third-party if > necessary, to provide the following arrangement: > > * make the Mac global horizontal menubar the default under Rhapsody for > those who afraid to leave the single-tasking look > > * yet changeable to the Keith Ohlfs/NeXTSTEP style for those of us who want > to graduate to the NeXT level It is entirely possible -- even relatively easy -- however the easiest way of supporting it would be that the NEXTSTEP style menus would have the same heirarchy as the Mac ones. The second easiest way would be to do what NeXT does for supporting OPENSTEP on Windows -- have two nib files with the different menu styles in them. Mike Barthelemy msb@plexare.com
From: msb@plexare.com (Michael S. Barthelemy) Newsgroups: comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Date: 9 Mar 1997 17:15:57 GMT Organization: Integrity Solutions, Inc. Message-ID: <5fur8d$b6v@medusa.is.com> References: <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> In article <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> "zarf" <zarf@zarfism.com> writes: > Do you foresee any technical hitches for Apple-Next, or third-party if > necessary, to provide the following arrangement: > > * make the Mac global horizontal menubar the default under Rhapsody for > those who afraid to leave the single-tasking look > > * yet changeable to the Keith Ohlfs/NeXTSTEP style for those of us who want > to graduate to the NeXT level It is entirely possible -- even relatively easy -- however the easiest way of supporting it would be that the NEXTSTEP style menus would have the same heirarchy as the Mac ones. The second easiest way would be to do what NeXT does for supporting OPENSTEP on Windows -- have two nib files with the different menu styles in them. Mike Barthelemy msb@plexare.com
From: dickrp@wckn.dorm.clarkson.edu (Rob) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 9 Mar 97 19:43:25 GMT Organization: Clarkson University Message-ID: <dickrp.857936605@wckn.dorm.clarkson.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <331f6ea2.1358032@nntp.ix.netcom.com> <SHESS.97Mar7101914@howard.one.net> shess@one.net (Scott Hess) writes: >_Now_ I'd have no problems porting to C++ from Objective-C. The I used to think that a port from Objective-C to C++ would be relatively easy compared to the initial design. This wasn't the case in a project I recently ported. Compared to Objective-C, C++ inheritance is broken. Genericity is accomplished with templates instead. It does sort of work but it totally changes the way design is done. If you do decide to port your project, please share your experiences with me. I was amazed by the difficulty I had simulating message passing in C++. I finally gave up and significantly modified my design to fit C++'s more restricted view of objects. -Robert Dick (dickrp@wckn.dorm.clarkson.edu)-
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Date: Sun, 09 Mar 1997 15:50:43 -0500 Organization: Atria Software Message-ID: <maury-0903971550430001@198.133.37.101> References: <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> In article <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org>, "zarf" <zarf@zarfism.com> wrote: > * make the Mac global horizontal menubar the default under Rhapsody for > those who afraid to leave the single-tasking look I think it's pretty safe to say that both will be supported at some point. Regardless, the menu bars under NeXT and Mac are similar. NeXT's are movable and not always at the top of the screen, but the concepts are similar and quite the opposite of the menus-in-windows used under systems like Windows or X. > * yet changeable to the Keith Ohlfs/NeXTSTEP style for those of us who want > to graduate to the NeXT level > > I know a bit about NIB files but I'm still worried. I just want to know for > sure that there is no technical reason that the above arrangement is not > possible and hopefully some reassuring details to that end. Appearance Manager should handle all of this. Maury
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.mac.programmer.codewarrior,comp.sys.mac.system,comp.sys.next.programmer Subject: Re: Mac/NeXT & Unix: File System Date: Sun, 09 Mar 1997 16:02:10 -0500 Organization: Atria Software Message-ID: <maury-0903971602100001@198.133.37.101> References: <5ddp66$jpc@news.bu.edu> <5dtpb5$h4t@news.bu.edu> <Mn1TiBm00iVC81ZnAQ@andrew.cmu.edu> <AF2E42E196681EFC18@node50.tfs.net> <5eb9r5$iv2@csugrad.cs.vt.edu> <AF39A1D79668E697E@pm3-p20.tfs.net> <5f1qoe$8dp@spool.cs.wisc.edu> <maury-0703971228500001@199.166.204.230> <SHESS.97Mar9001431@howard.one.net> In article <SHESS.97Mar9001431@howard.one.net>, shess@one.net (Scott Hess) wrote: > FreeBSD either has one already, or has one in the works. NeXT's OS is > BSD based, so it's unlikely to be a giant project to integrate. [The > big problem here is that Apple/NeXT is unlikely to want to outsource > their filesystem, so they _have_ to bring it inhouse.] I don't think any of these files systems would be difficult to add considering how easy they seem to be added to other flavours of Unix in the past. The issue, as I see it, is picking one, picking it now, and making it the "standard" under Rhapsody. Again it strikes me as one of those things that should not be left to post-1.0 time frames. > Sure they do. I have all sorts of invisible files on my filesystem. > A simple toggle lets me see them if I want to. Sorry, I worded that badly. I was referring to supporting Mac files invisibly under the file system. The current NeXT solution does not do this, and Mac files will likely become wrappers. Not that that's a bad solution, but other file systems like HPFS support unlimited tagging which is a much better solution (it also allows for things like ACL's and comments to be added as additional tag fields). I did not mean to refer to invisible files, althoguh rereading the post I seemed to imply that - sorry. > AFS was ported to NeXT _long_ ago, and it had ACLs (didn't it?). AFS? Sorry, I'm not too sure what you refer to (Apple File Sharing? - it doesn't). The point here is that it's not only possible, but done, the issue is to make one of these standard so we can rely on having these features as opposed to having lots of case code depending on what features we have or don't have. > This one would be easy to let pass - if it were a common feature in > the market. All of the popular operating systems suck in this regard > _today_, SGI XFS non-withstanding. Oh I agree. Not even Be has this as far as I am aware. So if we were to use XFS (still reading the docs) this would be one more feature that the system could boast that few others would have. For instance, the BeOS has some real time functionality which the current Mach kernels don't, but it would certainly be nice if this were backed up in the file system as well. Even the file system alone, when used with something like QuickTime, would certianly be a "bonus" feature. > The problem, here, seems to be one of ambiguous assertions. Both NTFS > and XFS owe a tremendous dept to FFS. Regardless of what you call it, > whatever the future filesystem Apple/NeXT uses, an old FFS hack will > probably understand much more than half of what's going on - because > that half will effectively _be_ FFS. Absolutely, one more reason why code changes to the storage operators in OpenStep would not have to be modified to _work_ under such a system. Future versions could use the added functionality, but only if such a system is standardized. > The main problems with NeXT's FFS are almost entirely related to lack > of resources on NeXT's part to fix them, not to intrinsic failings. > If there is a good reason for Apple/NeXT to make it work, they've got > the engineering talent to fix it. I certainly hope so! Regardless of Copeland's overall failure, it did have a lot of good ideas, and it's object based view of the file system universe was, IMHO, one of them. Apple did not go so far as to introduce a new file system to go with it (a problem the people at the day job [myself included] went out of our way to communicate to Apple as often as we could). So here we are at the same cross roads once again. Maury
From: jbf_see_signature@frazer.com (James B. Frazer) Newsgroups: comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Date: Sun, 09 Mar 1997 16:14:16 -0500 Organization: The Internet Access Company, Inc. Message-ID: <jbf_see_signature-ya023580000903971614160001@news.tiac.net> References: <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> <5fur7h$b6u@medusa.is.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit > In article <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> "zarf" <zarf@zarfism.com> writes: > * yet changeable to the Keith Ohlfs/NeXTSTEP style for those of us who want > to graduate to the NeXT level Or regress? Never liked the waste of screen real estate myself, altho tear offs and second button popups are nice. Barney (delete that _see_signature to email me)
From: lloyddean@earthlink.net (Lloyd D. Ollmann, Jr.) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: Sun, 09 Mar 1997 12:44:54 -0800 Organization: Earthlink Network, Inc. Message-ID: <lloyddean-0903971244540001@cust74.max4.seattle.wa.ms.uu.net> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> <331dc772.73186408@news.inlink.com> <5fl6fc$8mu@nnrp1.news.primenet.com> <331f2b7d.20505173@news.inlink.com> <5fnc5i$k0p$2@majipoor.cygnus.com> <33204896.6745840@news.inlink.com> <33210C89.4073@ix.netcom.com> <makhloma-0903970140380001@ppp4.musc.edu> Given that Apple has stated that they are pursuing two OS paths and that in late December Apple changed the name of it's developer support program from "Apple Developer Program" to "Macintosh Developer Program" I wouldn't count on it. I suspect Apple is likely to treat the two as completly sepearate support programs, with two very different retail prices. MacOS 8 will most likely be the consumer OS at less than $300 and Rhapsody as the Enterprise or Professional OS at greater that $500. In article <makhloma-0903970140380001@ppp4.musc.edu>, "Michael Makhlouf" <makhloma@musc.edu> wrote: > I wonder what would Metrowerks think of this. 250 US$ is less than what > Codewarrior costs. I wonder if Apple and metrowerks have made some secret > deal in exchange for Metrowerks supporting Rhapsody. Although I sincerely > hope, for my sake and Apple's, that the 250 $ developer program will include > Developer tools, I am afraid that this won't be the case.I think they will > include it with ETO (for around $1000). Of course this is just speculation.
From: stanj@cs.stanford.edu (Stan Jirman) Newsgroups: comp.sys.next.programmer Subject: Alpha app icons on NT Date: 9 Mar 1997 21:52:14 GMT Organization: Stanford University Message-ID: <5fvbee$hla@nntp.Stanford.EDU> I was wondering how to achieve partially transparent app icons for your apps on NT. It doesn't eat tiffs, and when I convert my TIFF with alpha to BMP using pretty much any converter I know of, it just laughs and converts the Alpha component to black. Any clues? Thanks! - Stan --- Nature photography: http://www-leland.stanford.edu/~stanj NeXTmail and MIME: stanj@cs.stanford.edu
From: nurban@sps1.phys.vt.edu (Nathan Urban) Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: GDB Features In 4.X, As Versus MW? Followup-To: comp.sys.next.programmer Date: 9 Mar 1997 19:17:54 -0000 Organization: Virginia Polytechnic Institute and State University Message-ID: <5fv2d2$ssp@sps1.phys.vt.edu> References: <jbf_see_signature-ya023580000903971609370001@news.tiac.net> <gn8oD0W00iWU48M6cU@andrew.cmu.edu> In article <gn8oD0W00iWU48M6cU@andrew.cmu.edu>, Charles William Swiger <cs4w+@andrew.cmu.edu> wrote: > What about the "browse stack" buttons in the 'Gdb...' panel of Edit.app? In 4.1, you don't use Edit.app anymore for source browsing, GDB access is integrated into ProjectBuilder, and the stack browser appears to have vanished. Instead, you select an object to print out in the source code and click on the Print button to print it out (as text) in the inferior gdb process window. And I don't see how you can print out that object's instance variables very easily. I'd love to be mistaken about that, though.. the browser was real handy. Maybe I just don't know how to bring it up in 4.1. Followups to comp.sys.next.programmer, where this thread should have started in the first place. -- -------------------------------------------------------------------------- Nathan Urban | Undergrad {CS,Physics,Math} | Virginia Tech nurban@vt.edu | {NeXT,MIME} mail welcome | http://nurban.campus.vt.edu/ --------------------------------------------------------------------------
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sun, 09 Mar 1997 01:59:17 GMT Organization: InterServ News Service Message-ID: <5ft5bp$kok@lal.interserv.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> In <<332192A6.313D@online.disney.com>>, Joseph Panico <jpanico@online.disney.com> wrote: >I have to disagree. Java, without JIT, is probably an order of magnitude >slower than ObjC. With a top of the line JIT, it's probably on par with >ObjC. And yet, c++ programmers are abandoning c++ for Java at an >astounding pace? >Why is this? Mainly because it's Hot! & New! and it look good an a resume right now. And actually few are "abandoning" C++ for Java. Mostly they are just learning & experimenting with Java, while they continue to do their real work in C++. And, recent surveys show that many people are finally realizing tha Java isn't the panacea it was hyped as, and putting it aside. My prediction: within two years, Java will be used strictly for simply web page applications. Truth, James
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sun, 09 Mar 1997 01:59:11 GMT Organization: InterServ News Service Message-ID: <5ft5bh$kok@lal.interserv.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <markeaton_-0103971953190001@ip73.santa-clara7.ca.pub-ip.psi.net> <3319DCB7.6821@online.disney.com> In <<3319DCB7.6821@online.disney.com>>, Joseph Panico <jpanico@online.disney.com> wrote: >Apparently, choosing a sort method to illustrate my point was a little >unfortunate, as it allowed some people to focus on the wrong thing. The >point has nothing to do with implementation-- the point was *design*. Yes, which is why I dealt with the two issues separately. But my point was, a good design with a bad implementation is no better that a bad design. >Incidentally, in Obj-C I could write the actual sort implementation in c >or even assembler, if I were worried about performance, so the idea that >you must take a hit using Obj-C is bogus. So, your point is that Obj-C is very effecient as long as you don't use it? Heck, I could use C or even assembler it write effecient rountines for programs I write in BASIC. But why should I be switch back & forth between languages? With C++, I can have near perfect OOP design and full performance using only one language throughout. >The biggest problem with business applications (short of olap or >modelling) is definitely not performance. The biggest issue is >manageability, specifically managing complexity. I've rarely heard users complain that a program was tough for the programmers to maintain. But nearly everyday I hear someone complaining that a program is "too damn slow". Truth, James
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy Subject: Re: Objective C? Date: Sun, 09 Mar 1997 01:59:23 GMT Organization: InterServ News Service Message-ID: <5ft5bs$kok@lal.interserv.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> In <<4n7kZb_00iWl070Vg0@andrew.cmu.edu>>, Charles William Swiger <cs4w+@andrew.cmu.edu> wrote: >[ ...apologies for quoting a lot, but I need to leave the context in... ] oooow! Someone who actually cares about wasted bandwidth.... [a lot of good information about NeXTStep's ObjC implementation snipped] Your points are well-taken, but I see them mostly as NeXT just providing for it's users a class library it make the unfortunate aspects of ObjC less onerous. As we speak, (OK, maybe not as I write, but probably as you read, since the meeting starts Sunday 9-Mar-97), the ANSI/ISO C++ Standardization Comittee is working on a class library it make the unfortunate aspects of C++ less onerous, (and to allow the use to better take advantage of it's strengths). On a theortical level, an ISO standard is better since it would be common to all implementations, but on a practical level, they are about the same, since the NeXT implementation of ObjC is virtually the entire ObjC marketplace. >Obj-C code is therefore easier to maintain than C++ code, because you >never have to worry about changing the sorting implementation-- all you >have to do is maintain the code that compares the two objects. Well, no. Remember that ISO standard C++ I just mentioned -- it includes a sort<T> template. which mean all I have to do is maintain the code that compares the two objects. [quoteback of my pathological example snipped] >That's because you cheated. Hell, you could write the same code you did >in Obj-C without using any function calls, either: >If you had this: >@interface T : Object { > int realval; > char blah[100]; > // more stuff >} >@end >...and you had some code somewhere, you could do: > if (x->realval < y->realval) { > int t = x->realval; > y->realval = x->realval; > y->realval = t->realval; > } >...and get exactly the same behavior and performance of the C++ version. Yes--- But there are important differences. First of all, realval would most likely be a private data item, which means you could only access it from a member function. But then, this might as well be a member function, since it must be specifically hand-coded for objects of this type. In my example, I did *NOT* hand-code that section. All I did was define a operator<() function and an operator=() function and used the STANDARD LIBRARY template function, sort(). The process of customizing the sort() template into a sort function specific to the needs of the object was handled by the compiler. This allows me to create objects of, say, the Widget class defined by one third-party vendor, put them into a collection, say BagOWidgets using a Bag<T> template defined by a different third party vendor, and sort them using the sort() tempalte function defined in the standard library, without the two vendors having to know about each other, without me having to know a single implementation detail of either vendors' classes, and with me writing only a single line: sort(BagOWidgets.begin(), BagOWidget.end()); and nevertheless, the sort function used will be automatically customized (at compile-time) for the needs of both the collection & the object (for example, the standard library sort() can automatically deduce, at compile-time, if the collection allows dynamic access (ie, an array) or sequential access (ie, a linked-list), and generated the correct algorithm for it). (note, if you were sorting lot of collections, you might want to to define that in a tempalte as well: template<class T> inline sort(T t) {sort(t.start(), t.end());} and then you can simplify you writing a bit: sort(BagOWidgets); sort(ArrayOfWhatsits); sort(ListOfThingamabobs); The point of all this is that with ObjC, you can have perfect OOD, with a single sort() which takes a generic collection of generic objects, and sorts them, very slowly through run-time binding. Or you can throw it all away, and hand code lots of sort functions each of which sorts a differnent type of collection of different objects quickly by depending on the application programmer knowing the internal implementation details of the class. With C++, you must give up some theortic OOD concepts (mainly, late-binding), but still use a single sort function which takes a generic collection of generic objects and sorts them very quickly through compile-time binding, without the application programmer having to know any of the objects or collections implementation details. >Assuming you don't cheat and you have to use C++ virtual functions to >access instance variables and perform a real copy, you'll get very >nearly the same overhead that you would using Obj-C methods to access >ivars and do a real copy. Why is using non-virtual functions "cheating"? Virtual functions are needed if the class is a base for some inherited class. But not all classes are intended to be base classes. I believe, in the real world, most classes aren't. And, even those that are, don't always use the virtual mechanism. for example: class B { virtual inline void func() { cout << "B::func" << endl;} } class D: public B { virtual inline void func() { cout << "D::func" << endl;} } func2(B *pB) { B b; D d; b.func(); // known B. Direct call to B::func(), inlined d.func(); // known D. Direct call to D::func(), inlined pB->func(); // could be B or D. Indirect "virtual" call to appropriate // func() used. not inlined. } Truth, James
From: "zarf" <zarf@zarfism.com> Newsgroups: comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Date: 10 Mar 1997 00:48:23 GMT Organization: zarfism Message-ID: <01bc2cec$bfcfc560$a865a8c6@metnews.hip.cam.org> References: <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> <5fur7h$b6u@medusa.is.com> Michael S. Barthelemy <msb@plexare.com> wrote in article <5fur7h$b6u@medusa.is.com>... > In article <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> "zarf" <zarf@zarfism.com> writes: > > Do you foresee any technical hitches for Apple-Next, or third-party if > > necessary, to provide the following arrangement: > > > > * make the Mac global horizontal menubar the default under Rhapsody for > > those who afraid to leave the single-tasking look > > > > * yet changeable to the Keith Ohlfs/NeXTSTEP style for those of us who want > > to graduate to the NeXT level > > It is entirely possible -- even relatively easy -- however the easiest way of supporting it would be that the NEXTSTEP > style menus would have the same heirarchy as the Mac ones. The second easiest way would be to do what NeXT does for > supporting OPENSTEP on Windows -- have two nib files with the different menu styles in them. > > Mike Barthelemy > msb@plexare.com Yes, but my fear - b/c I'm not very familiar with the Openstep architecture - is that if AppleNext doesn't provide for "nib-switching" on Rhapsody that the capability for a 3rd-party to do this might not be there. I mean, more than the appropriately designed NIB files is required, no? I thought, they simply describe the layout/order of the menus, not their appearance and behaviour. In which case, someone would have to tinker with or over-ride the Openstep code that handles the menu appearance. I'm hoping for some technical details that would demonstrate that this is not undocumented or otherwise out of the reach of Next hackers. Perfect paranoia is perfect awareness.
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 10 Mar 1997 02:01:36 GMT Organization: ace dot net internet technologies Message-ID: <5fvq20$2ta$1@darla.visi.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> <tz8vi723t02.fsf@aimnet.com> In comp.sys.next.advocacy Thomas <nouser@nohost.nodomain> wrote: : I benchmarked method dispatch in Kaffe (the free JIT for Java) to be the : the same speed as C++, taking about half the time of GNU Objective-C : method dispatch. The way Kaffe implements its method dispatch, the dispatches are not dynamic! The first usage of a method causes the "lookup", which is then forever cached and never rechecked. This would be similar to using ObjC to grab a method pointer, and then calling it for everything. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: stone@enetis.net (Kevin and Brian Stone) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Followup-To: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Date: 9 Mar 1997 20:09:56 -0700 Organization: E-Net Information Services (605-341-ENET) Message-ID: <5fvu24$gvl@enet1.enetis.net> References: <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> zarf (zarf@zarfism.com) wrote: : As a current Mac user I'm concerned that some of my fellow Mac : users/cry-babies could torpedo the availability of the NeXT HI under : Rhapsody. Though they are vocal, I know I'm not the only Mac user who, : though amazed ten years ago by the Mac look and feel, now feels confined : by its age and backwardness. ^^^ ^^^^^^^^^^^^ Do you really? Sad. Seen Windows 95 lately? Getting around the system through lists and menus isn't my idea of advanced. Even without Pre-emptive multitasking, or multi-threaded apps... the MacOS and ONLY the MacOS provides the high level of intuitive features combined with a powerful interface that allows you to organize and use information on your drives as YOU would... not as the system would conform you to. Sorry... I'd give up so-called modern features like pre-emptive multasking to keep the vastly superior design and interface of the MacOS. That and that alone makes the MacOS more powerful than anything the PC has to offer. But like you, I believe that the NeXTSTEP has something to offer the MacOS. I believe Apple's intent to marry the two is to create something unique by combining the good elements of both OS's into one seamless environment. Pull away contextual menus, pre-emptive multtasking, and multi-threaded apps can only help the MacOS be better than what is today. Still... I find it rediculous to think that some people think that the MacOS is not great just the way it is in terms of it's Human Interface and GUI (no insult intended). -Kevin Stone
From: michael@nexus1.tng.oche.de.no.spam (Michael Pieper) Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: Re: help me with ppp Date: 6 Mar 1997 16:47:33 GMT Organization: I.N.-Regionaldomain oche.de, Aachen, Germany Message-ID: <5fmsf5$krd$10@nexusgate.tng.oche.de> References: <jlimpert-0503971833060001@edit86.edit.pathfinder.com> jlimpert@pathfinder.com (john limpert) wrote: >i have nextstep 3.3 for intel and a pc w/ 28.8 modem. > >how do I get a ppp connection to the internet established?? Take ppp_2_2.0.4.6.s.tar.gz and GateKeeper.2.0.Beta.6.s.tar.gz (or a newer version) from the archives. It shouldn't be to difficult. Michael -- Michael Pieper, Bluecherplatz 14, D-52068 Aachen, Tel. : +49 - (0)241 - 902455 Fax: +49 - (0)241 - 902456 Mail : michael@nexus1.tng.oche.de (NeXTmail and MIME welcome) PGP : Public Key on demand
From: Chris Johnson <cjohnson@object-works.com> Newsgroups: comp.sys.next.programmer Subject: Re: newbie question Date: Sun, 09 Mar 1997 22:25:17 -0500 Organization: ObjectWorks Inc. Message-ID: <33237F1D.3230@object-works.com> References: <msg42535.thr-2198a7.f4cdd@flannet.middlebury.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: David Herren <herren@flannet.middlebury.edu> David Herren wrote: I'm attempting to do the tutorials in Gene Backlin's book, "Developing Nextstep Applications." However, I am attempting this under Openstep 4.1 so I have had to make some changes to his suggested code. Here's his suggested code in a cheasy application that is to get the rect of a window: #import "WindowController.h" @implementation WindowController - getTheFrame:sender { NXRect theFrame; [window getFrame:&theFrame]; [originX setFloatValue:theFrame.origin.x]; [originY setFloatValue:theFrame.origin.y]; [sizeWidth setFloatValue:theFrame.size.width]; [sizeHeight setFloatValue:theFrame.size.height]; return self: } @end I know that at least the following changes must be made under openstep: #import "WindowController.h" @implementation WindowController - (void)getTheFrame:(id)sender { NSRect theFrame; [window getFrame:&theFrame]; [originX setFloatValue:theFrame.origin.x]; [originY setFloatValue:theFrame.origin.y]; [sizeWidth setFloatValue:theFrame.size.width]; [sizeHeight setFloatValue:theFrame.size.height]; } @end When I attempt to compile this I get the error "cannot find method ... return type for "getFrame' defaults to id What other changes do I need to make here? -- David Herren -------------------------------------------------- Web: http://www.middlebury.edu/~herren/ General: herren@flannet.middlebury.edu NeXTMail only: herren@barcelona.middlebury.edu David, OpenStep gave methods that returned NSRect, NSSize & NSPoints ( getFrame: and getBounds:) a little more oo look and feel by transforming them into (NSRect)frame and (NSRect)bounds. Modifying your code to the below should fix your compiler warning. Check out NSView docs and NSGeometry header in the Foundation framework. - (void)getTheFrame:(id)sender { NSRect theFrame; theFrame = [window frame]; [originX setFloatValue:theFrame.origin.x]; [originY setFloatValue:theFrame.origin.y]; [sizeWidth setFloatValue:theFrame.size.width]; [sizeHeight setFloatValue:theFrame.size.height]; } Chris Johnson
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: Sun, 9 Mar 1997 23:14:03 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <gn8se=u00iWXA=dXpb@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> In-Reply-To: <5ft5bs$kok@lal.interserv.com> Excerpts from netnews.comp.sys.next.advocacy: 9-Mar-97 Re: Objective C? by James M. Curran@CIS.Comp > >[ ...apologies for quoting a lot, but I need to leave the context in... ] > > oooow! Someone who actually cares about wasted bandwidth.... Someone's got to. > [a lot of good information about NeXTStep's ObjC implementation > snipped] > > Your points are well-taken, but I see them mostly as NeXT just > providing for it's users a class library it make the unfortunate > aspects of ObjC less onerous. That's what libraries are supposed to be for, though. Just like programming in C is pretty onerous without ANSI-C, Obj-C without any of the class libraries would be unpleasant. If we're going to consider the merits of Obj-C and C++ for real world development, then we need to consider what people actually have and use when writing code. People use the common Obj-C classes all the time, and they would create their own implementations if things like List or NSArray, HashTbale or NSDictionary, NSString, and so forth did not exist. [ ... ] > As we speak, (OK, maybe not as I > write, but probably as you read, since the meeting starts Sunday > 9-Mar-97), the ANSI/ISO C++ Standardization Comittee is working on a > class library it make the unfortunate aspects of C++ less onerous, > (and to allow the use to better take advantage of it's strengths). On > a theortical level, an ISO standard is better since it would be common > to all implementations, but on a practical level, they are about the > same, since the NeXT implementation of ObjC is virtually the entire > ObjC marketplace. I believe the OPENSTEP standard is being submitted to one of the industry standards groups like OMG or X/Open. >> Obj-C code is therefore easier to maintain than C++ code, because you >> never have to worry about changing the sorting implementation-- all you >> have to do is maintain the code that compares the two objects. > > Well, no. Remember that ISO standard C++ I just mentioned -- it > includes a sort<T> template. which mean all I have to do is maintain > the code that compares the two objects. You mean the standard that _might_ have been voted on today? Well, in that case, up until _VERY_ recently, the C++ version has required more maintainance effort than the Obj-C version has. > [quoteback of my pathological example snipped] > >> That's because you cheated. Hell, you could write the same code you did >> in Obj-C without using any function calls, either: [ ... ] >>...and get exactly the same behavior and performance of the C++ version. > > Yes--- But there are important differences. First of all, realval > would most likely be a private data item, which means you could only > access it from a member function. Okay, so? If you've got to access the ivar through a member function in both C++ and Obj-C, we aren't comparing the speed of doing four or so integer operations with a couple of Obj-C method dispatches, now are we? We're comparing the speeds of C++ method dispatches versus Obj-C dispatches. [ ... ] > The point of all this is that with ObjC, you can have perfect OOD, > with a single sort() which takes a generic collection of generic > objects, and sorts them, very slowly through run-time binding. It sorts them in N-log-N time with the same algorithmic worst-case performance that the C++ sort function provides. The difference between even the speed of Obj-C message dispatches compared to even direct integer operations is a constant factor. [ ... ] > With C++, you must give up some theortic OOD concepts (mainly, > late-binding), but still use a single sort function which takes a > generic collection of generic objects and sorts them very quickly > through compile-time binding, without the application programmer > having to know any of the objects or collections implementation > details. That's right. However, my own experience suggests that most of the time, I'll either require the flexibility of the dynamic dispatch and late binding of Obj-C, or else I'm dealing with some data structure which has a critical impact on the performance of the system, and I'll end up writing a little hand-tuned code anyways. Obj-C may perform worse than C++ by a constant factor for the intermediate solution, but that's far less important to me than the issue of C++ utterly failing to provide a good solution when you require the functionality of a dynamic runtime with late binding and so forth. >> Assuming you don't cheat and you have to use C++ virtual functions to >> access instance variables and perform a real copy, you'll get very >> nearly the same overhead that you would using Obj-C methods to access >> ivars and do a real copy. > > Why is using non-virtual functions "cheating"? Virtual functions are > needed if the class is a base for some inherited class. That's right-- I don't believe in designing objects under the assumption that they will never be subclassed. Comparing C++ virtual dispatches to the fully dynamic Obj-C method dispatches is a fair comparison. > But not all classes are intended to be base classes. I believe, in the real > world, most classes aren't. And, even those that are, don't always > use the virtual mechanism. for example: Sure, but you can achieve the same exact thing with Obj-C by memoizing the function implementation associated with a method and calling that directly, or by dereferencing an ivar directly from the structure instead of using an accessor function. It's even possible that you could arrange for the compiler to inline the function implementation directly-- GCC has an optimizer which will automatically inline functions into their callers, although I don't believe that it currently tries to do so for Obj-C methods. However, the specific implementation of the GCC compiler right now does not imply anything about whether Obj-C as a lnguage can achieve a similar speed to C++ by inlining code _if_ you're willing to completely give up dynamic dispatching in favor of inlining everything at compile time the way C++ does. C++ simply has better syntactic sugar than Obj-C for producing efficient code when you've willing to perform binding at compile time. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer Subject: Re: Objective C? Date: Sun, 9 Mar 1997 23:31:48 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <8n8suoq00iWXA=dYIo@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <markeaton_-0103971953190001@ip73.santa-clara7.ca.pub-ip.psi.net> <3319DCB7.6821@online.disney.com> <5ft5bh$kok@lal.interserv.com> In-Reply-To: <5ft5bh$kok@lal.interserv.com> Excerpts from netnews.comp.sys.next.advocacy: 9-Mar-97 Re: Objective C? by James M. Curran@CIS.Comp > >Incidentally, in Obj-C I could write the actual sort implementation in c > >or even assembler, if I were worried about performance, so the idea that > >you must take a hit using Obj-C is bogus. > > So, your point is that Obj-C is very effecient as long as you don't > use it? Heck, I could use C or even assembler it write effecient > rountines for programs I write in BASIC. But why should I be switch > back & forth between languages? With C++, I can have near perfect OOP > design and full performance using only one language throughout. The claim that a language without dynamic (late) binding provides "near perfect OOP design" involves a religious issue that we're just never going to agree on. I can point to large C++ projects like Taligent which have shown very little of the supposed merits of OOP such as code reusability, clean and portable classes, a sensible class hierarchy instead of an overbloated one, delegation and forwarding ala Smalltalk, etc. Can you point to a large C++ project which does exhibit the beneficial properties that OOP should provide? >> The biggest problem with business applications (short of olap or >> modelling) is definitely not performance. The biggest issue is >> manageability, specifically managing complexity. > > I've rarely heard users complain that a program was tough for the > programmers to maintain. But nearly everyday I hear someone > complaining that a program is "too damn slow". Were any of those programs you refer to as "too damn slow" written in Obj-C? Could some of them been written in C++, instead? I still use a 33 MHz 68040 NeXTstation, and there are few Obj-C programs that I consider to be slow. The supposed performance problems you've claimed must exist with Obj-C don't appear even on real-world machines that are slower by roughly an order of magnitude than the machines being sold today. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: nurban@sps1.phys.vt.edu (Nathan Urban) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Followup-To: comp.sys.next.advocacy Date: 9 Mar 1997 23:41:27 -0000 Organization: Virginia Polytechnic Institute and State University Message-ID: <5fvhr7$tta@sps1.phys.vt.edu> References: <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> <5fvu24$gvl@enet1.enetis.net> In article <5fvu24$gvl@enet1.enetis.net>, stone@enetis.net (Kevin and Brian Stone) wrote: > zarf (zarf@zarfism.com) wrote: > : As a current Mac user I'm concerned that some of my fellow Mac > : users/cry-babies could torpedo the availability of the NeXT HI under > : Rhapsody. Though they are vocal, I know I'm not the only Mac user who, > : though amazed ten years ago by the Mac look and feel, now feels confined > : by its age and backwardness. > ^^^ ^^^^^^^^^^^^ > Do you really? Sad. Seen Windows 95 lately? Getting around the system > through lists and menus isn't my idea of advanced. Comparing it to Windows 95 wasn't the point. Comparing it to NeXT's HI was. I think that the poster is correct if you compare the two, though I agree that the Win95 interface isn't great. > Even without > Pre-emptive multitasking, or multi-threaded apps... the MacOS and ONLY > the MacOS provides the high level of intuitive features combined with a > powerful interface that allows you to organize and use information on > your drives as YOU would... not as the system would conform you to. I don't think you've actually used a NEXTSTEP system before. I agree that the MacOS interface is good, better than most of its competitors, but it's not improving as fast as the others are; Windows has already progressed from awful (Windows 3.1) to bearable enough that I'm willing to use it (Windows NT 4.0). And I think the Mac interface still isn't as good as NEXTSTEP already is. (Though on the "as the system would conform you to", NEXTSTEP is sometimes picky about file placement and movement.) MacOS just hasn't been keeping up with real, useful user-interface functionality (like NeXT's Dock, menus, Services, shelves, inspectors, browsers, miniaturized windows, standard color wells, etc.). It _has_ been improving, and has a few nice features I haven't seen elsewhere, but most of its latest UI improvements are either things already existing on NEXTSTEP or things I classify as "eye-candy"; pretty, but nothing that really helps me get my work done better. Not that NEXTSTEP doesn't have its share of UI weaknesses; I have a long list of improvements I'd like to see. But pretty much everything on that list isn't available anywhere else, either. > Sorry... I'd give up so-called modern features like pre-emptive > multasking to keep the vastly superior design and interface of the > MacOS. (Uh, drop the word "design" and keep the word "interface"..) Personally, having an OS that doesn't crash all the time and lets me do than more than one thing at once is pretty high on my priority list. The Mac I use at home crashes far too often (I think System 11 is the usual error), losing all my work, and I just _love_ the way that transferring files on the net grinds the system to a halt if I try to do anything else while downloading. With NEXTSTEP, I get vastly superior design, vastly superior interface, _and_ "modern" features (yes, they are only "so-called" modern, since they've been around in Unix for relative ages) like pre-emptive multitasking, true protected virtual memory, and multi-threaded apps. > But like you, I believe that the NeXTSTEP has something to offer the > MacOS. I believe Apple's intent to marry the two is to create something > unique by combining the good elements of both OS's into one seamless > environment. Of course both systems have something to bring to the table. Unfortunately, you seem to think that the elements worth keeping from NEXTSTEP (except for maybe the menus) only come from the core OS level. I think that the Mac would stand to gain much from the NEXTSTEP UI as well. > Still... I find it rediculous to think that some people think that > the MacOS is not great just the way it is in terms of it's Human Interface > and GUI (no insult intended). I think that it's very good, and used to be great. But I don't think it's the ONLY good UI around, and I think that it hasn't kept up with the times well enough. Followups to comp.sys.next.advocacy. -- -------------------------------------------------------------------------- Nathan Urban | Undergrad {CS,Physics,Math} | Virginia Tech nurban@vt.edu | {NeXT,MIME} mail welcome | http://nurban.campus.vt.edu/ --------------------------------------------------------------------------
From: nurban@sps1.phys.vt.edu (Nathan Urban) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: cmsg cancel <5fvhkq$tru@sps1.phys.vt.edu> Control: cancel <5fvhkq$tru@sps1.phys.vt.edu> Date: 9 Mar 1997 23:43:19 -0000 Organization: Virginia Polytechnic Institute and State University Message-ID: <5fvhun$ttj@sps1.phys.vt.edu> <5fvhkq$tru@sps1.phys.vt.edu> was cancelled from within trn. -- -------------------------------------------------------------------------- Nathan Urban | Undergrad {CS,Physics,Math} | Virginia Tech nurban@vt.edu | {NeXT,MIME} mail welcome | http://nurban.campus.vt.edu/ --------------------------------------------------------------------------
From: pbrown@ashkhabad.berkeley.edu (Paul R. Brown) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Date: 10 Mar 1997 05:20:48 GMT Organization: University of California, Berkeley Message-ID: <slrn5i76f5.s46.pbrown@ashkhabad.berkeley.edu> References: <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> <5fvu24$gvl@enet1.enetis.net> In article <5fvu24$gvl@enet1.enetis.net>, Kevin and Brian Stone wrote: >zarf (zarf@zarfism.com) wrote: >: As a current Mac user I'm concerned that some of my fellow Mac >: users/cry-babies could torpedo the availability of the NeXT HI under >: Rhapsody. Though they are vocal, I know I'm not the only Mac user who, >: though amazed ten years ago by the Mac look and feel, now feels confined >: by its age and backwardness. > ^^^ ^^^^^^^^^^^^ >Do you really? Sad. Seen Windows 95 lately? Getting around the system >through lists and menus isn't my idea of advanced. Even without >Pre-emptive multitasking, or multi-threaded apps... the MacOS and ONLY >the MacOS provides the high level of intuitive features combined with a >powerful interface that allows you to organize and use information on >your drives as YOU would... not as the system would conform you to. Since when does organization of the system areas impede the features of a user interface? >Sorry... I'd give up so-called modern features like pre-emptive >multasking to keep the vastly superior design and interface of the >MacOS. That and that alone makes the MacOS more powerful than anything >the PC has to offer. Trade multi-tasking and multi-threading for being coddled by the operating system? With all due respect, you want your mommy, not a computer... It's easy to hide powerful, useful, and incomprehensible to the usual user features, but it's shortsighted to ask that those features be left out. I NEED a computer which can do many things at once. I started using computers back when a 1MHz Apple II was a decent machine. Some people still use it, some people miss it, but it's gone. Then, it was an IBM PC, then a DEC Vax PDP 11/80 through a VT-220, then a Macintosh, and then a NeXT. My now six year old machine sits on my desk, churns through long-term computations "nice"'d down so that they don't affect the responsiveness to my use of the machine (now there's something I like about Be's ideas; I'm looking forward to Rhapsody running on dual PPC machines...), runs tens of applications at once, all under a seamless, uniform UI. >But like you, I believe that the NeXTSTEP has something to offer the >MacOS. I believe Apple's intent to marry the two is to create something >unique by combining the good elements of both OS's into one seamless >environment. Pull away contextual menus, pre-emptive multtasking, and >multi-threaded apps can only help the MacOS be better than what is >today. Still... I find it rediculous to think that some people think that >the MacOS is not great just the way it is in terms of it's Human Interface >and GUI (no insult intended). The MacOS is a decent operating system, but it's time to move on; there is SO much more out there... Have you ever seen a NeXT or used one? Find one, try it. You'll see that the NeXT was the answer and the logical successor to the MacOS *6* years ago if not longer. I appreciate your worry about losing the features that you've gotten comfortable with, but there is nothing to worry about. It's always possible to round the rough spots, but there is no way to get the sharp edges back (witness MacOS's stagnation)... - Paul
From: ldubois@syndetics.be (Luc Dubois) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: Mon, 10 Mar 1997 07:20:13 +0100 Organization: Syndetics Research Message-ID: <1997031007201320839001@pool011-146.innet.be> References: <msg37701.thr-34dc7b90.54c5638@flannet.middlebury.edu> <5evgk9$7m4@news.next.com> <qdiv3f2b7i.fsf@blues.cygnus.com> <1997022812133841029741@pool011-107.innet.be> <3319E057.181F@hknet.com> <5fd6qg$kme@news.next.com> <199703061301591275778@pool011-119.innet.be> <5fofl6$pis@news.next.com> Mark Bessey <MaRK_BeSSeY@NeXT.CoM> wrote: > Luc Dubois writes > > Now, if only Apple would turn this ugly ULTRA-FAT-Binary technology into > > "Slim-Binaries" by utilising Semantic Dictionary Encoding, they could at > > the same time and in one fell swoop pull control over the internet from > > under Microsoft as well (OK, Microsoft doesn't yet control the Internet, > > but they have every intention of trying to get it). > > That's an interesting idea, but we'd be swimming against the tide. How > about this: If we have the OpenStep library on a large % of desktops, and > an OpenStep-to-Java interface, we can leverage the platform-independence > of Java with our kick-butt native-code class library... Equally interesting idea! :-) But... but... but... Hasn't Apple become what it is, *exactly because* it wasn't/isn't afraid of swimming against the tide? Now, Java as I see it is a nice first attempt at platform-independence. There currently *is* already a better technology available. It's called "Juice" and is based on the language Oberon (from the school of Niklaus Wirth). Instead of byte-codes, Juice is based on SDE, producing "slim binaries". It takes into account the different growth rates of processor power vs. I/O speed. A comprehensive package of network tools, comprising a WWW browser, a telnet application (VT100 emulation), POP/SMPT-Mail, News, Finger, FTP and Gopher application in PowerPC binary code takes 603 kilobytes. Compiled in "slim binary" format, this is just 191 kilobytes! Loading the complete program (all 7 modules) from PowerPC binaries takes 1.1 second (Macintosh 8100/100) while it requires about 2.1 seconds to load from "slim binaries". This loading time of slim binaries includes on-the-fly compilation! I'd like to see byte-code based Java beat that! Check it out on <http://www.ics.uci.edu/~juice> Mind you, I'm not saying that Apple should ignore Java. Obviously, for better or for worse, it *is* the fad du jour. But I believe that if an alternative were presented (and backed by a major player) today, there would be some real interest. Competition is what causes this industry to make progress, isn't it? Luc -- Syndetics Research | Authors of Synema(tm) Director (c) 1992-1996. Herderstraat 1 | Thesaurus construction software for the 3740 Bilzen - Belgium | Information Retrieval industry.
From: ashley@cs.curtin.edu.au (Ashley Aitken) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Date: 10 Mar 97 05:35:24 GMT Organization: Curtin University of Technology Message-ID: <ashley.857972124@marsh> References: <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> <5fvu24$gvl@enet1.enetis.net> stone@enetis.net (Kevin and Brian Stone) writes: >Do you really? Sad. Seen Windows 95 lately? Getting around the system >through lists and menus isn't my idea of advanced. Even without >Pre-emptive multitasking, or multi-threaded apps... the MacOS and ONLY >the MacOS provides the high level of intuitive features combined with a >powerful interface that allows you to organize and use information on >your drives as YOU would... not as the system would conform you to. >Sorry... I'd give up so-called modern features like pre-emptive >multasking to keep the vastly superior design and interface of the >MacOS. That and that alone makes the MacOS more powerful than anything >the PC has to offer. Here! Here! (what does that mean?) I agree 100%. The Mac UI provides the most consistent and convincing desktop metaphor that I know of (I've played with most). Others just don't "feel" as convincing (well, to me at least). I feel ill at-ease on a Windows 3.1/95, or even OS/2 desktop. It just doesn't feel right. It's the difference between "yeah there are some icons on the screen in front of me" and "there are my files lets do some work" (or something like that). As with Kevin, I personally would trade "modern features" for this GUI. It is too good. Now, having said that I don't deny that NeXSTEP could be better. I've played with it a little a show - but I must admit it didn't feel as good (give it time, and I will). Still, any GUI that focuses on a "file browser" (or what ever they are called) to navigate the "filing cabinet" sure loses my votes for GUI of the year. Don't get me wrong, I am keen to get into Rhapsody - I just hope I feel as "at home" on the desktop as I do in front of my current Mac. Cheers, Ashley. PS I also use Unix command line interface a lot, and I manage to construct (with quite a bit more effort than on the Mac) a model of my files in the directory hierarchy.
From: jbf_see_signature@frazer.com (James B. Frazer) Newsgroups: comp.sys.next.programmer Subject: Re: GDB Features In 4.X, As Versus MW? Date: Mon, 10 Mar 1997 02:05:45 -0500 Organization: The Internet Access Company, Inc. Message-ID: <jbf_see_signature-ya023580001003970205450001@news.tiac.net> References: <jbf_see_signature-ya023580000903971609370001@news.tiac.net> <gn8oD0W00iWU48M6cU@andrew.cmu.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <gn8oD0W00iWU48M6cU@andrew.cmu.edu>, Charles William Swiger <cs4w+@andrew.cmu.edu> wrote: > Sorry, but I think your criticism was unfounded-- you can do everything > you've asked of the combination of GDB, Edit.app, and ProjectBuilder in > a nice, intuitive, graphical, easy to use, etc fashion. You're absolutely right. I didn't give it an adequate piece of test code (the optimizer decided I wasn't doing anything useful and dumped the variables I was expecting to look at). Gave it a real app and it worked just fine (in NS 3.3). Can someone comment about Nathan Urban's post that > In 4.1 ... the stack browser appears to have vanished. snip > Maybe I just don't know how to bring it up in 4.1. Barney (delete that _see_signature to email me)
From:  necakov@mljsdi9.dev.japan.ml.com (Tony Necakov) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 10 Mar 1997 06:47:07 GMT Organization: Merrill Lynch Message-ID: <5g0apb$a@news.ml.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> >I believe the equilvant ObjC code (in it's simple, obvious form) would >be something along the lines of: > if ( [x lessthan: y] ) > { > T t; > [t init:x]; > [x copyfrom:y] > [y copyfrom:t] > } > > Truth, > James Well you'd be wrong. At least I developed a system in C++ and bothered to learn the language and its idioms before I decided it was total shitte. I'd suggest you learn about Objective-C before condemning it. If I knew as little about Objective-C as you seem to, I wouldn't want to use it either. The Truth is out there, but you definitely don't have a handle on it. Tony
From: jcr@idiom.com (John C. Randolph) Newsgroups: comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Date: 10 Mar 1997 03:44:35 -0800 Organization: A poorly-installed InterNetNews site Message-ID: <jcr.857994015@idiom.com> References: <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> <5fur7h$b6u@medusa.is.com> <jbf_see_signature-ya023580000903971614160001@news.tiac.net> jbf_see_signature@frazer.com (James B. Frazer) writes: >> In article <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> "zarf" ><zarf@zarfism.com> writes: >> * yet changeable to the Keith Ohlfs/NeXTSTEP style for those of us who want >> to graduate to the NeXT level >Or regress? Never liked the waste of screen real estate myself, altho >tear offs and second button popups are nice. My next menus don't take up any screen real estate, until I hit the right mouse button. You can go into the preferences app, and place the default menu location *off the screen*. Other people will sitck them down at the bottom, so that only the name of the app on the main menu is visible. Mac menus take up the top of the screen all the time, except in those apps that hide them. You still can't use the top twenty pixels though, in most cases, since moving the mouse to the top reveals the menu bar. -jcr (What I *really* want, are right-mouse-button-controlled pie menus!)
From: jcr@idiom.com (John C. Randolph) Newsgroups: comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Date: 10 Mar 1997 03:50:41 -0800 Organization: A poorly-installed InterNetNews site Message-ID: <jcr.857994395@idiom.com> References: <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> <5fur7h$b6u@medusa.is.com> <01bc2cec$bfcfc560$a865a8c6@metnews.hip.cam.org> "zarf" <zarf@zarfism.com> writes: [mike's stuff about nib files munched] >Yes, but my fear - b/c I'm not very familiar with the Openstep >architecture - is that if AppleNext doesn't provide for "nib-switching" on >Rhapsody that the capability for a 3rd-party to do this might not be there. Trust me, it's *easy*. > I mean, more than the appropriately designed NIB files is required, no? I >thought, they simply describe the layout/order of the menus, not their >appearance and behaviour. In which case, someone would have to tinker with >or over-ride the Openstep code that handles the menu appearance. I'm hoping >for some technical details that would demonstrate that this is not >undocumented or otherwise out of the reach of Next hackers. I could knock it out in about a week, including testing. Mike Barthelemy or Scott Hess could do this in an overnight hack, since they're keeping in practice. The only really tricky part would be patching it back into the shared library, so that *all* the apps got the new menu styles. Sticking into one app is trivial. -jcr >Perfect paranoia is perfect awareness.
From: jcr@idiom.com (John C. Randolph) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Date: 10 Mar 1997 04:03:57 -0800 Organization: A poorly-installed InterNetNews site Message-ID: <jcr.857994679@idiom.com> References: <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> <5fvu24$gvl@enet1.enetis.net> stone@enetis.net (Kevin and Brian Stone) writes: >zarf (zarf@zarfism.com) wrote: >: As a current Mac user I'm concerned that some of my fellow Mac >: users/cry-babies could torpedo the availability of the NeXT HI under >: Rhapsody. Though they are vocal, I know I'm not the only Mac user who, >: though amazed ten years ago by the Mac look and feel, now feels confined >: by its age and backwardness. > ^^^ ^^^^^^^^^^^^ >Do you really? Sad. Seen Windows 95 lately? Getting around the system >through lists and menus isn't my idea of advanced. Even without >Pre-emptive multitasking, or multi-threaded apps... the MacOS and ONLY >the MacOS provides the high level of intuitive features combined with a >powerful interface that allows you to organize and use information on >your drives as YOU would... not as the system would conform you to. >Sorry... I'd give up so-called modern features like pre-emptive >multasking to keep the vastly superior design and interface of the >MacOS. That and that alone makes the MacOS more powerful than anything >the PC has to offer. This statement really highlights one of the major causes of the Mac UI team's insularity. The only other GUIs they really looked at were windows, (crap) OpenLook (Worse), and CDE (knock-off of Windows 3.x) SInce they never actually looked at a better GUI, they (falsely) concluded that nobody but apple ever mad a GUI that wasn't crap. But, keep in mind who the NeXT designers were: The cream of the apple crop, that Jobs had taken away from apple. That's why the NeXT UI solves so many of the irritating deficiencies of the Mac UI. Your remark above, "seen w95 lately?" expresses the false premise that any deviation from the Mac GUI is worse. OF COURSE W95's GUI IS CRAP! So what? Who's trying to make the Mac emulate it? >But like you, I believe that the NeXTSTEP has something to offer the >MacOS. I believe Apple's intent to marry the two is to create something >unique by combining the good elements of both OS's into one seamless >environment. Pull away contextual menus, pre-emptive multtasking, and >multi-threaded apps can only help the MacOS be better than what is >today. Still... I find it rediculous to think that some people think that >the MacOS is not great just the way it is in terms of it's Human Interface >and GUI (no insult intended). There are *many* failings in the Mac UI. The open and save dialog boxes are excreble. File navigation in the finder either shows you that collapsible outline view, or subjects you to a terrible level of window clutter. When I use the miller-column browsers that NeXT provides, I can always tell where the file I'm clicking on is in the entire heirarchy of the disk. Expand a folder in the "name" view of the finder, and suddenly you're trying to scroll through a list that can be hundreds of lines long. The NeXT UI is superior. Try it for a whole week of real work, and then tell me if you disagree. -jcr
Newsgroups: comp.sys.next.programmer From: fgalot@x-lan.alienor.fr Subject: Initializing a Text subclass? Message-ID: <E6tKpH.IAC@x-lan.alienor.fr> Sender: news@x-lan.alienor.fr Organization: x&lan Date: Mon, 10 Mar 1997 08:53:41 GMT How would you initialize a Text object subclass with some specific think like color, font or rotation? For example I've done this method : - initFrame:() text:() alignment:() rotation:() fontName:() fontSize:() color:() in which I make : super initFrame:&myRect text:myText alignment:NX_LEFTALIGNED self setTextColor:myColor self setFont:(a new Font with my fontName and fontSize) But this doesn't work perfectly for the Font... So what to do??? -- --------------------------------------- ® ® | ® O_O ® ® | O_O -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Fred Galot fgalot@x-lan.alienor.fr
From: jchan@apk.net (Jerome Chan) Newsgroups: comp.sys.next.programmer Subject: Newbie Interface Builder Question Date: Mon, 10 Mar 1997 08:28:55 -0500 Organization: TofuSoft Message-ID: <jchan-1003970828550001@as1-2.apk.net> If I create an instance of a class from the interface builder and then add elements to it later on, do I have to recreate the file again in the Interface Builder? Won't this be bad if I have already written bits of code in the implementation file that will be overwritten when I create these files? This looks like quite a big flaw in IB but someone told me I could just reparse the file. How do I do that? The Manuals don't always seem to correspond to the screens:) --- The Evil Tofu (Only Human)
From: ians@cam-ani.co.uk (Ian Stephenson) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Mon, 10 Mar 1997 13:44:59 GMT Organization: Cambridge Animation Systems Ltd Sender: news@cam-ani.co.uk Message-ID: <E6ty71.Doo@cam-ani.co.uk> References: <5ft5bh$kok@lal.interserv.com> In article <5ft5bh$kok@lal.interserv.com> JamesCurran@CIS.CompuServe.com (James M. Curran) writes: > With C++, I can have near perfect OOP > design and full performance using only one language throughout. I hardly need to comment on this, but at the same time I can't let it pass. It's almost such a stupid statement that it's beneath argmument, but I guess I'll throw in a few points... C++'s total failure to seperate implementation from usage - it's typing is entirly based on HOW THE OBJECT HAS BEEN WRITTEN. Inheritance is an implementation issue, and not a suitable basis for typing. Constructors! Ack - its oftern almost imposible to write an object so that it can be used in both its base, and subclassed forms due to the braindead special case nature of construtors. Special cases in general - The behaviour of contructors and destructors are the worst cases, where they behave totaly differently to normal member functions. However just about every feature of the language has at least one trip up clause (made worse by very nasty syntax). Lack of introspection. Lack of true dynamic binding, which leads to casts - thereby embedding assumptions (oftern implicit) about the implementation of an object into code. C++'s idea of OO comes down to, you can call a function on an object, but only if you know exactly what that object is, and how it was implemented. Somewhat different from the general idea that objects should be interchangable components which provide only behaviour (and to all intents an purposes have NO implementation - was it aristotle who said that character was irrelevant, only plot mattered? Character only exists by virtue of observing behaviour). C++ may be usefull for some applications. It may even be slightly better than C, if used carefully. However I think no one could claim it can used to implement "near perfect" OO design. All of the above problems cripple all but the most basic designs (which the C++ programmer then writes 10000 lines of code to patch up). $an
From: giddings@menominee.chem.wisc.edu (Michael Giddings) Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy Subject: Re: GDB Features In 4.X, As Versus MW? Date: 10 Mar 1997 14:17:24 GMT Organization: University of Wisconsin - Madison Distribution: world Message-ID: <5g155k$17si@news.doit.wisc.edu> References: <jbf_see_signature-ya023580000903971609370001@news.tiac.net> <gn8oD0W00iWU48M6cU@andrew.cmu.edu> <5fv2d2$ssp@sps1.phys.vt.edu> Cc: nurban@sps1.phys.vt.edu In <5fv2d2$ssp@sps1.phys.vt.edu> Nathan Urban wrote: > In article <gn8oD0W00iWU48M6cU@andrew.cmu.edu>, Charles William Swiger <cs4w+@andrew.cmu.edu> wrote: > > > What about the "browse stack" buttons in the 'Gdb...' panel of Edit.app? > > In 4.1, you don't use Edit.app anymore for source browsing, GDB access > is integrated into ProjectBuilder, and the stack browser appears to > have vanished. Instead, you select an object to print out in the It's there. In the execution window, click the button that looks like a sprocket, then use the pull-down menu in the resulting window to select "stack". -- Michael Giddings giddings@chem.wisc.edu giddings@barbarian.com (608)258-1699 or (608) 692-2851 http://smithlab.chem.wisc.edu/PersonalPages/giddings/giddings.html http://www.barbarian.com
From: ians@cam-ani.co.uk (Ian Stephenson) Newsgroups: comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Date: Mon, 10 Mar 1997 14:02:02 GMT Organization: Cambridge Animation Systems Ltd Sender: news@cam-ani.co.uk Message-ID: <E6tyzF.DtH@cam-ani.co.uk> References: <maury-0903971550430001@198.133.37.101> In article <maury-0903971550430001@198.133.37.101> maury@softarc.com (Maury Markowitz) writes: > In article <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org>, "zarf" > <zarf@zarfism.com> wrote: > > > * yet changeable to the Keith Ohlfs/NeXTSTEP style > Appearance Manager should handle all of this. This worries me... Everyone seems to think that the only thing that makes a UI are a few simple window arangements things, which can be handled by a global switch. IT AINT GONNA WORK! Sure you can do some basic things, like moving menus around, or changing the look of scroll bars, but this is going to break lots of apps, or make them behave oddly. For example terminal app (Ok not the best choice!) uses it's own scrolling text object, because the standard one doesn't handle continuous text very well (Or so Scott said IIRC). It won't (ok, might not) pick up the change if the scroll bars are moved to the other side. Try using X for a while - its easy to customise things, with the result that most text doesn't sit in the boxes quite right, and things oftern don't line up as the original designer wanted. Even in the well equipped NeXT environment developers need to write new UI components - these can never be understood by any global manager. How does the developer write these to fit with all possible appearances that a user might come up with? An appearance manager can change some basic things, but it can't change the fundamental behaviour - "Church Windows" has a NeXT option, but it doesn't give you a NeXT look and feel, just a NeXT make over. Given that the price of a few cosmetic changes will be nigling differences in behaviour between apps, Apple should make the best UI they can, and make users stick with it! Are Mac users really so shallow that their biggest worry is what colour the title bar will be? $an
From: Petr Novak <novak@microcomp.de> Newsgroups: comp.sys.next.programmer Subject: Bug in EODisplayGroup delegate method ? Date: Mon, 10 Mar 1997 15:48:04 +0100 Organization: Impact GmbH,Cologne, Germany Message-ID: <33241F23.5410@microcomp.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I call on Openstep 4.1 for NT the method - (void)displayGroup:(EODisplayGroup*)aDisplayGroup didSetValue:(id)value forObject:(id)anObject key:(NSString*)key Expected argument types doesn't correspond to declaration and description in Openstep documentation. value - EOGenericRecord* anObject - NSString* with the name of changed property key - EOAssociation* Petr Novak
From: Joseph Panico <jpanico@online.disney.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Mon, 10 Mar 1997 09:39:23 -0500 Organization: Disney Online Message-ID: <33241D1B.3229@online.disney.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> <5ft5bp$kok@lal.interserv.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit James M. Curran wrote: In <<332192A6.313D@online.disney.com>>, Joseph Panico <jpanico@online.disney.com> wrote: >I have to disagree. Java, without JIT, is probably an order of magnitude >slower than ObjC. With a top of the line JIT, it's probably on par with >ObjC. And yet, c++ programmers are abandoning c++ for Java at an >astounding pace? >Why is this? Mainly because it's Hot! & New! and it look good an a resume right now. And actually few are "abandoning" C++ for Java. Mostly they are Truth, James Wow, I'm glad you pointed that out. I almost made the mistake of thinking that garbage collection, a pure object model, run-time introspection, object based structured exception handling, compile and run-time security checks, top-to-bottom Unicode foundations, and machine portability represented a significant advance over c++. Now that I know java is just trendy I can learn visual c++ and visual basic so I can get that hot job in a large corporate IT department. -- Joe Panico Disney Online jpanico@online.disney.com
From: Petr Novak <novak@microcomp.de> Newsgroups: comp.sys.next.programmer Subject: Re: Newbie Interface Builder Question Date: Mon, 10 Mar 1997 15:55:48 +0100 Organization: Impact GmbH,Cologne, Germany Message-ID: <332420F4.15B5@microcomp.de> References: <jchan-1003970828550001@as1-2.apk.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: Jerome Chan <jchan@apk.net> After changing your header file and implementation , you can 'unparse' you header file back to Interface Builder and your instances will be updated. In Nextstep is this option called 'Unparse', in Openstep 'Read File..' Petr Novak
From: Petr Novak <novak@microcomp.de> Newsgroups: comp.sys.next.programmer Subject: Re: Bug in EODisplayGroup delegate method ? Date: Mon, 10 Mar 1997 17:39:54 +0100 Organization: Impact GmbH,Cologne, Germany Message-ID: <3324395A.2FF2@microcomp.de> References: <33241F23.5410@microcomp.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit This behaviour happened in two different application. However, after reboot I cannot duplicate the bug. Everything seems to be O.K. Strange. Petr Novak
From: rao@supermod.egr.uh.edu (Dr. Jagannatha Rao) Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: Emacs.app for OS4.0/Intel? Date: 10 Mar 1997 16:40:47 GMT Organization: University of Houston Distribution: world Message-ID: <5g1dif$f5f@Masala.CC.UH.EDU> I am running OS4.0 on Intel and as documented before, I cannot compile the latest beta of Emacs.app in this version. (the developer list at Omni site has some helpful hints, but I do not have access to an NS3.3 machine to try the remedy suggested there). Can anybody make a compiled version of Emacs.app available that will run under OS4.0 Intel? Ideally, I would like it to have compiled with --prefix=LocalApps/Emacs.app so that all goodies are inside the Emacs.app folder. Of course I can live with the default path locations as well, where various stuff gets into different places under /usr/local etc. Jagannatha -- Jagannatha Rao E-mail:rao@uh.edu Department of Mechanical Engineering Tel :(713) 743-4535 University of Houston Fax :(713) 743-4503 Houston, TX 77204-4792
From: "S.FAHIM" <samir@interpac.be> Newsgroups: comp.sys.next.programmer Subject: Programming Video Input with QuickCam Date: 10 Mar 1997 16:24:06 GMT Organization: Interpac Message-ID: <01bc2d6d$857517e0$26564ec2@vanessa> Hello, Did anybody prgrammed a interface for video input thrue a lpt1 port ? What I would like to do is using a QuickCam with NEXT 3.3. Sam samir@interpac.be
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy Subject: Re: This used to be c.s.n.programmer not c.s.n.advocacy Date: Mon, 10 Mar 1997 12:38:24 -0500 Organization: SoftArc Inc. Message-ID: <maury-1003971238250001@199.166.204.230> References: <E6q2qK.7v8@nidat.sub.org> In article <E6q2qK.7v8@nidat.sub.org>, Peter.Nitezki@bku.db.de wrote: > Hey fellas, > > What's happening to this newsgroup? Well I don't know what to say, you posted this to comp.sys.next.programmer AND comp.sys.next.advocacy. Maury
From: nurban@sps1.phys.vt.edu (Nathan Urban) Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy Subject: Re: GDB Features In 4.X, As Versus MW? Date: 10 Mar 1997 13:56:05 -0000 Organization: Virginia Polytechnic Institute and State University Message-ID: <5g13tl$1ao@sps1.phys.vt.edu> References: <jbf_see_signature-ya023580000903971609370001@news.tiac.net> <gn8oD0W00iWU48M6cU@andrew.cmu.edu> <5fv2d2$ssp@sps1.phys.vt.edu> <5g155k$17si@news.doit.wisc.edu> In article <5g155k$17si@news.doit.wisc.edu>, giddings@whitewater.chem.wisc.edu wrote: > In <5fv2d2$ssp@sps1.phys.vt.edu> Nathan Urban wrote: > > In 4.1, you don't use Edit.app anymore for source browsing, GDB access > > is integrated into ProjectBuilder, and the stack browser appears to > > have vanished. Instead, you select an object to print out in the > It's there. In the execution window, click the button that looks like a > sprocket, then use the pull-down menu in the resulting window to select > "stack". But that's not the same thing. I'm talking about the hierarchical browser that let you view an object's ivars, then click on its object's ivars, etc, using a browser view. -- -------------------------------------------------------------------------- Nathan Urban | Undergrad {CS,Physics,Math} | Virginia Tech nurban@vt.edu | {NeXT,MIME} mail welcome | http://nurban.campus.vt.edu/ --------------------------------------------------------------------------
From: see@address.in.signature (Martiin-Gilles Lavoie) Newsgroups: comp.sys.next.programmer Subject: Re: No rush of postings from Mac developers was Re: Developing for Rhapsody Date: Mon, 10 Mar 1997 13:46:53 -0500 Organization: Internet-Login Message-ID: <see-1003971346530001@204.191.6.123> References: <5fkqpq$1nhm@atlas.vcu.edu> <331E6D78.4784@wam.umd.edu> <makhloma-0903970132120001@ppp4.musc.edu> In article <makhloma-0903970132120001@ppp4.musc.edu>, "Michael Makhlouf" <makhloma@musc.edu> wrote: > :Weiyuan W Chin wrote: > :> > :> It has occured to me that there isn't a rush by Mac developers > :> to develop under the OPENSTEP API's. :> I just don't see the rush of > newbie OPENSTEP programming > :> questions that I had expected. Maybe it's just that most Mac > :> developers don't have access to a NeXT/Intel/SPARC to do OPENSTEP > :> development yet. > > I would be asking a lot of questions if I could run OPENSTEP on my Mac. I > read parts of the Nextstep tutorial on the Web, but since I don't own an > Intel and definitely can't afford the developer edition of OPENSTEP, I can't > do any meaningful work. Although I am not a "real" developer (shareware > only), I believe that my viewpoint applies to most Mac programmers. As long > as there is nothing of OPENSTEP on the Mac, Mac developers will keep working > on their current projects using system 7 API's. It very hard for us to > believe that OPENSTEP programs would just need a recompile (or slight source > code modification) to run under Rhapsody. I hope that when Rhapsody DR is > released we will see a TON of questions. (make sure you check > c.s.m.programmer.* though). > > Tony "waiting to do cool stuff with OPENSTEP on the Mac" Makhlouf I'm one of those Mac developers with tons of questions to ask. But before I swamp this newsgroup with silly newbie question, I've bought myself a NeXT Station Color system to get aquainted with NeXTSTEP (3.3). I've also bought (and printed) documentation on OpenStep 4.x, and have started playing with development tools. I've had the system for a little more than a month now and only last week have I discovered that I had the entire Shakespear material in Librarian format. When I'm through with exploration, I'll start doing some real experimental work on it, and before too long, you'll see my name next to a Q topic in this newsgroup. ;-) I've also followed this newsgroup closelly, as I try to find out the "gotchas" we might find in OPENSTEP. I think my case is like many Mac programmers. We attempt to find out as much as we can by ourselves before asking silly questions. (And beleive me, we do see many silly questions on the mac dev newsgroups--how many times have I answered on "how to hide menu bar?" is beyong me). MGL -- Martin-Gilles Lavoie | "No! Try not. Do! or do not mouser@zercom.net | There is no try." www.zercom.net/~mouser/ | --Yoda on error handling
From: shess@one.net (Scott Hess) Newsgroups: comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Date: 10 Mar 97 12:14:38 Organization: Is a sign of weakness Message-ID: <SHESS.97Mar10121438@howard.one.net> References: <maury-0903971550430001@198.133.37.101> <E6tyzF.DtH@cam-ani.co.uk> In-reply-to: ians@cam-ani.co.uk's message of Mon, 10 Mar 1997 14:02:02 GMT In article <E6tyzF.DtH@cam-ani.co.uk>, ians@cam-ani.co.uk (Ian Stephenson) writes: In article <maury-0903971550430001@198.133.37.101>, maury@softarc.com (Maury Markowitz) writes: > In article <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org>, > "zarf" <zarf@zarfism.com> wrote: > > > * yet changeable to the Keith Ohlfs/NeXTSTEP style > Appearance Manager should handle all of this. This worries me... Everyone seems to think that the only thing that makes a UI are a few simple window arangements things, which can be handled by a global switch. IT AINT GONNA WORK! Sure you can do some basic things, like moving menus around, or changing the look of scroll bars, but this is going to break lots of apps, or make them behave oddly. For example terminal app (Ok not the best choice!) uses it's own scrolling text object, because the standard one doesn't handle continuous text very well (Or so Scott said IIRC). It won't (ok, might not) pick up the change if the scroll bars are moved to the other side. I gotta agree with your thrust. This is only partially a problem with the concept of having "appearances", though. It's also very much involved with the "spirit" of the frameworks. One of the bigger problems I have with AppKit is that it's very take-it-or-leave-it. If your needs match what it provides, you're shipping code in a couple hours. If your needs are similar, but you need just this one little additional thing, you either have to reverse-engineer and use undocumented interfaces, or roll your own. This is a pretty general problem. It's already bitten NeXT with their Japanese support. If you're using Text or Text-based objects to handle your I/O, great, no problem. If you aren't, you're screwed, because the magic you have to accomplish isn't well (at all) documented. This is beyond the problem of getting NS3.xJ. The solution? NeXT's frameworks need to evolve to a somewhat less blackbox orientation. For instance, ScrollView could have a variation which allows for full control over the document view while letting the scrollview do everything else it does so well. ScrollView's "automagic" handling of scrolling is great, _if_ it fits what you need to do. The default handling should remain, because the vast majority of uses will work just fine with the automagic handling. I'd just like some sort of "expert" mode where you can get in and muck around if needed. Overall, something like how View printing works (where you can leave it alone, or adjust margins and other layout, or even control in a fine grained fashion exactly what fits on a given page. Simple results are easy, more complicated results still fit within the framework). [BTW, there were two main problems with using Text as a terminal emulator. One was that Text is a mini word processing view. Address things by row/column? Ha! You were lucky if you could address things by absolute character offset. The other problem was that after all of the reverse engineering and undocumented hacker, Text with row/column addressing is _abysmally_ slow. So now you have a fragile object dependent on some other development group's arbitrary decisions that's also slow in the bargain. The same problems apply in many areas. SoftPC obviously, but also any area where large amounts of text have to be under the program's full control. For instance, word processors and spreadsheets and web browsers _can_ use Text, but it requires some pretty extensive tradeoffs.] Later, -- scott hess <shess@one.net> (606) 578-0412 http://w3.one.net/~shess/ <Favorite unused computer book title: The Idiots Guide to the Zen of Dummies in a Nutshell in Seven Days, Unleashed>
From: MaRK_BeSSeY@NeXT.CoM (Mark Bessey) Newsgroups: comp.sys.next.programmer Subject: Platform independence, Java and Juice (Re: OpenStep: what does the term mean?) Date: 10 Mar 1997 21:15:03 GMT Organization: NeXT Software, Inc. Message-ID: <5g1tkn$o21@news.next.com> References: <1997031007201320839001@pool011-146.innet.be> Luc Dubois writes > But... but... but... Hasn't Apple become what it is, *exactly because* > it wasn't/isn't afraid of swimming against the tide? Now, Java as I see > it is a nice first attempt at platform-independence. There currently > *is* already a better technology available. It's called "Juice" and is > based on the language Oberon (from the school of Niklaus Wirth). [Note to other readers: you really ought to read up on Juice before reading any farther. See: http://www.ics.uci.edu/~juice/ ] Juice is an interesting idea - too bad Java already has the limelight. Do you honestly think that *Oberon* is going to gain mindshare against Java? Outside of academic users, who's even heard of Modula 3 or Oberon? Actually, Java is a nice (third or fourth) attempt at platform independence. It's very similar in concept to the old UCSD p-code system (anybody else remember that one?). What I see looking over all the various cross-platform attempts over the years is a gradual improvement in the depth of support provided. For instance, while it was possible to write useful applications in UCSD Pascal, they were never quite as full-featured as native apps. And the UCSD operating environment was very different than the native user interface on most of the systems it ran on. Smalltalk was a bit better in that you could at least make nice GUI applications that didn't look totally alien (at least in modern Smalltalk variants). Java improves on this by providing a more comprehensive set of UI features, as well as a (nearly) transparent interface to the native UI. One thing that still amuses me about these things is that these great cross-platform solutions aren't used *to implement themselves*. The UCSD p-code machine was coded in assembly for each platform. Smalltalk had many "primitive" operations and types. The Java VM is written in C, and the AWT (and others) use lots of "native methods"... The cynic in me wants to shout "if your tool is so great, why don't you use it yourself?", but that's too easy. On the other hand, I don't see why it isn't possible to define a computer language that is: Expressive Well-defined Portable Rapidly compilable to high-performance machine code In fact, the Java language meets nearly all those requirements. It's just this stupid byte-code nonsense that I don't like. I mean, what's the point of compiling your Java code into bytecodes, then loading it on the target, where it's recompiled into native code, after all the syntax cues have been removed? What I really want is a Java native-code compiler (or a Java to ObjC translator), so I can take advantage of local optimizations, while not losing the true advantages of Java, which relate more to reliability and security than platform independence. And I want a totally separate mechanism for downloading executable content off the Net. Something like the Juice idea, but either language-independent, or at least based on a language I like :-) -- Mark Bessey Apple Computer, Inc. -->I DON'T SPEAK FOR APPLE<--
From: jstevens@ftc.nrcs.usda.gov (John Stevens) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 10 Mar 1997 11:58:16 -0000 Organization: I need to put my ORGANIZATION here. Message-ID: <5g0t0o$sb8@samoyed.ftc.nrcs.usda.gov> References: <330E54AC.167E@innosys.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> In article <332192A6.313D@online.disney.com>, Joseph Panico <jpanico@online.disney.com> wrote: >James M. Curran wrote: > > But, only if you are willing to put up with widespread > ineffeciency. > I doubt most programming will. > Truth, > James > >I have to disagree. Java, without JIT, is probably an order of magnitude >slower than ObjC. With a top of the line JIT, it's probably on par with >ObjC. And yet, c++ programmers are abandoning c++ for Java at an >astounding pace? >Why is this? The assumption (and, IMHO, it is a valid one) is that Java will not remain an interpreted language for all time. I wouldn't be at all surprised to see Java compilers producing *native* executable code in the very near future. So, you see, that would mean that Java would be both portable, and fast enough. JIT is nice, but for apps, download it once, compile it to native, and use the binary on-site 'til the version number changes. . . John S.
From: jstevens@ftc.nrcs.usda.gov (John Stevens) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 10 Mar 1997 11:55:21 -0000 Organization: I need to put my ORGANIZATION here. Message-ID: <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov> References: <330E54AC.167E@innosys.com> <5fcngp$7dd@lal.interserv.com> <331f6ea2.1358032@nntp.ix.netcom.com> <SHESS.97Mar7101914@howard.one.net> In article <SHESS.97Mar7101914@howard.one.net>, Scott Hess <shess@one.net> wrote: >In article <331f6ea2.1358032@nntp.ix.netcom.com>, > apuleius@ix.netcom.com (William Grosso) writes: > On Sun, 02 Mar 1997 20:26:38 GMT, > JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > >_Now_ I'd have no problems porting to C++ from Objective-C. The >project has become very stable, and everything has been optimized >pretty close to perfection. But during development, Objective-C was >essential, and we couldn't have done it with C++. [I'll also grant >Smalltalk could have done it with ease, and _perhaps_ Java.] Yah, but why not use *both*? Use C++ where fast OO is needed, use C for the stuff that has to run quite literally as fast as possible, and use Objective C where speed is of little or no importance (distributed objects and GUI work, for instance. . .). The nice thing about both C++ and Objective C, is that they can quite easily be used in conjunction with C. John S.
From: "Jeffrey S. Dutky" <dutky@wam.umd.edu> Newsgroups: comp.sys.next.programmer Subject: changing control layers Date: Mon, 10 Mar 1997 15:26:33 -0500 Organization: University of Maryland Student Body Message-ID: <33246E75.43B0@wam.umd.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I have a program whose interface was built in IB. I want to add some controls that will obscure other controls some of the time while, at other times, be obscured by them. Is there some way that I can change the front to back ordering of IB controls from my Objective-C code? I've consulted the online documentation for View, Control and Matrix classes (the controls are button matrices) and I haven't found any methods that allow me to directly change the front to back order of the controls (as in Bring to Front or Send to Back commands in IB). I've considered that the View hierarchy might have something to do with the front to back ordering but haven't found anything that says this explicitly. -Jeff Dutky
From: don@globalobjects.com (Don Yacktman) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 10 Mar 1997 21:21:52 GMT Organization: Global Objects Inc. Message-ID: <5g1u1g$q7n$3@news.xmission.com> References: <330E54AC.167E@innosys.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> <5g0t0o$sb8@samoyed.ftc.nrcs.usda.gov> jstevens@ftc.nrcs.usda.gov (John Stevens) wrote: > I wouldn't be at all surprised to see Java compilers producing *native* > executable code in the very near future. So, you see, that would mean > that Java would be both portable, and fast enough. SuperCede already can--you can compile to bytecodes or to a .exe. -- Later, -Don Yacktman don@misckit.com <a href="http://www.misckit.com/don.html">My home page</a>
From: biesingert@asme.org Newsgroups: comp.sys.next.programmer Subject: NSReturnSign in Tutorial Date: 10 Mar 1997 22:06:02 GMT Organization: University of Cambridge, England Message-ID: <5g20ka$819@lyra.csx.cam.ac.uk> Hi, just going through the Tutorial for OpenStep 4.0 but 'NSReturnSign' is missing under Images of the IB. This occurs in the CurrencyConverter tutorial. Thanks for your help! Thomas --- Thomas E Biesinger, Engineering Department, University of Cambridge, Trumpington Street, Cambridge CB2 1PZ, UK, em: biesingert@asme.org, vc: +44 1223 3 32869, fx: +44 1223 3 32662. NeXT-Mail welcome, PGP-2.6.i key available.
From: "Andrew McPherson" <MCPHERAN@mail.cit.ac.nz> Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: 10 Mar 97 23:31:13 GMT Organization: Central Institute of Technology Message-ID: <01bc2da2$d67b7be0$1f193b9c@A413-11.cit.ac.nz> References: <msg37701.thr-34dc7b90.54c5638@flannet.middlebury.edu> <5evgk9$7m4@news.next.com> <qdiv3f2b7i.fsf@blues.cygnus.com> <1997022812133841029741@pool011-107.innet.be> Luc Dubois <ldubois@syndetics.be> wrote in article <1997022812133841029741@pool011-107.innet.be>... > MaRK_BeSSeY@NeXT.CoM (Mark Bessey) writes: > > > David Herren writes > > > OPENSTEP is the abstracted API which runs on multiple OSs. OpenStep is > > > the operating system itself. Confusing, isn't it? > > > > Apparently confusing enough for you to get that exactly wrong :-) > - OpenStep = the specification of an abstract API > - OPENSTEP for Mach = an OS > - OPENSTEP Enterprise for Windows NT = the implementation of a framework > based on the specification of an abstract API > This is still going to confuse the market (simple folks like current > Macintosh users/developers, Mac developers aren't simple, you fool. As a software engineer, I develop for the mac first, then I port it over to windoze 95/NT, then to unix. (Core code, stupid windoze trick code, then solid code.)
From: "Andrew McPherson" <MCPHERAN@mail.cit.ac.nz> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: 11 Mar 97 00:08:13 GMT Organization: Central Institute of Technology Message-ID: <01bc2da8$028a3960$1f193b9c@A413-11.cit.ac.nz> References: <01bc284c$b8a07400$882168cf@test1> <331E55D6.71AB@rs6000.cmp.ilstu.edu> Eric A. Dubiel <eadubie@rs6000.cmp.ilstu.edu> wrote in article <331E55D6.71AB@rs6000.cmp.ilstu.edu>... > L. Todd Heberlein wrote: > You've got to wish they'd provide this developer/alpha/beta versions for > FREE to Educational users!!!! But that'd make too much sense. Try www.devtools.apple.com or www.devworld.apple.com to get some sample source code for the Rhapsody component APIs. You should be able to get most of the Rhapsody DR.
From: "Andrew McPherson" <MCPHERAN@mail.cit.ac.nz> Newsgroups: comp.sys.next.programmer Subject: Re: idle time in Workspace? Date: 11 Mar 97 00:03:37 GMT Organization: Central Institute of Technology Message-ID: <01bc2da7$5de665a0$1f193b9c@A413-11.cit.ac.nz> References: <5frq8t$n63@sps1.phys.vt.edu> Nathan Urban <nurban@sps1.phys.vt.edu> wrote in article <5frq8t$n63@sps1.phys.vt.edu>... > Is there any programmatic way to determine how long a user has been idle > (i.e., no mouse or keyboard events) in the Workspace? I can use the > standard Unix trick for getting idle times, but it only works if they've > got a terminal open. You should try to use stdin with the clock, try to see if the buffer has changed in a period of time. I think that should work, BTW, I don't know unix well enough to know the tricks, what is the trick? (I'm a mac-based software engineer)
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.next.programmer Subject: Re: Run NeXT on SOM? Date: Sun, 09 Mar 1997 15:47:57 -0500 Organization: Atria Software Message-ID: <maury-0903971547580001@198.133.37.101> References: <maury-0703971238130001@199.166.204.230> <AF4603F6-204A7@204.189.161.54> In article <AF4603F6-204A7@204.189.161.54>, "Baskaran Subramaniam" <baskaran@internetMCI.com> wrote: > This is not really true if you have DSOM support on your machine. True, but the NeXT object model does those sorts of tasks too. The real question is how to do object linking. NeXT already has support for COM, and while the current Win versions of COM are hardly awe inspiring, I'll bet the solution on the NeXT isn't so annoying. Maury
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.object.corba,comp.object,comp.soft-sys.nextstep From: seitzman@netcom.com (Brian H. Seitzman) Subject: *** NeXTSTEP/OPENSTEP EXPERTS NEEDED! *** Message-ID: <seitzmanE6us37.Ew4@netcom.com> Organization: Optimum - San Francisco, CA Date: Tue, 11 Mar 1997 00:30:43 GMT Sender: seitzman@netcom17.netcom.com We have a number of positions available for people who've done significant work on the NeXTSTEP and OpenStep platforms. If you've got 1 or more years of experience, Optimum can be of help in finding you your next career opportunity! If you're interested in being considered for positions in engineering, administration or QA on the NeXTSTEP or OpenStep platforms, get in touch! -- Best regards, Brian H. Seitzman Technical Recruiter, Optimum Phone: (415) 863-2700 Fax: (415) 863-2777 E-mail: seitzman@netcom.com URL: http://www.crl.com/~optimum
From: nurban@sps1.phys.vt.edu (Nathan Urban) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 10 Mar 1997 19:51:34 -0000 Organization: Virginia Polytechnic Institute and State University Message-ID: <5g1oo6$3co@sps1.phys.vt.edu> References: <330E54AC.167E@innosys.com> <332192A6.313D@online.disney.com> <5g0t0o$sb8@samoyed.ftc.nrcs.usda.gov> <5g297g$p46$1@darla.visi.com> In article <5g297g$p46$1@darla.visi.com>, David Young <dwy@ace.net> wrote: > SFW. Java's runtime is an order of magnitude more complex than ObjC's. Really? I'm not very familiar with Java's runtime. Do you think you could say a little about its complexity and differences from Obj-C's? -- -------------------------------------------------------------------------- Nathan Urban | Undergrad {CS,Physics,Math} | Virginia Tech nurban@vt.edu | {NeXT,MIME} mail welcome | http://nurban.campus.vt.edu/ --------------------------------------------------------------------------
From: Jason Wells <jasonw@sequent.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Mon, 10 Mar 1997 16:12:14 -0800 Organization: Sequent Computer Systems, Inc. Message-ID: <3324A35D.6FEC@sequent.com> References: <330E54AC.167E@innosys.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> <5g0t0o$sb8@samoyed.ftc.nrcs.usda.gov> <5g1u1g$q7n$3@news.xmission.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Don Yacktman wrote: jstevens@ftc.nrcs.usda.gov (John Stevens) wrote: > I wouldn't be at all surprised to see Java compilers producing *native* > executable code in the very near future. So, you see, that would mean > that Java would be both portable, and fast enough. SuperCede already can--you can compile to bytecodes or to a .exe. So can the Microsoft JVM. In fact, all you have to do to make a Java class 'native' is to include the JVM with the bytecode distribution. In this sense, it's at least as 'native' as a VB application, with it's p-code and VBRUNxx.DLL. But who cares? It executes the same way, regardless if the file ends in .class or .exe. Jason -- Later, -Don Yacktman don@misckit.com <a href="http://www.misckit.com/don.html">My home page</a>
From: "Jeffrey S. Dutky" <dutky@wam.umd.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Newbie Interface Builder Question Date: Mon, 10 Mar 1997 21:47:20 -0500 Organization: University of Maryland Student Body Message-ID: <3324C78B.652F@wam.umd.edu> References: <jchan-1003970828550001@as1-2.apk.net> <332420F4.15B5@microcomp.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Petr Novak wrote: > > After changing your header file and implementation , you can 'unparse' > you header file back to Interface Builder and your instances will be > updated. > > In Nextstep is this option called 'Unparse', in Openstep 'Read File..' > > Petr Novak Actually, I think the option in NeXTstep is called 'Parse' rather than 'Unparse.' Parse causes IB to read the indicated header file and reform it's notion of what the file says. Unparse causes IB to take what it thinks a certain class is and create a header file that represents that notion. If you make changes to class Foobar that was originally created by IB and then ask IB to 'Unparse' Foobar IB will create the a header file based on what it thinks Foobar is, overwriting all the changes you just made. If instead you ask IB to 'Parse' the file Foobar.h it will read that file and update it's notion of the methods contained in the class Foobar with the methods you have added to the file. -Jeff Dutky
From: Garance A Drosehn <gad@eclipse.its.rpi.edu> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: 9 Mar 1997 22:33:03 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Message-ID: <5fvdqv$rvo@usenet.rpi.edu> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> <331dc772.73186408@news.inlink.com> <5fl6fc$8mu@nnrp1.news.primenet.com> <331f2b7d.20505173@news.inlink.com> <5fnc5i$k0p$2@majipoor.cygnus.com> <33204896.6745840@news.inlink.com> <33210C89.4073@ix.netcom.com> <makhloma-0903970140380001@ppp4.musc.edu> "Michael Makhlouf" <makhloma@musc.edu> wrote: > I wonder what would Metrowerks think of this. 250 US$ is less > than what Codewarrior costs. I wonder if Apple and metrowerks > have made some secret deal in exchange for Metrowerks supporting > Rhapsody. Although I sincerely hope, for my sake and Apple's, > that the 250 $ developer program will include Developer tools, > I am afraid that this won't be the case.I think they will include > it with ETO (for around $1000). Of course this is just speculation. Note that ETO doesn't cost $1000 these days. For awhile there it was up around $1200, but the current price is much more reasonable. --- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu Senior Systems Programmer (MIME & NeXTmail capable) Rensselaer Polytechnic Institute; Troy NY USA
From: Garance A Drosehn <gad@eclipse.its.rpi.edu> Newsgroups: comp.sys.mac.programmer.codewarrior,comp.sys.mac.system,comp.sys.next.programmer Subject: Re: Mac/NeXT & Unix: File System Date: 9 Mar 1997 22:42:03 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Message-ID: <5fvebr$rvo@usenet.rpi.edu> References: <5ddp66$jpc@news.bu.edu> <5dtpb5$h4t@news.bu.edu> <Mn1TiBm00iVC81ZnAQ@andrew.cmu.edu> <AF2E42E196681EFC18@node50.tfs.net> <5eb9r5$iv2@csugrad.cs.vt.edu> <AF39A1D79668E697E@pm3-p20.tfs.net> <5f1qoe$8dp@spool.cs.wisc.edu> <maury-0703971228500001@199.166.204.230> <SHESS.97Mar9001431@howard.one.net> <maury-0903971602100001@198.133.37.101> maury@softarc.com (Maury Markowitz) wrote: > shess@one.net (Scott Hess) wrote: > > AFS was ported to NeXT _long_ ago, and it had ACLs (didn't it?). > > AFS? Sorry, I'm not too sure what you refer to (Apple File > Sharing? - it doesn't). The point here is that it's not only > possible, but done, the issue is to make one of these standard > so we can rely on having these features as opposed to having lots > of case code depending on what features we have or don't have. AFS that Scott refers to was at one time known as the Andrew File System, from Carniege-Mellon. AFS was then taken up by a company called Transarc, and Transarc was later bought by IBM. AFS is unrelated to Apple File Sharing (and in fact, there is no AFS client for Macintosh, AFS is mostly implemented on Unix file systems). Think of it as a grown-up replacement for NFS. Now there is also DFS, which is meant to be the replacement for AFS. We'll see how that goes. It does have some features AFS does not have, but it also has higher resource requirements. In any case, there was an AFS for NeXTSTEP on m68k hardware. The last release of AFS was for NeXTSTEP 3.2 -- and it's why eclipse (my main NeXTstation) is still sitting at NeXTSTEP 3.2. If I upgrade NeXTSTEP, I lose AFS support. When the announcement came out about Apple buying NeXT, I sent a message to the AFS mailing list to see if they'd resurrect the AFS support for NeXTSTEP (and get it working on other hardware platforms, instead of just NS/m68k), but didn't get any response. --- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu Senior Systems Programmer (MIME & NeXTmail capable) Rensselaer Polytechnic Institute; Troy NY USA
From: Garance A Drosehn <gad@eclipse.its.rpi.edu> Newsgroups: comp.sys.next.programmer Subject: Re: No rush of postings from Mac developers was Re: Developing for Rhapsody Date: 9 Mar 1997 22:48:37 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Message-ID: <5fveo5$rvo@usenet.rpi.edu> References: <5fkqpq$1nhm@atlas.vcu.edu> <331E6D78.4784@wam.umd.edu> <makhloma-0903970132120001@ppp4.musc.edu> <01bc2c65$e429e080$3a65a8c6@metnews.hip.cam.org> "zarf" <zarf@zarfism.com> wrote: > > Michael Makhlouf <makhloma@musc.edu> wrote: > > As long as there is nothing of OPENSTEP on the Mac [hardware], > > Mac developers will keep working on their current projects > > using system 7 API's. It very hard for us to believe that > > OPENSTEP programs would just need a recompile (or slight source > > code modification) to run under Rhapsody. It's fairly likely that if you write to the OpenStep (4.x) API, then what you have will work on Rhapsody with just a recompile. I know that you'd be skeptical of this based on other packages which have promised such things, but NeXTSTEP has been running on multiple platforms for awhile now, and it really does do a fairly good job at hiding hardware differences. On the other hand, for most people it wouldn't be a bad idea to wait for a developer's release of Rhapsody. However, it is key that you're writing to the OpenStep (4.x) API's, and not the older API's that were in NeXTSTEP 3.x... > > I hope that when Rhapsody DR is released we will see a TON of > > questions. (make sure you check c.s.m.programmer.* though). > > > > Tony "waiting to do cool stuff with OPENSTEP on the Mac" Makhlouf > > Hyuk! There may be a ton of questions on c.s.M.p but to get > answers you and me will have to go to c.s.N.p!! Duh. I think Tony has a legitimate point, one that most of us NeXT aficionados have been ignoring. At one point should the cs.next newsgroups just fold into cs.mac? I don't think we've thought that through yet. --- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu Senior Systems Programmer (MIME & NeXTmail capable) Rensselaer Polytechnic Institute; Troy NY USA
From: apuleius@ix.netcom.com (William Grosso) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Tue, 11 Mar 1997 02:55:22 GMT Organization: Netcom Message-ID: <3324c889.576749@nntp.ix.netcom.com> References: <330E54AC.167E@innosys.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> <5g0t0o$sb8@samoyed.ftc.nrcs.usda.gov> <5g1u1g$q7n$3@news.xmission.com> <3324A35D.6FEC@sequent.com> On Mon, 10 Mar 1997 16:12:14 -0800, Jason Wells <jasonw@sequent.com> wrote: > >So can the Microsoft JVM. In fact, all you have to do to make a Java >class 'native' is to include the JVM with the bytecode distribution. In >this sense, it's at least as 'native' as a VB application, with it's >p-code and VBRUNxx.DLL. > This is not what Asymetrix's product does. Packing the JVM in, while kinda nice, does nothing for the speed problem. Supercede compiles to x86 native code. E.g. ain't no JVM in there, ain't no .class files that you can then bop on over to a mac. It's not as fast as some coders hope. Java, as a language, takes some performance hits because of the amount of validation it does on method invocations etcetera. But most people will still find it acceptable for almost every application (James "Truth" Curran is, of course, free to disagree). Cheers, Andy
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 11 Mar 1997 04:02:34 GMT Organization: ace dot net internet technologies Message-ID: <5g2lgq$4d8$1@darla.visi.com> References: <330E54AC.167E@innosys.com> <332192A6.313D@online.disney.com> <5g0t0o$sb8@samoyed.ftc.nrcs.usda.gov> <5g297g$p46$1@darla.visi.com> <5g1oo6$3co@sps1.phys.vt.edu> In comp.sys.next.programmer Nathan Urban <nurban@sps1.phys.vt.edu> wrote: : > SFW. Java's runtime is an order of magnitude more complex than ObjC's. : Really? I'm not very familiar with Java's runtime. Do you think you : could say a little about its complexity and differences from Obj-C's? By "runtime" I mean the virtual machine. Were you to run compiled Java, you'd still have to duplicate its services, which include some form of garbage collection and late binding. Even with asynchronous GC, the performance hit is not negligible. It is, however, worth it, IMHO, for the level of services it provides. If only it were loosely typed... :/ -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: Garance A Drosehn <gad@eclipse.its.rpi.edu> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 10 Mar 1997 02:59:11 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Message-ID: <5fvtdv$50h@usenet.rpi.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <markeaton_-0103971953190001@ip73.santa-clara7.ca.pub-ip.psi.net> <3319DCB7.6821@online.disney.com> <5ft5bh$kok@lal.interserv.com> JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > Joseph Panico <jpanico@online.disney.com> wrote: > > The biggest problem with business applications (short of olap > > or modelling) is definitely not performance. The biggest issue > > is manageability, specifically managing complexity. > > I've rarely heard users complain that a program was tough > for the programmers to maintain. But nearly everyday I hear > someone complaining that a program is "too damn slow". One way to solve performance problems is to restructure your code. However, if your code is unmanagable then you won't risk a major restructuring. So, you'll spend your time on optimizations at the micro level, instead of the macro level. It is rather silly to take a user's complaint as if it was an accurate analysis of the problem at the actual program design level. The user doesn't know *why* the program is slow they just know that it is slow. You're assuming that the only solution to that problem is the solution you like. That's fine, I guess, but it's certainly not proof that your solution is the best one. There is a strange sense of deja-vu I get from these kinds of discussions. Fifteen years ago it was assembler programmers vs programmers using higher-level languages. Assembler programmers would always insist that their code would be faster, and yet now it's true that very little is written in assembler. --- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu Senior Systems Programmer (MIME & NeXTmail capable) Rensselaer Polytechnic Institute; Troy NY USA
From: Garance A Drosehn <gad@eclipse.its.rpi.edu> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 10 Mar 1997 03:12:53 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Message-ID: <5fvu7l$50h@usenet.rpi.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> <5ft5bp$kok@lal.interserv.com> JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > Joseph Panico <jpanico@online.disney.com> wrote: > > I have to disagree. Java, without JIT, is probably an order of > > magnitude slower than ObjC. With a top of the line JIT, it's > > probably on par with ObjC. And yet, c++ programmers are > > abandoning c++ for Java at an astounding pace? > > Why is this? > > Mainly because it's Hot! & New! and it look good an a > resume right now. And actually few are "abandoning" C++ for > Java. Mostly they are just learning & experimenting with Java, > while they continue to do their real work in C++. And, recent > surveys show that many people are finally realizing tha Java > isn't the panacea it was hyped as, and putting it aside. My > prediction: within two years, Java will be used strictly for > simply web page applications. Java is a language. As a language, my own prediction is that two years from now there will be more happening in Java than in pure C++. I should probably hedge that a bit, and say that there will be more new things happening with "Java and other OO languages" then there will be with C++. While Java 1.0 wasn't all it was billed to be, new versions of Java are filling in the most glaring deficiencies. Web applications use a virtual machine for running Java byte codes. Some people have a weird notion that there is something about the Java language which makes it impossible to compile Java into hardware-native code. It is odd that such confusion exists. Now, I agree that it is quite possible that the JVM will only be used for web applets within two years, but that's not the same as saying Java (as a language) will be limited to web applets. [furthermore, it wouldn't be all that surprising to me if we find that there is a better intermediate representation than the current Java byte codes and JVM] --- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu Senior Systems Programmer (MIME & NeXTmail capable) Rensselaer Polytechnic Institute; Troy NY USA
From: Garance A Drosehn <gad@eclipse.its.rpi.edu> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Date: 10 Mar 1997 03:35:07 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Message-ID: <5fvvhb$50h@usenet.rpi.edu> References: <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> <5fvu24$gvl@enet1.enetis.net> stone@enetis.net (Kevin and Brian Stone) wrote: > zarf (zarf@zarfism.com) wrote: > : As a current Mac user I'm concerned that some of my fellow Mac > : users/cry-babies could torpedo the availability of the NeXT HI > : under Rhapsody. Though they are vocal, I know I'm not the only > : Mac user who, though amazed ten years ago by the Mac look and > : feel, now feels confined by its age and backwardness. > ^^^ ^^^^^^^^^^^^ > > Do you really? Sad. Seen Windows 95 lately? Yes. So what? NeXTSTEP is not Windows95. While Windows95 looks something like NeXTSTEP (or at least more like it than Windows3.1 did), it is certainly not the same thing. If you are making assumptions about the user-interface of NeXTSTEP based on experience with Windows95, you're going to draw the wrong conclusions. --- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu Senior Systems Programmer (MIME & NeXTmail capable) Rensselaer Polytechnic Institute; Troy NY USA e appropriately designed NIB files is > required, no? I thought, they simply describe the layout/order > of the menus, not their appearance and behaviour. In which case, > someone would have to tinker with or over-ride the Openstep code > that handles the menu appearance. I'm hoping for some technical > details that would demonstrate that this is not undocumented or > otherwise out of the reach of Next hackers. Strictly speaking, NIB files do not store the layout and order of menus, windows, etc. They are much more general than that. They store instances of objects, any objects. There is no need to change the format of NIB files for what you want to do here. (there are other reasons it might be nice to change the NIB format, but the current format can handle the difference in menus -- because there isn't really any menu-specific knowledge in the current format). The trick would be to write classes (objects) such that they can change from a mac menu-format to a NeXTSTEP menu-format, based on some user-level preference. Given the areas where those menu formats are the same, I imagine this could be done. Once those classes are written, they can be stored using the current NIB format. --- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu Senior Systems Programmer (MIME & NeXTmail capable) Rensselaer Polytechnic Institute; Troy NY USA
From: r5622031@cc.ntu.edu.tw (r5) Newsgroups: comp.sys.next.programmer Subject: Re: NSReturnSign in Tutorial Date: 11 Mar 1997 05:46:44 GMT Organization: National Taiwan University Message-ID: <5g2rk4$989@netnews.ntu.edu.tw> References: <5g20ka$819@lyra.csx.cam.ac.uk> biesingert@asme.org ´£¨ì: : Hi, just going through the Tutorial for OpenStep 4.0 : but 'NSReturnSign' is missing under Images of the IB. : This occurs in the CurrencyConverter tutorial. : Thanks for your help! : : Thomas ya...I found the same problem..in 4.1 Maybe for the sake of portbility..(My guest is for NT).. NeXT take it off... Liu in Taiwan,NTU
From: aisbell@ix.netcom.com (Art Isbell) Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy Subject: Re: GDB Features In 4.X, As Versus MW? Date: 11 Mar 1997 05:47:52 GMT Organization: Netcom Distribution: world Message-ID: <5g2rm8$j9o@dfw-ixnews6.ix.netcom.com> References: <jbf_see_signature-ya023580000903971609370001@news.tiac.net> <gn8oD0W00iWU48M6cU@andrew.cmu.edu> <5fv2d2$ssp@sps1.phys.vt.edu> <5g155k$17si@news.doit.wisc.edu> <5g13tl$1ao@sps1.phys.vt.edu> nurban@sps1.phys.vt.edu (Nathan Urban) wrote: > In article <5g155k$17si@news.doit.wisc.edu>, giddings@whitewater.chem.wisc.edu wrote: > > > In <5fv2d2$ssp@sps1.phys.vt.edu> Nathan Urban wrote: > > > > In 4.1, you don't use Edit.app anymore for source browsing, GDB access > > > is integrated into ProjectBuilder, and the stack browser appears to > > > have vanished. Instead, you select an object to print out in the > > > It's there. In the execution window, click the button that looks like a > > sprocket, then use the pull-down menu in the resulting window to select > > "stack". > > But that's not the same thing. I'm talking about the hierarchical > browser that let you view an object's ivars, then click on its object's > ivars, etc, using a browser view. It's not there :-( Debugging has regressed under the new PB unfortunately. If you value the hierarchical ivar browser as I did, let NeXT know by sending a suggestion to bug_next@next.com. -- Art Isbell NeXT/MIME Mail: aisbell@ix.netcom.com Trego Systems Voice/Fax: +1 408 335 2515 OPENSTEP/NT Voice Mail: +1 408 335 1154 managed care solutions US Mail: Felton, CA 95018-9442
From:  ralph@ifr.luftfahrt.uni-stuttgart.de (Ralph Paul) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 11 Mar 1997 10:39:48 GMT Organization: Comp.Center (RUS), U of Stuttgart, FRG Message-ID: <5g3cpk$395e@info4.rus.uni-stuttgart.de> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> <5ft5bp$kok@lal.interserv.com> <5fvu7l$50h@usenet.rpi.edu> Garance A Drosehn <gad@eclipse.its.rpi.edu> wrote: > Java is a language. As a language, my own prediction is that two > years from now there will be more happening in Java than in pure > C++. I should probably hedge that a bit, and say that there will > be more new things happening with "Java and other OO languages" > then there will be with C++. While Java 1.0 wasn't all it was > billed to be, new versions of Java are filling in the most glaring > deficiencies. > > Web applications use a virtual machine for running Java byte codes. > Some people have a weird notion that there is something about the > Java language which makes it impossible to compile Java into > hardware-native code. It is odd that such confusion exists. Now, > I agree that it is quite possible that the JVM will only be used > for web applets within two years, but that's not the same as saying > Java (as a language) will be limited to web applets. > > [furthermore, it wouldn't be all that surprising to me if we find > that there is a better intermediate representation than the current > Java byte codes and JVM] Just to add my $0.02 : Intermetrics has been selling an Ada95 compiler which generates either native or JVM code ( with a few limitations). I think goes to show that you need to differentiate between Java as a language, the JVM as an execution environnement and all of those jumping coffee beans applets. I am expecting that within this year, software companies will start to sell so called binary packagers/installer. These packagers will be used to package up Java applications (Corel Office) and to compile (not just JIT) them to native code. The result should be just as fast as C++, if not faster. Ralph Paul ralph@ifr.luftfahrt.uni-stuttgart.de compile the Byte code to native code
From: ldubois@syndetics.be (Luc Dubois) Newsgroups: comp.sys.next.programmer Subject: Re: Platform independence, Java and Juice (Re: OpenStep: what does the term mean?) Date: Tue, 11 Mar 1997 12:08:15 +0100 Organization: Syndetics Research Message-ID: <1997031112081527079820@pool011-116.innet.be> References: <msg37701.thr-34dc7b90.54c5638@flannet.middlebury.edu> <5evgk9$7m4@news.next.com> <qdiv3f2b7i.fsf@blues.cygnus.com> <1997022812133841029741@pool011-107.innet.be> <3319E057.181F@hknet.com> <5fd6qg$kme@news.next.com> <199703061301591275778@pool011-119.innet.be> <5fofl6$pis@news.next.com> <1997031007201320839001@pool011-146.innet.be> <5g1tkn$o21@news.next.com> Mark Bessey <MaRK_BeSSeY@NeXT.CoM> wrote: > Luc Dubois writes > > But... but... but... Hasn't Apple become what it is, *exactly because* > > it wasn't/isn't afraid of swimming against the tide? Now, Java as I see > > it is a nice first attempt at platform-independence. There currently > > *is* already a better technology available. It's called "Juice" and is > > based on the language Oberon (from the school of Niklaus Wirth). > > [Note to other readers: you really ought to read up on Juice before > reading any farther. See: http://www.ics.uci.edu/~juice/ ] > > Juice is an interesting idea - too bad Java already has the limelight. Do > you honestly think that *Oberon* is going to gain mindshare against Java? > Outside of academic users, who's even heard of Modula 3 or Oberon? Well, you struck a very sensitive chord there, Mark. Who indeed? On the other hand, who had heard of Java 2 years ago? We've come to realize that no product or technology is going to make it on its technical merits alone. It's Sun's perfectly orchestrated campaign that put Java in the limelight. The timing was perfect, anything that had the label "something to do with the Internet" was bound to get - deserved or undeserved - attention of the media. Could a company like Apple repeat that with a competing technology? I don't know. It depends on how determined they are, I suppose. Unfortunately Apple doesn't exactly have a reputation of sticking to their technologies or actively promoting them. Witness the fate of the CTB, PowerTalk, Publish-and-Subscribe, Dylan, QuickDraw/GX and now maybe even OpenDoc (if rumours are to be believed). Even AppleScript isn't promoted as it should/could have been. Mindshare isn't something that just comes your way. It requires a sustained effort, a department Microsoft seems to handle extremely well... Note that Juice is just the "secure and safe" implementation (subset) of a much more powerful dynamic environment. Oberon has a few more merits than just being cross-platform and extremely resource-economic. It offers an OpenDoc-like anti-bloatware component architecture as well. > One thing that still amuses me about these things is that these great > cross-platform solutions aren't used *to implement themselves*. The UCSD > p-code machine was coded in assembly for each platform. Smalltalk had many > "primitive" operations and types. The Java VM is written in C, and the AWT > (and others) use lots of "native methods"... > > The cynic in me wants to shout "if your tool is so great, why don't you > use it yourself?", but that's too easy. On the other hand, I don't see why > it isn't possible to define a computer language that is: > Expressive > Well-defined > Portable > Rapidly compilable to high-performance machine code > In fact, the Java language meets nearly all those requirements. It's just > this stupid byte-code nonsense that I don't like. I mean, what's the point > of compiling your Java code into bytecodes, then loading it on the target, > where it's recompiled into native code, after all the syntax cues have > been removed? I'm glad your brought this up. On my Macintosh, I have a 750-lines C-coded stub that initialises the runtime environment needed for Oberon and basically links some primitive routines and a few Toolbox functions to the Oberon layer above. That's it. The rest of the system, memory management, task dispatching, garbage collection, dynymic loader (collectively known as the "inner kernel", sort of Oberon VM), file system, graphics subsystem, font management, GUI framework and the compiler itself are all written in Oberon. <soapbox> The compiler generates either native object modules or platform independent "slim binaries". Slim binaries are less than half the size of equivalent byte-coded modules and more than 3 times smaller than native PPC601 machine coded modules. There is a nice recent paper from Michael Franz (who graduated under Niklaus Wirth) on the subject of "Adaptive Compression of Syntax Trees and Iterative Dynamic Code Optimization". You can probably find it from the best Oberon starting page there is: <http://www.math.tau.ac.il/~laden/Ob-pkgs.html>. Look for "MobileObjects-ics-tr-97-04.ps" in the "papers" section. Or else go to the "recent news" section, where I think I found it. </soapbox> The point is: Oberon *is* implemented in itself. Cheers, Luc -- Syndetics Research | Authors of Synema(tm) Director (c) 1992-1996. Herderstraat 1 | Thesaurus construction software for the 3740 Bilzen - Belgium | Information Retrieval industry.
From: ldubois@syndetics.be (Luc Dubois) Newsgroups: comp.sys.next.programmer Subject: Re: Platform independence, Java and Juice (Re: OpenStep: what does the term mean?) Date: Tue, 11 Mar 1997 12:08:25 +0100 Organization: Syndetics Research Message-ID: <1997031112082527080400@pool011-116.innet.be> References: <msg37701.thr-34dc7b90.54c5638@flannet.middlebury.edu> <5evgk9$7m4@news.next.com> <qdiv3f2b7i.fsf@blues.cygnus.com> <1997022812133841029741@pool011-107.innet.be> <3319E057.181F@hknet.com> <5fd6qg$kme@news.next.com> <199703061301591275778@pool011-119.innet.be> <5fofl6$pis@news.next.com> <1997031007201320839001@pool011-146.innet.be> <5g1tkn$o21@news.next.com> <5g1fo6$2la@sps1.phys.vt.edu> Nathan Urban <nurban@sps1.phys.vt.edu> wrote: > In article <5g1tkn$o21@news.next.com>, mark_bessey@next.com wrote: > > What I really want is a Java native-code compiler (or a Java to ObjC > > translator), so I can take advantage of local optimizations, while not > > losing the true advantages of Java, which relate more to reliability and > > security than platform independence. > > I'd love to see a Java to Obj-C translator.. but I'd rather see an > Obj-C to Juice compiler. Or at the very least, a Java to Juice > compiler. Then you can use the separate Juice-to-native compiler either > at runtime to obtain platform independence, or keep it native. Note that the platform-independent format of Oberon, and hence Juice, is called "Slim Binary" (now a trademark of the UC, I think), based on the underlying technology of "Semantic Dictionary Encoding". I noticed that Michael Franz (the author of Juice and SDE) more recently calls this "Adaptive Compression of Syntax Trees". He is driving this further to Iterative Code Optimization (see the paper I mentioned in the follow-up to Mark Bessey's posting). SDE works because of the strong typing in Oberon. I know of at least one effort at the ETHZ (home of N. Wirth and M. Franz) to do the same thing for Java. I don't know enough about Objective C to speculate if the same is possible for that language. There is however some research stuff at <http://www.norconnect.no/SDE/> to achieve something similar for C, so I suppose we haven't seen the last of the miracles yet <g>. Some background: Oberon was designed and developed by Niklaus Wirth and Jurg Gutknecht, both professors at ETH in Zurich. N. Wirth, of course is known for Pascal, Modula-2, Ceres and Lilith workstations, and a strong advocate of Einstein's "Make it as simple as possible, but no simpler than that". From their book "Project Oberon, The Design of an Operating System and Compiler", I like to quote: "We should merely like to draw the reader's attention to the correlation between a system's size and its reliability", and "Also, we do not consider it good engineering practice to consume a resource lavishly just because it happens to be cheap". Michael Franz was a graduate student under Wirth and developed SDE/Slim Binaries in the context of his doctoral thesis while at ETHZ (1994 I think). He's now at the UC Irvine, where he developed Juice plug-ins for Navigator (Mac and Windows). Michael Franz has also outlined a new programming language called Lagoona, based on the original Oberon language, which implements the equivalent of protocols in Objective C, or interfaces in Java. He calls the construct "Categories" (not to be confused with Objective C categories). He's planning on having his students use that language after this summer. You'll find a paper on Lagoona also off Guy Laden's excellent Oberon home page at <http://www.math.tau.ac.il/~laden/Ob-pkgs.html>. Luc -- Syndetics Research | Authors of Synema(tm) Director (c) 1992-1996. Herderstraat 1 | Thesaurus construction software for the 3740 Bilzen - Belgium | Information Retrieval industry.
From: ldubois@syndetics.be (Luc Dubois) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: Tue, 11 Mar 1997 12:08:32 +0100 Organization: Syndetics Research Message-ID: <1997031112083227080817@pool011-116.innet.be> References: <msg37701.thr-34dc7b90.54c5638@flannet.middlebury.edu> <5evgk9$7m4@news.next.com> <qdiv3f2b7i.fsf@blues.cygnus.com> <1997022812133841029741@pool011-107.innet.be> <01bc2da2$d67b7be0$1f193b9c@A413-11.cit.ac.nz> Andrew McPherson <MCPHERAN@mail.cit.ac.nz> wrote: > Luc Dubois <ldubois@syndetics.be> wrote: > > - OpenStep = the specification of an abstract API > > - OPENSTEP for Mach = an OS > > - OPENSTEP Enterprise for Windows NT = the implementation of a framework > > based on the specification of an abstract API > > > This is still going to confuse the market (simple folks like current > > Macintosh users/developers, > > Mac developers aren't simple, you fool. > As a software engineer, I develop for the mac first, then I port it over to > windoze 95/NT, then to unix. > (Core code, stupid windoze trick code, then solid code.) Charming. Thanks for the warm and carefully chosen words. As a Macintosh-only programmer I develop for the *users* first, but that's another discussion. I probably shouldn't have put Macintosh users/developers on the same heap as Fortune Magazine editors, Wall Street Journal reporters, and financial "analists", but the point was that Apple should remove the confusion of similar names for different products. Simple, Luc -- Syndetics Research | Authors of Synema(tm) Director (c) 1992-1996. Herderstraat 1 | Thesaurus construction software for the 3740 Bilzen - Belgium | Information Retrieval industry.
From: Ulf Olsson <ulf@distinct.se> Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: 11 Mar 1997 12:52:39 GMT Organization: Distinct Systems i Sverige AB Distribution: world Message-ID: <5g3kin$9d1@mn5.swip.net> References: <msg37701.thr-34dc7b90.54c5638@flannet.middlebury.edu> <1997031007201320839001@pool011-146.innet.be> <5g1fo6$2la@sps1.phys.vt.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit NNTP-Posting-User: s-35932 In article <5fofl6$pis@news.next.com> Mark Bessey, MaRK_BeSSeY@NeXT.CoM writes: >Luc Dubois writes >> "OPENSTEP is either". >> >> This is a real problem and is exactly what I was saying and which >> i.m.h.o. is confusing. OPENSTEP for Mach *is* the OS, while OPENSTEP for >> Windows NT is a framework (delivered in the form of libaries and a set >> of APIs) on top of an "host" OS (or should that be a "client" OS ;-)). >I fully expect that this will be much less confusing in the new world. The >OPENSTEP for NT product and the Rhapsody OS will have different names, I >bet. >> If Apple can continue this (keeping the lib and api in sync with the >> real OPENSTEP OS) and maybe (hopefully) porting it to every other OS in >> the world, Apple developers gain an enormous competitive advantage. I am >> really excited about this! We could deploy all our software on all >> platforms, just by using the new Apple development environment. If that >> doesn't leverage more sales of Apple computers as the preferred >> development solution, I don't know what will. I don't even dare to >> imagine how this could evolve over time, when most computers out there >> will be equipped with this OPENSTEPLIB...! Can you? >Hey, that's why I'm (still) here. NeXT had some truly great, world-beating >technology (Objective-C, PDO, EOF, for instance), but they never really >got the word out. Just the thought of what thousands of creative Mac >developers will come up with is mind boggling... >> Now, if only Apple would turn this ugly ULTRA-FAT-Binary technology into >> "Slim-Binaries" by utilising Semantic Dictionary Encoding, they could at >> the same time and in one fell swoop pull control over the internet from >> under Microsoft as well (OK, Microsoft doesn't yet control the Internet, >> but they have every intention of trying to get it). >That's an interesting idea, but we'd be swimming against the tide. How >about this: If we have the OpenStep library on a large % of desktops, and >an OpenStep-to-Java interface, we can leverage the platform-independence >of Java with our kick-butt native-code class library... I have been developing for the Mac for some time (started on Lisa in -84) and have been reading this news-group a while now, since about 20 December 96. :-) Nowadays I mostly do Unix (Sun) and NT & 3.1 Windows, even if I just started doing a project (in spare time) on complexity and A-life on the Mac. My class libraries experiences are MacApp, OWL, MFC, libg++, database libraries and network libraries for TCP/IP, RPC, Sockets, DDE/OLE and serial communications. In the above-mentioned project I saw the possibility of writing the UI code in Java and then writing algorithms in C++ using STL (depending on portability) or just ANSI C. The target machines was Macs, NT's, SGI's and Sun's. I started with IFC since it seemed to be (on the surface) a nice class library and felt comprehensible, and I downloaded the Constructor to my Mac to do the interface. After a few tries I went back to native Java+AWK and wrote test examples to look at speed issues for updating the screen and doing algorithms. 3D libraries was also tested. Execution speed of Java was not impressive (Java SDK 1.02) so Java was put on ice until SDK 1.1 arrives with the standardized native interface and a JIT available on all platforms. I took out my Metrowerks CD, unpacked MacApp (Release 12) , and started doing the interface and algorithms. Adlib, GWorld, Palette and classes in C++. Easy and simple. Until I have to port it to NT ... (MFC & Windows API - just work) and Unix ... (X Forms & X - more work) A few questions, observations and opinions: 1) If Rhapsody 2.0 was ready (in 1999? :-) ) could you then a) Do the UI in IB on the Mac. b) Do non-critical stuff in Java class libraries (or Obj-C with Java Interfaces) c) write algorithms in C++ and STL, or ANSI C. d) move the code to Sun's and SGI for a recompile and run. e) move the code to NT for a similar recompile and run. f) put the code on a homepage for Netscape 7.0 to run it. 2) Will there be a standardized 3D library? (OpenGL, QuickDraw 3D, Renderman etc.) 3) The developers will be geared towards content and less tools-oriented, which implies higher abstraction levels and higher productivity, but also a higher complexity for the developer. This means more OO libraries, less 4 GL tools and a higher education level. Rhapsody strategy ----------------- Using Porter's book Competetive Strategy you have the following forces driving competition Potential Entrants Substitutes Suppliers Buyers and to handle these forces you can have different strategies High Specialization + High Assembler ------------------------------------ high price + high technology + high quality : "Old" Next Medium Specialization + Medium Assembler ---------------------------------------- high service + low quality + low price : Microsoft Full Line + High Integration ------------------------------ Low manufactoring costs + Low service + moderate quality : "Old" Apple Narrow Line + High Integration ------------------------------ Low price + Low service : Netscape In innovation terms: Run faster -> Innovate quicker and better : Netscape + "new" Apple/Next "New" Apple have to choose one of the different strategies available, preferably the correct one ... :-). Porter warns of the symptom of switching back and forth between different strategies during a crisis, or not being aware of your position in the industry. If Apple goes the "Old" Next way the price for developers might become too high and not create a market. If it is too low money is lost. I bought (did not everyone ?) a evaluation copy of NextStep for PC (3.2 I think), but that version could not load on my PCI PC. I got it working around New Year by downloading a lot of new drivers and stuff. Took a while. The price was around $300. That is half of what I pay today for being a MS developer and about parity with the cost as a Mac Developer (Associate Plus). I then have to buy compilers for NT, which is about $500 (subscription), and Mac, which is about $300. Unix is free - but a lot of work to update gnu compilers and tcl/tk. So the money I spend every year is minimum $600 + $300 + $500 + $300 = $1700 and if I remember correctly it is double that amount in reality. Since a Rhapsody developer only needs one OS and one development environment (does anyone believe this ? :-) ) the "market value" seems to be around $850 for a OS with a superior development environment and high quality delivery on multiple platforms with yearly updates. A one-shot price would then be around $300 ($50 OS and $250 dev.environment). Say you get 30,000 developers buying into this. This would mean 25,5 million dollars in potential income/year. Compare that to what Metrowerks makes : 4 * 4.7 million = 18.8 million. So you licence the development environment to Metrowerks for them to sell and help enhancing (If you do not think this is part of "New" Apple core business) Metrowerks could then extend this business into the Intel world, and increase the market by a factor 10 and lower the price. This could be To stop ranting here is a guess Rhapsody to user: $79-$99 Rhapsody + development environment to developer: $300 (one shot) or $850 (year) Sorry for being so long-worded here, but I got carried away ... Ulf Olsson --- Expressing the only opinion I have: my own ---
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Re: idle time in Workspace? Date: Sat, 8 Mar 1997 20:32:17 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <wn8VAVK00iVEI8kctY@andrew.cmu.edu> References: <5frq8t$n63@sps1.phys.vt.edu> In-Reply-To: <5frq8t$n63@sps1.phys.vt.edu> Excerpts from netnews.comp.sys.next.programmer: 8-Mar-97 idle time in Workspace? by Nathan Urban@sps1.phys.v > Is there any programmatic way to determine how long a user has been idle > (i.e., no mouse or keyboard events) in the Workspace? I can use the > standard Unix trick for getting idle times, but it only works if they've > got a terminal open. Try looking into the EVS driver, which delivers user events to the Window Server. The source for Backspace provides an example of how to use it. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: Alexander Lamb <alamb@ml.com> Newsgroups: comp.sys.next.programmer Subject: Re: More OpenStep Questions Date: Tue, 11 Mar 1997 09:20:51 -0500 Organization: Merrill Lynch Message-ID: <33256A43.7E8B@ml.com> References: <edream-2802970901590001@msn-4-14.binc.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Edward K. Ream wrote: > > Hello again, > > Now that we are all up to speed on the difference between > OPENSTEP and OpenStep :-) I'd like to ask the questions > that I _really_ meant to ask! > > 1. Are the Foundation Toolkit and App Toolkit an integral > part of the Next OS? That is, are they part of the "official" > API's of the OS? Or are they simply libraries supplied > by compiler vendors? Or maybe something in between? > > Comment: I'm trying to understand what, exactly, > the Mac "Yellow Box" will contain. > Foundation and Appkit are part of OpenStep. This means it is "above" the NeXT OS. Those libraries (or call them Frameworks to be more precise) are (oups were) supplied by NeXT as part of the system since most of the application running on the NeXT system are developped using them. A few years ago, the development tools were unbundled from the basic system, and therefore, although you could run OpenStep apps with no additional libraries, in order to develop you needed the development environment (which supplied the compiler, interface builder, project builder and the interfaces to the various frameworks, etc...). All this is true for OpenStep on MachOS *TODAY*. On Windows NT, the same applies but you need to purchase an OpenStep runtime (which may be bundled with the app a vendor is developing, depending upon some licensing agreement with NeXT). All the above implies only software from NeXT. Now, for Rhapsody, well I don't know ! Simply listening to what Avie said publicly, it would make sense to think that the developer release will be very close to what OpenStep for MachOS is today (since NeXT is encouraging you to start looking into the Intel version, while waiting for the Rhapsody developer release). Of course, some ISV are supplying some additional frameworks, libraries, if needed for some specific developments. Additionally, most of the OpenStep applications have an API which allows additional customization. > 2. Are Objective-C objects an integral part of the Next OS? > That is, do the OS API's imply a specific structure for objects > (for instance, the isa pointer)? If so, then > a) do all C++ compilers ultimately produce objective C calls? > b) is there a public ABI (app binary interface) that describes > this interface? > > Comment: I'm trying to understand what the fundamental > performance characteristics of the Yellow Box will be. > Well, down in the MachOS layer, meaning the operating system itself, we are speaking about C function call for obvious performance reasons (although some pieces may have been written in C++ or Objective-C, I didn't have a close look because the OpenStep layer helps you avoiding getting to deep into the OS :-) Now, when you speak about "all C++ compilers"... which ones ? there are only two Objective-C++ available on OpenStep systems : the one from NeXT and the GNU. They are both fairly similar since the one from NeXT is derived from GNU (now don't ask me about versions and small differences... I don't know, again, with the OpenStep layer, you can avoid going to deep into the compiler issues :-) The two compilers can compile C code, Objective-C code or C++ code, or a mix of the three. Therefore the answer to "a" is NO "b" seems void then... > 3. Is it possible to call objective-c methods from C code? > Is this the purpose of objc_sendm? If it is possible, > how easy is it for the C code to use the results? > (The objective-C headers will not, e.g., contain an explicit > reference to the isa pointer, so how could C code use > those headers?) > > Comment 1: I'm trying to understand the process of porting C code > (or C++ code) to an objective-C world. If we are stuck with > only calls _from_ objective-C to C, then porting code would > probably involve using an (old) C layer below a new objective-C layer, > and the C layer could _not_ call code in the higher layer. > Yes it is possible but : in order for this to work, you must be running the Objective-C runtime, therefore actually compiling Objective-C code. Usually you use function calls to call directly an Objective-C method in order to optimize speed in a loop for example. The way to do this would normally be the other way round. You write a small Objective-C "wrapper" program which will call you C functions (or even you C++ classes). This will allow you to port existing code without to much pain and at the same time you benefit from the OpenStep even model and UI classes. Calling back an Objective-C method from a C portion of your code is no problem since, being in the Objective-C runtime world, you can pass an object pointer to a C function and then simply message it from within you function.But if you wish, you can also port a straight C program without even calling Objective-C at all (if you are writing some non-UI processes for example). All the standart C libraries are available as well as the standart Unix calls to read and write from files. Hope this helps, Alexander Lamb Apple Computer Inc, (formerly NeXT software) standart disclaimer... > Comment 2: This kind of port could be very significant in merging > Mac OS 7.x and Copeland code into the Next OS code. > > Cheers, > Edward > Edward > > -- > Edward K. Ream > (608) 231-0766 > edream@mailbag.com > Owner, Sherlock Software
From: Aki M Laukkanen <amlaukka@cc.Helsinki.FI> Newsgroups: comp.sys.next.programmer Subject: MAB specifications Date: 11 Mar 1997 15:36:32 GMT Organization: University of Helsinki Message-ID: <5g3u60$chp@oravannahka.Helsinki.FI> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Hello, Would someone be so kind that he could send me the includes from the subdirectory "mach-o"? I have no access to a NeXTStep box but I still need the MAB (multi architecture binary) specifications, thanks. -- D.
From: embuck@palmer.cca.rockwell.com (Erik M. Buck) Newsgroups: comp.sys.next.programmer Subject: Re: need help w/ DPSDoUserPath and user paths Date: 11 Mar 1997 15:48:41 GMT Organization: Rockwell Avionics - Collins Message-ID: <5g3usp$b1k@castor.cca.rockwell.com> References: <5fq6u9$mcu@nntp.Stanford.EDU> Cc: jhoekman@ccrma.stanford.edu See /NextDeveloper/examples/AppKit/Lines/UserPath.m
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: Mon, 10 Mar 1997 04:42:57 GMT Organization: InterServ News Service Message-ID: <5g034e$f8r@lal.interserv.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <5fcnhe$7dd@lal.interserv.com> <webboy-ya02408000R0603971359540001@news.azstarnet.com> In <<webboy-ya02408000R0603971359540001@news.azstarnet.com>>, webboy@webname.com (David) wrote: >In article <5fcnhe$7dd@lal.interserv.com>, JamesCurran@CIS.CompuServe.com >(James M. Curran) wrote: >> >> Apple, on the other hand, has studies that show that people who have >>used a Mac for years, are more productive on a Mac than they are on >>Win95 upon first seeing it. >This is complete un-truth James, and you know it. The studies Apple touts >are of cross-platform users. Quit making things up. OK, I phrased that poorly. "Apple, on the other hand, has studies that show that people who have used a Mac for years, and have just recently been given a Win95 machine, feel that they are more productive on the machine that they are more familiar with" Truth, James
From: andreas@lynet.de Newsgroups: comp.sys.next.programmer Subject: Marking Text in the ProjectEditor Date: 11 Mar 1997 16:02:41 GMT Organization: LyNet Kommunikation und Netzwerkdienste GmbH Message-ID: <5g3vn1$ke5$1@lynet.de> Hello, I'm very new to OpenStep-Programming. I just finished my first demo-project and was wondering, if I really have to use the mouse to select some text in the ProjectEditor for being moved or deleted. Under OS/2 I used ALT-B to mark the beginning and the end of a block. What's the key-sequence here. I found a paper named "Emacs Key Bindings" in the online-Docu, but ther's nothing written about marking text with the keyboard. Do I have to use another Editor? Wich one, and where do I get it? Thanks in advance. Andreas
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: Mon, 10 Mar 1997 04:42:53 GMT Organization: InterServ News Service Message-ID: <5g034c$f8r@lal.interserv.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <5fcnhe$7dd@lal.interserv.com> <pjbrew-0603971234550001@slc-ut4-22.ix.netcom.com> <qdu3mokcdd.fsf@blues.cygnus.com> In <<qdu3mokcdd.fsf@blues.cygnus.com>>, Stephen Peters <speters@cygnus.com> wrote: >To be honest, even without the proof, I'd find it hard to dispute as >written above. People who have used a Mac for years are more >comfortable using Macs than if you throw them into a new environment. >That's a far from surprising result, similar to any claim that people >who've been using Win95 since its release are more productive on Win95 >than they are on the Mac when first thrown into it. Well, it's nice to see someone who can look at what Apple says, and draw a reasonable conclusion. Apparently Phil Brewester won't be satified unless I show him stole secret documents.... >Do you honestly think that people who have used one system for years >won't be more productive on that system than if you suddenly throw >them onto something else? But the really important part is that they aren't even trying to show on which system people are more productive. On Apple's last study (The Evans Report, which I've discussed elsewhere on the newsgroup), they only *asked* people which they *thought* made them more productive. And the other questions they asked were even more subjective ("On which system are you more creative?" Can you think of a better way of subtle asking, "Which system are you more familiar with?") I'm sure Microsoft rigs it studies as well, but at least they are more open about acknowledging that they commisioned the study, and actual time how long it takes people to do things with the systems... Truth, James
From: Jason Wells <jasonw@sequent.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: Tue, 11 Mar 1997 10:23:50 -0800 Organization: Sequent Computer Systems, Inc. Message-ID: <3325A336.260C@sequent.com> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> <331dc772.73186408@news.inlink.com> <19970305211434201081@brainerd-dial-27.uslink.net> <5fmlkl$19q@nnrp1.news.primenet.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit John Jensen wrote: Regarding the cost of the developer program, which will recive the Rhapsody beta, Andy Griffin <scrmac@uslink.net> wrote: : It seems to me that the Apple Developer's Associates Program costs : US$250/year. I don't know what your resource situation is like but is : sounds reasonable to me. I don't know, you might be right, but I've always thought it was a mistake for OS vendors to treat devleopment tools as a profit center. I'm sure there is a component to develper tools that are "extra" and should be charged for, but I think there is also a component that is pure marketing. As an example, I spent last night getting FileReader objects working using the (free) JDK1.1 from Sun on Win95. (So I'm already developing Rhapsody code.) Where would Java be without the free JDK? No kidding. Java would be nowhere. I certainly wouldn't have paid money for a new, untried language and environment. Sun has the smarts. If Rhapsody goes to developers at $250 (plus paperwork), only committed developers will buy it. If Apple can build Rhapsody as a platform with that core group, great. If Rhapsody were to go to developers at some "impulse purchase" price, you would get more applications written and build a better buzz for the final release. When I think about it, treating developers as a profit center _now_ would be the _final_ stupidity. Nothing exists in a vacuum, to win Apple has to first pull developers and then pull users from other platforms. John What Apple oughta do is package an OpenStep Developers Kit (ODK), with just a minimalist implementation (as in, no IDE, command line compilers, etc.) but missing no core features, and leave it on their web site as a free download for users of NextStep (user edition) and Windows. They should mirror Sun's approach to JDK exactly. If they were doing this, I'd be writing code for Rhapsody today. Then later, when the really nice polished tools are ready, I'd be in a position to buy them. Jason
From: apuleius@ix.netcom.com (William Grosso) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Tue, 11 Mar 1997 17:08:32 GMT Organization: Netcom Message-ID: <33259149.1091479@nntp.ix.netcom.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> <5ft5bp$kok@lal.interserv.com> <5fvu7l$50h@usenet.rpi.edu> <5g3cpk$395e@info4.rus.uni-stuttgart.de> On 11 Mar 1997 10:39:48 GMT,  ralph@ifr.luftfahrt.uni-stuttgart.de (Ralph Paul) wrote: > >... I am expecting that within this year, software >companies will start to sell so called binary packagers/installer. >These packagers will be used to package up Java applications (Corel Office) >and to compile (not just JIT) them to native code. The result should >be just as fast as C++, if not faster. > No, they should be faster than using a JVM. But in the common metrics of faster (implement the same algorithm and time it), compiled Java should still be a fair stick slower than C++. Cheers, Andy
From: embuck@palmer.cca.rockwell.com (Erik M. Buck) Newsgroups: comp.sys.next.programmer Subject: Re: changing control layers Date: 11 Mar 1997 18:55:26 GMT Organization: Rockwell Avionics - Collins Message-ID: <5g49qu$bt6@castor.cca.rockwell.com> References: <33246E75.43B0@wam.umd.edu> Cc: dutky@wam.umd.edu Position in the subviews list determines layering. The last view in the list is on top of all others. Layering controls the way you describe is full of human factors problems. (not a good idea) Consider a mode/selection sensitive inspector panel instead. See MiscSwapView (I think that is what it is called)
From: shess@one.net (Scott Hess) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 11 Mar 97 11:33:30 Organization: Is a sign of weakness Message-ID: <SHESS.97Mar11113330@howard.one.net> References: <330E54AC.167E@innosys.com> <5fcngp$7dd@lal.interserv.com> <331f6ea2.1358032@nntp.ix.netcom.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov> In-reply-to: jstevens@ftc.nrcs.usda.gov's message of 10 Mar 1997 11:55:21 -0000 In article <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov>, jstevens@ftc.nrcs.usda.gov (John Stevens) writes: In article <SHESS.97Mar7101914@howard.one.net>, Scott Hess <shess@one.net> wrote: >In article <331f6ea2.1358032@nntp.ix.netcom.com>, > apuleius@ix.netcom.com (William Grosso) writes: > On Sun, 02 Mar 1997 20:26:38 GMT, > JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > >_Now_ I'd have no problems porting to C++ from Objective-C. The >project has become very stable, and everything has been optimized >pretty close to perfection. But during development, Objective-C >was essential, and we couldn't have done it with C++. [I'll also >grant Smalltalk could have done it with ease, and _perhaps_ Java.] Yah, but why not use *both*? Too much investment in tools would be required. We've already been through the shredder once just to get versions of Objective-C right for other platforms. Objective-C++ is essentially a NeXT thing right now, and though it might eventually work right under gcc, and perhaps Metrowerks, we needed it _now_. [Actually, a year or two ago, but who's counting.] Use C++ where fast OO is needed, use C for the stuff that has to run quite literally as fast as possible, and use Objective C where speed is of little or no importance (distributed objects and GUI work, for instance. . .). Success isn't that precise - there are few projects where success hinges on the incremental performance improvement of C++ over Objective-C for a given object hierarchy. Not when you can achieve better improvement by spending another $100 on your CPU. OTOH, success _does_ hinge on the ability of your architecture to adapt. Mixing C++ and Objective-C makes good sense if you're integrating modules from different sources, but for a system which you started afresh on, it's just asking for trouble. The gain of coding segments in C++ is likely to be overwhelmed by the loss due to having to wrap your mind around a system that's potentially significantly more complex. It's bad enough initiating a new developer into a system using _one_ language ... Later, -- scott hess <shess@one.net> (606) 578-0412 http://w3.one.net/~shess/ <Favorite unused computer book title: The Idiots Guide to the Zen of Dummies in a Nutshell in Seven Days, Unleashed>
From: sanguish@digifix.digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: No rush of postings from Mac developers was Re: Developing for Rhapsody Date: 11 Mar 1997 20:24:41 GMT Organization: Digital Fix Development Message-ID: <5g4f29$d62@news.digifix.com> References: <5fkqpq$1nhm@atlas.vcu.edu> <331E6D78.4784@wam.umd.edu> <makhloma-0903970132120001@ppp4.musc.edu> <01bc2c65$e429e080$3a65a8c6@metnews.hip.cam.org> <5fveo5$rvo@usenet.rpi.edu> In-Reply-To: <5fveo5$rvo@usenet.rpi.edu> On 03/09/97, Garance A Drosehn wrote: <snip> >I think Tony has a legitimate point, one that most of us NeXT >aficionados have been ignoring. At one point should the cs.next >newsgroups just fold into cs.mac? I don't think we've thought >that through yet. Probably never. Fact is that OpenStep for Intel will still be a product, and doesn't fit into the mac hierarchy very well. I can see some potential overlaps with a comp.sys.mac.programmer.rhapsody (or openstep) and this group though.. But I don't think its enough to amalgamate. -- Scott Anguish DBS Online - http://www.dbs-online.com/DBS sanguish@digifix.com Stepwise OpenStep WWW - http://www.stepwise.com
From: teb@eng.cam.ac.uk Newsgroups: comp.sys.next.programmer Subject: missing NSReturnSig Date: 11 Mar 1997 20:07:23 GMT Organization: University of Cambridge, England Message-ID: <5g4e1r$fpv@lyra.csx.cam.ac.uk> Hi, just going through the Tutorial for OpenStep 4.0 but 'NSReturnSign' is missing under Images of the IB. This occurs in the CurrencyConverter tutorial. Thanks for your help and suggestions! Thomas --- Thomas E Biesinger, Engineering Department, University of Cambridge, Trumpington Street, Cambridge CB2 1PZ, UK, em: biesingert@asme.org, vc: +44 1223 3 32869, fx: +44 1223 3 32662. NeXT-Mail welcome, PGP-2.6.i key available.
From: 100527.1356@compuserve.com (Konstantin Welissariou) Newsgroups: comp.sys.next.programmer Subject: US company is seeking Date: Tue, 11 Mar 1997 21:01:51 GMT Organization: Five Continents Message-ID: <3325c42f.7029903@news.compuserve.com> American Information Technology Company providing a wide range of IT support, software development, systems integration, reengineering, network technology, and data warehousing is seeking qualified personnel in Europe or elsewhere. We have immediate need for programmers and analysts in one or more of the following with 1 plus years experience: 1) Main frame: CICS, DB2, COBOL II, IMS, DB/DC, Microfocus COBOL, SP2 2) AS/400: RPG/400, COBOL/400, SYNON/2e 3) Client Server Environment: Powerbuilder, OOA/OOD, ORACLE DBA, ORACLE Forms, C/C++, Visual C++. UNIX, SQL Windows, SQL*Forms, Open interfaces, SYBASE, SAP R2/R3, Lotus Notes Development, CASE TOOLS. 4) LAN/WAN administers 5) Basic assemblers Furthermore, we are looking for the following qualified people : 1. C, SYBASE, UNIX with 2 year experience. 2. UNIX, C++ 3. ORACLE, PL/SQL and PRO*C is a plus. 4. URGENTLY qualified people with Delphi experience with excellent English communication skills. Location is Chicago, Illinois. We would be able to obtain immigration/work permits for qualified people in order to enable them to work in U. S. For confidential consideration, please e-mail your resume as WORD document if possible, your time of availability, your salary expectations, phone number and if possible fax. Interested parties are welcome to reply to the address fiveconti@aol.com. Best Regards Konstantin Welissariou
From: kennel@lyapunov.ucsd.edu () Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: 11 Mar 1997 21:25:35 GMT Organization: The University of California at San Diego Message-ID: <slrn5ibj7u.dg5.kennel@lyapunov.ucsd.edu> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> <331dc772.73186408@news.inlink.com> <19970305211434201081@brainerd-dial-27.uslink.net> <5fmlkl$19q@nnrp1.news.primenet.com> <3325A336.260C@sequent.com> On Tue, 11 Mar 1997 10:23:50 -0800, Jason Wells <jasonw@sequent.com> wrote: :John Jensen wrote: : : Regarding the cost of the developer program, which will recive the : Rhapsody beta, Andy Griffin <scrmac@uslink.net> wrote: : : It seems to me that the Apple Developer's Associates Program costs : : : US$250/year. I don't know what your resource situation is like but : is : : sounds reasonable to me. : : I don't know, you might be right, but I've always thought it was a : mistake : for OS vendors to treat devleopment tools as a profit center. I'm : sure : there is a component to develper tools that are "extra" and should : be : charged for, but I think there is also a component that is pure : marketing. : : As an example, I spent last night getting FileReader objects working : using : the (free) JDK1.1 from Sun on Win95. (So I'm already developing : Rhapsody : code.) Where would Java be without the free JDK? : :No kidding. Java would be nowhere. I certainly wouldn't have paid money :for a new, untried language and environment. Sun has the smarts. Well only if they've had the snot beaten out of them. If I remember the rumours correctly, a large proportion of the original Java team, including Dr. Gosling, threatened to resign en masse if Sun didn't put their work out for free. It was a struggle, even with having a founder of Sun (Joy) on their side. {Sort of funny that the nerds know how to market better than the people who are supposed to know about the market.} There's no doubt that the Web (esp Java) has saved Sun's ass. I'm sure the bean counters are looking for that line in their revenues saying ("Java income") and barely finding it, not realizing of course that that the really big line called "Hardware revenue" would have been 1/3 smaller and Microsoft + Compaq's bigger by the corresponding amount. : When I think about it, treating developers as a profit center _now_ : would : be the _final_ stupidity. Nothing exists in a vacuum, to win Apple : has to : first pull developers and then pull users from other platforms. : : John How about this? Monotarget (Rhapsody for PPC) development kit at a trivial cost. :What Apple oughta do is package an OpenStep Developers Kit (ODK), with :just a minimalist implementation (as in, no IDE, command line compilers, :etc.) but missing no core features, and leave it on their web site as a :free download for users of NextStep (user edition) and Windows. They :should mirror Sun's approach to JDK exactly. If they were doing this, :I'd be writing code for Rhapsody today. Then later, when the really nice :polished tools are ready, I'd be in a position to buy them. But the polished tools really are ready. I think there's an essential distinction between the markets: with JDK there was *no other way* to write applets which worked in a web browser, which was a strongly compelling need. With Openstep, there already is serious competition for writing 'ordinary desktop programs', called all the Windows development tools. There is not such a burning desire for 'anything which runs on Openstep', as there was for 'anything which runs under Netscape'. There was no competition for the JDK--but there is for Openstep development tools. :Jason -- Matthew B. Kennel/Institute for Nonlinear Science, UCSD/ Don't blame me, I voted for Emperor Mollari.
From: dental@precipice.com (Rick Sanford) Newsgroups: comp.sys.next.programmer Subject: Re: NSReturnSign in Tutorial Date: 11 Mar 1997 21:59:24 GMT Organization: Dental Records[tm] Message-ID: <5g4kjs$f57@news1-alterdial.uu.net> References: <5g20ka$819@lyra.csx.cam.ac.uk> <5g2rk4$989@netnews.ntu.edu.tw> Cc: r5622031@cc.ntu.edu.tw In <5g2rk4$989@netnews.ntu.edu.tw> r5 wrote: > biesingert@asme.org ´£¨ì: > : Hi, just going through the Tutorial for OpenStep 4.0 > : but 'NSReturnSign' is missing under Images of the IB. > : This occurs in the CurrencyConverter tutorial. > : Thanks for your help! > : > : Thomas > ya...I found the same problem..in 4.1 > > Maybe for the sake of portbility..(My guest is for NT).. > NeXT take it off... > > Liu in Taiwan,NTU it was addressed by Mike P, I think, saying roughly that the other target platforms didn't have arrows on their return/enter key. Applied to generic intel keyboards, NT, and now to Apple as well. makes sense, but I think the solution (resulting button with heavier outline and dotted line when activated) is not as elegent looking UI-wise. I've copied over the NXReturnSign.tiff from 3.2, renamed it NSReturnSign.tiff and will (try to) use it on in-house development projects (where ALL keyboards INCLUDING intel, have lovely arrows on the enter key.) we'll deal with the PowerMac keyboard when we buy it. -Rick
From: MaRK_BeSSeY@NeXT.CoM (Mark Bessey) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: 11 Mar 1997 22:52:44 GMT Organization: NeXT Software, Inc. Distribution: world Message-ID: <5g4nns$3o7@news.next.com> References: <5g3kin$9d1@mn5.swip.net> Ulf Olsson <ulf@distinct.se> writes > I took out my Metrowerks CD, unpacked MacApp (Release 12) , and started > doing the interface and algorithms. Adlib, GWorld, Palette and classes > in C++. Easy and simple. > > Until I have to port it to NT ... (MFC & Windows API - just work) > and Unix ... (X Forms & X - more work) > > A few questions, observations and opinions: > > 1) If Rhapsody 2.0 was ready (in 1999? :-) ) could you then > a) Do the UI in IB on the Mac. > b) Do non-critical stuff in Java class libraries (or Obj-C with > Java Interfaces) > c) write algorithms in C++ and STL, or ANSI C. > d) move the code to Sun's and SGI for a recompile and run. > e) move the code to NT for a similar recompile and run. > f) put the code on a homepage for Netscape 7.0 to run it. Actually, this is mostly already working today. You can create a set of core logic classes in your C-derived language of choice (C++, Java, Objective-C), and create an OpenStep-based GUI for them that will run with just a recompile on NT, Mach, and Solaris. You can also create a Web-based front end with WebObjects (using Java or just HTML) that drives the same logic. There are some missing components right now - No Java on Mach (will be in Rhapsody, though), and no OpenStep on SGI. > 2) Will there be a standardized 3D library? (OpenGL, QuickDraw 3D, > Renderman etc.) QD3D will be in Rhapsody, probably with an OO framework wrapped around it (maybe NeXT's old 3DKit?). > 3) The developers will be geared towards content and less > tools-oriented, which implies higher abstraction levels and higher > productivity, but also a higher complexity for the developer. This means > more OO libraries, less 4 GL tools and a higher education level. I don't understand what you're trying to say here. > If Apple goes the "Old" Next way the price for developers might become > too high and not create a market. If it is too low money is lost. Yes, this is a problem. Fortunately, software is one of the most price-elastic products that exists. We could sell Rhapsody for $5000, or for $50 just as easily, since it has essentially zero cost of materials. The trick is finding the right price to avoid being buried in development and support costs. > Since a Rhapsody developer only needs one OS and one development > environment (does anyone believe this ? :-) ) Actually, this isn't currently true for OpenStep developers. You need a copy of WindowsNT, a copy of Solaris, and a copy of Mach if you want to cover all the possibilities. It wouldn't be impossible for Apple to develop cross-compilers for each OS, but it's not clear how much benefit that would have, since you'd probably want to test your program on each supported OS (at least). > So you licence the development environment to Metrowerks for them to > sell and help enhancing (If you do not think this is part of "New" Apple > core business) I think this is a bad idea. Having development tools in house is good for Apple, and having competition is good for our customers. As long as Apple doesn't intentionally trip Metrowerks up (but we're not Microsoft), I think there's plenty of room for both. -- Mark Bessey Apple Computer, Inc. -->I DON'T SPEAK FOR APPLE<--
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.next.programmer Subject: Newbie question: grid views with scroll bars? Date: Tue, 11 Mar 1997 18:05:39 -0500 Organization: SoftArc Inc. Message-ID: <maury-1103971805560001@199.166.204.230> Well the subject _just_ about says it all. In most OO systems you have "fixed" views and a scroller object to move them about in a fixed context size (like a window). OpenStep has this too, text fields for instance. Ok, so why does the table view have it's own scrollers? Why isn't there a "fixed" table (or mutable for that matter) that you put in a scroller, and then simply fix the scroll bars if anything changes? OR... if there is a good reason for this, why not do it for all the other applicable view fields as well (like text)? Am I missing something obvious? Maury
From: pjbrew@spam.free.zone--(ix.netcom.com) (Phil Brewster) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: Tue, 11 Mar 1997 18:09:12 -0700 Organization: Netcom Message-ID: <pjbrew-1103971809120001@slc-ut1-16.ix.netcom.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <5fcnhe$7dd@lal.interserv.com> <webboy-ya02408000R0603971359540001@news.azstarnet.com> <5g034e$f8r@lal.interserv.com> In article <5g034e$f8r@lal.interserv.com>, JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > In <<webboy-ya02408000R0603971359540001@news.azstarnet.com>>, > webboy@webname.com (David) wrote: > > >In article <5fcnhe$7dd@lal.interserv.com>, JamesCurran@CIS.CompuServe.com > >(James M. Curran) wrote: > > > >> > >> Apple, on the other hand, has studies that show that people who have > >>used a Mac for years, are more productive on a Mac than they are on > >>Win95 upon first seeing it. > > >This is complete un-truth James, and you know it. The studies Apple touts > >are of cross-platform users. Quit making things up. > > > OK, I phrased that poorly. "Apple, on the other hand, has studies > that show that people who have used a Mac for years, and have just > recently been given a Win95 machine, feel that they are more > productive on the machine that they are more familiar with" > Truth, > James Rephrase it however you please, James -- you have still provided absolutely no evidence that the study was comprised of 'people who have used a Mac for years' instead of a random sampling of Mac, Windows, and dual users with equal experience on both, nor have you provided grounds for your belief that the participants in the study had 'just recently been given a Win95 machine' -- unless you wish to call 6-8 months 'recent'. Your claim about the Evans study is therefore false and remains so until you confront the counterarguments. Cheers, -- Phil Brewster <pjbrew @ ix. netcom. com> "I was recently on a tour of Latin America, and the only regret I have was that I didn't study Latin harder in school so I could converse with those people." -- Former U.S. Vice-President Dan Quayle
From: nouser@nohost.nodomain (Thomas) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 11 Mar 1997 19:15:14 -0800 Organization: home Message-ID: <tz8ybbtvm0t.fsf@aimnet.com> References: <330E54AC.167E@innosys.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> <5g0t0o$sb8@samoyed.ftc.nrcs.usda.gov> <5g1u1g$q7n$3@news.xmission.com> <3324A35D.6FEC@sequent.com> In-reply-to: Jason Wells's message of Mon, 10 Mar 1997 16:12:14 -0800 Fcc: /u6/users/tmb/mail/x-nout In article <3324A35D.6FEC@sequent.com> Jason Wells <jasonw@sequent.com> writes: SuperCede already can--you can compile to bytecodes or to a .exe. So can the Microsoft JVM. In fact, all you have to do to make a Java class 'native' is to include the JVM with the bytecode distribution. In this sense, it's at least as 'native' as a VB application, with it's p-code and VBRUNxx.DLL. But who cares? It executes the same way, regardless if the file ends in .class or .exe. SuperCede compiles to native code. For example, for numerical code, the ".exe" files generated by it run at about 50% of equivalent optimized C. In my benchmarks, Microsoft's JVM is at least a factor of 10 slower. Thomas. PS: There have been several other native code compilers for Java. Some of them generate code that already performs close to native C.
From: Chris Johnson <cjohnson@object-works.com> Newsgroups: comp.sys.next.programmer Subject: Re: Newbie Interface Builder Question Date: Tue, 11 Mar 1997 22:17:00 -0500 Organization: ObjectWorks Inc. Message-ID: <3326202C.572E@object-works.com> References: <jchan-1003970828550001@as1-2.apk.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: Jerome Chan <jchan@apk.net> Jerome Chan wrote: If I create an instance of a class from the interface builder and then add elements to it later on, do I have to recreate the file again in the Interface Builder? Won't this be bad if I have already written bits of code in the implementation file that will be overwritten when I create these files? This looks like quite a big flaw in IB but someone told me I could just reparse the file. How do I do that? The Manuals don't always seem to correspond to the screens:) --- The Evil Tofu (Only Human) Jerome, I wouldn't re- Create files once you've written code into the generated .h and .m. I would add the outlets and methods to the .h and use the Read file... menu item to update InterfaceBuilder. One note - If you have changed / deleted any of the original outlets or methods since your first when I last looked (in 4.1) InterfaceBuilder did not delete the old ones. You will have to delete this by hand. Chris Johnson
From: shess@one.net (Scott Hess) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: 11 Mar 97 21:20:51 Organization: Is a sign of weakness Distribution: world Message-ID: <SHESS.97Mar11212051@howard.one.net> References: <5g3kin$9d1@mn5.swip.net> <5g4nns$3o7@news.next.com> In-reply-to: MaRK_BeSSeY@NeXT.CoM's message of 11 Mar 1997 22:52:44 GMT In article <5g4nns$3o7@news.next.com>, MaRK_BeSSeY@NeXT.CoM (Mark Bessey) writes: Ulf Olsson <ulf@distinct.se> writes > Since a Rhapsody developer only needs one OS and one development > environment (does anyone believe this ? :-) ) Actually, this isn't currently true for OpenStep developers. You need a copy of WindowsNT, a copy of Solaris, and a copy of Mach if you want to cover all the possibilities. It wouldn't be impossible for Apple to develop cross-compilers for each OS, but it's not clear how much benefit that would have, since you'd probably want to test your program on each supported OS (at least). Well, after spending some time porting to OS/NT - and worse, _working_ with OS/NT, I can tell you that I would kill for a means by which I could do editting and debugging on an OS/Mach platform with the app itself running on OS/NT. If I could run ProjectBuilder on OS/Mach and gdb on the OS/NT system with something like set view-host, I'd purchase a second system for that sole purpose. Later, -- scott hess <shess@one.net> (606) 578-0412 http://w3.one.net/~shess/ <Favorite unused computer book title: The Idiots Guide to the Zen of Dummies in a Nutshell in Seven Days, Unleashed>
Date: Wed, 12 Mar 1997 01:41:03 -0600 From: mark@oaai.com Subject: Re: Newbie question: grid views with scroll bars? Newsgroups: comp.sys.next.programmer Message-ID: <858152011.11283@dejanews.com> Organization: Deja News Usenet Posting Service References: <maury-1103971805560001@199.166.204.230> In article <maury-1103971805560001@199.166.204.230>, maury@softarc.com (Maury Markowitz) wrote: > > Well the subject _just_ about says it all. In most OO systems you have > "fixed" views and a scroller object to move them about in a fixed context > size (like a window). OpenStep has this too, text fields for instance. > > Ok, so why does the table view have it's own scrollers? Why isn't there > a "fixed" table (or mutable for that matter) that you put in a scroller, > and then simply fix the scroll bars if anything changes? > > OR... if there is a good reason for this, why not do it for all the > other applicable view fields as well (like text)? Am I missing something > obvious? > > Maury Good question. The answer is that NSTableView takes advantage of its fixed location in an NSScrollView to optimize drawing of potentially huge data sets. Other widgets tend not to be abused by programmers nearly as much as NSTableView is (but then again, we programmers tend not to be abused by other widgets nearly as much as we are by TableView - pre-OpenStep anyway :-), hence they are architected as you'd expect. Cheers to all, Mark --- M. Onyschuk and Associates Inc. Software Systems for the U.S. and Canadian Financial Industries. 15 La Rose Ave. Suite 702, Weston Ontario M9P 1A7 (416)241-3076 -------------------==== Posted via Deja News ====----------------------- http://www.dejanews.com/ Search, Read, Post to Usenet
From: Don McKinnon <Don.McKinnon@mail.house.gov> Newsgroups: comp.sys.next.programmer Subject: I need software suport help in DC Date: Wed, 12 Mar 1997 08:38:52 -0500 Organization: U.S. House of Representatives Message-ID: <3326B1EC.7873@mail.house.gov> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I have no NeXT skills. I have a slab I've been using since 1990 and I need to hire someone to fix a few bugs that have accumulated: I can connect to Novell server, but I can't get printer connectivity. My memory seems to run out and crash everything. I need to have someone help me set up my modem. If its possible, I'd like to be able to connect to an NT server and to determine if I could run NeXT and Windows 95 from the same machine. If you or someone you know could help, please let me know what your hourly rate would be. Thanks and regards, Don McKinnon 202 225 2770
From: Balaji Srinivasa <BALAJI@PlaTinum.COM> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Wed, 12 Mar 1997 10:11:00 -0500 Organization: Organization? Message-ID: <3326C784.2BC3@PlaTinum.COM> References: <330E54AC.167E@innosys.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> <5g0t0o$sb8@samoyed.ftc.nrcs.usda.gov> <5g1u1g$q7n$3@news.xmission.com> <3324A35D.6FEC@sequent.com> <tz8ybbtvm0t.fsf@aimnet.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-2 Content-Transfer-Encoding: 7bit Thomas wrote: > > > PS: There have been several other native code compilers for Java. > Some of them generate code that already performs close to native C. Can you mention a few and which platforms they run on? Balaji -- __________________________________________________________________________ Balaji Srinivasa - Platinvm Tech - POEMS Development - balaji@platinum.com
From: goextreme@hotmail.com Subject: Click here for Extreme Net Toolz Newsgroups: comp.sys.next.programmer Organization: Extreme Net Message-ID: <3326b816.1@news1.betacom.net> Date: 12 Mar 97 14:05:10 GMT WELCOME And Go To www.GoExtreme.com The Premiere Site on the Internet for EXTREME NET TOOLZ, Internet Relay Chat (IRC) help, and Newsgroup help without the clutter! A large group of irc operators and newsgroup gurus have tested and evaluated the best internet toolz and HERE are their choices to become an EXTREME Net user! All of this software is FREE!! It is either shareware or freeware! Enjoy! Best newsgroup reader: Free Agent!...Freeware!!! Best chat software: mIRC 4.72!...Shareware!!! Become your own FTP site! WAR-FTP 1.55 ....Freeware!!!! Fastest jpeg\gif viewer ACDSEE!...Shareware!!! Best E-Mail Program Eudora Lite 3.01!...Freeware!!! Winzip 6.2 takes the chore out of these zip files!...Shareware!!! CuteFTP 1.8 makes "browsing" FTP sites a snap!...Shareware!!! Fastest Web Browser Netscape 3.01!...Shareware!!! (¯`·.(¯`·.!¡!BOSnet: Voted The MOST EXTREME Internet Provider!¡!.·´¯).·´¯) Great Page for Extreme Net Toolz! All listed software here! Get Extreme `Net Toolz here! Great Help Page for IRC!!! Fserve, Flood Protection, New IRC Servers! IRC Help here! Great Help Page for News Groups! How To Do It! Big List of Public Servers! Newsgroup Help here! This information provided so that we may all enjoy the Internet, IRC, and Newsgroups better! !¡!We receive no money!¡! Members of [freespeech] Campaign and [AOL SUX Get a REAL ISP Campaign]
From: andreas@lynet.de Newsgroups: comp.sys.next.programmer Subject: NSReturnSign is missing Date: 12 Mar 1997 17:13:27 GMT Organization: LyNet Kommunikation und Netzwerkdienste GmbH Message-ID: <5g6o7n$t26$1@lynet.de> Hello, I've just tried to understand the sample-Project CurrencyConverter of "Discovering OpenStep A Developer Tutorial". On Page 27 they want me to drag the NSReturnSign-Image from the Images-Page to the Convert-Button on my Interface, but this image is defenitivly missing. I reinstalled the DevoloperEnvironment two times (nothing changed). I cannot find this Image that makes a Button being activated, when the user presses Return, wich is very important, I suppose. So is this a bug.? If yes, how do I fix it? Thanks in advance! Andreas
From: embuck@palmer.cca.rockwell.com (Erik M. Buck) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Sun was Re: Avie confirms Rhapsody on Intel too. Date: 12 Mar 1997 19:12:23 GMT Organization: Rockwell Avionics - Collins Message-ID: <5g6v6n$ksp@castor.cca.rockwell.com> References: <al.856919430@BIX.com> <5fblc9$31e$2@news.xmission.com> <5fd190$a7f@lal.interserv.com> <SHESS.97Mar7113023@howard.one.net> <5fqh1i$l5k@sps1.phys.vt.edu> <SHESS.97Mar9000517@howard.one.net> Cc: shess@one.net Sun just made a major presentation at our site. There were at least 20 sales people and some Sun executives. I asked about Openstep and they asked (who sells that ?) When I told them that they sell it, they told me they did not think so. I guess that Sun is not interested in Openstep anymore.
From: izumi@pinoko.berkeley.edu (Izumi Ohzawa) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: 12 Mar 1997 19:37:26 GMT Organization: University of California, Berkeley Distribution: world Message-ID: <5g70lm$64u@agate.berkeley.edu> References: <5g4nns$3o7@news.next.com> In article <5g4nns$3o7@news.next.com> MaRK_BeSSeY@NeXT.CoM (Mark Bessey) writes: >Ulf Olsson <ulf@distinct.se> writes > >> So you licence the development environment to Metrowerks for them to >> sell and help enhancing (If you do not think this is part of "New" Apple >> core business) > >I think this is a bad idea. Having development tools in house is good for >Apple, and having competition is good for our customers. As long as Apple >doesn't intentionally trip Metrowerks up (but we're not Microsoft), I >think there's plenty of room for both. Thank you, thank you. Although Mark is not speaking officially, this is a strong clue to what is obvious to long-time NS/OS developers that all of the developer tools including PB, IB, gcc, will be shipped with Rhapsody, and that Apple will not try to cripple the dev environment to placate Metrowerks which currently dominates the Apple dev tools market. So, Rhapsody dev environment will be sufficient by itself for developing commercial grade applications without a need for extra stuff from third parties. This means that, by the time the market for MacOS-to-Rhapsody porting tools dries up (because they will become unnecessary), Metrowerks will have to have other tools to enhance basic Apple offerings. So, what really nice extra dev tools will Metrowerks give us? Izumi Ohzawa
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.next.programmer Subject: Wait, do I even _need_ documents? Date: Wed, 12 Mar 1997 14:03:22 -0500 Organization: SoftArc Inc. Message-ID: <maury-1203971403220001@199.166.204.230> I while back I bemoaned the lack of an integrated document class under OpenStep. On most of the systems I've used you have a document that tracks changes to... a) a collection of views that display the document on screen b) the printing system and page layout when printed c) the file and storage on the disk Documents are "known" by the application object, who sends it things when it gets a New, Save, Quit etc. Very hand things documents, but they always seem to have limits. Most offer nothing to the programmer for dealing with documents that have multiple data types within them. Most application objects don't know what to do if you have more than one document type the application handles (PowerPlant being an exception). Still, handy to have. But the more I read the docs, do you even need these things under OS? Don't you just make a generic "document" in the controller level, make it a dependant of the application (I assume you can have any number of these), then attach all the objects you want to it? Is it really that simple? And is it reasonable to use Dictonaries and the persistence system for just about any compound file type? Maury
From: Greg_Anderson@afs.com (Gregory H. Anderson) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Sun was Re: Avie confirms Rhapsody on Intel too. Date: 12 Mar 1997 20:03:59 GMT Organization: Anderson Financial Systems Inc. Message-ID: <5g727f$f6v@shelob.afs.com> References: <5g6v6n$ksp@castor.cca.rockwell.com> Erik M. Buck writes > Sun just made a major presentation at our site. There were at least 20 > sales people and some Sun executives. I asked about Openstep and they > asked (who sells that ?) When I told them that they sell it, they told > me they did not think so. > > I guess that Sun is not interested in Openstep anymore. I'd guess this has been true since Bill Joy spilled a mug of coffee on Scott McNealy's only copy of the OPENSTEP specification a few years ago. I mean, seriously, the OPENSTEP initiative was announced in November 1993, long before anyone outside of Sun ever heard of Java. Now suppose you're Sun, and the Internet starts getting really big, and all everyone wants to talk about this exciting Java that will make it manageable. What would _you_ do? Cut it off at the knees by talking about alternatives, or hold it high as God's Gift To Programming? Whatever enthusiasm Sun once had for OPENSTEP died as soon as Java hit the big time. Too often in the past, Sun made the mistake of supporting multiple products for the same task. It just made users confused. Hence McNealy's famous phrase "Put all the wood behind one arrow." It's been obvious for some time which arrow had the wood. Which is not to suggest they aren't still running some "just in case" skunkworks projects that will probably never see the light of day. -- Gregory H. Anderson | "I wander'd off by myself, In the Crystal Ball/Star Gazer | mystical moist night-air, and from Anderson Financial Systems | time to time, Look'd up in perfect greg@afs.com (NeXTmail OK) | silence at the stars." Walt Whitman
From: see@address.in.signature (Martiin-Gilles Lavoie) Newsgroups: comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Date: Wed, 12 Mar 1997 13:46:58 -0500 Organization: Internet-Login Message-ID: <see-1203971346590001@204.191.6.123> References: <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> <5fur7h$b6u@medusa.is.com> <jbf_see_signature-ya023580000903971614160001@news.tiac.net> <jcr.857994015@idiom.com> In article <jcr.857994015@idiom.com>, jcr@idiom.com (John C. Randolph) wrote: [...] > Mac menus take up the top of the screen all the time, except in those > apps that hide them. You still can't use the top twenty pixels though, > in most cases, since moving the mouse to the top reveals the menu bar. Clarification: hiding the menu bar does not cause it to reappear if you move the mouse in it's region. This bahaviour is enforced (mostly) by game programmers who dont want the user to be distracted by the menu bar (such as when the game is set on a black background), but want the menus still accessible. When the menu bar is hidden on the Mac, it's for good! You have to do some extra footwork to put it back and out again in application switches. For myself, I think a hybrid menu system would be interesting and easilly acoomplished. Those who'd rater have NeXT-style main menus versus Mac-style main menus would simply have to flip a check box somewhere (being a relativelly new NeXTSTEP user, I'm not sure where this should be). MGL -- Martin-Gilles Lavoie | "No! Try not. Do! or do not mouser@zercom.net | There is no try." www.zercom.net/~mouser/ | --Yoda on error handling
From: goextreme@hotmail.com Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <3326b816.1@news1.betacom.net> Control: cancel <3326b816.1@news1.betacom.net> Date: 12 Mar 1997 19:41:36 GMT Organization: North Carolina State University Message-ID: <5g70tg$hi7@uni00nw.unity.ncsu.edu> ignore Article canceled by slrn 0.9.3.2
From: Ulf Olsson <ulf@distinct.se> Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: 12 Mar 1997 20:37:56 GMT Organization: Distinct Systems i Sverige AB Distribution: world Message-ID: <5g7474$qkk@mn5.swip.net> References: <qdiv3f2b7i.fsf@blues.cygnus.com> <1997031112081527079820@pool011-116.innet.be> <5g3kin$9d1@mn5.swip.net> <5g4nns$3o7@news.next.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit NNTP-Posting-User: s-35932 Mark Bessey, MaRK_BeSSeY@NeXT.CoM >Ulf Olsson <ulf@distinct.se> writes >> A few questions, observations and opinions: >> >> 1) If Rhapsody 2.0 was ready (in 1999? :-) ) could you then >> a) Do the UI in IB on the Mac. >> b) Do non-critical stuff in Java class libraries (or Obj-C with >> Java Interfaces) >> c) write algorithms in C++ and STL, or ANSI C. >> d) move the code to Sun's and SGI for a recompile and run. >> e) move the code to NT for a similar recompile and run. >> f) put the code on a homepage for Netscape 7.0 to run it. > >Actually, this is mostly already working today. You can create a set of >core logic classes in your C-derived language of choice (C++, Java, >Objective-C), and create an OpenStep-based GUI for them that will run with >just a recompile on NT, Mach, and Solaris. You can also create a Web-based >front end with WebObjects (using Java or just HTML) that drives the same >logic. There are some missing components right now - No Java on Mach (will >be in Rhapsody, though), and no OpenStep on SGI. Yes, I am kind of mentally adjusting to this reality. :-) >> 2) Will there be a standardized 3D library? (OpenGL, QuickDraw 3D, >> Renderman etc.) > >QD3D will be in Rhapsody, probably with an OO framework wrapped around it >(maybe NeXT's old 3DKit?). Nice. Instead of doing it in MacApp R12 which I am currently contemplating. But on the other hand, I am kind of more familiar with MacApp. It seems this old dog has to relearn a few things here ... >> 3) The developers will be geared towards content and less >> tools-oriented, which implies higher abstraction levels and higher >> productivity, but also a higher complexity for the developer. This means >> more OO libraries, less 4 GL tools and a higher education level. > >I don't understand what you're trying to say here. I was trying to express my experience with 4GL tools where you can do 70% of what you want to do, and then have to expand the tool by writing external code (if it even is possible) and the result is lower quality and feels glued on. When you work inside frameworks there is a lot more processes the developer have to control, like Top-down thinking: Class and instance hierarkies, Abstract classes, References bottom-up thinking: Neat solution, can I generalize this? Create a pattern? (I call the above "centralized thinking" since it is active at the same time) Using the framework efficiently: In this framework I do serialization by Archive, in this one I create a stream. Exceptions: How can this go wrong, and how do I handle it. ... but the result after a project is higher quality, a set of classes that are well integrated into the famework and can be reused by others. This demands a lot more from the developer in terms of ability to abstract current activities, put it in perspective visavi project schedules and possible future use, and communicate the result in a efficient manner. This can to some regard be trained I think, and that is what I mean by higher education level. Observe that I do not mean formal education but in a "JIT"-learning way. This leads to an interesting question (for me, at least): When I currently write inside frameworks I can access source code how things REALLY work, and sometimes that is a great time savior. Also you know how to integrate your subclass in a correct way (from the framework's viewpoint). When you do not have that possibility, how does it change your work modus operandi? Ulf Olsson --- Expressing the only opinion I have: my own ---
From: sef@kithrup.com Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <3326b816.1@news1.betacom.net> Date: 12 Mar 1997 19:01:01 GMT Control: cancel <3326b816.1@news1.betacom.net> Message-ID: <cancel.3326b816.1@news1.betacom.net> Sender: goextreme@hotmail.com Spam cancelled by sef@kithrup.com
From: jstevens@ftc.nrcs.usda.gov (John Stevens) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 12 Mar 1997 13:08:19 -0000 Organization: I need to put my ORGANIZATION here. Message-ID: <5g69s3$eq5@samoyed.ftc.nrcs.usda.gov> References: <330E54AC.167E@innosys.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov> <SHESS.97Mar11113330@howard.one.net> In article <SHESS.97Mar11113330@howard.one.net>, Scott Hess <shess@one.net> wrote: >In article <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov>, > jstevens@ftc.nrcs.usda.gov (John Stevens) writes: > Yah, but why not use *both*? [C++ and Objective C] > >Too much investment in tools would be required. Not necesarily. I can write mixed language programs on a Linux box using one set of tools: GCC supports C++, Objective C and C. [Well, of course, it supports other languages as well, but that is outside the bounds of this discussion.] >We've already been >through the shredder once just to get versions of Objective-C right >for other platforms. Objective-C++ is essentially a NeXT thing right >now, and though it might eventually work right under gcc, and perhaps >Metrowerks, we needed it _now_. [Actually, a year or two ago, but >who's counting.] Ok, so what you are saying is that you couldn't do it back then. Cool. You could do it now, with a new project. > Use C++ where fast OO is needed, use C for the stuff that has to > run quite literally as fast as possible, and use Objective C where > speed is of little or no importance (distributed objects and GUI > work, for instance. . .). > >Success isn't that precise - there are few projects where success >hinges on the incremental performance improvement of C++ over >Objective-C for a given object hierarchy. Depends on your market. But in general, MS has certainly proven that poor (not unacceptably poor, just poor) performance doesn't adversely affect sales of a program. >Not when you can achieve >better improvement by spending another $100 on your CPU. Yah. And in some respects, the CPU manafacturers owe a debt of gratitude to programmers for copping that attitude. If we, as consumers *OR* producers took a different tack, the fastest CPU might still only run at 75 MHz. >OTOH, success _does_ hinge on the ability of your architecture to >adapt. True. But less so than you might think. It is questionable whether the performance loss of Objective C will have any impact on sales, but it is certainly true that the configuration and administration issues involved in allowing that much flexibility (especially at the user level) might very well constitute good reason for avoiding the highest possible level of adaptibility (ie, plugability). The market will decide that, if it hasn't already (with the NC concept). >Mixing C++ and Objective-C makes good sense if you're >integrating modules from different sources, but for a system which you >started afresh on, it's just asking for trouble. Not guaranteed. But certainly likely with a C++, or an Objective C development team, instead of an OOP trained team. The ideal solution is to use the appropriate language for the appropriate task, while the reality is that the language that the programmer is most experienced/trained/comfortable/has the tools for is oft times what gets used. >The gain of coding >segments in C++ is likely to be overwhelmed by the loss due to having >to wrap your mind around a system that's potentially significantly >more complex. It's bad enough initiating a new developer into a >system using _one_ language ... Good points, all good points. I find it easy to mix 'em, but that doesn't mean everybody would. And my scenario *presupposes* people who learned OOP, not people who learned C, then C++ (as is so often the case), as well as assuming a careful and reasonably complete design/production scenario. Which may very well be so unlikely as to constitute a ideology, not a practical goal. John S.
From: aaf@ais.net (Allister Fuchs) Newsgroups: comp.sys.next.programmer Subject: Daryll Anton has equipment that does not belong to him Date: Thu, 13 Mar 1997 10:22:46 GMT Organization: American Information Systems, Inc. Message-ID: <3327d51f.460606@news.ais.net> Daryll Anton still has not returned equipment he promised to return to me three weeks ago in an email from a Tom Bell at his company. As you refuse to return my email I assume this is the only way to get your attention. This equipment does NOT belong to you. You did not pay for the system ($1500), you merely paid the COD charges on the 17" color monitor, keyboard, mouse and soundbox ($63.00). The COD charges were split between the two boxes - $63.00 on the monitor box, the balance on the CPU box. The business arrangement was to sell the system to you for $1500.00. NOT, pay the COD charges on the Monitor box and leave it at that. Tom Bell emailed me three weeks ago and stated that you no longer wish to purchase the system from me. He stated that the COD on the CPU had been refused and consequently it was on its way back RETUN TO SENDER. It has arrived. He also stated that the "17 Color NeXT monitor, keyboard, mouse, soundbox and cable were being shipped back to me the next day. It has NOT arrived!!! I have now emailed daisho@earthlink.net 2x with no response. I have requested a phone number or email address for yourself, another member of your company, or a representative attorney - and no response has been forthcoming. Please explain your lack of communication and the status of the equipment to either myself or this newsgroup as a whole. My email address is attached in case you have "forgotten" it. Allister Fuchs aaf@ais.net
From: davem@franklin.com (David T. McWherter) Newsgroups: comp.sys.mac.programmer.codewarrior,comp.sys.mac.system,comp.sys.next.programmer Subject: Re: Mac/NeXT & Unix: File System Date: Wed, 12 Mar 1997 21:35:20 GMT Organization: Franklin Electronic Publishers, Inc. (FEP); Burlington, NJ Sender: news@franklin.com (Usenet News Account) Message-ID: <5g7bcs$jfa@hideout.emanon.net> References: <5fvebr$rvo@usenet.rpi.edu> >>> AFS is unrelated to Apple File Sharing (and in fact, there is no AFS client for Macintosh, AFS is mostly implemented on Unix file systems). Think of it as a grown-up replacement for NFS. <<< Well, at CMU there's a program called MacMail II, which gives you the ability to copy files from an AFS volume over the network, as well as save files to an AFS volume, all from your Macintosh. It's not the best tool in the world (it's much more convenient to use Fetch and go through an FTP server to get at the info on the volumes), but it exists... -David McWherter
From: dental@precipice.com (Rick Sanford) Newsgroups: comp.sys.next.programmer Subject: Re: NSReturnSign in Tutorial Date: 12 Mar 1997 17:10:59 GMT Organization: Dental Records[tm] Message-ID: <5g6o33$l1l@news1-alterdial.uu.net> References: <5g20ka$819@lyra.csx.cam.ac.uk> <5g2rk4$989@netnews.ntu.edu.tw> <5g4kjs$f57@news1-alterdial.uu.net> Cc: dental@precipice.com In <5g4kjs$f57@news1-alterdial.uu.net> Rick Sanford wrote: > In <5g2rk4$989@netnews.ntu.edu.tw> r5 wrote: > > biesingert@asme.org ´£¨ì: > > : Hi, just going through the Tutorial for OpenStep 4.0 > > : but 'NSReturnSign' is missing under Images of the IB. > > : > > : Thomas > > ya...I found the same problem..in 4.1 > > > > Liu in Taiwan,NTU > > it was addressed by Mike P, I think, saying roughly that the other target > platforms didn't have arrows on their return/enter key. > > -Rick > walked by a WIZ store yesterday in Manhattan, they had an IBM Aptiva (PC) in the window. It has arrow on the enter/return key (it's also black... but I still don't think I'm buying any IBM), so maybe some PCs do have the arrow afterall. -rick
From: Jason Wells <jasonw@sequent.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: Wed, 12 Mar 1997 15:50:55 -0800 Organization: Sequent Computer Systems, Inc. Message-ID: <3327415F.77AD@sequent.com> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> <331dc772.73186408@news.inlink.com> <19970305211434201081@brainerd-dial-27.uslink.net> <5fmlkl$19q@nnrp1.news.primenet.com> <3325A336.260C@sequent.com> <slrn5ibj7u.dg5.kennel@lyapunov.ucsd.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit kennel@lyapunov.ucsd.edu wrote: On Tue, 11 Mar 1997 10:23:50 -0800, Jason Wells <jasonw@sequent.com> wrote: ::What Apple oughta do is package an OpenStep Developers Kit (ODK), with :just a minimalist implementation (as in, no IDE, command line compilers, :etc.) but missing no core features, and leave it on their web site as a :free download for users of NextStep (user edition) and Windows. They :should mirror Sun's approach to JDK exactly. If they were doing this, :I'd be writing code for Rhapsody today. Then later, when the really nice :polished tools are ready, I'd be in a position to buy them. But the polished tools really are ready. But are they downloadable for free? This is essential, in my opinion. I think there's an essential distinction between the markets: with JDK there was *no other way* to write applets which worked in a web browser, which was a strongly compelling need. With Openstep, there already is serious competition for writing 'ordinary desktop programs', called all the Windows development tools. There is not such a burning desire for 'anything which runs on Openstep', as there was for 'anything which runs under Netscape'. There was no competition for the JDK--but there is for Openstep development tools. This is precisely why and OpenStep development kit should be given away. *Because* there is competition. In fact, Java probably could have survived even if only licensed and not given away, though its introduction would have been much slower. Apple has an even more urgent need to generate interest in OpenStep than Sun did with Java. :Jason -- Matthew B. Kennel/Institute for Nonlinear Science, UCSD/ Don't blame me, I voted for Emperor Mollari. Jason
From: Garance A Drosehn <gad@eclipse.its.rpi.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Platform independence, Java and Juice (Re: OpenStep: what does the term mean?) Date: 12 Mar 1997 22:46:03 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Message-ID: <5g7bnb$soq@usenet.rpi.edu> References: <1997031007201320839001@pool011-146.innet.be> <5g1tkn$o21@news.next.com> MaRK_BeSSeY@NeXT.CoM (Mark Bessey) wrote: > Luc Dubois writes > > But... but... but... Hasn't Apple become what it is, *exactly > > because* it wasn't/isn't afraid of swimming against the tide? > > Now, Java as I see it is a nice first attempt at platform- > > independence. There currently *is* already a better technology > > available. It's called "Juice" and is based on the language > > Oberon (from the school of Niklaus Wirth). > > [Note to other readers: you really ought to read up on Juice > before reading farther. See: http://www.ics.uci.edu/~juice/ ] > > Juice is an interesting idea - too bad Java already has the > limelight. Do you honestly think that *Oberon* is going to gain > mindshare against Java? Outside of academic users, who's even > heard of Modula 3 or Oberon? DEC has heard of Modula3... :-) > And I want a totally separate mechanism for downloading executable > content off the Net. Something like the Juice idea, but either > language-independent, or at least based on a language I like :-) One thing I wondered was if there are things about Juice which would preclude Java compiling into Juice. Is it really all that tied to Oberon? --- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu Senior Systems Programmer (MIME & NeXTmail capable) Rensselaer Polytechnic Institute; Troy NY USA
From: dashlangan@hotmail.com (Dash Langan) Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: NEW and IMPROVED! Quickest, Dirtiest Y2K Solution Date: 13 Mar 1997 03:58:10 +0100 Organization: Posting Service Message-ID: <199703122344.PAA21362@sirius.infonex.com> Web Site Revised 3/12/1997 For the quickest, dirtiest Y2K solution, check out the following web site: http://www.geocities.com/ResearchTriangle/3462/ Dash Langan
From: herren@flannet.middlebury.edu (David Herren) Newsgroups: comp.sys.next.programmer Subject: Re: NSReturnSign is missing Date: Wed, 12 Mar 1997 23:42:10 -0500 Organization: Language Schools of Middlebury College Sender: herren@flannet.middlebury.edu Message-ID: <msg44412.thr-c0ec28ee.54c5638@flannet.middlebury.edu> References: <5g6o7n$t26$1@lynet.de> Mime-Version: 1.0 Content-Type: text/enriched; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Content-ID: <msg44412.thr-c0ec28ee.54c5638.part0@flannet.middlebury.edu> <bold>andreas@lynet.de,UseNet writes:</bold> >I've just tried to understand the sample-Project CurrencyConverter >of "Discovering OpenStep A Developer Tutorial". >On Page 27 they want me to drag the NSReturnSign-Image from the >Images-Page to the Convert-Button on my Interface, but this image is >defenitivly missing. I reinstalled the DevoloperEnvironment two times >(nothing changed). I cannot find this Image that makes a Button being >activated, when the user presses Return, wich is very important, I suppose. >So is this a bug.? If yes, how do I fix it? >Thanks in advance! Not a bug in the software or installer, but rather in the documentation. The documentation was not very effectively updated from nextstep to openstep and there are several places where it is in error. Another example: the tutorials will tell you to select various things from the "action" menu which the screen shots show as being diretly in one of the Interface builder windows. This menu does NOT exist. To build the files and to instantiate an object you will use the main menu instead and select the correct commands from the Object menu. BTW, don't worry about the return icon at all. Your button will still work quite well without it. -- David Herren -------------------------------------------------- Web: http://www.middlebury.edu/~herren/ General: herren@flannet.middlebury.edu NeXTMail only: herren@barcelona.middlebury.edu
From: apuleius@ix.netcom.com (William Grosso) Newsgroups: comp.sys.next.programmer Subject: Re: Platform independence, Java and Juice (Re: OpenStep: what does the term mean?) Date: Thu, 13 Mar 1997 04:07:02 GMT Organization: Netcom Message-ID: <33277d2c.10867226@nntp.ix.netcom.com> References: <1997031007201320839001@pool011-146.innet.be> <5g1tkn$o21@news.next.com> <5g7bnb$soq@usenet.rpi.edu> On 12 Mar 1997 22:46:03 GMT, Garance A Drosehn <gad@eclipse.its.rpi.edu> wrote: >> Juice is an interesting idea - too bad Java already has the >> limelight. Do you honestly think that *Oberon* is going to gain >> mindshare against Java? Outside of academic users, who's even >> heard of Modula 3 or Oberon? > >DEC has heard of Modula3... :-) > Yes, but whenever anyone tells me about a great new DEC product, I think "Well, that's academic now." Cheers, Andy
From: "Jeffrey S. Dutky" <dutky@wam.umd.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Date: Wed, 12 Mar 1997 23:28:54 -0500 Organization: University of Maryland Student Body Message-ID: <33278275.329F@wam.umd.edu> References: <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> <5fur7h$b6u@medusa.is.com> <jbf_see_signature-ya023580000903971614160001@news.tiac.net> <jcr.857994015@idiom.com> <see-1203971346590001@204.191.6.123> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Martiin-Gilles Lavoie wrote: > For myself, I think a hybrid menu system would be interesting and > easilly acoomplished. Those who'd rater have NeXT-style main menus > versus Mac-style main menus would simply have to flip a check box > somewhere (being a relativelly new NeXTSTEP user, I'm not sure where > this should be). > While a hybrid menu system would be easy to implement (I'll bet I cound do it on system 7.x with only a few weeks coding) I'm sure that it would break a bunch of thrid party utilities. While causing the UI system to display the menus in a variety of different ways (along the top of the screen, along the top of certain windows, as a floating panel, etc.) might be fairly simple, allowing third parties to extend the menu system in all of it's different modes might be a much larger challenge. Now I know that support for existing third party utilities is not much of a priority (I expect all such system level programs to be completely broken by Rhapsody) it is probably a priority to allow such system extension to be done in Rhapsody, even if a major rewrite is required. I'm all for a far more customizable UI in the upcomming Mac OS. I would like to see a UI in which I can actually specify the UI's behavior rather than a few cosmetic details (ala Win95's custom UI where the user gets to pick different colors and window border widths). I would like to see menu placement and behavior under complete user control. I would similarly like to be able to move window controls to different positions in the window (like swapping the shrink and close boxes). I would even like to be able to muck with the binding of UI controls to application actions! (shades of emacs) - Jeff Dutky
From: Xpress2000@xpsoft.com (XPS) Newsgroups: comp.sys.lang.c++,comp.sys.mac.programmer,comp.sys.mac.programmer.misc,comp.sys.mac.programmer.tools,comp.sys.newton.programmer,comp.sys.next.programmer,comp.sys.next.software,comp.sys.novell,comp.sys.powerpc,comp.sys.psion.programmer,comp.sys.sun,comp.sys.sun.apps,comp.sys.sun.misc,comp.sys.tandem,comp.sys.unisys,comp.sys.vms Subject: FREE Year 2000 full working demo software. Look inside Date: 12 Mar 1997 21:33:18 GMT Organization: Xpress Software, Inc Message-ID: <5g77eu$odh@news-central.tiac.net> language independent software. Demo comes with a ANSI Cobol parser. http://www.xpsoft.com/downpage.html -- ------------------------------------------------------------------------ ---- xPress2000(tm), Inventory2000(tm), Imp2000(tm), Make2000(tm) The computer language independent and syntax aware smart parsers for year 2000 and European currency conversion at a 1900 price Conversion Services Also Provided XPS 95 RamsHorn Rd Dudley MA 01571 USA Tel: (508) 987-1922 Fax: (508) 943-2490 http://www.xpsoft.com/ sales@xpsoft.com ------------------------------------------------------------------------ ----
From: nurban@sps1.phys.vt.edu (Nathan Urban) Newsgroups: comp.sys.next.programmer Subject: Re: Platform independence, Java and Juice (Re: OpenStep: what does the term mean?) Date: 10 Mar 1997 17:17:58 -0000 Organization: Virginia Polytechnic Institute and State University Message-ID: <5g1fo6$2la@sps1.phys.vt.edu> References: <1997031007201320839001@pool011-146.innet.be> <5g1tkn$o21@news.next.com> In article <5g1tkn$o21@news.next.com>, mark_bessey@next.com wrote: > [Note to other readers: you really ought to read up on Juice before > reading any farther. See: http://www.ics.uci.edu/~juice/ ] > Juice is an interesting idea - too bad Java already has the limelight. Do > you honestly think that *Oberon* is going to gain mindshare against Java? I don't, for better or worse. > In fact, the Java language meets nearly all those requirements. It's just > this stupid byte-code nonsense that I don't like. I mean, what's the point > of compiling your Java code into bytecodes, then loading it on the target, > where it's recompiled into native code, after all the syntax cues have > been removed? I guess because it's faster to compile bytecodes to native than it is to compile Java source to native. But as long as you're compiling native at some point, Juice is better than bytecodes. I also get the feeling that Java was originally designed to be a primarily interpreted language, and all this JIT stuff is an afterthought. If they had designed it to be usually compiled, they probably would have gone with something like Juice instead of bytecodes. > What I really want is a Java native-code compiler I think somebody already makes one.. probably for Wintel. > (or a Java to ObjC > translator), so I can take advantage of local optimizations, while not > losing the true advantages of Java, which relate more to reliability and > security than platform independence. I'd love to see a Java to Obj-C translator.. but I'd rather see an Obj-C to Juice compiler. Or at the very least, a Java to Juice compiler. Then you can use the separate Juice-to-native compiler either at runtime to obtain platform independence, or keep it native. I personally like the platform independence of Java (or Juice), and I think that it will become much more prevalent. I hate the fat binary solution. But that's a matter of preference, of course. -- -------------------------------------------------------------------------- Nathan Urban | Undergrad {CS,Physics,Math} | Virginia Tech nurban@vt.edu | {NeXT,MIME} mail welcome | http://nurban.campus.vt.edu/ --------------------------------------------------------------------------
From: erich@powerwareintl.com (Eric Harley) Newsgroups: comp.sys.mac.programmer.codewarrior,comp.sys.mac.system,comp.sys.next.programmer Subject: Re: Mac/NeXT & Unix: File System Date: Thu, 13 Mar 1997 06:59:15 -0800 Organization: EdgeMedia Networks Message-ID: <erich-1303970659150001@ppp-207-104-16-89.snrf01.pacbell.net> References: <5fvebr$rvo@usenet.rpi.edu> <5g7bcs$jfa@hideout.emanon.net> In article <5g7bcs$jfa@hideout.emanon.net>, davem@franklin.com wrote: > >>> > AFS is > unrelated to Apple File Sharing (and in fact, there is no AFS client > for Macintosh, AFS is mostly implemented on Unix file systems). > Think of it as a grown-up replacement for NFS. > <<< > > Well, at CMU there's a program called MacMail II, which gives you > the ability to copy files from an AFS volume over the network, as > well as save files to an AFS volume, all from your Macintosh. > It's not the best tool in the world (it's much more convenient to > use Fetch and go through an FTP server to get at the info on the > volumes), but it exists... > Where could somebody get a copy? or do you have to be enrolled at CMU to?
From: "Willi Berger" <w_berger@mindspring.com> Newsgroups: comp.sys.next.programmer Subject: Accessing Obj-C Frameworks from Visual Baisc ? Date: 13 Mar 1997 16:19:27 GMT Organization: Resource Advisory Message-ID: <01bc2fca$ab7f09a0$45ab45cf@apollo> I was wondering if anyone has run into this problem. I have a built a framework that uses EOF to fetch data and perform various calculations. I now would like to make this functionality available to a Visual Basic Front end application. --------------------------------------------------------------------------- Under Openstep 4.1 performed the following and it worked fine. On 4.2 Prerelease 1 it doesnt't work properly In the framework #ifndef __GNUC__ extern "C" { #endif __declspec(dllexport) int foo1(); __declspec(dllexport) int foo(char *rptStr); ´#ifndef __GNUC__ }; #endif On the Visual Basic side of things. Declare Function foo1 Lib "D:\NEXT\Executables\Framework.dll" () As Integer Declare Function foo Lib "D:\NEXT\Executables\Framework.dll" (rptStr As String) As Integer and call the function Dim intValue As Integer intValue = foo1 ' This Function gets called and works intValue = foo("testRpt") ' This Function Fails ´--------------------------------------------------------------- When I execute this code I "foo" fails with the following message Runtime Error '49' Bad DLL calling convention It appears that the functions fail whenever there is an argument regardless of type Any help would be very much appreciated and thank you for taking the time to read this. - willi w_berger@mindspring.com
From: Stefano Pagiola <spagiola@worldbank.org> Newsgroups: comp.sys.next.programmer Subject: Re: No rush of postings from Mac developers was Re: Developing for Rhapsody Date: Tue, 11 Mar 1997 14:33:18 -0500 Organization: World Bank Message-ID: <3325B37E.6B08@worldbank.org> References: <5fkqpq$1nhm@atlas.vcu.edu> <331E6D78.4784@wam.umd.edu> <makhloma-0903970132120001@ppp4.musc.edu> <01bc2c65$e429e080$3a65a8c6@metnews.hip.cam.org> <5fveo5$rvo@usenet.rpi.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Garance A Drosehn wrote: > ... At one point should the cs.next > newsgroups just fold into cs.mac? I don't think we've thought > that through yet. Well, for programming, at least, it would probably make sense to have a separate rhapsody group, as opposed to the regular MacOS group. -- Stefano Pagiola 850 N Randolph Str No.817, Arlington VA 22203, USA All opinions are my own and do not necessarily reflect those of my employer
From: andreas@lynet.de Newsgroups: comp.sys.next.programmer Subject: Good Introduction to OpenStep-Programming Date: 13 Mar 1997 17:17:50 GMT Organization: LyNet Kommunikation und Netzwerkdienste GmbH Message-ID: <5g9cru$77n$1@lynet.de> Hello, I'm going to develop software for OpenStep. I tried the Online-Docu and the printed Next-Books, but I find them little hard to get through. Is there a good introduction to Objective-C and the Objects Framework from a third party? Andreas
From: andreas@lynet.de Newsgroups: comp.sys.next.programmer Subject: Re: NSReturnSign is missing Date: 13 Mar 1997 17:51:45 GMT Organization: LyNet Kommunikation und Netzwerkdienste GmbH Message-ID: <5g9erh$8c9$1@lynet.de> References: <5g6o7n$t26$1@lynet.de> <msg44412.thr-c0ec28ee.54c5638@flannet.middlebury.edu> In <msg44412.thr-c0ec28ee.54c5638@flannet.middlebury.edu>, herren@flannet.middlebury.edu (David Herren) writes: ><bold>andreas@lynet.de,UseNet writes:</bold> > >>I've just tried to understand the sample-Project CurrencyConverter > >>of "Discovering OpenStep A Developer Tutorial". > >>On Page 27 they want me to drag the NSReturnSign-Image from the > >>Images-Page to the Convert-Button on my Interface, but this image is > >>defenitivly missing. I reinstalled the DevoloperEnvironment two times > >>(nothing changed). I cannot find this Image that makes a Button being > >>activated, when the user presses Return, wich is very important, I suppose. > >>So is this a bug.? If yes, how do I fix it? > >>Thanks in advance! > > >Not a bug in the software or installer, but rather in the documentation. The documentation was not very effectively updated from nextstep to openstep and there are several places where it is in error. Another example: the tutorials will tell you to select >various things from the "action" menu which the screen shots show as being diretly in one of the Interface builder windows. This menu does NOT exist. To build the files and to instantiate an object you will use the main menu instead and select the correct >commands from the Object menu. > > >BTW, don't worry about the return icon at all. Your button will still work quite well without it. > > > >-- > >David Herren -------------------------------------------------- > > Web: http://www.middlebury.edu/~herren/ > > General: herren@flannet.middlebury.edu > > NeXTMail only: herren@barcelona.middlebury.edu > Nice to hear, but what do I do, if I want the Button to be activated, when the user presses Return. Is this function currently not available? Andreas
From: ehutch@hypnos.norden1.com (E. Hutchinson) Newsgroups: comp.sys.next.marketplace,comp.sys.next.programmer Subject: NEXT/Career Position/ILL Date: 13 Mar 1997 19:42:20 GMT Organization: Norden 1 Communications Message-ID: <5g9las$m4i@tofu.alt.net> Programmer/analyst/developer NEXTSTEP--------------------Commercial experience Objective C-----------------Commercial experience EOF-------------------------A Plus Opport8unity----------------Excellent Must Be---------------------US Citizen or Greencard To Be Considered------------Fax resume or mail a hard copy. -- ehutch@norden1.com (419) 893-6367 [fax] Omni Search (419) 893-6334 [voice] 1310 Craig Maumee, Ohio 43537
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.programmer.codewarrior,comp.sys.next.programmer,comp.sys.mac.system Subject: Re: Mac/NeXT & Unix: File System Date: Thu, 13 Mar 1997 14:38:39 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <Yn_5SzW00iVEM8x1ci@andrew.cmu.edu> References: <5fvebr$rvo@usenet.rpi.edu> <5g7bcs$jfa@hideout.emanon.net> <erich-1303970659150001@ppp-207-104-16-89.snrf01.pacbell.net> In-Reply-To: <erich-1303970659150001@ppp-207-104-16-89.snrf01.pacbell.net> Excerpts from netnews.comp.sys.next.programmer: 13-Mar-97 Re: Mac/NeXT & Unix: File S.. by Eric Harley@powerwareint >> Well, at CMU there's a program called MacMail II, which gives you >> the ability to copy files from an AFS volume over the network, as >> well as save files to an AFS volume, all from your Macintosh. >> It's not the best tool in the world (it's much more convenient to >> use Fetch and go through an FTP server to get at the info on the >> volumes), but it exists... > > Where could somebody get a copy? or do you have to be enrolled at CMU to? Unless you've got AFS servers around, _and_ you're getting your mail through AMS (the Andrew Message System, now deprecated in favor of Cyrus), MacMail doesn't have any use. That being said, I don't know what the availability of that software is-- possibly, you could pick up a free copy off of one of the CMU AppleShare servers or off of AFS, or purchase the software through CMU's computer store. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
Newsgroups: comp.sys.next.programmer From: joerd@mail.wsu.edu Subject: PB and system 4.1 Sender: news@serval.net.wsu.edu (News) Message-ID: <970313112246.1435AAFgJ.wayne@pareto> Date: Thu, 13 Mar 1997 19:22:46 GMT Content-Type: text/plain; charset=US-ASCII Mime-Version: 1.0 (Generated by Eloquent) Organization: Washington State University Advice wanted: I am about to go back to Nextstep 3.3 from Openstep 4.1 because I don't like ProjectBuilder for my simple generic research programming projects. I think I could live with it if I could get gdb to use Edit for the view command, as with Nextstep 3.3 instead of PB. Does anybody know of an option to redirect view from PB to Edit under Openstep 4.1? Thanks in advance. Wayne Joerding Professor of Economics Ofc: 509-335-6468 Washington State University FAX: 509-335-4362 PO Box 644741 http://cbeunix.cbe.wsu.edu/~joerd/ Pullman WA 99164 email: joerd@mail.wsu.edu "Stupidity always has the chance of being a capital offense."
From: Fred.Hart3@bridge.bst.bls.com Newsgroups: comp.sys.next.programmer Subject: Documentation on NSBundle's localizedStringForKey:value:comment Date: 13 Mar 1997 15:40:29 -0500 Organization: BellSouth ATG lab Sender: blmdzwf@gb160024 Message-ID: <ckb3etzfruq.fsf@gb160024.i-have-a-misconfigured-system-so-shoot-me> I am looking for information on localizedStringForKey... In particular I am looking for information on the default table. What is its name? How is it formatted? The following is all that appears in the NSBundle doc available online at NeXT. localizedStringForKey:value:comment: - (NSString *)localizedStringForkey:(NSString *)key value:(NSString *)value comment:(NSString *)comment Returns a localized version of the string designated by key. value and comment are associated with key in the default table See also: localizedStringForKey:value:comment:table: localizedStringForKey:value:comment:table: - (NSString *)localizedStringForkey:(NSString *)key value:(NSString *)value comment:(NSString *)comment table:(NSString *)tableName Returns a localized version of the string designated by key. value and comment are associated with key in the table specified by tableName. If tableName is nil, the default table is used. See also: Å localizedStringForKey:value:comment: -- Fred Hart -- Fred.Hart3@bridge.bst.bls.com
From: shess@one.net (Scott Hess) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 13 Mar 97 15:05:57 Organization: Is a sign of weakness Message-ID: <SHESS.97Mar13150557@howard.one.net> References: <330E54AC.167E@innosys.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov> <SHESS.97Mar11113330@howard.one.net> <5g69s3$eq5@samoyed.ftc.nrcs.usda.gov> In-reply-to: jstevens@ftc.nrcs.usda.gov's message of 12 Mar 1997 13:08:19 -0000 In article <5g69s3$eq5@samoyed.ftc.nrcs.usda.gov>, jstevens@ftc.nrcs.usda.gov (John Stevens) writes: In article <SHESS.97Mar11113330@howard.one.net>, Scott Hess <shess@one.net> wrote: >In article <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov>, > jstevens@ftc.nrcs.usda.gov (John Stevens) writes: > Yah, but why not use *both*? [C++ and Objective C] > >Too much investment in tools would be required. Not necesarily. I can write mixed language programs on a Linux box using one set of tools: GCC supports C++, Objective C and C. I'd _much_ rather be targetting Linux. Not going to happen (though I keep trying). I'm just happy enough to be able to do most of the kernel development on NeXT's, leaving just the UI development on the target ... > Use C++ where fast OO is needed, use C for the stuff that has > to run quite literally as fast as possible, and use Objective C > where speed is of little or no importance (distributed objects > and GUI work, for instance. . .). > >Success isn't that precise - there are few projects where success >hinges on the incremental performance improvement of C++ over >Objective-C for a given object hierarchy. Depends on your market. I'd argue that it depends on your team's programming abilities, and the abilities of the team leaders and managers, along with the quality of the design. Most programs are performance losses not because of anything so simple as a faster message dispatch mechanism. I'd argue that the message dispatch overhead is almost always so minor of a concern as to be irrelevant. [Well, assuming someone put at least _half_ a thought into implementing it, of course :-).] >Not when you can achieve better improvement by spending another >$100 on your CPU. Yah. And in some respects, the CPU manafacturers owe a debt of gratitude to programmers for copping that attitude. If we, as consumers *OR* producers took a different tack, the fastest CPU might still only run at 75 MHz. Again, C++ versus Objective-C is not the difference between 75Mhz Pentiums and 200Mhz Pentiums. It might be the difference between 66Mhz Pentiums and 75Mhz Pentiums, sure, or 180Mhz and 200Mhz. We need 200 Mhz Pentiums to run word processors for reasons other than the performance characteristics of the language the package is based on, to a great degree. Besides, I said $100. If you have to spend an extra $1000 to hit the sweet spot, you'd better have a _damn_ good reason why you can't just make the program more efficient. Converting from Objective-C to C++ is not going to give you that kind of gain, though, you have to make algorithmic changes. In my experience, Objective-C allows me to make those algorithmic changes more quickly than C++. >OTOH, success _does_ hinge on the ability of your architecture to >adapt. True. But less so than you might think. It is questionable whether the performance loss of Objective C will have any impact on sales, but it is certainly true that the configuration and administration issues involved in allowing that much flexibility (especially at the user level) might very well constitute good reason for avoiding the highest possible level of adaptibility (ie, plugability). Not sure what you're saying, here. I could care less if third parties or users can plug into my project. I'm arguing that _I_ can plug into my project better with Objective-C than C++, and so can my other developers. That _is_ a gain. >The gain of coding segments in C++ [along with Objective-C] is >likely to be overwhelmed by the loss due to having to wrap your >mind around a system that's potentially significantly more >complex. It's bad enough initiating a new developer into a system >using _one_ language ... Good points, all good points. I find it easy to mix 'em, but that doesn't mean everybody would. And my scenario *presupposes* people who learned OOP, not people who learned C, then C++ (as is so often the case), as well as assuming a careful and reasonably complete design/production scenario. Which may very well be so unlikely as to constitute a ideology, not a practical goal. My theory on this is that anyone who doesn't say "Can't we just use Smalltalk" at least _once_ during the planning phases probably doesn't get OOP :-). If there's one thing that the "real world" has taught me, it's that whether it can if you could clone yourself is besides the point - you have to work with what you've got. In most cases, that means that tools that could possibly be used aren't used, because they'll slow things down because you have to keep explaining things. If mixing C++ with Objective-C would make a project perform 50% faster, that's perhaps worth it - but if it makes things only 10% faster, it's a questionable pursuit. Later, -- scott hess <shess@one.net> (606) 578-0412 http://w3.one.net/~shess/ <Favorite unused computer book title: The Idiots Guide to the Zen of Dummies in a Nutshell in Seven Days, Unleashed>
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 11 Mar 1997 00:32:48 GMT Organization: ace dot net internet technologies Message-ID: <5g297g$p46$1@darla.visi.com> References: <330E54AC.167E@innosys.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> <5g0t0o$sb8@samoyed.ftc.nrcs.usda.gov> In comp.sys.next.advocacy John Stevens <jstevens@ftc.nrcs.usda.gov> wrote: : I wouldn't be at all surprised to see Java compilers producing *native* : executable code in the very near future. So, you see, that would mean : that Java would be both portable, and fast enough. SFW. Java's runtime is an order of magnitude more complex than ObjC's. Native compilation isn't going to change that. 1.1's dynamic method dispatch means no cheating and inlining every function. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: scottm@nic.com (Scott) Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: Re: NEW and IMPROVED! Quickest, Dirtiest Y2K Solution Date: Thu, 13 Mar 1997 20:04:29 -0500 Organization: PETA (People for the Eating of Tasty Animals) Message-ID: <scottm-ya02408000R1303972004290001@news.erols.com> References: <199703122344.PAA21362@sirius.infonex.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <199703122344.PAA21362@sirius.infonex.com>, dashlangan@hotmail.com (Dash Langan) wrote: >Web Site Revised 3/12/1997 > >For the quickest, dirtiest Y2K solution, >check out the following web site: >http://www.geocities.com/ResearchTriangle/3462/ > Why are you posting this in Mac groups? The Mac will handle the year 2000 just fine. It was designed that way. -- -------------------------------------------------------------------------- Scott Maxwell - scottm (at) nic (dot) com "The Mac is plug and play, Windows is plug and pray." David Forte Technology Manager (TIME Magazine) "Reports of my death have been greatly exaggerated" - Mac Twain
From: Garance A Drosehn <gad@eclipse.its.rpi.edu> Newsgroups: comp.sys.mac.programmer.codewarrior,comp.sys.mac.system,comp.sys.next.programmer Subject: Re: Mac/NeXT & Unix: File System Date: 14 Mar 1997 01:36:30 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Message-ID: <5gaa2u$kq0@usenet.rpi.edu> References: <5fvebr$rvo@usenet.rpi.edu> <5g7bcs$jfa@hideout.emanon.net> davem@franklin.com (David T. McWherter) wrote: > > >>> Garance wrote: > AFS is unrelated to Apple File Sharing (and in fact, there is no > AFS client for Macintosh, AFS is mostly implemented on Unix file > systems). Think of it as a grown-up replacement for NFS. > <<< > > Well, at CMU there's a program called MacMail II, which gives > you the ability to copy files from an AFS volume over the network, > as well as save files to an AFS volume, all from your Macintosh. > It's not the best tool in the world (it's much more convenient > to use Fetch and go through an FTP server to get at the info on > the volumes), but it exists... I think I need to be a bit more descriptive, to clear up a bit of confusion here (and in emails that I have received). There is no AFS client for a Mac. That is to say, there is no client for a MacOS which gets it to talk and understand the AFS protocols, not in the same way that unix workstations implement the protocols. That does not mean it is impossible to get at AFS files from a Mac. Umich has something called netatalk which you can install on a unix machine, and it will make any files on that machine (including AFS files) available to Macs which connect to it. I have similar updates to CAP (and I'm sure plenty of other people have written such updates for CAP). The thing is, the Mac is connecting to the unix box as if the unix box was an Appleshare file server. The mac does not know about AFS, but the unix box is translating things so the Mac can get at those files. --- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu Senior Systems Programmer (MIME & NeXTmail capable) Rensselaer Polytechnic Institute; Troy NY USA
From: Garance A Drosehn <gad@eclipse.its.rpi.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Yikes! Nextians: Mac wusses can't cripple Rhapsody, can they? Date: 14 Mar 1997 02:13:14 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Message-ID: <5gac7q$kq0@usenet.rpi.edu> References: <01bc2c5d$20beff20$3a65a8c6@metnews.hip.cam.org> <5fur7h$b6u@medusa.is.com> <jbf_see_signature-ya023580000903971614160001@news.tiac.net> <jcr.857994015@idiom.com> <see-1203971346590001@204.191.6.123> <33278275.329F@wam.umd.edu> "Jeffrey S. Dutky" <dutky@wam.umd.edu> wrote: > Martiin-Gilles Lavoie wrote: > > For myself, I think a hybrid menu system would be interesting > > and easilly acoomplished. Those who'd rater have NeXT-style > > main menus versus Mac-style main menus would simply have to > > flip a check box somewhere (being a relativelly new NeXTSTEP > > user, I'm not sure where this should be). > > While a hybrid menu system would be easy to implement (I'll bet > I cound do it on system 7.x with only a few weeks coding) I'm > sure that it would break a bunch of third party utilities. I don't think it would break much of anything if it was in Rhapsody. What kind of applications/utilties are there to consider: 1) ones for the current MacOS. It would be quite reasonable to say that this option will not effect MacOS ("blue box") applications, but only Rhapsody ("openstep api") apps. 2) ones for NeXTSTEP. more specifically, ones written to the OpenStep API's that are in NeXTSTEP 4.0. I would pretty much bet that there are *very* few third-party utilities written to the new API's. Most NeXTSTEP apps and utilities are written for the earlier (NeXTSTEP-3.x) API's, and they are already broken due to the newer API's. > While causing the UI system to display the menus in a variety of > different ways (along the top of the screen, along the top of > certain windows, as a floating panel, etc.) might be fairly > simple, allowing third parties to extend the menu system in all > of it's different modes might be a much larger challenge. It could make it harder to write *new* utilities extending menus or scroll bars in the new operating system, but it still could be a reasonable idea to do. On the other hand, I use both Macs and NeXTSTEP on a regular basis, so I personally am not going to get too worked up about this. Either "look" is fine with me, although if I did have a choice I would go with the way NeXTSTEP is done. --- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu Senior Systems Programmer (MIME & NeXTmail capable) Rensselaer Polytechnic Institute; Troy NY USA
From: dirk@object-factory.com (Dirk Olmes) Newsgroups: comp.sys.next.programmer Subject: Re: NSReturnSign is missing Date: 14 Mar 1997 08:41:47 GMT Organization: Object Factory GmbH (Germany) Message-ID: <5gb30b$58u@leonie.object-factory.com> References: <5g6o7n$t26$1@lynet.de> <msg44412.thr-c0ec28ee.54c5638@flannet.middlebury.edu> <5g9erh$8c9$1@lynet.de> andreas@lynet.de wrote: > In <msg44412.thr-c0ec28ee.54c5638@flannet.middlebury.edu>, herren@flannet.middlebury.edu (David Herren) writes: > ><bold>andreas@lynet.de,UseNet writes:</bold> > > > >>I've just tried to understand the sample-Project CurrencyConverter > > > >>of "Discovering OpenStep A Developer Tutorial". > > > >>On Page 27 they want me to drag the NSReturnSign-Image from the > > > >>Images-Page to the Convert-Button on my Interface, but this image is > > > >>defenitivly missing. I reinstalled the DevoloperEnvironment two times > > > >>(nothing changed). I cannot find this Image that makes a Button being > > > >>activated, when the user presses Return, wich is very important, I suppose. > > > >>So is this a bug.? If yes, how do I fix it? > > > >>Thanks in advance! > > > > > >Not a bug in the software or installer, but rather in the documentation. The documentation was not very effectively updated from nextstep to openstep and there are several places where it is in error. Another example: the tutorials will tell you to select > >various things from the "action" menu which the screen shots show as being diretly in one of the Interface builder windows. This menu does NOT exist. To build the files and to instantiate an object you will use the main menu instead and select the correct > >commands from the Object menu. > > > > > >BTW, don't worry about the return icon at all. Your button will still work quite well without it. > > > > > Nice to hear, but what do I do, if I want the Button to be activated, > when the user presses Return. Is this function currently not available? > > Andreas I don't understand the point in the discussion here. Making a eg. a TextField activate a button has nothing to do with the NSReturnSign. Just Control-drag from the TextFied to the button, in the Connection Inspector chose target->performClick:. That's it. If you still miss the NSReturnSign image here's what I saved from the net some time ago: Forwarded Article <97Jan31.112239gmt-0100.28679-1@mimer.upnet.se> Newsgroup factory.ml.next-prog >From Urban Nilsson <urban@us.upnet.se> For the NeXTmail impaired: Hi, the NSReturnSign seems to have been lost in OpenStep for Mach 4.1 (It was in fact lost in the 4.0 beta but I assumed it would find it's way home in the sharp release). I have been able to locate the image in the file /usr/lib/NextStep/Resources/SharedGray.tiff, but the problem lies within InterfaceBuilder, namely the file InterfaceBuilder.app/Resources/images.table where the NSReturnSign entry is missing. Just add the entry and everything works as it should. Just our two cents, Urban and Malte --- Urban Nilsson, Oops Art: urban@oops.se, d7urban@dtek.chalmers.se, un@cd.chalmers.se, d7urban@mdstud.chalmers.se Hiroshima 45, Tjernobyl 86, Windows 95 Enjoy, -dirk --- ______________________________________________________________________ Dirk Olmes OBJECT FACTORY Gesellschaft fuer Informatik und Datenverarbeitung mbH Otto-Hahn Str. 18, 44227 Dortmund, Germany Telephon +49 (0) 231 975 137 0 Telefax +49 (0) 231 975 137 99 dirk@object-factory.com http://www.object-factory.com/
From: biesingert@asme.org Newsgroups: comp.sys.next.programmer Subject: Two-column Menus Date: 14 Mar 1997 11:07:33 GMT Organization: University of Cambridge, England Message-ID: <5gbbhl$r0t@lyra.csx.cam.ac.uk> Does anybody out there know how to handle a Services Menu that has become too long i.e. display it in two columns? What else could I do when the lower part cannot be displayed within the screen area? Much appreciate your comments, thanks! Thomas --- Thomas E Biesinger, Engineering Department, University of Cambridge, Trumpington Street, Cambridge CB2 1PZ, UK, em: biesingert@asme.org, vc: +44 1223 3 32869, fx: +44 1223 3 32662. NeXT-Mail welcome, PGP-2.6.i key available.
From: ians@cam-ani.co.uk (Ian Stephenson) Newsgroups: comp.sys.next.programmer Subject: Re: Wait, do I even _need_ documents? Date: Fri, 14 Mar 1997 12:17:59 GMT Organization: Cambridge Animation Systems Ltd Sender: news@cam-ani.co.uk Message-ID: <E718u0.AxD@cam-ani.co.uk> References: <maury-1203971403220001@199.166.204.230> In article <maury-1203971403220001@199.166.204.230> maury@softarc.com (Maury Markowitz) writes: > I while back I bemoaned the lack of an integrated document class under > OpenStep. mmm documents... This brings me back to something I haven't talked about for a while, and haven't heard mention with respect to Rhapsody: E O F EOF has been sadly mistargetted by NeXT. They've done well selling it to the corporate sector for big bucks (oftern on the back of web objects), but it has the potentiall to be the core of what documents should be under OpenStep. Everyone has talked about the OO filestore - EOF can be that. It can be your document class, and so much more. It isn't about accessing an SQL db - its about using the power of that DB to support your app. > And is it reasonable to use Dictonaries and the persistence system for > just about any compound file type? The persistance system is flawed - you can only realy load objects back into the same object. Might sound sensible, but different apps may have differnt ideas about how objects relate, different ops, and different derived varibles. The persistance system gives you no structure, when someone says "whats your file format?". To load it back, you need to use the code you used to save it in the first place. EOF fixes that. It places the data in the DB, and extracts from it the objects as they are needed. Different objects can load the same data in different ways, and different apps (by different programmes, without sharing code!) can access the data transparently. The idea of the document is perhaps a poor abstraction. EOF frees you from the tight bounds that such a concept imposes - say a document is a list of people on a project, it then pulls in the info an all those people. If you have a docuement on a different project it might be a new "document" but it shares the same people info. EOF deals with this. A document concept is equivalent to the card file database systems - they're long dead. EOF gives you relational documents (and its also dead easy!). The question comes abck to - what are Apple going to do with it? I think it should be bundled with Rhapsody, and maybe a lightweight DB bundled as well (mSQL?). $an
From: dashlangan@hotmail.com (Dash Langan) Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: Re: NEW and IMPROVED! Quickest, Dirtiest Y2K Solution Date: 14 Mar 1997 13:38:15 +0100 Organization: Posting Service Message-ID: <199703141238.NAA06619@basement.replay.com> References: <scottm-ya02408000R1303972004290001@news.erols.com> scottm@nic.com (Scott) wrote: > In article <199703122344.PAA21362@sirius.infonex.com>, > dashlangan@hotmail.com (Dash Langan) wrote: > > >Web Site Revised 3/12/1997 > > > >For the quickest, dirtiest Y2K solution, > >check out the following web site: > >http://www.geocities.com/ResearchTriangle/3462/ > Why are you posting this in Mac groups? The Mac will handle the year 2000 > just fine. It was designed that way. I will bet that there are Mac application programs out there that accept date input in the format, MM/DD/YY. Not only that, but these same programs probably take the system date, convert it to YYMMDD format, and store it that way thereby discarding the century information. Dash Langan
From: Laurent.Champciaux@emn.fr Newsgroups: comp.sys.next.programmer Subject: Cannot free copies of an N3DShader object Date: 14 Mar 1997 14:55:56 GMT Organization: Ecole des Mines de Nantes Distribution: world Message-ID: <5gbots$kj0@wfn.emn.fr> Keywords: N3DShader, free Hi, A simple test app crashes when calling the following method several times: - freeAction:sender { id theShader, cop, cop2; theShader=[[N3DShader alloc] init]; [(N3DShader *)theShader setShader:"plastic"]; cop = [theShader copy]; cop2 = [cop copy]; [cop free]; [cop2 free]; return self; } Freeing only cop or only cop2 is ok but freeing cop and cop2 causes the app to crash after a few number of -freeAction: calls. Any clue ? Laurent. -- ======================================================= Laurent Champciaux Departement Informatique - Ecole des Mines de Nantes 4, rue A.Kastler - BP 20722 - 44307 Nantes Cedex 03 Tel: 33 2 51 85 82 18 (B220) email: Laurent.Champciaux@emn.fr Fax : 33 2 51 85 82 49
From: York Block <yblock@next.mc.maricopa.edu> Newsgroups: comp.sys.next.programmer Subject: Re: NSReturnSign is missing Date: Fri, 14 Mar 1997 08:13:53 -0700 Organization: Maricopa Community Colleges Message-ID: <Pine.NXT.3.95.970314080153.27459B-100000@next1> References: <5g6o7n$t26$1@lynet.de> <msg44412.thr-c0ec28ee.54c5638@flannet.middlebury.edu> <5g9erh$8c9$1@lynet.de> <5gb30b$58u@leonie.object-factory.com> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII In-Reply-To: <5gb30b$58u@leonie.object-factory.com> On 14 Mar 1997, Dirk Olmes wrote: > andreas@lynet.de wrote: > > In <msg44412.thr-c0ec28ee.54c5638@flannet.middlebury.edu>, > herren@flannet.middlebury.edu (David Herren) writes: > > ><bold>andreas@lynet.de,UseNet writes:</bold> > > > > > >>I've just tried to understand the sample-Project CurrencyConverter > > > > > >>of "Discovering OpenStep A Developer Tutorial". > > > > > >>On Page 27 they want me to drag the NSReturnSign-Image from the > > > > > >>Images-Page to the Convert-Button on my Interface, but this image is > > > > > >>defenitivly missing. I reinstalled the DevoloperEnvironment two times > > > > > >>(nothing changed). I cannot find this Image that makes a Button being > > > > > >>activated, when the user presses Return, wich is very important, I > suppose. > > > > > >>So is this a bug.? If yes, how do I fix it? > > > > > >>Thanks in advance! > > > > > > > > >Not a bug in the software or installer, but rather in the documentation. > The documentation was not very effectively updated from nextstep to openstep > and there are several places where it is in error. Another example: the > tutorials will tell you to select > > >various things from the "action" menu which the screen shots show as being > diretly in one of the Interface builder windows. This menu does NOT exist. To > build the files and to instantiate an object you will use the main menu > instead and select the correct > > >commands from the Object menu. > > > > > > > > >BTW, don't worry about the return icon at all. Your button will still work > quite well without it. > > > > > > > > Nice to hear, but what do I do, if I want the Button to be activated, > > when the user presses Return. Is this function currently not available? > > > > Andreas > > I don't understand the point in the discussion here. Making a eg. a TextField > activate a button has nothing to do with the NSReturnSign. Just Control-drag > from the TextFied to the button, in the Connection Inspector chose > target->performClick:. That's it. > The problem is not the NSReturnSign, it is the ability to press "Return" and with that perform a "performClick" to the button, so I don't have to use the mouse. Do you know what I mean?. It actually does not bother me too much, there are so many things to learn and so many things that one can do. It is just amazing. York
From: biesingert@asme.org Newsgroups: comp.sys.next.programmer Subject: TickleServices Date: 14 Mar 1997 17:46:39 GMT Organization: University of Cambridge, England Message-ID: <5gc2tv$dit@lyra.csx.cam.ac.uk> Trying to get Fiend into the LaunchPath as suggestion in the manual; unfortunately, the documentation of TickleServices does not give a hint on how to modify Workspace/Add To LaunchPaths # Add an entry to the Workspace LaunchPaths default. set filenames [filenames] set launchpaths [split [defaults read Workspace LaunchPaths ""] ";"] foreach filename $filenames { lappend launchpaths $filename } defaults write Workspace LaunchPaths [join $launchpaths ";"] Do u know? Thanks. Thomas --- Thomas E Biesinger, Engineering Department, University of Cambridge, Trumpington Street, Cambridge CB2 1PZ, UK, em: biesingert@asme.org, vc: +44 1223 3 32869, fx: +44 1223 3 32662. NeXT-Mail welcome, PGP-2.6.i key available.
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.next.programmer Subject: Re: Wait, do I even _need_ documents? Date: Fri, 14 Mar 1997 12:43:01 -0500 Organization: SoftArc Inc. Message-ID: <maury-1403971243020001@199.166.204.230> References: <maury-1203971403220001@199.166.204.230> <E718u0.AxD@cam-ani.co.uk> In article <E718u0.AxD@cam-ani.co.uk>, ians@cam-ani.co.uk (Ian Stephenson) wrote: > The persistance system is flawed - you can only realy load objects back > into the same object. Might sound sensible, but different apps may have > differnt ideas about how objects relate, different ops, and different > derived varibles. The persistance system gives you no structure, when > someone says "whats your file format?". To load it back, you need to use > the code you used to save it in the first place. Hmmm, so you'd have to hand out the nib too? In this case though that's not an issue for my application - I'm using a private data type that I don't expect anyone else to be able to read, and I'm going provide some simple stuff to write it to a tabbed text file if that's what people need. Ok, I've been told the grid objects are going to have no problem with my 7000x50 item display - but what will the performance of the Dictonaries with that much data in them be like? Anyone using them as a simple database out there? Still though, this sounds like the hole that Bento fills under the OpenDoc system. It's a text wrapper that describes the object format so you can rebuild the objects in other programs. > The idea of the document is perhaps a poor abstraction. EOF frees you from > the tight bounds that such a concept imposes - say a document is a list of > people on a project, it then pulls in the info an all those people. If you > have a docuement on a different project it might be a new "document" but > it shares the same people info. EOF deals with this. Huh, that is handy. I assume it doesn't _have_ to have a database engine anywhere? Maury
From: Chris Marriott <chris@chrism.demon.co.uk> Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: Re: NEW and IMPROVED! Quickest, Dirtiest Y2K Solution Date: Fri, 14 Mar 1997 16:57:07 +0000 Organization: SkyMap Software Distribution: world Message-ID: <y7CVCBAjNYKzEwBl@chrism.demon.co.uk> References: <199703122344.PAA21362@sirius.infonex.com> <scottm-ya02408000R1303972004290001@news.erols.com> MIME-Version: 1.0 In article <scottm-ya02408000R1303972004290001@news.erols.com>, Scott <scottm@nic.com> writes >Why are you posting this in Mac groups? The Mac will handle the year 2000 >just fine. It was designed that way. The question is not whether the operating system will handle dates in the 21st century and beyond (all modern operating systems will - even DOS works fine up to 2038), but whether applications do. Many applications store only the last two digits of the year, and they tend to have problems beyod 1999. Regards, Chris ---------------------------------------------------------------- Chris Marriott, SkyMap Software, U.K. e-mail: chris@skymap.com Creators of fine astronomy software for Windows. For full details, visit our web site at http://www.skymap.com
From: mpaque@wco.com (Mike Paquette) Newsgroups: comp.sys.next.programmer Subject: Re: idle time in Workspace? Date: 14 Mar 1997 10:48:45 -0800 Organization: Electronics Service Unit No. 16 Sender: mpaque@mpaque Distribution: world Message-ID: <5gc6id$ae@mpaque.mpaque> References: <5frq8t$n63@sps1.phys.vt.edu> In article <5frq8t$n63@sps1.phys.vt.edu> nurban@sps1.phys.vt.edu (Nathan Urban) writes: > Is there any programmatic way to determine how long a user has been idle > (i.e., no mouse or keyboard events) in the Workspace? I can use the > standard Unix trick for getting idle times, but it only works if they've > got a terminal open. Under NEXTSTEP 3.x and OPENSTEP for Mach, you can use the Event Status Driver C API to do this. #include <drivers/event_status_driver.h> double idleTime() { double idle; NXEventHandle eventHandle; eventHandle = NXOpenEventStatus(); idle = NXIdleTime(eventhandle); NXCloseEventStatus(eventHandle); return idle; } -- I don't speak for my employer, whoever it is, and they don't speak for me. mpaque@next.com Official business only NeXT Mail OK mpaque@wco.com Non-business or personal mail NeXT mail OK
From: Farshad Nayeri <farshad@cmass.com> Newsgroups: comp.sys.next.programmer,comp.lang.modula3 Subject: Re: Platform independence, Java and Juice (Re: OpenStep: what does the term mean?) Date: Fri, 14 Mar 1997 13:14:05 -0500 Organization: Critical Mass, Inc. Message-ID: <3329956D.7197@cmass.com> References: <1997031007201320839001@pool011-146.innet.be> <5g1tkn$o21@news.next.com> <5g7bnb$soq@usenet.rpi.edu> <33277d2c.10867226@nntp.ix.netcom.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit > >> Outside of academic users, who's even > >> heard of Modula 3 or Oberon? > > > >DEC has heard of Modula3... :-) > > > > Yes, but whenever anyone tells me about a great new DEC > product, I think "Well, that's academic now." Before this thread gets too far off from reality... Modula-3 was designed by Digital Systems Research Center (DEC SRC) and Olivetti Research Center in 1989. The language definition is only 50 pages, but it includes support for garbage collection, threads, exceptions, interfaces, ... Despite the fact that the language hasn't changed in 8 years or so, M3 programmer gets the equivalent support as if they were programming in Java and C++. M3 has been used for the pasts 7-8 years for serious systems development around the world. Modula-3 was not made into a product by DEC, however, DEC SRC has been maitaining a source distribution of SRC implementation of Modula-3 which is available to everyone free of charge. SRC Modula-3 is not only a compiler and runtime, but also a large collection of well designed, well-documented tools and libraries for distributed computing, persistence, portable OS interfaces, portable windowing systems, ... SRC M3 runs on a number of platforms, including Windows, most Unix systems, including NeXT. See http://www.research.digital.com/SRC/modula-3/html/ for more information, or post to news:comp.lang.modula3. Reactor is a commercial distributed development environment which uses M3 at its core. It supports Windows and a varity of Unix platforms. See: http://www.cmass.com/reactor/ for more information about Reactor. -- Farshad Nayeri farshad@cmass.com Critical Mass, Inc. http://www.cmass.com Cambridge, USA +1 617 354 6277 Disclaimer: I am biased!
From: jstevens@ftc.nrcs.usda.gov (John Stevens) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 14 Mar 1997 11:37:04 -0000 Organization: I need to put my ORGANIZATION here. Message-ID: <5gbd90$ul3@samoyed.ftc.nrcs.usda.gov> References: <330E54AC.167E@innosys.com> <SHESS.97Mar11113330@howard.one.net> <5g69s3$eq5@samoyed.ftc.nrcs.usda.gov> <SHESS.97Mar13150557@howard.one.net> In article <SHESS.97Mar13150557@howard.one.net>, Scott Hess <shess@one.net> wrote: >In article <5g69s3$eq5@samoyed.ftc.nrcs.usda.gov>, > jstevens@ftc.nrcs.usda.gov (John Stevens) writes: > >I'd _much_ rather be targetting Linux. Not going to happen (though I >keep trying). I'm just happy enough to be able to do most of the >kernel development on NeXT's, leaving just the UI development on the >target ... In the future, I suspect that GNUStep and OpenStep will allow for portability across Rhapsody/Windows/Linux. Not yet, though. Still, I could easily see where Apple could do well in the educational market by targetting MkLinux to schools. Odds are, though, that Apple will find it to expensive to maintain to separate support streams, and will sell Rhapsody instead. One nice compromise might be to migrate toward the Linux personality from the BSD'ish personality. > >Success isn't that precise - there are few projects where success > >hinges on the incremental performance improvement of C++ over > >Objective-C for a given object hierarchy. > > Depends on your market. > >I'd argue that it depends on your team's programming abilities, and >the abilities of the team leaders and managers, along with the quality >of the design. That, too. But it really depends first on your market. If your market will pay for the fastest possible, you could easily mix and match. If they won't, you are of course correct. Which seems to be one of the reasons that the shrink wrap consumer stuff is so slow and bloated. . . consumers aren't willing to pay the extra for the necesary design/optimization costs. >Most programs are performance losses not because of >anything so simple as a faster message dispatch mechanism. I'd argue >that the message dispatch overhead is almost always so minor of a >concern as to be irrelevant. Message dispatching, so long as it remains secondary to a direct function call, would be a minor slow down. But the concern that seemed to generate the thread was that all "old-style" function calls would be replaced by the much slower Objective C style method invocation. >[Well, assuming someone put at least >_half_ a thought into implementing it, of course :-).] Yah. There are times to send messages, and times to simply call a function using the old fashioned, standard C way. Objective C is, after all, a C extension, not a whole new language. > Yah. And in some respects, the CPU manafacturers owe a debt of > gratitude to programmers for copping that attitude. If we, as > consumers *OR* producers took a different tack, the fastest CPU > might still only run at 75 MHz. > >Again, C++ versus Objective-C is not the difference between 75Mhz >Pentiums and 200Mhz Pentiums. Uh, no, that was simply a ramble, off topic, memory dump, what have you. The combination of poor system design (really, most systems benefit a lot more from getting a faster HDD subsystem, than a faster processor), unrestrained featurism, "evolved" instead of designed OS'es (Windows 95 is slower than slow for precisely this reason, *WAY* to much overhead from backwards compatibility kludges) and poor adherence to standards are the primary reasons, not language choice. >Besides, I said $100. If you have to spend an extra $1000 to hit the >sweet spot, you'd better have a _damn_ good reason why you can't just >make the program more efficient. >Converting from Objective-C to C++ >is not going to give you that kind of gain, though, you have to make >algorithmic changes. In my experience, Objective-C allows me to make >those algorithmic changes more quickly than C++. But the real issue is how much does it cost the company doing the production? If using C++ costs you more time as a developer, that may very well have little, or no impact on the bottom line, especially when you are spreading development costs out over, say, a sales volume of 10 million units. At that volume, an extra 100,000 in development costs wouldn't mean that much. >Not sure what you're saying, here. Err, yah. Ok, I got baroque for a second. Try it this way: NC's are the up and coming thing. GUI's are the big time. Everybody raves about "wizards", bubble help and ballon help. Now there is the MS zero administration push. . . All of which indicate that at least two *LARGE* parts of the market want a lot *less* configurability and control. >I could care less if third parties >or users can plug into my project. But the people who *buy* your product do care. A *LOT*! >I'm arguing that _I_ can plug into >my project better with Objective-C than C++, and so can my other >developers. That _is_ a gain. Yah. But the implication (and, in fact, this has been illustrated) is that other people (since Objective C has dynamic typing, binding and loading support) can muck around with your program quite a bit, if you let 'em. That might well generate more support costs than you'd save, unless you make it a point to control that. John S.
From: embuck@yin.mcleod.net (Erik M. Buck) Newsgroups: comp.sys.next.programmer Subject: Re: Wait, do I even _need_ documents? Date: 14 Mar 1997 21:33:04 GMT Organization: Another Netscape News Server User Message-ID: <5gcg6g$i2g1@news.mcleodusa.net> References: <maury-1203971403220001@199.166.204.230> <E718u0.AxD@cam-ani.co.uk> <maury-1403971243020001@199.166.204.230> Cc: maury@softarc.com > Still though, this sounds like the hole that Bento fills under the > OpenDoc system. It's a text wrapper that describes the object format so > you can rebuild the objects in other programs. > > > The idea of the document is perhaps a poor abstraction. EOF frees you from > > the tight bounds that such a concept imposes - say a document is a list of > > people on a project, it then pulls in the info an all those people. If you > > have a docuement on a different project it might be a new "document" but > > it shares the same people info. EOF deals with this. > EOF is a great product, and it can simulate a OO file system. Unfortunately, in order to scale EOF to the performance and reliability needed for a file system, $50,000.00 must be spent on an industrial strength database. Further, administration/distribution/licensing/support contracts make the database unsuitable for anything but a large vertical app. I will not trust all of my data to OpenBase. OpenBase is a fine product! It is just not up to the task. (Openbase is an inexpensive relational database with EOF support) NSDictionaries start using virtual memory after some point. As long as your data set fits in memory, NSDictionary performace will be great. After that, a virtual memory tuned database will do a better job. NSDictionary will keep working, it just gets slower. NSDictionary has some maximum number of keys supported (I would gues arrounf 4 billion). That may limit some applications.
From: shess@one.net (Scott Hess) Newsgroups: comp.sys.next.programmer Subject: Re: TickleServices Date: 14 Mar 97 16:43:39 Organization: Is a sign of weakness Message-ID: <SHESS.97Mar14164339@howard.one.net> References: <5gc2tv$dit@lyra.csx.cam.ac.uk> In-reply-to: biesingert@asme.org's message of 14 Mar 1997 17:46:39 GMT In article <5gc2tv$dit@lyra.csx.cam.ac.uk> biesingert@asme.org writes: Trying to get Fiend into the LaunchPath as suggestion in the manual; unfortunately, the documentation of TickleServices does not give a hint on how to modify Workspace/Add To LaunchPaths <snip> Do u know? Thanks. I know! I know! You don't modify TickleServices to do it. Instead, you install TickleServices (just run TickleServices.app, it walks you through it), then select the directory you want to add to the LaunchPaths in Workspace, and select Services/Workspace/Add To LaunchPaths. From there, TickleServices runs that script you quoted: # Add an entry to the Workspace LaunchPaths default. set filenames [filenames] set launchpaths [split [defaults read Workspace LaunchPaths ""] ";"] foreach filename $filenames { lappend launchpaths $filename } defaults write Workspace LaunchPaths [join $launchpaths ";"] Which gets the current LaunchPaths, adds the directories you specified, and writes it back out. Simple as pie :-), -- scott hess <shess@one.net> (606) 578-0412 http://w3.one.net/~shess/ <Favorite unused computer book title: The Idiots Guide to the Zen of Dummies in a Nutshell in Seven Days, Unleashed>
From: kwong@morgan.ucs.mun.ca (Kai S. Wong) Newsgroups: comp.sys.next.programmer Subject: Re: TickleServices Date: 14 Mar 1997 23:06:17 GMT Organization: Memorial University of Newfoundland Message-ID: <5gcll9$cvm@coranto.ucs.mun.ca> References: <5gc2tv$dit@lyra.csx.cam.ac.uk> biesingert@asme.org writes: >Trying to get Fiend into the LaunchPath as suggestion in >the manual; unfortunately, the documentation of TickleServices >does not give a hint on how to modify Workspace/Add To LaunchPaths If you have Tickle Services running, go to Workspace menu: Services->Workspace->Add To launch Path that will add your Fiend to your launch path. kai -- Software Engineer email: kwong@morgan.ucs.mun.ca url: http://web.cs.mun.ca/~kwong/ PGP fingerprint <1B 67 F5 6C C4 44 4F 87 52 F7 61 C7 8E D0 36 40> finger kwong@plato.ucs.mun.ca to get PGP public key.
From: klui@hpcc01.corp.hp.com (Ken Lui) Date: Tue, 4 Mar 1997 18:39:32 GMT Subject: Re: Nice interview with Amelio Message-ID: <41930001@hpcc01.corp.hp.com> Organization: the HP Corporate notes server Newsgroups: comp.sys.next.programmer References: <01bc25fa$c628b6e0$5c2168cf@test1> dehoog@experts.com (John De Hoog) / 3:48 pm Mar 2, 1997 / > An offline > reader in the land of metered phone calls is essential; even with a > dedicated line RE: offline readers, etc because you live in a country with metered phone service. Does metered service mean all calls are toll? Well, my ISDN service is toll, too; but it's much more convenient and efficient for me to do things online. I let my servers store important things so I don't have to worry about backup, data recovery, etc. So, offline apps are a nonissue--and a niche--for me. It's certainly a personal preference, so I can see why you would need to use it. I probably won't. Ken
From: dingbat@codesmiths.com (Andy Dingley) Newsgroups: comp.sys.mac.misc,comp.sys.next.programmer Subject: Re: NEW and IMPROVED! Quickest, Dirtiest Y2K Solution Date: Fri, 14 Mar 1997 23:54:08 GMT Organization: Codesmiths Software Development Ltd. Message-ID: <3329e473.20218170@news.demon.co.uk> References: <199703122344.PAA21362@sirius.infonex.com> <scottm-ya02408000R1303972004290001@news.erols.com> The moving finger of scottm@nic.com (Scott) having written: >>For the quickest, dirtiest Y2K solution, >>check out the following web site: >> >Why are you posting this in Mac groups? The Mac will handle the year 2000 >just fine. It was designed that way. Don't you mean because the _NeXT_ was designed that way ?.....
From: sanjeev@ee.umr.edu (Sanjeev Agarwal) Newsgroups: comp.sys.next.programmer Subject: Help: (Driver Kit...) Date: 15 Mar 1997 10:42:05 GMT Organization: UMR Missouri's Technological University Message-ID: <5gdudt$6f1$2@news.cc.umr.edu> Hi, I was trying to write a Device Driver for EPIX frame grabber card under NextStep 3.2. My problem is that when ever I try to open the port, and if the video signal is not present at the port (camera is not powered on) the system hangs. Is there any way I could time this out. I mean if the port is not available (not powered) just don't open it!! Any pointer on this will be helpful. Thank you very much for your time ... Sanjeev
From: "L. Todd Heberlein" <heberlei@NetSQ.com> Newsgroups: comp.sys.next.programmer Subject: OpenStep on Java and Newton Date: 14 Mar 1997 18:34:16 GMT Organization: mother.com Internet Services Message-ID: <01bc309d$0f9f0610$612168cf@test1> I've been reading Jerry Kaplan's book "Startup" which traces the history of his GO corporation (I highly recommend it). The book includes a 1988 e-mail message by Bill Gates to his staff following his trip to GO. In Gate's analysis section, he says, "The software layers should be more compatible with desktop stuff." Today we see Microsoft with its Windows CE [1] which apparently brings the windows environment to hand held and embedded systems. Furthermore, Microsoft in courting Motorola, Advanced RISC Machines (ARM), and Digital (StrongARM) to provide systems for Windows CE [2]. Finally, because CE development is bases on a subset of the Win32 API [3], Microsoft can easily tap a large pool of experienced Windows programmers. Having said all this... Should Apple try to move OpenStep (or at least a subset) to the Newton? Is it technically feasible? Would it be commercially a smart idea? In a similar line of thought... What are Apple's (NeXT's) plans (if any) to bring the OpenStep API to Java? [1] http://www.microsoft.com/windowsce/default.asp [2] http://www.microsoft.com/corpinfo/PRESS/1996/Dec96/CPULSTPR.htm [3] http://www.microsoft.com/windowsce/hpc/developer/default.htm
From: "L. Todd Heberlein" <heberlei@NetSQ.com> Newsgroups: comp.sys.mac.programmer.games,comp.sys.mac.programmer.misc,comp.sys.next.programmer Subject: Mach, WindowServer, and Sprockets?? Date: 15 Mar 1997 01:29:49 GMT Organization: mother.com Internet Services Message-ID: <01bc30d7$2154aab0$452168cf@test1> Apparently, Apple will be essentially phasing out Game Sprockets. I guess they have their reasons, but I do believe games will help Apple move machines, especially in the home market. To this end, I was thinking of GameOS or "Sprockets for Mach." GameOS would consist of the Sprockets API and code libraries sitting directly on top of NeXT's Mach kernel. When booting in GameOS, NeXT's WindowServer would not be started (a Sprockets window server would be started instead); however, most of the other kernel features would be available (file system, networking, multitasking, memory protection, etc.). If Sprockets is developed in a higher level language (not assembly code) which can be recompiled for other hardware, GameOS could be available on Intel hardware as well (Mach is already there). This would help create a larger market for game makers: write to the Sprockets API and deliver on PowerPC and Intel platforms. Furthermore, by avoiding the full WindowServer and Rhapsody's Yellow Box code/overhead, the GameOS might be faster than developing games for the full Rhapsody. Also, since Mach and Sprockets would be completely native PowerPC code, the system would appear much faster than the current MacOS. Would this be technically feasible? Can NeXT's WindowServer be circumvented? How much work would be needed for a GameOS-based windows server? Would there be a market for GameOS? Thanks, Todd
From: mkagalen@lynx.dac.neu.edu (Michael Kagalenko) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.sysadmin Subject: Cyrillic in OPENSTEP/Mach Date: 14 Mar 1997 20:08:35 -0500 Organization: Northeastern University, Boston, MA. 02115, USA Message-ID: <5gcsqj$d0n@lynx.dac.neu.edu> Content-Type: text/html Have anyone managed to display Cyrillic text in KOI-8 encoding under NeXT OS ? I installed russian fonts from peanuts, but switching them on does not result in correct text display. I guess, it is mapping problem. Can one convert X fonts into NeXT fonts ? Thanks, Michael -- ABILITY,n. The natural equipment to accomplish some small part of the meaner ambitions distinguishing able men from dead ones. -- Ambrose Bierce, "The Devil's Dictionary"
From: "L. Todd Heberlein" <heberlei@NetSQ.com> Newsgroups: comp.sys.next.programmer Subject: Re: Good Introduction to OpenStep-Programming Date: 15 Mar 1997 18:41:23 GMT Organization: mother.com Internet Services Message-ID: <01bc3167$430c18b0$302168cf@test1> References: <5g9cru$77n$1@lynet.de> > Is there a good introduction to Objective-C > and the Objects Framework from a third party? There is a new book titles "Designing Business Applications with OpenStep" which supposedly covers background material (e.g., objective C) as well. For a good description of the book, check out [1]. I have also used "NeXTSTEP Programming. Step One: Object-Oriented Applications" by Garfinkel and Mahoney and "Developing NeXTSTEP Applications" by Gene Backlin. Both are fine, but they are a little out of date since many of the API names changed with the conversion to OpenStep (from NEXTSTEP). If you only get one, I would recommend the Garfinkel book. For Objective C, I have the book "Objective-C. Object-Oriented Programming Techniques" by Pinson and Wiener. Unfortunately, I am not all that thrilled with the book. Todd [1] http://www.stepwise.com/Resources/Books/DBAO_preface.html
From: dashlangan@hotmail.com (Dash Langan) Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: 1,500 Job Openings. Hey, That's Good! No, That's Bad! Date: 15 Mar 1997 17:20:33 +0100 Organization: Posting Service Message-ID: <199703151620.RAA18560@basement.replay.com> Don't listen to those stock analysts who are telling you to buy the stock of companies which are expected to supply labor for the Y2K effort. You see, if a consulting firm has 1,500 job openings, as was reported on the Internet, you can be assured that its competitor across the street has a similar number of job openings. Now, nobody is going to educate himself in computer programming for a job that is temporarily arising out of the Y2K crisis, so there will be no increase in the supply of available programmers. With this being the case, what can you expect to see? The first company will have to advertise heavily to stabilize its staffing level after the competitor across the street raids its labor pool. Without this advertising, the first competitor would see a net DECREASE of 1,500 in its head count NOT any increase. Hundreds of thousands of dollars will be spent on advertising just to remain stably in place. There is yet another dimension to this to consider. With employers raiding each other, they will have to bid compensation rates upward. This will mean smaller profit margins. With smaller profit margins and much higher advertising expenses you will see overall lower profits or even losses. Many smaller players in the market will simply go out of business. Look to the stock of the newspapers which will profit on the advertising activity if you must look to anything. The message to consulting firms is this: "Not to worry. There is hope." All that need be done is to minimize the impact of the Y2K issue. This can be accomplished easily by adopting the "Open and Shut Window Technique" as the primary official Y2K solution. This will make your traumatic period of Y2K exposure as short and as painless as possible. The url of the "Open and Shut Window Technique is: http://www.geocities.com/ResearchTriangle/3462/ Dash Langan
Date: Sat, 15 Mar 1997 14:51:20 -0600 From: dbriggs@flowserver.stem.com Subject: Re: Good Introduction to OpenStep-Programming Newsgroups: comp.sys.next.programmer Message-ID: <858458642.9226@dejanews.com> Organization: Deja News Usenet Posting Service References: <5g9cru$77n$1@lynet.de> In article <5g9cru$77n$1@lynet.de>, andreas@lynet.de wrote: > > Hello, > > I'm going to develop software for OpenStep. > I tried the Online-Docu and the printed > Next-Books, but I find them little hard to get > through. > Is there a good introduction to Objective-C > and the Objects Framework from a third party? > > Andreas Andreas, I can recommend a book: [1] Developing Business Applications with OpenStep, by Nik Gervae and Peter Clark, Springer, ISBN 0-387-94852-X (289 pages). I've not finished it yet, but I like it so far. It has a chapter on the Foundation framework, and another on the AppKit. It also has chapters on: OpenStep/Solaris, OpenStep/NT, PDO, EOF, testing, debugging, and performance. It devotes just 13 pages to Objective-C, but then Next's on-line documentation is only about 30 pages. As these authors say, learning OpenStep development is less about learning Objective-C than about learning the classes of the Foundation and AppKit. This book speaks more to the implementer than to the analyst or designer. You might also consider: [2] OpenStep for Enterprises, by Nancy Craighill, Wiley Computer Publishing ISBN 0-471-30859-5 (245 pages). This book also has only 13 pages on Objective-C, but concentrates mostly on OO Analysis & Design methodology. It comes with a disk containing source code for a client/server pair of small demo applications. Whereas many books on OOA/OOD seem really to have only C++ in mind, this one maps popular notation onto Objective-C. The demo apps support a design method called "Classes-Responsibilities-Collaborators", or CRC, and you might find the example code more useful, since it comes with a discussion of the analysis and design that motivates it. The demo apps work, but I don't use them. Good luck, Don <standard disclaimer> -------------------==== Posted via Deja News ====----------------------- http://www.dejanews.com/ Search, Read, Post to Usenet
From: cavery@dc.net (Christopher Avery) Newsgroups: comp.sys.next.programmer Subject: Perl Date: 15 Mar 1997 20:52:48 GMT Organization: Posted via CAIS Internet <info@cais.com> Message-ID: <5gf270$pt0@news2.cais.com> I downloaded the Perl Package from ftp-next-peak but it wouldn't install. Instaed it said not all the programs in the package were in the package and I should install from the original floppies. Can anyone help with this? Thanks - and please email me the answer. -- ---- Christopher Avery ----- reply to:cavery@dc.net (NeXTMail accepted)
From: embuck@yin.mcleod.net (Erik M. Buck) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Sun was Re: Avie confirms Rhapsody on Intel too. Date: 15 Mar 1997 23:58:11 GMT Organization: Another Netscape News Server User Message-ID: <5gfd2j$abo1@news.mcleodusa.net> References: <al.856919430@BIX.com> <5fblc9$31e$2@news.xmission.com> <5fd190$a7f@lal.interserv.com> <SHESS.97Mar7113023@howard.one.net> <5fqh1i$l5k@sps1.phys.vt.edu> <SHESS.97Mar9000517@howard.one.net> <5g6v6n$ksp@castor.cca.rockwell.com> Cc: embuck@palmer.cca.rockwell.com In <5g6v6n$ksp@castor.cca.rockwell.com> Erik M. Buck wrote: > Sun just made a major presentation at our site. There were at least 20 sales > people and some Sun executives. I asked about Openstep and they asked (who > sells that ?) When I told them that they sell it, they told me they did not > think so. > > I guess that Sun is not interested in Openstep anymore. > > I have just been notified by a Sun executive that OpenStep is alive and well and a new release is planned.
From: sanguish@digifix.com Newsgroups: comp.sys.next.advocacy,comp.sys.next.announce,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.bugs,comp.sys.next.programmer Subject: NEXTSTEP/OpenStep Resources on the Net Supersedes: <7353857885137@digifix.com> Date: 16 Mar 1997 05:00:28 GMT Organization: Digital Fix Development Message-ID: <608858488427@digifix.com> Topics include: Stepwise NEXTSTEP/OpenStep Information WWW site eduSTEP WWW site NeXT Computer, Inc. WWW site comp.sys.next newsgroups related newsgroups comp.sys.next newsgroups mailing list ftp sites NeXTanswers Stepwise NEXTSTEP/OpenStep Information WWW site =============================================== This online community resource includes - ISV company pages - ISV product descriptions - NEXTSTEP Developer Directory - NEXTSTEP Community WhitePages - Mailing List archives and information You can connect via the world wide web at: http://www.stepwise.com/ Suggestions or comments can be directed to me at sanguish@digifix.com If you would like to get your company and product information on Stepwise, please contact me at sanguish@digifix.com. eduSTEP WWW site ================ http://www.nmr.embl-heidelberg.de/eduStep/ eduStep aims to provide up-to-date information on: - NextStep tools and projects for scientists. - Third-party products interesting for the educational and scientific community (with educational discounts noted, where they exist). - A listing of resellers and shops interested in working with customers in the educational community. - Conferences, meetings, workshops - Major projects, such as SciTools, EMBL's project to develop a NextStep scientific work environment - Status reports on GNUStep, a freely-available implementation of OpenStep now being developed NeXT Computer, Inc. WWW site ============================ http://www.next.com comp.sys.next.* newsgroups ========================== news:comp.sys.next.advocacy This is the "why NEXTSTEP is better (or worse) than anything else in the known universe" forum. It was created specifically to divert lengthy flame wars from .misc. news:comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) This is a moderated newsgroup, meaning that you can't post to it directly. Submissions should be e-mailed to next-announce@digifix.com where the moderator (Scott Anguish) will screen them for suitability. Archives are available by ftp at ftp://ftp.stepwise.com/pub/Next_Announce_Archives Messages posted to announce should NOT be posted or crossposted to any other comp.sys.next groups. news:comp.sys.next.bugs A place to report verifiable bugs in NeXT-supplied software. Material e-mailed to Bug_NeXT@NeXT.COM is not published, so this is a place for the net community find out about problems when they're discovered. This newsgroup has a very poor signal/noise ratio--all too often bozos post stuff here that really belongs someplace else. It rarely makes sense to crosspost between this and other c.s.n.* newsgroups, but individual reports may be germane to certain non-NeXT- specific groups as well. news:comp.sys.next.hardware Discussions about NeXT-label hardware and compatible peripherals, and non-NeXT-produced hardware (e.g. Intel) that is compatible with NEXTSTEP. In most cases, questions about Intel hardware are better asked in comp.sys.ibm.pc.hardware. Questions about SCSI devices belong in comp.periphs.scsi. This isn't the place to buy or sell used NeXTs--that's what .marketplace is for. news:comp.sys.next.marketplace NeXT stuff for sale/wanted. Material posted here must not be crossposted to any other c.s.n.* newsgroup, but may be crossposted to misc.forsale.computers.workstation or appropriate regional newsgroups. news:comp.sys.next.misc For stuff that doesn't fit anywhere else. Anything you post here by definition doesn't belong anywhere else in c.s.n.*--i.e. no crossposting!!! news:comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. Generic UNIX questions belong elsewhere (comp.unix.questions), although specific questions about NeXT's implementation or porting issues are appropriate here. Note that there are several other more "horizontal" newsgroups (comp.lang.objective-c, comp.lang.postscript, comp.os.mach, comp.protocols.tcp-ip, etc.) that may also be of interest. news:comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. news:comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. Related Newsgroups ================== news:comp.soft-sys.nextstep Like comp.sys.next.software and comp.sys.next.misc combined. Exists because NeXT is a software-only company now, and comp.soft-sys is for discussion of software systems with scope similar to NEXTSTEP. news:comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. news:comp.object Technical talk about OOP in general. Lots of C++ discussion, but NeXT and Objective-C get quite a bit of attention. At times gets almost philosophical about objects, but then again OOP allows one to be a programmer/philosopher. (The original comp.sys.next no longer exists--do not attempt to post to it.) Exception to the crossposting restrictions: announcements of usenet RFDs or CFVs, when made by the news.announce.newgroups moderator, may be simultaneously crossposted to all c.s.n.* newsgroups. Getting the Newsgroups without getting News =========================================== Thanks to Michael Ross at antigone.com, the main NEXTSTEP groups are now available as a mailing list digest as well. next-nextstep next-advocacy next-announce next-bugs next-hardware next-marketplace next-misc next-programmer next-software next-sysadmin object lang-objective-c (For a full description, send mail to listserv@antigone.com). The subscription syntax is essentially the same as Majordomo's. To subscribe, send a message to *-request@lists.best.com saying: subscribe where * is the name of the list e.g. next-programmer-request@lists.best.com The ftp sites ============= ftp://ftp.next.peak.org - The main site for North American submissions formerly ftp.cs.orst.edu ftp://ftp.informatik.uni-muenchen.de: - (Peanuts) Located in Germany. ftp://ftp.dn.net/pub/next - Peanuts mirror in the US ftp://terra.stack.urc.tue.nl - (Dutch NEXTSTEP User Group) ftp://cube.sm.dsi.unimi.it - (Italian NEXTSTEP User Group) ftp://ftp.nmr.embl-heidelberg.de/pub/next - eduStep ftp://ftp.next.com: - See below ftp.next.com and NextAnswers@next.com ===================================== [from the document ftp://ftp.next.com/pub/NeXTanswers/1000_Help] Welcome to the NeXTanswers information retrieval system! This system allows you to request online technical documents, drivers, and other software, which are then sent to you automatically. You can request documents by fax or Internet electronic mail, read them on the world-wide web, transfer them by anonymous ftp, or download them from the BBS. NeXTanswers is an automated retrieval system. Requests sent to it are answered electronically, and are not read or handled by a human being. NeXTanswers does not answer your questions or forward your requests. USING NEXTANSWERS BY E-MAIL To use NeXTanswers by Internet e-mail, send requests to nextanswers@next.com. Files are sent as NeXTmail attachments by default; you can request they be sent as ASCII text files instead. To request a file, include that file's ID number in the Subject line or the body of the message. You can request several files in a single message. You can also include commands in the Subject line or the body of the message. These commands affect the way that files you request are sent: ASCII causes the requested files to be sent as ASCII text SPLIT splits large files into 95KB chunks, using the MIME Message/Partial specification REPLY-TO address sets the e-mail address NeXTanswers uses These commands return information about the NeXTanswers system: HELP returns this help file INDEX returns the list of all available files INDEX BY DATE returns the list of files, sorted newest to oldest SEARCH keywords lists all files that contain all the keywords you list (ignoring capitalization) For example, a message with the following Subject line requests three files: Subject: 2101 2234 1109 A message with this body requests the same three files be sent as ASCII text files: 2101 2234 1109 ascii This message requests two lists of files, one for each search: Subject: SEARCH Dell SCSI SEARCH NetInfo domain NeXTanswers will reply to the address in your From: line. To use a different address either set your Reply-To: line, or use the NeXTanswers command REPLY-TO If you have any problem with the system or suggestions for improvement, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY FAX To use NeXTanswers by fax, call (415) 780-3990 from a touch-tone phone and follow the instructions. You'll be asked for your fax number, a number to identify your fax (like your phone extension or office number), and the ID numbers of the files you want. You can also request a list of available files. When you finish entering the file numbers, end the call and the files will be faxed to you. If you have problems using this fax system, please call Technical Support at 1-800-848-6398. You cannot use the fax system outside the U.S & Canada. USING NEXTANSWERS VIA THE WORLD-WIDE WEB To use NeXTanswers via the Internet World-Wide Web connect to NeXT's web server at URL http://www.next.com. USING NEXTANSWERS BY ANONYMOUS FTP To use NeXTanswers by Internet anonymous FTP, connect to FTP.NEXT.COM and read the help file pub/NeXTanswers/README. If you have problems using this, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY MODEM To use NeXTanswers via modem call the NeXTanswers BBS at (415) 780-2965. Log in as the user "guest", and enter the Files section. From there you can download NeXTanswers documents. FOR MORE HELP... If you need technical support for NEXTSTEP beyond the information available from NeXTanswers, call the Support Hotline at 1-800-955-NeXT (outside the U.S. call +1-415-424-8500) to speak to a NEXTSTEP Technical Support Technician. If your site has a NeXT support contract, your site's support contact must make this call to the hotline. Otherwise, hotline support is on a pay-per-call basis. Thanks for using NeXTanswers! _________________________________________________________________ Written by: Eric P. Scott ( eps@toaster.SFSU.EDU ) and Scott Anguish ( sanguish@digifix.com ) Additions from: Greg Anderson ( Greg_Anderson@afs.com ) Michael Pizolato ( alf@epix.net ) Dan Grillo ( dan_grillo@next.com )
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sat, 15 Mar 1997 04:35:39 GMT Organization: InterServ News Service Message-ID: <5gd8ve$2um@lal.interserv.com> References: <330E54AC.167E@innosys.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> <5g0t0o$sb8@samoyed.ftc.nrcs.usda.gov> <5g1u1g$q7n$3@news.xmission.com> <3324A35D.6FEC@sequent.com> <3324c889.576749@nntp.ix.netcom.com> In <<3324c889.576749@nntp.ix.netcom.com>>, apuleius@ix.netcom.com (William Grosso) wrote: >It's not as fast as some coders hope. Java, as a language, takes >some performance hits because of the amount of validation it >does on method invocations etcetera. Also, due to the fact that every object is allocated on the free store, and must be accessed indirectly. (ie, Java got rid of pointers, by making everything a pointer) >But most people will still find it acceptable for almost every >application (James "Truth" Curran is, of course, free to disagree). Hardly "almost every application". Most like, "almost every application in the limited range it's been used on so far". On apps with heavy user interaction (eg, WWW based apps) the limiting speed factor is human response time. The processing speed of the program it self matters little. (*) However, no one's going to be writing Mathematica or any other processor heavy app in Java anytime soon. (*) Side note --- That statement is true now, but will become less so in the future as NetworkComputers become popular and even less so, as more codein put into embedded processors in household appliances. For NCs, the goal would be to make the machine as cheap as possible, which means slower CPUs. For applicances, the same 10X. Note that if a manufacturer of a microwave oven (for example) with an 1,000,000 unit production run can shave 5 cents off the cost of each one, that's $50,000 --- which will pay a programmer for a year as he finds a way to make the code fast enough as that they can use a 5 cent per unit cheaper CPU. Truth, James
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sat, 15 Mar 1997 05:23:56 GMT Organization: InterServ News Service Message-ID: <5gdbq0$3p1@lal.interserv.com> References: <330E54AC.167E@innosys.com> <5fcngp$7dd@lal.interserv.com> <331f6ea2.1358032@nntp.ix.netcom.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov> In <<5g0sr9$sak@samoyed.ftc.nrcs.usda.gov>>, jstevens@ftc.nrcs.usda.gov (John Stevens) wrote: >Use C++ where fast OO is needed, use C for the stuff that has to run >quite literally as fast as possible, and use Objective C where speed >is of little or no importance (distributed objects and GUI work, for >instance. . .). First of all, there absolutely no reason why C++ code would be slower that C code, and in many cases, (such as the templated sort function described elsewhere in this thread), the easy C++ solution would be faster than the easy C solution (qsort()), and no slower then the difficult C solution (hand coded specific sort function). So, we can use C++ where speed is critical, and ObjC on the GUIs where the limiting speed factor is human response. OK, so what about the rest... where program speed is the limiting factor, but it's not really critical? C++ or ObjC? The other interesting thing to note is that C++ can simulate the run-time binding of ObjC. C++ can overload the [] operator: typedef void * id; typdef id (ObjCmethod)(id, va_list) class objCobj { public: id operator[](enum selector, ....) { va_list marker; va_start(markerm selector); ObjCmethod f = dispatch(this, selector); id ret = f(this, marker); return(ret); } id operator[](string methodname, ...) { enum selector sel = selector_lookup(methodname); (*this)[selector] } }; And there after, any object derived from class objCobj could be used as: myRect[setOrigin, 30.0, 50.00]; or myRect["setOrigin", 30.0, 50.0]; or even doIt(id obj, string meth) { (*obj)[meth]; } which would be the equilevants of the ObjC: [myRect setOrigin:30.0 :50.0]; and SEL sel = sel_getUid("setOrigin"); [myRect perform:sel withObject:30.0 withObject:50.0]; and doIt(id obj, char *meth) { SEL set = getUid(meth); [obj perform:sel]; } And depending on the effeciency of selector_lookup() & dispatch(), which are essentially the same functions as ObjC provides, these functions could be performed with roughly the same effeciency as ObjC. Futher, the same myRect object could also respond to myRect.setOrigin(30.0, 50.0); at the full normal C++ speed. (OK, it'll need a bit more code to pull this off: a table for seletor_lookup to lookup in, an enum of all the selectors, a table mapping the selectors for a class to the function that handles that message, and probably a wrapper function which redirects that parameters: ObjCRectSetOrigin(Rect r, va_list l) { double p1 = va_arg(l, double); double p2 = va_arg(l, double); return(r.setOrigin(p1, p2)); } BUT -- all of this could be easily be machine generated from standard C++ code --- It is in fact very much like what the ClassWizard of Microsoft VisualC++ does) (Sorry about rambling on so long with C++ code, but I wanted to show that I had thought about this process at length) Truth, James
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: Sat, 15 Mar 1997 06:01:03 GMT Organization: InterServ News Service Message-ID: <5gddvj$4f5@lal.interserv.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew.cmu.edu> In <<gn8se=u00iWXA=dXpb@andrew.cmu.edu>>, Charles William Swiger <cs4w+@andrew.cmu.edu> wrote: >I believe the OPENSTEP standard is being submitted to one of the >industry standards groups like OMG or X/Open. Not quite the same. They would just administor the OpenStep version of ObjC. The ISO/ANSI committee has been C++ throught a meat grinder, making sure that it runs at top speed on _EVERY_ conceivable platform, while retaining strict type safety, >You mean the standard that _might_ have been voted on today? Well, in >that case, up until _VERY_ recently, the C++ version has required more >maintainance effort than the Obj-C version has. The function has been in the "draft" standard for three years now. It's part of a package the HP has made freely availabe for about 7 years. >Okay, so? If you've got to access the ivar through a member function in >both C++ and Obj-C, we aren't comparing the speed of doing four or so >integer operations with a couple of Obj-C method dispatches, now are we? > We're comparing the speeds of C++ method dispatches versus Obj-C >dispatches. No, we ARE comparing the speed of doing four or so integer operations with a couple of ObjC method dispatches. You are missing the point. In C++ a member function can be inlined. ie, I can write: x = y; and the compiler will see that as: x.realval = y.realval; and generate the code appropriately. That is what is possible with early binding, and what you have to give up if you insist that it's not real OOP unless it's late-bound. >It sorts them in N-log-N time with the same algorithmic worst-case >performance that the C++ sort function provides. The difference between >even the speed of Obj-C message dispatches compared to even direct >integer operations is a constant factor. Not exactly..... O(n) here is n log n, as you state. But, O() notation states that the time an O(x) function takes is c * x + k. Given a large enough x, the k becomes irrelevant. But, we aren't talking about the k here, but the c, which becomes more relevant as x grows. >[ ... ] >> With C++, you must give up some theortic OOD concepts (mainly, >> late-binding), but still use a single sort function which takes a >> generic collection of generic objects and sorts them very quickly >> through compile-time binding, without the application programmer >> having to know any of the objects or collections implementation >> details. >That's right. However, my own experience suggests that most of the >time, I'll either require the flexibility of the dynamic dispatch and >late binding of Obj-C, or else I'm dealing with some data structure >which has a critical impact on the performance of the system, and I'll >end up writing a little hand-tuned code anyways. In my experience, very few places "require" dynamic dispatch, and those that do can be implemented in C++; and with careful writing (and inlining) of the basic class operation, the compiler generated higher-level functions (from templates) are as efficent as completely hand-tuned code (and much easier to write & mantain) >That's right-- I don't believe in designing objects under the assumption >that they will never be subclassed. Comparing C++ virtual dispatches to >the fully dynamic Obj-C method dispatches is a fair comparison. I think this is where Obj-C shows it that its really sired from SmallTalk rather that C. In SmallTalk and ObjC, everything derives with one top-level object, and that encourages subclass anything that moves. I remeber, when I was writing my first SmallTalk program, deriving "RandomNumber" from "Number". It seemed to make sense at the time.... (I stand by my assertion that in the real world, most non-abstract classes are not subclassed) >Sure, but you can achieve the same exact thing with Obj-C by memoizing >the function implementation associated with a method and calling that >directly, or by dereferencing an ivar directly from the structure >instead of using an accessor function. Yes, but the former method is not a language feature, but an ugly, burdensome workaround for a language failing, and the latter method violates encapsulation, and would cause real world problems in the objects implemention were to change. Truth, James
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sat, 15 Mar 1997 06:05:30 GMT Organization: InterServ News Service Message-ID: <5gde7t$4f5@lal.interserv.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> In <<5g0apb$a@news.ml.com>>,  necakov@mljsdi9.dev.japan.ml.com (Tony Necakov) wrote: >>I believe the equilvant ObjC code (in it's simple, obvious form) would >>be something along the lines of: >> if ( [x lessthan: y] ) >> { >> T t; >> [t init:x]; >> [x copyfrom:y] >> [y copyfrom:t] >> } >> >> Truth, >> James >Well you'd be wrong. At least I developed a system in C++ and bothered to >learn the language and its idioms before I decided it was total shitte. I'd >suggest you learn about Objective-C before condemning it. If I knew as >little about Objective-C as you seem to, I wouldn't want to use it either. Touchy, aren't we? OK, I got it wrong IN THIS PARTICULAR INSTANCE, where the code would be more like if ( [x lessthan: y] ) // or [x compare:y] { id t; = x; x =y; y = t; } Nevertheless, there are cases where you DO need a deep copy, and WOULD require a method like the copyfrom I cited above..... Truth, James
Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c From: petrich@netcom.com (Loren Petrich) Subject: Re: Objective C? Message-ID: <petrichE750Ms.32G@netcom.com> Organization: Netcom References: <330E54AC.167E@innosys.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov> <5gdbq0$3p1@lal.interserv.com> Date: Sun, 16 Mar 1997 13:11:16 GMT Sender: petrich@netcom6.netcom.com In article <5gdbq0$3p1@lal.interserv.com>, James M. Curran <JamesCurran@CIS.CompuServe.com> wrote: [Example of C++ implementation of Objective-C runtime dispatch...] Alternative possibility: typedef void * id; typedef id (ObjCmethod)(id, va_list) class ObjCObj { protected: // Functions for managing the dispatch table; // Give each function to be added some name to refer to it with void ClearDispatchTable(); bool InstallDispatch(char *MethodName, ObjCMethod Method); bool RemoveDispatch(char *MethodName); // Just in case... virtual void UnknownMethodID(int MethodID) {} public: // In case one wants to remember what one had resolved... ObjCMethod DispatchMethod(char *MethodName); // Imitation of ObjC's use of [] id operator[](char *MethodName, <varargs stuff>) { <whatever varargs stuff is necessary> ObjCMethod Method = DispatchMethod(MethodName); return ObjCMethod(this,<varargs stuff>); } }; -- Loren Petrich Happiness is a fast Macintosh petrich@netcom.com And a fast train My home page: http://www.webcom.com/petrich/home.html Mirrored at: ftp://ftp.netcom.com/pub/pe/petrich/home.html
From: takecards@answerme.com Newsgroups: comp.sys.next.programmer Subject: ACCEPT MAJOR CREDIT CARDS !!!!!! Date: Sat, 15 Mar 1997 20:16:46 Organization: SHS Computers, Inc. Message-ID: <5gfkdj$2b2@news.shscomputer.com> ACCEPT MAJOR CREDIT CARDS WE APPROVE !!!!! **************************************** ********************** Visa, Master card, American Express, Discover Card Merchant Bankcard Systems, a proven leader in our industry, can provide your business the ability to accept credit cards from customers. Accepting credit cards is a must in today's marketplace. Your sales will increase as customers know your business welcome's there card. Don't lose another sale, because you don't take credit cards. Our rates are among the lowest in our industry, starting at 1.55% ! Over 97% of our clients ARE APPROVED! We can approve almost any type of business. We are approving businesses just like yours everyday! WE APPROVE: * RETAIL BUSINESS * MAIL-ORDER * SERVICE BUSINESS * PHONE-ORDER * PROFESSIONAL * HOME-BASED * RESTAURANTS * ON-LINE BUSINESS WE OFFER: * ZERO-DOWN START UP !!!! * FREE- FED-EX SHIPPING * APPROVALS IN 48 HOURS * FREE -TEC-SUPPORT * PC SOFTWARE AVAILABLE * FREE - PERSONAL PAGER * MAC SOFTWARE AVAILABLE * NO HYPE / NO HASSLES ******APPROVALS WITHIN 48 HOURS****** http://www.takecards.com ****** WE APPROVE ****** VISIT US US NOW !!!!!!!! Send me Email here</a>">E-MAIL US NOW !!!!!!!!
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: Sun, 16 Mar 1997 13:01:38 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> In-Reply-To: <5gddvj$4f5@lal.interserv.com> Excerpts from netnews.comp.sys.next.advocacy: 15-Mar-97 Re: Objective C? by James M. Curran@CIS.Comp >> Okay, so? If you've got to access the ivar through a member function in >> both C++ and Obj-C, we aren't comparing the speed of doing four or so >> integer operations with a couple of Obj-C method dispatches, now are we? >> We're comparing the speeds of C++ method dispatches versus Obj-C >> dispatches. > > No, we ARE comparing the speed of doing four or so integer operations > with a couple of ObjC method dispatches. You are missing the point. > In C++ a member function can be inlined. ie, I can write: > x = y; > and the compiler will see that as: > x.realval = y.realval; > and generate the code appropriately. Wrong-- you aren't copying the objects x and y by doing that, you're just exchanging one of their ivars. And if that's all you want to do, you can code the exact same thing in Obj-C with the same four or so integer operations and get the same performance you'd get from C++. However, if you're not going to break encapsulation, you have to access ivars through method dispatch instead of directly. Ie, you have to call [x realval] or x.realval() to get that value since you have to do some type of calculation in order to compute the response instead of simply returning a ivar from a structure. Under Obj-C, it's common for you to possibly have many implementations of the -realval method (different subclasses might override it, or you might add a category or do a poseAs, etc). You can't inline the method implementation at compile time if you're going to deal with objects which interact at runtime. And, to compare the equivalent under C++, you're talking about using virtual functions with those templates of yours you keep advocating, which means you end up creating intermediate classes. > That is what is possible with early binding, and what you have to give up > if you insist that it's not real OOP unless it's late-bound. That's exactly right. You're not really doing OOP if you break encapsulation, now are you? Let's acknowledge that if you want to break encapsulation, and do binding at compile time, that it would be faster than dynamic binding. However, I already demonstrated that you can break encapsulation under Obj-C and get the exact same performance you could get from C++, which was +/- four integer ops for our comparison. James, you try to keep comparing compile-time binding under C++ to dynamic binding under Obj-C, and it's simply not a reasonable comparision because you can do compile-time binding under Obj-C and get the same exact code as you would from C++. >>It sorts them in N-log-N time with the same algorithmic worst-case >>performance that the C++ sort function provides. The difference between >>even the speed of Obj-C message dispatches compared to even direct >>integer operations is a constant factor. > > Not exactly..... O(n) here is n log n, as you state. But, O() > notation states that the time an O(x) function takes is c * x + k. Right. c is the constant factor which represents the difference in speed between the two. k is the overhead associated with setting up the algorithm and is independent of x. > Given a large enough x, the k becomes irrelevant. But, we aren't > talking about the k here, but the c, which becomes more relevant as x > grows. No, it doesn't. For two O(n-log-n) algorithms, the performance will be very nearly c1 * ( n * log(n)) + k1 and c2 * (n * log(n)) + k2. There's possibly other factors for the partial products of the n-log-n term, but they would change the algorithmic behavior. The two algorithms will have approximately a performance differance of (c1/c2) when n is large enough that k1 and k2 don't matter, but that is a constant factor-- which is the same algorithmic performance. >> That's right-- I don't believe in designing objects under the assumption >> that they will never be subclassed. Comparing C++ virtual dispatches to >> the fully dynamic Obj-C method dispatches is a fair comparison. > > I think this is where Obj-C shows it that its really sired from > SmallTalk rather that C. In SmallTalk and ObjC, everything derives > with one top-level object, and that encourages subclass anything that > moves. Isn't it odd how the class hierachies I've seen from C++ tend to be horribly overbloated with intermediate classes and so forth, whereas Obj-C class hierachies tend to use categories, protocols, and forwarding/delegation to avoid creating unnecessary classes. Just take a look at the Taligent classes (or CommonPoint, or whatever it's called now).... >> Sure, but you can achieve the same exact thing with Obj-C by memoizing >> the function implementation associated with a method and calling that >> directly, or by dereferencing an ivar directly from the structure >> instead of using an accessor function. > > Yes, but the former method is not a language feature, but an ugly, > burdensome workaround for a language failing, and the latter method > violates encapsulation, and would cause real world problems in the > objects implemention were to change. Yep-- it's not graceful, it's not pretty, it violates encapsulation, and it's much harder to maintain. Very reminiscent of C++ code, come to think of it.... -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: takecards@answerme.com Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <5gfkdj$2b2@news.shscomputer.com> Control: cancel <5gfkdj$2b2@news.shscomputer.com> Date: 16 Mar 1997 18:27:22 GMT Organization: Royal Society for the Prevention of Cruelty to Usenetters Message-ID: <cancel.5gfkdj$2b2@news.shscomputer.com> Death to Spam!
Newsgroups: comp.sys.next.programmer From: brianw@sounds.wa.com (Brian Willoughby) Subject: Source code for Mandelbrot.app Message-ID: <E74LxA.6Lz@sounds.wa.com> Organization: Sound Consulting, Bellevue, WA, USA Date: Sun, 16 Mar 1997 07:53:30 GMT Hello all long time NEXTSTEP programmers: Could someone package up the Mandelbrot.app source code from NEXTSTEP 2.2 (or later, if there is a more recent version) and send it to me? I have a license for NEXTSTEP 2.1 through OPENSTEP 4.2, including all upgrades, but my earliest CD is NEXTSTEP 3.0, and my NEXTSTEP 2.x optical disks don't seem to be working at the moment. The only thing I have left are the listings of what is on those opticals, so I know that you should be able to find this in /NextDeveloper/Examples/Mandelbrot, I am particularly looking for the sources which use the DSP for computational acceleration. Basically, I would like to try some of the new optimized computations on the DSP. While the MandelView.BackModule algorithm is much faster than other code running on the 68040, it's still no match for the DSP. Thanks in advance, and I sure hope that someone else who has been around in the NEXTSTEP arena as long as I have has managed to keep better backups of the 2.x releases. Later, -- Brian Willoughby NEXTSTEP and OpenStep Software Design Engineer Sound Consulting Bellevue, WA BrianW@SoundS.WA.com NeXTmail welcome
From: Dave Griffiths <dave@prim.demon.co.uk> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sun, 16 Mar 1997 16:08:49 GMT Organization: Primitive Software Ltd. Message-ID: <1997Mar16.160849.1568@prim.demon.co.uk> References: <3324A35D.6FEC@sequent.com> <3324c889.576749@nntp.ix.netcom.com> <5gd8ve$2um@lal.interserv.com> >In <<3324c889.576749@nntp.ix.netcom.com>>, >apuleius@ix.netcom.com (William Grosso) wrote: > >>It's not as fast as some coders hope. Java, as a language, takes >>some performance hits because of the amount of validation it >>does on method invocations etcetera. Don't confuse Java the language with the Java virtual machine. You can write your programs in Java and then use a Java to C translator and have them run almost as fast as C programs. As for the Java VM, that validation only needs to be done the first time the method is executed. At that point you can JIT compile the bytecodes to native assembler and after that it will run very fast. Another thing is that Sun have focussed very much on Java in Web browsers. They _say_ the Java VM has to do all these bytecode verifier checks, but so what? If you want to use Java for "normal" development, then you could use an implementation of the Java VM that only does minimal bytecode verification. Dave
From: lph@sei.cmu.edu (Larry Howard) Newsgroups: comp.sys.next.programmer Subject: Samba port for NS 3.3? Date: 16 Mar 1997 20:50:54 GMT Organization: Software Engineering Institute Message-ID: <5ghmfe$5d9@news.sei.cmu.edu> Sorry if this is a FAQ. Thought I'd just check before looking at the current Samba distribution. Any porting experiences welcome. Thanks. -- Larry Howard Software Engineering Institute, Carnegie Mellon University lph@sei.cmu.edu (NeXTmail/MIME) (412) 268-6397
Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy From: petrich@netcom.com (Loren Petrich) Subject: Re: Objective C? Message-ID: <petrichE75p67.2qH@netcom.com> Organization: Netcom References: <330E54AC.167E@innosys.com> <gn8se=u00iWXA=dXpb@andrew.<5gddvj$4f <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> Date: Sun, 16 Mar 1997 22:01:19 GMT Sender: petrich@netcom12.netcom.com In article <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu>, Charles William Swiger <cs4w+@andrew.cmu.edu> wrote: >Isn't it odd how the class hierachies I've seen from C++ tend to be >horribly overbloated with intermediate classes and so forth, whereas >Obj-C class hierachies tend to use categories, protocols, and >forwarding/delegation to avoid creating unnecessary classes. >Just take a look at the Taligent classes (or CommonPoint, or whatever >it's called now).... I note in passing that the BeOS succeeds in having a relatively simple set of C++ classes -- and does so by using "BMessages" -- message objects that are sort of like AppleEvents made simple. It's all explained in the "Be Book", available online at http://www.be.com -- Loren Petrich Happiness is a fast Macintosh petrich@netcom.com And a fast train My home page: http://www.webcom.com/petrich/home.html Mirrored at: ftp://ftp.netcom.com/pub/pe/petrich/home.html
From: raph@porter.as.utexas.edu (William Raphael Hix) Newsgroups: comp.sys.mac.system,comp.sys.next.programmer Subject: Component Software for Rhapsody Date: 17 Mar 1997 01:17:08 GMT Organization: The University of Texas at Austin, Austin, Texas Message-ID: <5gi62k$rqt$1@geraldo.cc.utexas.edu> Hi All- The decision to strand OpenDoc with the current MacOS begs several questions about the future of component software on the Mac. Though we won't have concrete answers to these questions until Apple clarifies this portion of the Rhapsody plan, I thought I'd seek a few opinions on the decision and the future. First, what is NeXT's current approach to component software? Since component software seems a natural extention of the object orientation NeXT is famous for, I'm surprised we've heard nothing about any NeXT component technology. How does one implement component software and document centered computing in OpenStep? Second, what reasons prompted Apple to drop OpenDoc from Rhapsody in favor of JavaBeans? Besides the obvious cross platform advantages of JavaBeans, what would prompt Apple to drop the more mature and better supported OpenDoc (whose cross-platform support was admittedly wavering) in favor of a nascent technology from another party? Are there technical problems integrating OpenDoc (DSOM?) with OpenStep? Was Apple sick of depending on IBM for cross platform support? Is Apple hoping for better developer support for JavaBeans after the pitiful support offered by large developers for OpenDoc? Third, can JavaBeans based components hope to compete performance-wise with native monolithic apps. Does JavaBeans allow for native, non-Java, compiled components? If not, how does one overcome the significant penalties in performance which virtual machines and emulation impose? Even with JITs, performance of non-native code trails that of compiled binaries significantly. While this might not matter for UI features or Internet applets, it is a significant limitation for computationally intensive tasks. Hopefully your answers will shed light on the future of component software, an area which I think has great promise, even if it has thus far failed to bear fruit. Raph ---------------------------------------------------------------------------- William Raphael Hix Department of Astronomy raph@astro.as.utexas.edu University of Texas Voice: (512) 471-3412 R.L. Moore Hall FAX: (512) 471-6016 Austin TX 78712 WWW: http://tycho.as.utexas.edu/~raph Room 17.210 ----------------------------------------------------------------------------
From: nouser@nohost.nodomain (Thomas) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 16 Mar 1997 20:15:14 -0800 Organization: home Message-ID: <tz8k9n7p31p.fsf@aimnet.com> References: <330E54AC.167E@innosys.com> <5fcngp$7dd@lal.interserv.com> <331f6ea2.1358032@nntp.ix.netcom.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov> <5gdbq0$3p1@lal.interserv.com> In-reply-to: JamesCurran@CIS.CompuServe.com's message of Sat, 15 Mar 1997 05:23:56 GMT Fcc: /u6/users/tmb/mail/x-nout In article <5gdbq0$3p1@lal.interserv.com> JamesCurran@CIS.CompuServe.com (James M. Curran) writes: The other interesting thing to note is that C++ can simulate the run-time binding of ObjC. C++ can overload the [] operator: [... proposal deleted ...] BUT -- all of this could be easily be machine generated from standard C++ code --- It is in fact very much like what the ClassWizard of Microsoft VisualC++ does) "All of this" could also be easily machine generated "from standard C code". In fact, when you do that, you get Objective-C, because that's what Objective-C used to be: a simple preprocessor together with a runtime library that added a particularly flexible form of runtime binding to ANSI C. As the implementations matured, the new syntax was then added directly to C compilers. A lot of success and failure in the software world is determined by perceptions and marketing. Objective-C is perceived as a different language from its base language, while COM and similar systems are perceived as extensions to an existing language. But whether you call it a new language or an extension, the fact remains that both roughly do the same thing and that Objective-C does it more parsimoniously. Thomas.
From: Robert La Ferla <Robert_La_Ferla@hot.com> Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep on Java and Newton Date: 17 Mar 1997 04:27:40 GMT Organization: HTI Message-ID: <5gih7s$dl6@news2.cais.com> References: <01bc309d$0f9f0610$612168cf@test1> In-Reply-To: <01bc309d$0f9f0610$612168cf@test1> On 03/14/97, "L. Todd Heberlein" wrote: >Should Apple try to move OpenStep (or at least a >subset) to the Newton? Is it technically feasible? Would it be >commercially a smart idea? I definitely think it would be a commercially smart idea to provide some degree of compatibility between OPENSTEP and NewtonOS. I can envision many mission critical and shrinkwrap applications that could be extended past the desktop to a handheld PDA. Integrating Java into OPENSTEP and NewtonOS would make this all very possible. In it's simplest form, Newton users could use a Java-enabled web browser to access OPENSTEP/Java applets. OPENSTEP/NewtonOS for Windows CE systems would also be a good idea. I don't think Apple wants to repeat the mistakes it's made with the proprietary Mac hardware. BTW - If you are an OPENSTEP user/developer and haven't looked at the new Newton MP2000 and Newton OS 2.1, I strongly encourage you to do so. It is an amazing user platform. For my non-developer tasks, I find it indispensible. The new MP2000 is going to be a very successful device. For more info, be sure to check out http://newton.info.apple.com/newton/newton.html -- Robert La Ferla Registered OPENSTEP/Rhapsody Consultant HTI Boston, MA - Washington, DC + 1 (617) 252-0088
From: Robert La Ferla <Robert_La_Ferla@hot.com> Newsgroups: comp.sys.mac.programmer.games,comp.sys.mac.programmer.misc,comp.sys.next.programmer Subject: Re: Mach, WindowServer, and Sprockets?? Date: 17 Mar 1997 04:18:16 GMT Organization: HTI Message-ID: <5gigm8$37h@news2.cais.com> References: <01bc30d7$2154aab0$452168cf@test1> In-Reply-To: <01bc30d7$2154aab0$452168cf@test1> Is this really necessary? It may be more effective to create object frameworks for games. There is one that already exists called GameKit. BTW - Did you know that Id Software wrote Doom on NEXTSTEP first? Look at http://www.omnigroup.com/Software for details. -- Robert La Ferla Registered OPENSTEP/Rhapsody Consultant HTI Boston, MA - Washington, DC + 1 (617) 252-0088
From: mpaque@wco.com (Mike Paquette) Newsgroups: comp.sys.next.programmer Subject: Re: Mach, WindowServer, and Sprockets?? Date: 16 Mar 1997 22:20:44 -0800 Organization: Electronics Service Unit No. 16 Sender: mpaque@mpaque Distribution: world Message-ID: <5ginrs$d1@mpaque.mpaque> References: <01bc30d7$2154aab0$452168cf@test1> In article <01bc30d7$2154aab0$452168cf@test1> "L. Todd Heberlein" <heberlei@NetSQ.com> writes: > GameOS would consist of the Sprockets API and code libraries sitting > directly on top of NeXT's Mach kernel. When booting in GameOS, NeXT's > WindowServer would not be started (a Sprockets window server would be > started instead); however, most of the other kernel features would be > available (file system, networking, multitasking, memory protection, etc.). This is a rather heavyweight switch, analogous to the Win95 'Restart in DOS' switching. Running such a game requires you to quit all other apps and effectively reboot. It also requires game developers to manage initialization, configuration, and formatting all possible display hardware directly. This is a larger task than you might think. Fortunately, there is a better answer. > > Furthermore, by avoiding the full WindowServer and Rhapsody's Yellow Box > code/overhead, the GameOS might be faster than developing games for the > full Rhapsody. Also, since Mach and Sprockets would be completely native > PowerPC code, the system would appear much faster than the current MacOS. The code/overhead you are referring to is a very broad, complete, and fast set of software that provides device independence, easier programming, and a fairly complete set of UI elements. You can ignore it at the expense of doing it yourself, with all the problems that come along with it. > Can NeXT's WindowServer be circumvented? There is a better answer. -- I don't speak for my employer, whoever it is, and they don't speak for me. mpaque@next.com Official business only NeXT Mail OK mpaque@wco.com Non-business or personal mail NeXT mail OK
From: don@globalobjects.com (Don Yacktman) Newsgroups: comp.sys.next.programmer Subject: Re: Mach, WindowServer, and Sprockets?? Date: 17 Mar 1997 06:59:22 GMT Organization: Global Objects Inc. Message-ID: <5giq4a$ltr$3@news.xmission.com> References: <01bc30d7$2154aab0$452168cf@test1> <5ginrs$d1@mpaque.mpaque> mpaque@wco.com (Mike Paquette) wrote: > In article <01bc30d7$2154aab0$452168cf@test1> "L. Todd Heberlein" > <heberlei@NetSQ.com> writes: > > Can NeXT's WindowServer be circumvented? > > There is a better answer. I'd agree; the GameKit did pretty well going through DPS and I'd like to think that with about 3 more years' worth of NeXT experience under my belt I can improve upon a formula that already worked. I plan to do my best, at any rate. Let time be the judge of that... -- Later, -Don Yacktman don@misckit.com <a href="http://www.misckit.com/don.html">My home page</a>
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Date: Sat, 15 Mar 1997 10:45:05 GMT Organization: InterServ News Service Message-ID: <5gduk7$9bp@lal.interserv.com> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <5fcnhe$7dd@lal.interserv.com> <webboy-ya02408000R0603971359540001@news.azstarnet.com> <5g034e$f8r@lal.interserv.com> <pjbrew-1103971809120001@slc-ut1-16.ix.netcom.com> In <<pjbrew-1103971809120001@slc-ut1-16.ix.netcom.com>>, pjbrew@spam.free.zone--(ix.netcom.com) (Phil Brewster) wrote: >Rephrase it however you please, James -- you have still provided >absolutely no evidence that the study was comprised of 'people who have >used a Mac for years' instead of a random sampling of Mac, Windows, and >dual users with equal experience on both, Well, that part's easy. The summary clearly states that it was made up of dual users ONLY. It further makes no claims about the amount of experience they had on either machine. And I believe that it's reasonable to presume that a "random sampling" of people who've used both Macs & Win95 in their daily office routine (as per the report), taken 6 month after the the release of Win95, would consist mainly of people who've used Macs longer than they've used Win95. Truth, James
From: taustin@ozemail.com.au (T. Austin) Newsgroups: comp.sys.next.programmer Subject: OpenStep on DOS compatible Mac. Possible? Date: Mon, 17 Mar 1997 18:41:34 +1000 Organization: Swinburne University Message-ID: <taustin-1703971841350001@d133-1.cpe.melbourne.aone.net.au> I am a Mac user who wants to learn how to develop for OpenStep. Currently I have a Macintosh with a 486 66MHz card installed. I need to know the best way to go about doing this, and indeed if it is possible at all. I am willing to upgrade hardware to do this. ...Tristan Austin taustin@ozemail.com.au
From: Petr Novak <novak@microcomp.de> Newsgroups: comp.sys.next.programmer Subject: Implementing category ? Date: Mon, 17 Mar 1997 14:20:01 +0100 Organization: Impact GmbH,Cologne, Germany Message-ID: <332D4501.515@microcomp.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hallo ! I try to implement a category of NSTableHeaderView. I have overwritten method mouseUp: but this method is called ONLY if I also overwrite method mouseDown: Therefore, I get desirable functionality on mouseUp:, but I lost functionality of mouseDown: (dragging,resizing) Is there some explanation for such behaviour ? (Maybe handling of events in responder chain ?) Is there some possibility to implement this method in subclass ChildNSTableHeaderView and let the compiler replace parent class with child class in the class hierarchy ? Petr Novak
From: ehutch@hypnos.norden1.com (E. Hutchinson) Newsgroups: comp.sys.next.programmer,misc.jobs.offered,chi.jobs Subject: NEXT/NT/Learn Java/Career Position/ILL Date: 17 Mar 1997 13:41:50 GMT Organization: Norden 1 Communications Message-ID: <5gjhmu$9oa@tofu.alt.net> Programmer/analyst/developer NEXT---------Commercial experience Objective C--Commercial experience NT-----------Commercial experience JAVA---------Will be trained in. Area---------Greater Chicago Position-----Career position---Full benefits Must Be -----US Citizen or Greencard To Be Considered---Fax resume or mail a hard copy. -- ehutch@norden1.com (419) 893-6367 [fax] Omni Search (419) 893-6334 [voice] 1310 Craig Maumee, Ohio 43537
From: Michael.Gentry@m-c-i.com (Michael Gentry) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 17 Mar 1997 15:44:48 GMT Organization: Internet MCI Message-ID: <5gjotg$h8j$1@news.internetmci.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> In-Reply-To: <5gde7t$4f5@lal.interserv.com> On 03/14/97, James M. Curran wrote: >Nevertheless, there are cases where you DO need a deep copy, and >WOULD require a method like the copyfrom I cited above..... Are you suggesting in C++ one NEVER needs to deep copy an object? And if one needs to deep copy a C++ object, that it is just as fast as pointer assignment? If so, I can see where C++ is a definite winner. - mrg -- If a cat drives by a cow in a field, does it roll down the window and go "Mooooo!" ???
From: Greg_Anderson@afs.com (Gregory H. Anderson) Newsgroups: comp.sys.next.programmer Subject: Re: Sun was Re: Avie confirms Rhapsody on Intel too. Date: 17 Mar 1997 16:43:37 GMT Organization: Anderson Financial Systems Inc. Message-ID: <5gjsbp$ah3@shelob.afs.com> References: <5gfd2j$abo1@news.mcleodusa.net> Erik M. Buck writes > I have just been notified by a Sun executive that OpenStep is alive and > well and a new release is planned. Too bad they don't inform the people in the field who could sell a few copies, eh? I wish they would do a better job. This kind of news (your original story) tells the tale better than anything about Sun's true corporate priorities. I'll bet you can't find a Sun salesman who doesn't know that _Java_ is a Sun product. -- Gregory H. Anderson | "I wander'd off by myself, In the Crystal Ball/Star Gazer | mystical moist night-air, and from Anderson Financial Systems | time to time, Look'd up in perfect greg@afs.com (NeXTmail OK) | silence at the stars." Walt Whitman
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.next.programmer Subject: Re: Wait, do I even _need_ documents? Date: Mon, 17 Mar 1997 12:55:45 -0500 Organization: SoftArc Inc. Message-ID: <maury-1703971255460001@199.166.204.230> References: <maury-1203971403220001@199.166.204.230> <E718u0.AxD@cam-ani.co.uk> <maury-1403971243020001@199.166.204.230> <5gcg6g$i2g1@news.mcleodusa.net> In article <5gcg6g$i2g1@news.mcleodusa.net>, embuck@yin.mcleod.net (Erik M. Buck) wrote: > I will not trust all of my data to OpenBase. OpenBase is a fine product! It > is just not up to the task. > (Openbase is an inexpensive relational database with EOF support) Does EOF not have it's own internal "simple" one? > NSDictionaries start using virtual memory after some point. As long as your > data set fits in memory, NSDictionary performace will be great. After that, > a virtual memory tuned database will do a better job. NSDictionary will keep > working, it just gets slower. NSDictionary has some maximum number of keys > supported (I would gues arrounf 4 billion). That may limit some applications. Well it's OK for mine, it's only 7800. Maury
From: lph@sei.cmu.edu (Larry Howard) Newsgroups: comp.sys.next.software,comp.sys.next.programmer,comp.sys.next.sysadmin Subject: Samba and Rumba and CAPer...Oh My! Date: 17 Mar 1997 18:02:06 GMT Organization: Software Engineering Institute Message-ID: <5gk0uu$g1c@news.sei.cmu.edu> My home desktop LAN has three boxes: a NeXTstation running NS3.3 a PowerMac running MacOS 7.5.5 a Pentium laptop running Windows 95 (w/PC Card Ethernet Adapter) (I also have a 68030 Mac running MacOS 7.5.5 and Vicom Internet Gateway providing routing services to the Internet via a PPP dialup into work...but that's another story.) My mission was for every box to be able to natively browse the files on every other box for NO money and a MODEST investment of time. Mac to NeXT was made easy thanks to Frank Siegert, et al., porting the Columbia Appletalk Package (CAP) to NS. Cheers to him, and I'll plug his site (www.this.net/~frank/next_cap.html). After many travails in keeping NeXT's Appletalk Pkg functioning through 3.3, I kiss it goodbye. PC to NeXT was more challenging, but I kept hearing from Linux-folk about Samba (http://samba.canberra.edu.au/pub/samba/). Got the latest version, hacked it, phutzed with it...it works. So this go me most of the way there. The PC was able to browse the NeXT's file system, but the NeXT had to use a terminal-based, ftp-like program "smbclient". Not good enough. Fortunately, Christian Starkjohann had posted the availability of a Lanmanager client for NS called Rumba, based on smbfs 0.8. Got it... it works fine. Rumba can be obtained from the Peanuts archive. (peanuts.leo.org) So mission accomplished. The Next provides a "nexus" ;') for the file sharing, such that the PC sees the Mac's files mounted remotely on, and exported by, the NeXT, and the Mac sees the PC's files the same way. Before anyone asks, printing services on my LAN are supported by an HP JetDirect ethernet print server, so printing wasn't an issue for me in the use of this software, although printer sharing is addressed by both Samba and CAP. Let's hear it for PD software and NeXT's bundling of NFS with NS, without which none of this would have been possible. -- Larry Howard Software Engineering Institute, Carnegie Mellon University lph@sei.cmu.edu (NeXTmail/MIME) (412) 268-6397
Date: Mon, 17 Mar 1997 12:22:26 -0600 From: pas@filoli.com Subject: Job:US-CA-Palo Alto:NEXTSTEP/OPENSTEP/Object Oriented Developer Newsgroups: ba.jobs.offered,comp.sys.next.programmer,comp.sys.next.marketplace Message-ID: <858622276.3537@dejanews.com> Organization: Deja News Usenet Posting Service *** The Filoli Information Systems, Co. *** Filoli Information Systems, Inc. has an immediate need for Senior and Entry Level OO software developers with NEXTSTEP and Objective-C experience. Filoli is a startup with over 100 employees currently developing a large paperless distributed claims processing system for clients in the Workers Compensation insurance market. Filoli's mission is to use advanced information technology including imaging, networking, and workflow management to to improve the capability and economic performance of the front office in markets such as insurance and health care. *** Job Description *** Location: Palo Alto CA Title: Senior/Junior Software Engineer Responsibilities: Develop GUI, application or framework components for a Workers Compensation claims processing and medical management system. Requirements Analysis Application and Framework Component Design Software Implementation Software Unit, Integration and Sytem Testing Software and System Documentation Preferred Requirements (Senior Level): Excellent teamwork and communication capabilities, especially good writing skills Experience with OO analysis and design methodologies 2+ yrs C++, Java, Objective-C or Smalltalk programming experience 2+ yrs UNIX Operating System experience 4+ yrs professional software development experience A BS degree in Computer Science or a related field Preferred Requirements (Entry Level/Junior): Excellent teamwork and communication capabilities, especially good writing skills Experience with OO programming C++, Java, Objective-C or Smalltalk programming experience UNIX Operating System experience A BS degree in Computer Science or a related field Other desirable qualifications: NEXTSTEP, OPENSTEP, Windows NT Operating System experience Knowledge of databases (Sybase preferred) Experience developing reusable framework components Experience with tcl *** Contact Information *** Please contact Dawn Deir at (415)856-3100 Ext 272, or send your resume to jobs@filoli.com or fax to (415) 856-3137. *** What Others Are Saying *** Robertson Stephens & Company, one of the most respected West Coast investment banks, has just completed (Feb. 24, 1997) a report on: The Workers' Compensation Industry: Slaying the Long-Tailed Cost Dragon This report looks at the desirability of investing in the Workers' Compensation market (principallly looking at the risks/rewards of investing in carriers, and health care providers). They believe the Comp market is poised for potential financial growth, primarily due to disability management and related medical cost containment practices. On page 22 of the report we read: "We believe another interesting niche opportunity within the specialty service provider space will be the rise of information systems companies focused on the workers' compensation market. For example, Filoli Information Systems, in California's Silicon Valley, develops and markets an integrated claims management system, called CompAIDE, for workers' compensation carriers and self-insureds. Using the latest scanning technology, CompAIDE reduces claims and administrative costs by providing paperless automation of the claims process." -------------------==== Posted via Deja News ====----------------------- http://www.dejanews.com/ Search, Read, Post to Usenet
From: MaRK_BeSSeY@NeXT.CoM (Mark Bessey) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep on DOS compatible Mac. Possible? Date: 17 Mar 1997 18:38:37 GMT Organization: NeXT Software, Inc. Message-ID: <5gk33d$ces@news.next.com> References: <taustin-1703971841350001@d133-1.cpe.melbourne.aone.net.au> T. Austin writes > I am a Mac user who wants to learn how to develop for OpenStep. > Currently I have a Macintosh with a 486 66MHz card installed. I need to > know the best way to go about doing this, and indeed if it is possible > at all. > > I am willing to upgrade hardware to do this. Unless your 486 card can run Windows NT, you're out of luck. OPENSTEP for Mach won't run on Macintosh DOS-compatibility cards. The cards rely on a custom BIOS to allow DOS to run. NEXTSTEP doesn't use the BIOS except during startup... -Mark -- Mark Bessey Apple Computer, Inc. -->I DON'T SPEAK FOR APPLE<--
From: "L. Todd Heberlein" <heberlei@NetSQ.com> Newsgroups: comp.sys.next.programmer Subject: Re: Mach, WindowServer, and Sprockets?? Date: 17 Mar 1997 18:27:31 GMT Organization: mother.com Internet Services Message-ID: <01bc32f7$a5edb060$192168cf@test1> References: <01bc30d7$2154aab0$452168cf@test1> <5ginrs$d1@mpaque.mpaque> > This is a rather heavyweight switch, analogous to the Win95 'Restart in > DOS' switching. Running such a game requires you to quit all other apps > and effectively reboot. This is the model I was using. I have two friends who play games on their PCs, and I am amazed how non-chalantly they do this. They even have separate boot disks for many of their games. While it amazes me and I think it is silly, there are an awful lot of games in the PC/DOS world. > It also requires game developers to manage initialization, configuration, > and formatting all possible display hardware directly. This is a larger > task than you might think. Actually, I was hoping for an API layer which would be supported by different vendors. For example, the maker of my Matrox Millinium card would write their video driver for GameOS. I was also hoping for a Linux model, where many programmers contribute to the code. > Fortunately, there is a better answer. Tease, tease, tease. > The code/overhead you are referring to is a very broad, complete, and fast > set of software that provides device independence, easier programming, and > a fairly complete set of UI elements. You can ignore it at the expense of > doing it yourself, with all the problems that come along with it. Once again, I notice in the PC/DOS world, they develop their own user interface components. For example, Duke Nukem has its own file-save interface. Similarly, I notice my son's PlayStation games have all their own interfaces. I tried removing the WindowServer from my NeXTstation this weekend, but I didn't have much luck. There wasn't much on-line documentation for doing it. :-) > There is a better answer. Tease, tease, tease. Are you going to let us in on the secret, or are we going to have to wait? Todd
From: ians@cam-ani.co.uk (Ian Stephenson) Newsgroups: comp.sys.next.programmer Subject: Re: Wait, do I even _need_ documents? Date: Mon, 17 Mar 1997 18:39:16 GMT Organization: Cambridge Animation Systems Ltd Sender: news@cam-ani.co.uk Message-ID: <E77AHH.49H@cam-ani.co.uk> References: <5gcg6g$i2g1@news.mcleodusa.net> In article <5gcg6g$i2g1@news.mcleodusa.net> embuck@yin.mcleod.net (Erik M. Buck) writes: > EOF is a great product, and it can simulate a OO file system. Unfortunately, > in order to scale EOF to the performance and reliability needed for a file > system, $50,000.00 must be spent on an industrial strength database. I think this is an exageration - well kind of. I don't think it needs to replace the file system right now, but it is perfect for certain kinds of apps, which manimpulate compound/related documents. For these, there are a couple of cheaper soloutions for the db backend (to answer Maury's question - you don't NEED a DB, but it would be difficult to get started without one. mSql is recommended at least for evaluation purposes). > Further, administration/distribution/licensing/support contracts make the > database unsuitable for anything but a large vertical app. This unfortunatly is the case at the moment. Hopefully this will change. If Apple bundle EOF (or make it available VERY cheaply), and include a server based on Filemaker (v3 is relational - without a UI, this would not really hit the current Filemaker market, as users would still pay for the front end. Serious users of the DB could upgrade to something more powerfull), then that could change. EOF is great technology which currently NeXT are holding to ransom. If they get it into the hands of more developers then it could be the most exciting thing to happen in a long time. $an
From: logic@friley253.res.iastate.edu (???) Newsgroups: comp.sys.next.programmer Subject: SB 16/32 Mixer Settings -- Creating a Driver or something.... Date: 17 Mar 1997 07:20:09 GMT Organization: Iowa State University, Ames, Iowa, USA Distribution: world Message-ID: <5girb9$a88$1@news.iastate.edu> Keywords: Sound Blaster Mixer Device Driver Hello all, I was wondering if anyone could give me some help here. I have a SB 32 AWE PnP, an EtherLink III, and an Adaptec 2940uw adapter. In NeXTSTEP, you cannot use all three of these items together (the midi port 0x300 is used in both the ethernet card AND the SCSI adapter). Unfortunately for me, I have my stereo equipment hooked into the "line in" jack on the SB (I don't have fancy equipment, but I REALLY enjoy listening to music while on my computer) and I would like to access the ports (get them to activate) AND perhaps write or find an app that will control the volume. Now, as I understand it, the SB must be "turned on" in order for the jacks to be "active". I don't see the harm in writing a psuedo-driver that will just access these ports. No interrupts or DMA driven interrupts would be made (so the ethernet and SCSI won't collide). Any suggestions on how to start? Is this just impossible, or is there a way to do this without writing an entire dirver? Thanks! Matt
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.mac.programmer.games,comp.sys.mac.programmer.misc,comp.sys.next.programmer Subject: Re: Mach, WindowServer, and Sprockets?? Date: Mon, 17 Mar 1997 14:42:28 -0500 Organization: SoftArc Inc. Message-ID: <maury-1703971442290001@199.166.204.230> References: <01bc30d7$2154aab0$452168cf@test1> In article <01bc30d7$2154aab0$452168cf@test1>, "L. Todd Heberlein" <heberlei@NetSQ.com> wrote: > Apparently, Apple will be essentially phasing out Game Sprockets. I guess > they have their reasons, but I do believe games will help Apple move > machines, especially in the home market. To this end, I was thinking of > GameOS or "Sprockets for Mach." Good idea. > GameOS would consist of the Sprockets API and code libraries sitting > directly on top of NeXT's Mach kernel. Bad idea. Most games need access to a lot of the OS and GUI that a system offers, everything from networking code at one end, to text fields and menu bars at the other. Making some other "sub-OS" to support this is almost certainly not required, although future expansion into the areas of real time support in the kernel would help it I guess. What is needed is a selection of objects for supporting the needed Sprockets. Of the currently created ones (comments to NeXTits in []'s)... SpeachSprocket - no speach in Rhapsody. Would be cool, but can't be done [ SS offered an easy interface to Apple's various speach output API's ] SoundSprocket - bad idea all along, this should have been a part of SoundManager/QuickTimeML rather than a sprocket [ SoundS allowed you to "attach" sounds to objects in a 3D space, as well as describe sound producing and modifying objects in the same space. SS would then correctly calculate the resulting sounds in 3D adding in filters, dolby stereo effects for 3D sound, and doppler. VERY VERY cool code, but it should be available to everyone IMHO, not a part of the game code. ] QuickDraw3D RAVE - who knows if this was even cut, or who it "belonged" to? DrawSprocket - Almost certainly not needed in the same way that it was under the Mac OS, but the _idea_ of this is still vital and should be offered! [ DS consisted of two "main" parts, one a page flipper that would use any known custom page flipping hardware or set up screens in VRAm etc., the other a collection of utilities for doing common things like fading to black, hiding the menu bar, taking over the whole screen and setting the resolution and colour depth. ] InputSproket - needed, but Apple has to provide the support for input devices because the device people don't seem to be too interested in doing it for them. Again, this is a needed layer. [ IS was a single API to any input device. Device vendors provided a list of inputs, like "fire key" and games developers provided a list of "commands", the user then linked them together in a standard (but somewhat poor) interface ] NetSprocket - Another great one [ NS provided an interface and protocol for sending game-like datagrams about independant of protocol ] Then there's the one they never built... MusicSprocket - MS would provide a _really_ thin interface for playing music in programs. It would be able to understand "on the fly" changes, as well as various file formats QuickDraw offers a music API, but you import basically all of QD to get it. This is because QT uses it's own library manager and you need the core to use it. I believe this will almost certainly not be the case on Rhapsody. And some they had no interest in... SpriteSprocket TerrainSprocket. > Can NeXT's WindowServer be circumvented? Does it need to be? And if so, to be replaced by what? DrawSprocket included no drawing code. Maury
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.mac.system,comp.sys.next.programmer Subject: Re: Component Software for Rhapsody Date: Mon, 17 Mar 1997 14:52:56 -0500 Organization: SoftArc Inc. Message-ID: <maury-1703971452560001@199.166.204.230> References: <5gi62k$rqt$1@geraldo.cc.utexas.edu> In article <5gi62k$rqt$1@geraldo.cc.utexas.edu>, raph@porter.as.utexas.edu (William Raphael Hix) wrote: > First, what is NeXT's current approach to component software? It depends on what you mean by that. NeXT's approach to component software itself is stronger than anyone else in the world - you can cut and paste objects from program to program, link them up using IB, and have simple programs running without a line of code. Pretty impressive, it make you realize why (on other system) OOPS's never turned into the big timesaver everyone said it would. Now if you mean component _documents_ then you have an example of something they don't support in the current kits. The question is how should it work? One of the major problems with OpenDoc is that you had to write OpenDoc - you didn't write applications that people could use without OpenDoc. You were in, or you were out, you couldn't be half way. OLE on the other hand is based on actual applications - ones that run and feel "normal" even if you don't have or use OLE. In addition, (under OWL anyway) the library that builds the application builds OLE applications as well. From a development standpoint, OLE makes a _lot_ more sense under OpenStep than OpenDoc. On the other hand OLE maintains the application centric nature of computing. You open the Word doc with Word. This is somewhat different than the theoretical OpenDoc world in which documents "just open", for all intents and purposes in the Finder. The current implementation was rather flawed (open a second text document, and it _might_ open in the first one's context, or it might not) it's the idea that's interesting. Is this the model that people want to see in the future? Personally, I like it. > Second, what reasons prompted Apple to drop OpenDoc from Rhapsody in > favor of JavaBeans? Free hype. Maury
Newsgroups: comp.sys.next.programmer From: fgalot@x-lan.alienor.fr Subject: How selecting a Cell? Message-ID: <E76nD4.9Cp@x-lan.alienor.fr> Sender: news@x-lan.alienor.fr Organization: x&lan Date: Mon, 17 Mar 1997 10:19:51 GMT I've got a simple TextFieldCell matrix object but I can't manage the selection. I've made selectCellAt: and many other tries but NO WAY? Thanks for help. -- --------------------------------------- ® ® | ® O_O ® ® | O_O -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Fred Galot fgalot@x-lan.alienor.fr
From: yospe@hawaii.edu (Nathan F. Yospe) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Mon, 17 Mar 1997 10:26:45 -1000 Organization: UHM Physics Message-ID: <yospe-1703971026450001@usrns21.dialup.hawaii.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5gjotg$h8j$1@news.internetmci.com> Michael.Gentry@m-c-i.com (Michael Gentry) wrote: :On 03/14/97, James M. Curran wrote: :>Nevertheless, there are cases where you DO need a deep copy, and :>WOULD require a method like the copyfrom I cited above..... : :Are you suggesting in C++ one NEVER needs to deep copy an object? And :if one needs to deep copy a C++ object, that it is just as fast as :pointer assignment? : :If so, I can see where C++ is a definite winner. Well, no, but... out of curiosity, how would one implement a lazy copy in Objective C? In my experience, 50% of the time when you do a deep copy, it is never utilized as such until the original goes out of scope, and there are often deep copy elements never modified. Lazy copies save a lot of cpu and memory resources. I am not that comfortable with Objective C... never liked late binding as a general principal, which is just personal preferences... but I've been learning it, and I can't figure out how the hell to do a lazy copy. -- Nathan F. Yospe | There is nothing wrong with being a sociopath. Its yospe@hawaii.edu | getting caught thats a problem. Be a mad scientist UH Manoa Physics | Write poetry. Be an artist. Plot world domination. Biomedical Phys. | Panthers make great pets. Muhahahahahahahahahaha!!
From: jeff parsons <jeffrey@hom.net> Newsgroups: soc.penpals,alt.msdos.programmer,comp.sys.next.programmer,comp.unix.questions,atl.resumes Subject: Learning to Program to get hired? Date: Mon, 17 Mar 1997 14:56:33 -0500 Organization: Homenet Communications, Inc. Message-ID: <332DA1F1.41A4@hom.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, anyone got any suggestions on how to write business application to help someone with a B.A. in CS to get hired as a programmer. I have some programming skills but not the full stuff everyone wants? Thanks, Jeff
From: fixer1@megsinet.net Newsgroups: comp.sys.next.programmer Subject: Custom Drivers avail. for real-time industrial systems! FIX/DMACS, Wonderware, TCP/IP Datapump Date: Mon, 17 Mar 1997 21:15:03 GMT Organization: MegsInet, Inc. - Midwestern Internet Services Message-ID: <332db405.337826502@megsnews.megsinet.net> !!! CUSTOM DRIVERS AVAILABLE !!! Now, from Custom Technology... for popular MMI systems such as: WONDERWARE , FIX/DMACS, GENESIS, PARAGON, GE SIMPLICITY, FACTORYLINK and many others! Some of the many available drivers include: -ANDOVER HVAC system C-PORT and S-PORT -WIZDOM Control Source card -ZELLWEGER CM4 & G.D.A.C.S. Multipoint Gas Analyzer -Particle Measuring System - PMS 2500 Particle counting system -ATI Beta Gauge - Thickness measuring gauge -Barber Coleman MAQ PID controller -GaugePort by OBSERVATION SYSTEMS for all types of automated gauges -LFE Profitmaster Gaugeing system -AEONIC Gauging System - high speed beta gauge for profile scanning NEW PRODUCT DDE2TCP, A Real Time Data Pump for connecting DDE Apps. to HOST computers (IBM,UNIX,SUN) via TCP/IP ... AND MORE! For additional information, technical specs about these and many other drivers and the extensive services Custom Technology provides, please visit our web site: WWW.CUSTOM-TECH.COM or E-MAIL at FIXXER@NET66.COM or Contact: Marshall R. Rowe Custom Technology 640 N. LaSalle #284 Chicago,IL 60610 (773) 384-4104
From: Eric Gindrup <gindrup@okway.okstate.edu> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Mon, 17 Mar 1997 15:24:08 -0800 Organization: Olahoma State University;...;Financial Accounting Systems Message-ID: <332DD298.327E@okway.okstate.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5gjotg$h8j$1@news.internetmci.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Michael Gentry wrote: > > On 03/14/97, James M. Curran wrote: > >Nevertheless, there are cases where you DO need a deep copy, and > >WOULD require a method like the copyfrom I cited above..... > > Are you suggesting in C++ one NEVER needs to deep copy an object? And > if one needs to deep copy a C++ object, that it is just as fast as > pointer assignment? > > If so, I can see where C++ is a definite winner. > > - mrg Deep copies do frequently occur in C++. For "real" projects, one tries to make the copy a lazy copy. In this case, the copy is exactly as fast as pointer assignment until someone tries to make their copy different from everyone else's, in which case the deep copy overhead is incurred once for each "divergent" copy. I missed the beginning of this thread and therefore may have missed the point. If so, please disregard previous transmission. -- Eric Gindrup ! gindrup@okway.okstate.edu
From: eric@skatter.USask.Ca Newsgroups: comp.sys.next.programmer Subject: Excluding files in Digital Librarian Date: 17 Mar 1997 21:29:52 GMT Organization: University of Saskatchewan Message-ID: <5gkd4g$3oq@tribune.usask.ca> I'd like to use the Digital Librarian to index a bunch of source files, but I can't seem to get indexing to work properly. I'm running OPENSTEP 4.1/Intel. I want to exclude: - all directories (and all directories and files below) whose names begin with the letters o- - all directories (and stuff below) whose names begin with RCS - All files ending in .sh - All files ending in .bash So, I created a `.index.ftype' file with contents: obj - - - o-* rcs - - - RCS sh - - - *.sh bash - - - *.bash I then added a `.index.itype' file with contents: obj rcs sh bash I then run: ixbuild -s -l -c This builds the index, but doesn't ignore any of the above files. Also, when I open the target in the digital librarian, many of the file names show up with a big directory folder to the left of their names in the bottom of the librarian window (when I `list titles', for example). What am I doing wrong? This used to work (I think -- maybe I've missed something this time). -- Eric Norum eric@skatter.usask.ca Saskatchewan Accelerator Laboratory Phone: (306) 966-6308 University of Saskatchewan FAX: (306) 966-6058 Saskatoon, Canada. NeXTMail accepted.
From: rbraver@ohww.norman.ok.us Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <332db405.337826502@megsnews.megsinet.net> Date: 18 Mar 1997 03:11:07 GMT Control: cancel <332db405.337826502@megsnews.megsinet.net> Message-ID: <cancel.332db405.337826502@megsnews.megsinet.net> Sender: fixer1@megsinet.net Spam cancelled. Notice ID: 19970318.29. See news.admin.net-abuse.announce or http://spam.ohww.norman.ok.us/spam_notices/19970318.29.html for complete report. Original Subject: Custom Drivers avail. for real-time industrial systems! FIX/DMACS, Wonderware, TCP/IP Datapump
From: ŸŸŸŸŸúÈ6·jim@acb2.cgs.edu (Jim Kieley) Newsgroups: comp.sys.next.programmer Subject: Compiling problem Date: 18 Mar 1997 02:20:50 GMT Organization: Office of Information Technologies, Pomona College Message-ID: <5gku62$nu7@epcot.pomona.edu> I am trying to compile a couple of PD things using Openstep 4.0 that have similar error messages (they compile fine with GNU C on on other platforms). Is anyone willing to give me hints at what the problem might be? > cc -DSCRIPT_BIN='"/usr/local/etc/httpd/cgi-bin"' -DNO_QUERY_OK -o uncgi > uncgi.c > /bin/ld: Undefined symbols: > _putenv > *** Exit 1 > cc -I/jim/qi-3.1B7/include -L/jim/qi-3.1B7/lib -o apitest apitest.c > libqiapi.a -ll > /bin/ld: Undefined symbols: > _strdup > *** Exit 1 Jim Kieley jim@cgs.edu
From: apuleius@ix.netcom.com (William Grosso) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Tue, 18 Mar 1997 03:47:57 GMT Organization: Netcom Message-ID: <332e0c62.8006793@nntp.ix.netcom.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5gjotg$h8j$1@news.internetmci.com> <yospe-1703971026450001@usrns21.dialup.hawaii.edu> On Mon, 17 Mar 1997 10:26:45 -1000, yospe@hawaii.edu (Nathan F. Yospe) wrote: > >Well, no, but... out of curiosity, how would one implement a lazy copy in >Objective C? In my experience, 50% of the time when you do a deep copy, it >is never utilized as such until the original goes out of scope, and there >are often deep copy elements never modified. > So, if I understand this right, "lazy copy" is being used to denote the following: duplicate the pointer to the object *until* either the object, or the "copy" is modified in some way. At which time, do a deep copy. Is this right ? If so, there seem to be any number of ways to do this. For example (off the top of my head and probably overcomplex), let A be the class we want to make lazy copies of. We add additional functionality to A to implement the observer pattern and then define a class LazyProxy which does four things (note-- retain stuff is a NEXTSTEPism): (0) Retains InstanceOfA. (1) Forwards all "get" messages to A (2) Listens for notifications from A (for when A is changed) (3) When it gets a set message, it sees if it is the only proxy to A. If so, it does a [self autorelease]; self=instanceOfA; //slight problem here with retain counts that // needs to be handled (but no big deal). [self setMessage:]; otherwise, it creates a deep copy of InstanceOfA and does [self autorelease]; self=[instanceOfA deepCopy]; //slight problem here with retain counts that // needs to be handled (but no big deal). [self setMessage:]; Now, we add the method -(A *) lazyCopy to A and have it return a freshly allocated copy of LazyProxy. If we wanted to be fancier, there is a slight problem here-- calling lazyCopy on an instance of LazyProxy doesn't quite do what we'd expect (we get a proxy to the wrong object and, eventually, things can become out of sync faster than we'd want). But this is easy enough to fix. We just need LazyProxy's implementation of - lazyCopy has to be a little smarter (and not just a direct forwarding). One nice aspect of this is that LazyProxy really doesn't know anything about A (it simply forwards messages). Which means that we have one class for all our lazy copying needs (though we do need to implement the observer pattern for A-- we don't quite get off scot free). Cheers, Andy
From: embuck@yin.mcleod.net (Erik M. Buck) Newsgroups: comp.sys.next.programmer Subject: Re: Implementing category ? Date: 18 Mar 1997 03:34:11 GMT Organization: Another Netscape News Server User Message-ID: <5gl2fj$g1a1@news.mcleodusa.net> References: <332D4501.515@microcomp.de> Cc: novak@microcomp.de In <332D4501.515@microcomp.de> Petr Novak wrote: > Hallo ! > > I try to implement a category of NSTableHeaderView. I have overwritten > method mouseUp: but this method is called ONLY if I also overwrite > method mouseDown: Therefore, I get desirable functionality on mouseUp:, > but I lost functionality of mouseDown: (dragging,resizing) > Is there some explanation for such behaviour ? (Maybe handling of > events in responder chain ?) MouseUp events are not in a window's default event mask. mouseDown is probably adding mouseUp to the mask. Try adding mouseUp to the mask youself and see if you statrt getting the event. > Is there some possibility to implement this method in subclass > ChildNSTableHeaderView and let the compiler replace parent class with > child class in the class hierarchy ? > > Petr Novak > YES...See +poseAs:
From: "Bill Keller" <kellerw@okstate.edu> Newsgroups: comp.sys.next.programmer Subject: Openstep declining Date: 18 Mar 1997 04:38:30 GMT Organization: Oklahoma State University, Stillwater OK Message-ID: <01bc3356$5e052210$08254e8b@carcosa> Am I the only person out here losing hope for Openstep? I've been following the news on stepwise, and it seems to me that Apple is merely prolonging the inevitable. I've been playing around with openstep for nt, and in my opinion, it's pretty bad. Implementing DPS on top of the Windows display system seems like a gigantic kludge. Its slow, the development tools (in 4.1) seem incomplete and are very crash prone. All of the nice nextstep features (sound kit, 3d kit, etc) aren't there, nor is native support for things like sound and openGL. I'd like to upgrade my nextstep box from 3.3 to 4.2, but I'm wondering what the market is going to be for Mach after Rhapsody comes out. Sure, I can develop on Mach and port to Rhapsody, but again, I'd lose any of the platform specific features that Rhapsody offers. There doesn't seem to be a market for openstep, except for large company specific programming. This may change with Rhapsody, but with a dwindling market share, and a dim future, I'm finding it hard to stay optimistic. Any thoughts? -- Bill Keller (kellerw@okstate.edu) Is it too much? Close your eyes. Care to look inside? I am I.
From: apuleius@ix.netcom.com (William Grosso) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Tue, 18 Mar 1997 04:54:24 GMT Organization: Netcom Message-ID: <332e1f44.12840313@nntp.ix.netcom.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5gjotg$h8j$1@news.internetmci.com> <yospe-1703971026450001@usrns21.dialup.hawaii.edu> <332e0c62.8006793@nntp.ix.netcom.com> I wrote: >Now, we add the method -(A *) lazyCopy to A and have it return a >freshly allocated copy of LazyProxy. Duh ! The point was to avoid alloc'ing and initting as much as possible. When I started typing, I meant to throw in a reference to pooling LazyProxies (ala the MiscRecycler). I just forgot about it by the time I got to the above. Cheers, Andy
From: guyo@island.net.NOSPAM.EH (Guy René Ouellette) Newsgroups: comp.sys.mac.misc,comp.sys.next.programmer Subject: Re: NEW and IMPROVED! Quickest, Dirtiest Y2K Solution Date: Mon, 17 Mar 1997 21:17:27 -0800 Organization: HookUp Communication Corporation, Vancouver, BC, CANADA Message-ID: <guyo-1703972117270001@dyn82.island.net> References: <199703122344.PAA21362@sirius.infonex.com> <scottm-ya02408000R1303972004290001@news.erols.com> <3329e473.20218170@news.demon.co.uk> In article <3329e473.20218170@news.demon.co.uk>, dingbat@codesmiths.com wrote: > The moving finger of scottm@nic.com (Scott) having written: > > >>For the quickest, dirtiest Y2K solution, > >>check out the following web site: > > >> > >Why are you posting this in Mac groups? The Mac will handle the year 2000 > >just fine. It was designed that way. > > Don't you mean because the _NeXT_ was designed that way ?..... Oh, so the _NeXT_ is *also* designed that way! (Actually, that doesn't surprise me). -- Guy René Ouellette guyo@island.net
From: embuck@yin.mcleod.net (Erik M. Buck) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 18 Mar 1997 04:39:16 GMT Organization: Another Netscape News Server User Message-ID: <5gl69k$dhi1@news.mcleodusa.net> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5gjotg$h8j$1@news.internetmci.com> <332DD298.327E@okway.okstate.edu> Cc: gindrup@okway.okstate.edu In <332DD298.327E@okway.okstate.edu> Eric Gindrup wrote: > Deep copies do frequently occur in C++. For "real" projects, one > tries to make the copy a lazy copy. In this case, the copy is > exactly as fast as pointer assignment until someone tries to make > their copy different from everyone else's, in which case the deep > copy overhead is incurred once for each "divergent" copy. > > I missed the beginning of this thread and therefore may have missed > the point. If so, please disregard previous transmission. > -- Eric Gindrup ! gindrup@okway.okstate.edu > It helps to take advantage of the reference counting built into the FoundationKit. When immutable objects are copied, only a pointer assignment takes place. Mutable objects may or may not be deep copied. Given a large tree of mixed mutable and immutable objects, a copy of the tree will at worst copy the pointers of immutable nodes and deep copy the others. Another cool feature comes from Mach. Mach uses copy-on-write memory allocation. If you just copy the memory image of your data structure, you encounter no memory hit until and unless you attempt to modify the copy.
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Wait, do I even _need_ documents? Date: 18 Mar 1997 05:43:45 GMT Organization: Digital Fix Development Message-ID: <5gla2h$icv@news.digifix.com> References: <maury-1203971403220001@199.166.204.230> <E718u0.AxD@cam-ani.co.uk> <maury-1403971243020001@199.166.204.230> <5gcg6g$i2g1@news.mcleodusa.net> <maury-1703971255460001@199.166.204.230> In-Reply-To: <maury-1703971255460001@199.166.204.230> On 03/17/97, Maury Markowitz wrote: >In article <5gcg6g$i2g1@news.mcleodusa.net>, embuck@yin.mcleod.net (Erik >M. Buck) wrote: > >> I will not trust all of my data to OpenBase. OpenBase is a fine product! It >> is just not up to the task. >> (Openbase is an inexpensive relational database with EOF support) > > Does EOF not have it's own internal "simple" one? > No. Thats not to say that you can't implement them fairly easily by writing your own adaptor. I think the demos even have a flat file adaptor, although I'm not sure how useful it is.. >> NSDictionaries start using virtual memory after some point. As long as your >> data set fits in memory, NSDictionary performace will be great. After that, >> a virtual memory tuned database will do a better job. NSDictionary will keep >> working, it just gets slower. NSDictionary has some maximum number of keys >> supported (I would gues arrounf 4 billion). That may limit some applications. > > Well it's OK for mine, it's only 7800. > I'm currently running a dictionary that has 30,000 odd keys in it (zip codes). Lookups are fast. On OpenStep NT it was a drag on the system (a 200MHz PPro). I can run fine it fine on my 133MHz OS 4.1/Mach with it and loads of other stuff at the same time. Says something about NT... -- Scott Anguish DBS Online - http://www.dbs-online.com/DBS sanguish@digifix.com Stepwise OpenStep WWW - http://www.stepwise.com
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Wait, do I even _need_ documents? Date: 18 Mar 1997 05:45:17 GMT Organization: Digital Fix Development Message-ID: <5gla5d$ide@news.digifix.com> References: <5gcg6g$i2g1@news.mcleodusa.net> <E77AHH.49H@cam-ani.co.uk> In-Reply-To: <E77AHH.49H@cam-ani.co.uk> On 03/17/97, Ian Stephenson wrote: >> Further, administration/distribution/licensing/support contracts >> make the >> database unsuitable for anything but a large vertical app. >This unfortunatly is the case at the moment. Hopefully this will >change. If Apple bundle EOF (or make it available VERY cheaply), >and include a server based on Filemaker (v3 is relational - >without a UI, this would not really hit the current Filemaker >market, as users would still pay for the front end. Serious >users of the DB could upgrade to something more powerfull), then >that could change. EOF is great technology which currently NeXT >are holding to ransom. If they get it into the hands of more >developers then it could be the most exciting thing to happen in >a long time. > Since FileMaker seems to be ODBC compliant according to what I've read, the ODBC connector should work fine. EOF is a major bargain, and I'd love to see it rolled into the base OS... -- Scott Anguish DBS Online - http://www.dbs-online.com/DBS sanguish@digifix.com Stepwise OpenStep WWW - http://www.stepwise.com
From:  necakov@mljsdi9.dev.japan.ml.com (Tony Necakov) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 18 Mar 1997 06:11:26 GMT Organization: Merrill Lynch Message-ID: <5glbme$4q7@news.ml.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: >>Well you'd be wrong. At least I developed a system in C++ and bothered to >>learn the language and its idioms before I decided it was total shitte. I'd >>suggest you learn about Objective-C before condemning it. If I knew as >>little about Objective-C as you seem to, I wouldn't want to use it either. > > Touchy, aren't we? OK, I got it wrong IN THIS PARTICULAR INSTANCE, Maybe a little, I was getting tired of your uninformed attacks on the language. But really, investigate the language before passing on it. You can do things you wouldn't dream about doing in C++. One of my favorite things about Objective-C is the way you can top-load intelligence in a hierarchy such that your derived classes don't have to reimplement the same generic behavior. C++ can do this as well, right? Wrong. Let me give you a specific example, a real business world example and not a pathological text book case, I know you hate those. I've created a hierarchy of Inspector Classes that give you information about any graphical object you click on. The gui objects know nothing about the inspectors. I start off with an abstract Inspector that knows how to load its NIB section (this is a nextism that lets you load archived, usually graphical, objects with their connections in place). Each inspector has its own NIB which is named the same as the inspector; however, I only have to write this NIB loading once as follows: - (id)init { [super init]; [NSBundle loadNibNamed:[[self class] description] owner:self]; return (self); } The key here is that [[self class] description] will return the name of the class that the object is actually a kind of. Each subclass will return a different value as opposed to what C++ would do. I don't have to write a custom constructor for each Inspector as I would have to in C++. If you couldn't follow that, take a look at the following code samples. This C++ code: // ---------------------------------------------------------------------- #include <stdio.h> class SuperClass { public: SuperClass(); virtual void describe (); }; SuperClass::SuperClass () { this->describe ();} void SuperClass::describe () { printf ("I am a SuperClass\n"); } class SubClass : SuperClass { public: virtual void describe (); }; void SubClass::describe () { printf ("I am a SubClass\n"); } main (int argc, char** argv) { SuperClass* super = new SuperClass; SubClass* sub = new SubClass; } // ---------------------------------------------------------------------- Generates the following questionable output: I am a SuperClass I am a SuperClass Not very object oriented if you ask me. The following ObjC code however: // ---------------------------------------------------------------------- #import <Foundation/NSObject.h> @interface SuperClass : NSObject {} - (id) init; - (void) describe; @end @implementation SuperClass - (id) init { [self describe]; } - (void) describe { printf ("I am a SuperClass\n"); } @end @interface SubClass : SuperClass {} - (void) describe; @end @implementation SubClass - (void) describe { printf ("I am a SubClass\n"); } @end main (int argc, char** argv) { id super = [[SuperClass alloc] init]; id sub = [[SubClass alloc] init]; } // ---------------------------------------------------------------------- Generates the much more appropriate output: I am a SuperClass I am a SubClass Gotta love that dynamic messaging. Want to see some more code that you'd kill yourself to write in C++, checkout the following method implementation. When a gui object receives a mouse down it get inspected as follows: The application is informed of the mouse down and of the individual object which received the mouse down. The app owns a panel in which it displays different kinds of inspectors depending on what is being inspected. It does this by implementing the following method: - (void)inspect:(id)inspectee { Class inspectorClass; // This will be the factory inspector object id inspector; // This will be the correct inspector instance NSString *sClass; // This will be a string representation of // the factory inspector class' name. if ([panel isVisible]) { // construct the name of the inspector factory by appending "Inspector" // to the inspectee name. For instance Button becomes ButtonInspector. sClass = [[[inspectee class] description] stringByAppendingString:@"Inspector"]; // obtain the factory for the correct Inspector if one exists using // this convenient runtime function which actually returns an object // factory from a string. inspectorClass = NSClassFromString(sClass); if (inspectorClass) // If the factory exists, I get to instantiate a custom // ButtonInspector or BrowserInspector or etc. inspector = [inspectorClass new]; else // If it doesn't, I instantiate a genericInspector which simply // displays the class name of the inspected object. inspector = [GenericInspector new]; [[(NSPanel *)[self panel] contentView] retain]; // I insert the correct Inspector into my panel [(NSPanel *)[self panel] setContentView:[inspector viewInspector]]; // Set my panels title to the Inspector's name [[self panel] setTitle:[[inspector class] description]]; // And have the inspector interrogate the inspectee so that it can // display the appropriate information about the inspectee to the user // subsequently allowing the user to configure the inspected object [inspector inspect:inspectee]; } } Can you grasp the power of what is happening here. If I create new custom inspectors and compile them into my app they will automagically be used. I never have to touch this code again, no case statements, no if this object then use that inspector. This would be a nightmare to implement in C++. Someone said that objective-C can be obscenely beautiful, I agree completely, you just have to know how to use it. Verite', Tony
From: decoy_id@to_fool_junk_on_the.net (Lee Altenberg) Newsgroups: comp.sys.next.programmer Subject: Re: Openstep declining Date: 18 Mar 1997 06:49:49 GMT Organization: MHPCC Message-ID: <5gldud$c0b@kaopala.mhpcc.edu> References: <01bc3356$5e052210$08254e8b@carcosa> Cc: kellerw@okstate.edu In <01bc3356$5e052210$08254e8b@carcosa> "Bill Keller" wrote: > I've been playing around with openstep for nt, > and in my opinion, it's pretty bad. Implementing DPS on top of the Windows > display system seems like a gigantic kludge. Its slow, the development > tools (in 4.1) seem incomplete and are very crash prone. Very interesting. This is the first "review" I've seen for OpenStep/NT. Doesn't sound encouraging as far as cross platform potential for OpenStep. OpenStep/Solaris has been reported to be dog slow too (of course, that's Sun's fault). Anyone else have first hand experience with OpenStep/NT? -- ======================================================================= Lee Altenberg, Ph.D. Research Affiliate, University of Hawai`i at Manoa Office: Maui High Performance Computing Center 550 Lipoa Parkway, Suite 100 Kihei, Maui HI 96753 Phone: (808) 879-5077 x 296 (work), (808) 879-5018 (fax) E-mail: altenber@mhpcc.edu <MIME and NeXT Mail o.k.> Web: http://pueo.mhpcc.edu/~altenber/ =======================================================================
From: Jon Rosen <jfrx@earthlink.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sat, 15 Mar 1997 16:58:19 +0000 Organization: Earthlink Network, Inc. Message-ID: <332AD52B.68EE@earthlink.net> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> <5ft5bp$kok@lal.interserv.com> <5fvu7l$50h@usenet.rpi.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Garance A Drosehn wrote: > > Java is a language. As a language, my own prediction is that two > years from now there will be more happening in Java than in pure > C++. I should probably hedge that a bit, and say that there will > be more new things happening with "Java and other OO languages" > then there will be with C++. While Java 1.0 wasn't all it was > billed to be, new versions of Java are filling in the most glaring > deficiencies. > > Web applications use a virtual machine for running Java byte codes. > Some people have a weird notion that there is something about the > Java language which makes it impossible to compile Java into > hardware-native code. It is odd that such confusion exists. Now, > I agree that it is quite possible that the JVM will only be used > for web applets within two years, but that's not the same as saying > Java (as a language) will be limited to web applets. > > [furthermore, it wouldn't be all that surprising to me if we find > that there is a better intermediate representation than the current > Java byte codes and JVM] > Not to mention the likelihood of seeing silicon-based JVM accelerator cards which bring Java performance significantly. The advantages of such a strategy have already been proven in areas such as video graphics accelerators where cards are built to accelerate performance of graphic primitive and complex operations by intercepting or vectoring standard API calls. It is unfortunate, IMHO, that the Windows standard for graphics seems to have been settled on by the industry (as opposed to Display Postscript which is superior), but the concept is good. The Java VM poses the same opportunities. While the Java VM built into a browser or a run-time will always be capable of running Java bytecodes directly, if there is an accelerator card on the machine, it will be able to move much of the work to the accelerator card for significant performance gains. Add to this that Java is inherently multithreadable, and you have the opportunity to add multiple accelerator cards and actually turn a simple desktop box into a powerful multiple processor system. Watching Java-based apps run today can be exasperating, but in the future, both with faster principal CPUs, as well as accelerators, Java will provide significant advantages over more traditional languages like C, Obj-C and C++, not even starting to mention the portability aspects. Jon Rosen PS - Hi to some old friends out there. I have been away a while and I am just getting back to the Internet.
From: jcr@idiom.com (John C. Randolph) Newsgroups: comp.sys.next.programmer Subject: Re: Openstep declining Date: 18 Mar 1997 02:39:50 -0800 Organization: A poorly-installed InterNetNews site Message-ID: <jcr.858681118@idiom.com> References: <01bc3356$5e052210$08254e8b@carcosa> It's been said that OpenStep on NT is like putting lipstick on a pig. Sticking to the Windows UI as much as NeXT did, IMHO, amounts to putting transparent lipstick on a pig. Before the merger, NeXT really did have to support NT. Now, for political reasons, they still have to, but I will *never* go along with a plan to deploy OpenStep code on a Microsquish platform. Consider WebObjects. Develop the wizziest web site the world has ever seen, and then put it on an NT box, so that anyone who can send it a TCP packet can take it down? I don't *think* so! Consider any spiffy custom app you've written under OpenStep for Mach. Care to deploy it on a Desktop OS that crashes hourly? No thanks, I'd rather not go *there* today. NT is crap. NT is unsecure, unsecurable, and it only looks robust compared to Microsquish's earlier abortions. W95 is DOS. 'nuff said. Let's all make the point, as emphatically as possible, to the marketing pukes of the world, that OpenStep is a wonderful development environment, with which we will write apps that deserve to be deployed on a platform that works. -jcr
From: rog@ohm.york.ac.uk (Roger Peppe) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: 18 Mar 1997 12:54:46 GMT Organization: Department of Electronics, University of York, UK. Message-ID: <5gm3an$hgr@netty.york.ac.uk> References: <msg37701.thr-34dc7b90.54c5638@flannet.middlebury.edu> <5evgk9$7m4@news.next.com> <1997031007201320839001@pool011-146.innet.be> On Mon, 10 Mar 1997 07:20:13 +0100, Luc Dubois <ldubois@syndetics.be> wrote: > Check it out on <http://www.ics.uci.edu/~juice> even better, check out http://www.lucent.com/inferno/ Inferno is *not* intended exclusively for web applets - it's a truly portable OS with a very small footprint (an interesting system can run in 512K RAM and 512K ROM) and many innovative ideas that make it extraordinarily networkable and powerful. from the press release: > Inferno 1.0 runs as a stand-alone operating system on small devices > which use Hitachi SH3, DEC StrongArm, Intel Architecture, MIPS, > Motorola 68030, Power PC, SPARC and ARM processors. The product also > can be hosted as a virtual system on Sun Solaris, Silicon Graphics > IRIX, DEC Alpha, HP-UX, Linux and Microsoft NT and Win95. inferno is from the original developers of unix, at bell labs, (now part of Lucent technologies) and really does provide a decent solution to most of the problems of cross platform development, (unlike java, for instance which tries to solve all security and platform independence problems in the language itself) i'm in the process of porting my nextstep app to inferno because i believe it can offer real benefits to the consumer, and more to the point, inferno is a dream to develop for... the language is spartan, but is an absolute pleasure to use. and you *know* that once you've written an application once, it will run *without change* on all other inferno platforms. you can download the inferno developer's kit for free. rog. p.s. i have no connection with Lucent other than awe-inspired onlooker...
From: zander@conextions.com (Aleksey Sudakov) Newsgroups: comp.sys.next.programmer Subject: Re: Openstep declining Date: 18 Mar 1997 16:41:39 GMT Organization: The Internet Access Company, Inc. Message-ID: <5gmgk3$4hk@news-central.tiac.net> References: <01bc3356$5e052210$08254e8b@carcosa> <5gldud$c0b@kaopala.mhpcc.edu> In-Reply-To: <5gldud$c0b@kaopala.mhpcc.edu> On 03/17/97, Lee Altenberg wrote: >In <01bc3356$5e052210$08254e8b@carcosa> "Bill Keller" wrote: >> I've been playing around with openstep for nt, >> and in my opinion, it's pretty bad. Implementing DPS on top of the Windows >> display system seems like a gigantic kludge. Its slow, the development >> tools (in 4.1) seem incomplete and are very crash prone. > >Very interesting. This is the first "review" I've seen for OpenStep/NT. >Doesn't sound encouraging as far as cross platform potential for OpenStep. >OpenStep/Solaris has been reported to be dog slow too (of course, that's Sun's >fault). Anyone else have first hand experience with OpenStep/NT? I do, but the same way OpenStep/Solaris is Sun's fault (DPS on top of OpenLook or whatever the name of sun's widget set), OpenStep/NT is Micro$oft fault. No matter how bad these two implementations are it doesn't prove that OpenStep as a cross-platform solution is bad. It's just a poor implementation. Let's wait for GNUstep folks show us the true power of OpenStep. Aleksey
From: zander@conextions.com (Aleksey Sudakov) Newsgroups: comp.sys.next.programmer Subject: Re: Openstep declining Date: 18 Mar 1997 16:33:03 GMT Organization: The Internet Access Company, Inc. Message-ID: <5gmg3v$472@news-central.tiac.net> References: <01bc3356$5e052210$08254e8b@carcosa> In-Reply-To: <01bc3356$5e052210$08254e8b@carcosa> On 03/17/97, "Bill Keller" wrote: >Am I the only person out here losing hope for Openstep? I've been >following the news on stepwise, and it seems to me that Apple is merely >prolonging the inevitable. I've been playing around with openstep for nt, >and in my opinion, it's pretty bad. Implementing DPS on top of the Windows >display system seems like a gigantic kludge. Its slow, the development >tools (in 4.1) seem incomplete and are very crash prone. Well, but sometimes they are better then similar one under Mach. Yesterday my third project stop to run from the debugger under Mach. It just hangs, through under NT it runs fine. Am I the only unlucky person? It's so darn inconvenient to debug under NT. Just my 0.002 cents. Aleksey
From: jalon@triere.ens.fr (Julien Jalon) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 18 Mar 1997 17:07:40 GMT Organization: Ecole Normale Superieure, Paris Message-ID: <5gmi4s$ajo$1@nef.ens.fr> References: <330E54AC.167E@innosys.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> In article <5glbme$4q7@news.ml.com>, Tony Necakov < necakov@mljsdi9.dev.japan.ml.com> wrote: >- (void)inspect:(id)inspectee > >{ [... snip snip ...] > // construct the name of the inspector factory by appending "Inspector" > // to the inspectee name. For instance Button becomes ButtonInspector. > sClass = [[[inspectee class] description] > stringByAppendingString:@"Inspector"]; > > // obtain the factory for the correct Inspector if one exists using > // this convenient runtime function which actually returns an object > // factory from a string. > inspectorClass = NSClassFromString(sClass); > > if (inspectorClass) > // If the factory exists, I get to instantiate a custom > // ButtonInspector or BrowserInspector or etc. > inspector = [inspectorClass new]; > else > // If it doesn't, I instantiate a genericInspector which simply > // displays the class name of the inspected object. > inspector = [GenericInspector new]; > [... snip snip ...] >} > >Can you grasp the power of what is happening here. If I create new custom >inspectors and compile them into my app they will automagically be used. I >never have to touch this code again, no case statements, no if this object >then use that inspector. This would be a nightmare to implement in C++. >Someone said that objective-C can be obscenely beautiful, I agree completely, >you just have to know how to use it. And you can be much more powerfull by using categories : @interface NSObject (Inspectable) - classInspector; @end @implementation NSObject (Inspectable) - classInspector { return [GenericInspector class]; } @end and replace your code above just by : - (void)inspect:(id)inspectee { [... snip snip ...] inspectorClass=[inspectee classInspector]; [... snip snip ...] } if you want to add an inspector of class MyInspectorClass for a class (and all the subclass which don't have a specific inspector class), e.g. : MyClass, you just have to write (of course) the MyInspectorClass and add the category for the class MyClass : @implementation MyClass (Inspectable) - classInspector; @end @implementation MyClass (Inspectable) - classInspector { return [MyInspectorClass class]; } @end That's what we use with Interface Builder and it is very powerfull --Julien -- Julien Jalon | Ecole normale superieure jalon@clipper.ens.fr | 45 rue d'Ulm http://www.eleves.ens.fr:8080/home/jalon/ | 75230 Paris Cedex 05 | FRANCE
From: Greg_Anderson@afs.com (Gregory H. Anderson) Newsgroups: comp.sys.next.programmer Subject: Re: Openstep declining Date: 18 Mar 1997 18:05:47 GMT Organization: Anderson Financial Systems Inc. Message-ID: <5gmlhr$g1v@shelob.afs.com> References: <jcr.858681118@idiom.com> John C. Randolph writes > Let's all make the point, as emphatically as possible, to the > marketing pukes of the world, that OpenStep is a wonderful development > environment, with which we will write apps that deserve to be deployed > on a platform that works. OK, but let's remember not to call them "pukes" to their faces. 8^) That'll be hard, I know, but sales should be stronger that way. As the saying goes, "Always be sincere, even when you don't mean it." -- Gregory H. Anderson | "I wander'd off by myself, In the Crystal Ball/Star Gazer | mystical moist night-air, and from Anderson Financial Systems | time to time, Look'd up in perfect greg@afs.com (NeXTmail OK) | silence at the stars." Walt Whitman
From: mtrombin@ix.netcom.com (Mark Trombino) Newsgroups: comp.sys.next.programmer Subject: Why lose "return self" in Openstep? Date: 18 Mar 1997 18:11:01 GMT Organization: Egghead Billy, Inc. Message-ID: <5gmlrl$5n@dfw-ixnews4.ix.netcom.com> I've just started converting an app of mine to Openstep from NS 3.2. I was reading the "Converting Your Code" document in the developer release notes, and read the following: "Previously, methods returned self by convention. Some methods return self to indicate success and nil to indicate failure. Returning self to indicate a Boolean value or returning self without any associated meaning made the API more confusing." I can live with this convention, but I don't know if I agree with it. I don't think that it made the API anymore confusing, but it did make my code a little more elegant. I remember when I was learning to write NEXTSTEP programs, it was emphasized how cool it was that methods returned self, because it enabled you to do things like: [[[myObject doSomething] doSomethingElse] doAnotherThing]; A cool thing about that is that if -doSomething returns nil, the rest of the line doesn't get executed. Perhaps this is bad practice, I don't know... Instead, now I'll have to do something like: if([myObject doSomething]) if([myObject doSomethingElse]) [myObject doAnotherThing]; I can live with this, its no big deal either way. But what I'm wondering is, was this change made REALLY because it made the API more confusing, or is there a better explanation, one that justifies such a change? And who was this confusing to? C++ programmers? If anyone out there knows of a better reason why returning VOID is better than returning self, please let me know... Just curious, -- Mark Trombino mtrombin@ix.netcom.com (NEXTMail, MIME Mail okay)
Date: Tue, 18 Mar 1997 12:51:19 -0600 From: rberber@spin.com.mx Subject: Re: Perl Newsgroups: comp.sys.next.programmer Message-ID: <858710783.12760@dejanews.com> Organization: Deja News USENET Posting Service To: cavery@dc.net Christopher Avery wrote: > > I downloaded the Perl Package from ftp-next-peak but it wouldn't > install. Instaed it said not all the programs in the package were > in the package and I should install from the original floppies. Can > anyone help with this? > If you have version 5.002 from Peak, there was an error in the installation which I reported to TipTop (the guys that made the package) back in january. I had to change the file Perl.pre_install (inside the package), on line 67 it said: compress -c > /tmp/##${packageName}##.tar.Z the installation doesn't work until you change that line into: compress -c > ${packagePath}/${packageName}.tar.Z Regards, --- Rene Berber rberber@spin.com.mx MIME / NeXT Mail welcomed -------------------==== Posted via Deja News ====----------------------- http://www.dejanews.com/ Search, Read, Post to Usenet
From: rog@ohm.york.ac.uk (Roger Peppe) Newsgroups: comp.sys.next.programmer Subject: Re: Two-column Menus Date: 18 Mar 1997 18:16:25 GMT Organization: Department of Electronics, University of York, UK. Message-ID: <5gmm5p$p9n@netty.york.ac.uk> References: <5gbbhl$r0t@lyra.csx.cam.ac.uk> On 14 Mar 1997 11:07:33 GMT, biesingert@asme.org <biesingert@asme.org> wrote: > Does anybody out there know how to handle a > Services Menu that has become too long i.e. > display it in two columns? What else could I do > when the lower part cannot be displayed within > the screen area? it scrolls automatically when you drag the mouse off the screen. (try it - click the right mouse button near the bottom of the screen, and then drag the mouse downwards) rog.
From: rog@ohm.york.ac.uk (Roger Peppe) Newsgroups: comp.sys.next.programmer Subject: Re: Implementing category ? Date: 18 Mar 1997 18:29:59 GMT Organization: Department of Electronics, University of York, UK. Message-ID: <5gmmv7$p9n@netty.york.ac.uk> References: <332D4501.515@microcomp.de> <5gl2fj$g1a1@news.mcleodusa.net> On 18 Mar 1997 03:34:11 GMT, Erik M. Buck <embuck@yin.mcleod.net> wrote: > In <332D4501.515@microcomp.de> Petr Novak wrote: > > I try to implement a category of NSTableHeaderView. I have overwritten > > method mouseUp: but this method is called ONLY if I also overwrite > > method mouseDown: Therefore, I get desirable functionality on mouseUp:, > > but I lost functionality of mouseDown: (dragging,resizing) > > Is there some explanation for such behaviour ? (Maybe handling of > > events in responder chain ?) > MouseUp events are not in a window's default event mask. mouseDown is > probably adding mouseUp to the mask. Try adding mouseUp to the mask youself > and see if you statrt getting the event. actually, this probably won't work, because a mouseDown event received by NSTableHeaderView probably initiates an event loop, which gets events directly from the event queue, so the mouseUp method will not be called. the following way might be a reasonable solution: - (void)mouseDown:(NSEvent *)e { [super mouseDown:e]; [self myMouseUpCode]; } this assumes that you always want something to happen on a mouse up event, and that the native mouseDown method always processes events until it gets a mouseUp event. obviously it won't work as a category method, because the call to super must work correctly in order to retain the old functionality. if you wanted to hijack a bit of the NSTableView's space for your own mouse action, you could do something like: - (void)mouseDown:(NSEvent *)e { if (NSPointInRect([self convertPoint:[e location] fromView:nil], specialRect)) [self myMouseDownCode:e]; else [super mouseDown:e]; } where specialRect is the rectangle in the view that you want special mouse event processing for. hope this helps, rog.
From: marcel@sysyem.de Newsgroups: comp.sys.next.programmer Subject: Re: Why lose "return self" in Openstep? Date: 18 Mar 1997 19:13:15 GMT Organization: Technical University Berlin, Germany Distribution: world Message-ID: <5gmpgb$n44$1@brachio.zrz.TU-Berlin.DE> References: <5gmlrl$5n@dfw-ixnews4.ix.netcom.com> In article <5gmlrl$5n@dfw-ixnews4.ix.netcom.com> mtrombin@ix.netcom.com (Mark Trombino) writes: I think one of the main reasons is that returning 'self' over a distributed objects connection just for the heck of it is somewhat annoying. Marcel
From: "Andrew J. Smith" <ajs@tnrealestate.com> Newsgroups: comp.sys.next.programmer Subject: Re: Why lose "return self" in Openstep? Date: Tue, 18 Mar 1997 13:11:16 -0600 Organization: KAL Software, LLC Message-ID: <332EE8D4.6EDA@tnrealestate.com> References: <5gmlrl$5n@dfw-ixnews4.ix.netcom.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: mtrombin@ix.netcom.com Mark Trombino wrote: > > I've just started converting an app of mine to Openstep from NS 3.2. I was > reading the "Converting Your Code" document in the developer release notes, > and read the following: > > "Previously, methods returned self by convention. Some methods return self to > indicate success and nil to indicate failure. Returning self to indicate a > Boolean value or returning self without any associated meaning made the API > more confusing." > > I can live with this convention, but I don't know if I agree with it. I > don't think that it made the API anymore confusing, but it did make my code a > little more elegant. I remember when I was learning to write NEXTSTEP > programs, it was emphasized how cool it was that methods returned self, > because it enabled you to do things like: > > [[[myObject doSomething] doSomethingElse] doAnotherThing]; > > A cool thing about that is that if -doSomething returns nil, the rest of the > line doesn't get executed. Perhaps this is bad practice, I don't know... > > Instead, now I'll have to do something like: > > if([myObject doSomething]) > if([myObject doSomethingElse]) > [myObject doAnotherThing]; > > I can live with this, its no big deal either way. But what I'm wondering is, > was this change made REALLY because it made the API more confusing, or is > there a better explanation, one that justifies such a change? And who was > this confusing to? C++ programmers? If anyone out there knows of a better > reason why returning VOID is better than returning self, please let me > know... > > Just curious, > > -- > Mark Trombino > mtrombin@ix.netcom.com (NEXTMail, MIME Mail okay) While I'm certainly not an Objective-C wizard, I understand that the reason for this is to increase performance of DOE (Distributed Objects Everywhere?) programs. If "return self" is used in a program that has been segmented over a network, then the object is packaged up and returned over the network. This is not usually necessary and can create a severe performance problem. Someone feel free to correct me if this is wrong. Andrew J. Smith KAL Software, LLC
From: "Andrew J. Smith" <ajs@tnrealestate.com> Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep on DOS compatible Mac. Possible? Date: Tue, 18 Mar 1997 13:19:22 -0600 Organization: KAL Software, LLC Message-ID: <332EEABA.41A4@tnrealestate.com> References: <taustin-1703971841350001@d133-1.cpe.melbourne.aone.net.au> <5gk33d$ces@news.next.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: mark_bessey@next.com Mark Bessey wrote: > > T. Austin writes > > I am a Mac user who wants to learn how to develop for OpenStep. > > Currently I have a Macintosh with a 486 66MHz card installed. I need to > > know the best way to go about doing this, and indeed if it is possible > > at all. > > > > I am willing to upgrade hardware to do this. > > Unless your 486 card can run Windows NT, you're out of luck. OPENSTEP for > Mach won't run on Macintosh DOS-compatibility cards. The cards rely on a > custom BIOS to allow DOS to run. NEXTSTEP doesn't use the BIOS except > during startup... > > -Mark > -- > Mark Bessey > Apple Computer, Inc. > -->I DON'T SPEAK FOR APPLE<-- I saw an OrangePC ad the other day that claims some of their new DOS cards for Mac can run NT. Has anyone out there used one of these? Andrew J. Smith KAL Software, LLC
From: Stefan Zeiger <szeiger@isobel.rhein-main.de> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Followup-To: comp.lang.objective-c Date: 18 Mar 1997 20:01:17 +0100 Message-ID: <m2209ddnya.fsf@isobel.rhein-main.de> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> Mime-Version: 1.0 (generated by tm-edit 7.69) Content-Type: text/plain; charset=US-ASCII Tony Necakov wrote: > [...] One of my favorite > things about Objective-C is the way you can top-load intelligence in a > hierarchy such that your derived classes don't have to reimplement the same > generic behavior. [...] I'd like to add a similar example which demonstrates the power of Objective-C's dynamic OO model. Many Amiga programs implement an ARexx port. ARexx is a general-purpose script language which is (in the case of this example) mainly used for interconneting programs which provide some of their functionality through an ARexx port. Imagine a class RexxHost which implements a basic ARexx host. You can add custom ARexx commands by subclassing it: @interface MyRexx: RexxHost - rxcVERSION; @end @implementation MyRexx - rxcVERSION { [self replyRexxCmd:"rexxTest for ObjectiveAmiga" rc:RC_OK]; } @end Now create an instance of MyRexx, initialize it with an ARexx host name and run it for example with "[[[[MyRexx alloc] initHost:"REXXTEST"] run] free]". Note that the above class plus a main() function running "[[[[MyRexx alloc] initHost:"REXXTEST"] run] free]" make up a fully functional example program (RexxHost provides a "QUIT" command which makes "run" return; This can of course be overridden in subclasses because it is implemented as a "rxcQUIT" method). You do not have to tell RexxHost which commands you implement because this information is available through the Objective-C runtime. When the ARexx interpreter encounters an unknown command and the script specified a host ("ADDRESS REXXTEST") it asks the host to run the command if possible or return an error (which is handled by the interpreter or an error handler in the script) if the command is not implemented. Let's look at what happens when RexxHost is asked to process a command: - handleRexxMsg { char *p; char cmdString[30]; SEL cmdSel; int i,j; // [...] // p contains an ARexx command (in upper case) plus arguments // Now we create the corresponding method name strcpy(cmdString,"rxc"); for(i=3,j=0;(p[j]!=' ')&&(p[j]!=0)&&(i<27);i++,j++) cmdString[i]=p[j]; cmdString[i++]=0; // First part of the Objective-C magic: Get a selector for the method cmdSel=sel_get_uid(cmdString); // [...] // Magic, part 2: Call the selected method if it exists if([self respondsTo:cmdSel]) { refused=NO; [self perform:cmdSel]; if(!refused) ReplyMsg((struct Message *)rexxMsg); } else refused=YES; // [...] } PS: F'Up2 set to comp.lang.objective-c. This really has nothing to do with NeXT or Mac.
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.next.programmer Subject: Re: Wait, do I even _need_ documents? Date: Tue, 18 Mar 1997 15:18:56 -0500 Organization: SoftArc Inc. Message-ID: <maury-1803971518560001@199.166.204.230> References: <maury-1203971403220001@199.166.204.230> <E718u0.AxD@cam-ani.co.uk> <maury-1403971243020001@199.166.204.230> <5gcg6g$i2g1@news.mcleodusa.net> <maury-1703971255460001@199.166.204.230> <5gla2h$icv@news.digifix.com> In article <5gla2h$icv@news.digifix.com>, sanguish@digifix.com (Scott Anguish) wrote: > I can run fine it fine on my 133MHz OS 4.1/Mach with it and > loads of other stuff at the same time. Says something about NT... Well let's be fair, OpenStep for NT. Ok, NT. :-) Maury
From: teb@eng.cam.ac.uk Newsgroups: comp.sys.next.sysadmin,comp.sys.next.programmer Subject: texinfo Date: 18 Mar 1997 20:39:08 GMT Organization: University of Cambridge, England Message-ID: <5gmuhc$f3v@lyra.csx.cam.ac.uk> Do not manage to compile texinfo-3.9 with cc 2.5.8 for OpenStep 4.0 / Intel. Could anybody send me one? Many thanks, Thomas --- Thomas E Biesinger, Engineering Department, University of Cambridge, Trumpington Street, Cambridge CB2 1PZ, UK, em: biesingert@asme.org, vc: +44 1223 3 32869, fx: +44 1223 3 32662. NeXT-Mail welcome, PGP-2.6.i key available.
Newsgroups: comp.sys.next.programmer Organization: Antigone Press gateway, San Francisco Return-Path: <khe@jonathan.bta.net.cn> Message-ID: <9703180952.AA20931@jonathan.bta.net.cn> Mime-Version: 1.0 (NeXT Mail 3.3 v118.2) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Sender: Karsten Heinze <khe@jonathan.bta.net.cn> From: Karsten Heinze <Karsten.Heinze@Informatik.TU-Chemnitz.DE> Date: Tue, 18 Mar 97 17:52:33 +0800 Subject: Re: Openstep declining Cc: comp-sys-next-programmer@antigone.com In article <5gldud$c0b@kaopala.mhpcc.edu>, you wrote: > In <01bc3356$5e052210$08254e8b@carcosa> "Bill Keller" wrote: > > I've been playing around with openstep for nt, > > and in my opinion, it's pretty bad. Implementing DPS on top of = the Windows > > display system seems like a gigantic kludge. Its slow, the = development > > tools (in 4.1) seem incomplete and are very crash prone.=20 >=20 > Very interesting. This is the first "review" I've seen for = OpenStep/NT. =20 > Doesn't sound encouraging as far as cross platform potential for = OpenStep.=20 > OpenStep/Solaris has been reported to be dog slow too (of course, = that's Sun's=20 > fault). Anyone else have first hand experience with OpenStep/NT? Same bad experience for me. I run OpenStep 4.1/Mach on a P100/64MB and OpenStep 4.1/NT on a = P200/64MB. It is nice working with NeXTSTEP (i don't like the name = OpenStep/Mach), but NT is REALLY slow, crashs 2 times daily, no good = apps, ... Normally I would never use any M$ "OS", but i must develop on NT, = because no EOF adaptors for Mach, no Java for NeXTSTEP, ... - Karsten --- Karsten.Heinze@Informatik.TU-Chemnitz.DE=20 Phone / Fax : +86-10-64 94 78 03 *** Powered_By_NeXTSTEP ***
From: william@pdh.com Newsgroups: comp.sys.next.programmer Subject: Re: Why lose "return self" in Openstep? Date: 18 Mar 1997 21:12:37 GMT Organization: pdh Message-ID: <5gn0g5$mtf@news6.noc.netcom.net> References: <5gmlrl$5n@dfw-ixnews4.ix.netcom.com> Cc: mtrombin@ix.netcom.com In <5gmlrl$5n@dfw-ixnews4.ix.netcom.com> Mark Trombino typed: > I've just started converting an app of mine to Openstep from NS 3.2. I was > reading the "Converting Your Code" document in the developer release notes, > and read the following: > >...I can live with this, its no big deal either way. But what I'm wondering is, > was this change made REALLY because it made the API more confusing, or is > there a better explanation, one that justifies such a change? > There's a general principle here-- return values should be meaningful (you should only get an object pointer when you request one) and they should be checked. While "chaining" together method calls like [[[myObject doSomething] doSomethingElse] doAnotherThing]; is convenient, it promotes bad practice because programmers tend to just assume everything succeeded (sorta like when people don't check their mallocs). From a pragmatic viewpoint: think about DO and RPC for a moment. Returning self is just plain yucky there. Cheers, Andy
From: teb@eng.cam.ac.uk Newsgroups: comp.sys.next.sysadmin,comp.sys.next.programmer Subject: cc-2.5.8 (OpenStep4.0) and gcc-2.7.2.2 Date: 18 Mar 1997 21:35:28 GMT Organization: University of Cambridge, England Message-ID: <5gn1r0$f3v@lyra.csx.cam.ac.uk> Hello gurus, 'make CC=cc bootstrap' results in a bus error when I try and compile gcc-2.7.2.2 under OpenStep4.0 / Intel with cc-2.5.8. Any hints are most appreciated. Thanks! Thomas --- Thomas E Biesinger, Engineering Department, University of Cambridge, Trumpington Street, Cambridge CB2 1PZ, UK, em: biesingert@asme.org, vc: +44 1223 3 32869, fx: +44 1223 3 32662. NeXT-Mail welcome, PGP-2.6.i key available.
Newsgroups: comp.sys.next.programmer Organization: Antigone Press gateway, San Francisco Return-Path: <mross> Message-ID: <199703181746.AA03821@ergotech.com> Mime-Version: 1.0 (NeXT Mail 3.3 v118.2) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable From: Jim Redman <jim@ergotech.com> Date: Tue, 18 Mar 97 10:53:28 -0700 Subject: RE:Component Software for Rhapsody Cc: raph@porter.as.utexas.edu raph@porter.as.utexas.edu (William Raphael Hix) writes: > The decision to strand OpenDoc with the current MacOS begs = several >questions about the future of component software on the Mac. =20 and: > First, what is NeXT's current approach to component software? = =20 How are we defining component software? NeXT already supports the = fairly standard definition of components, which translates to "any = application complying with CORBA or some similar standard", with = some caveates. In manufacturing, my particular area of interest, = OMG's CORBA and Microsoft's DCOM are the two major standards and = with the progressing integration of these two standards it's = reasonable to expect their dominance to continue. Neither of = these preclude the creation of document managment tools. =46rom = my perspective the demise of OpenDoc and DSOM is no surprise, nor = a major concern, others may differ. Neither of these standards = (CORBA or DCOM), in itself, is sufficient to create hetergenous = component software, that is, different vendors creating = applications to these standards is a necessary, but not a = sufficient, condition for interoperability. To get = interoperability requires that the interface to applications, = essentially the methods a remote object understands, be defined. = This is the purpose of CORBAServices and JavaBeans (is there a = Microsoft equivalent?). To me, this leaves a class of component applications undefined. = With NS/OS it is possible to load and unload "components" on the = fly. That is, you can take objects, functions etc. and run-time = link them into a running application. This makes it possible for = someone with very little knowledge of the application, no = knowledge of CORBA/DCOM/etc., but with a clear knowledge of what = they want the application to do, to simply change the application. = In our case, for example, to support a new device on the factory = floor, requires the development of code that pertains only to that = device, not to how to pass the data over a CORBA compliant = network. These "fine grained" components, relatively simple with = NS/OS, are largely unavailable on other platforms and so don't = even have a name! In the latest OS docs there is a hint that frameworks may become = unloadable. NeXT's reference counting scheme allows the run-time = system to know whether any object within a framework in referenced = and so make unloading feasible and perhaps fairly easy. Once you = know that no object within a framework is referenced it is = possible to unload the whole framework. C functions and other = variables within a framework might be a problem, but disallowing = indirect references to these from outside the framework or making = these references the responsibility of the developer, would not be = a huge restriction. NeXT/Apple could maintain their substantial = lead in component development by completing this technology (and = perhaps they could find a name for it?). >Since component software seems a natural extention of the object = orientation NeXT >is famous for, I'm surprised we've heard nothing about any NeXT = component=20 >technology. =20 Marketing, a classic weakness of high technology companies that = has plagued both NeXT and Apple. Let's hope that the new Apple = can recognize and correct this deficiency. Jim=
From: "Carl A. Carlson" <ccarlson@primenet.com> Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep on DOS compatible Mac. Possible? Date: 18 Mar 1997 14:56:01 -0700 Organization: Primenet Services for the Internet Message-ID: <332EAE22.445D@primenet.com> References: <taustin-1703971841350001@d133-1.cpe.melbourne.aone.net.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I was in a similar situation. I gave up on my Mac and decided to buy a NeXT Station (b/w) from Spherical (http://www.orb.com/Inventory/index.html). I got it with 16 megs and 1 gigabyte drive for $703 delivered. It's quite a machine for the money.
From: dashlangan@hotmail.com (Dash Langan) Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: Send Y2K Work to India w Confidence & This Solution Date: 18 Mar 1997 23:57:05 +0100 Organization: Posting Service Message-ID: <199703182257.XAA08372@basement.replay.com> The New and Improved "Open and Shut Window Technique" is so simple that you will be able to send your Y2K requirements to India with confidence. Contrary to the erroneous impressions of some, this technique does not require continual maintenance after the initial conversion. The url of the "Open and Shut Window Technique" is: http://www.geocities.com/ResearchTriangle/3462/ (Web site updated on 3/12/1997 to reflect the newer, improved version of the technique.) Dash Langan
From: Garance A Drosehn <gad@eclipse.its.rpi.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Mach, WindowServer, and Sprockets?? Date: 18 Mar 1997 21:43:01 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Message-ID: <5gn295$gfd@usenet.rpi.edu> References: <01bc30d7$2154aab0$452168cf@test1> <5ginrs$d1@mpaque.mpaque> <01bc32f7$a5edb060$192168cf@test1> "L. Todd Heberlein" <heberlei@NetSQ.com> wrote: > Mike P wrote: > > The code/overhead you are referring to is a very broad, complete, > > and fast set of software that provides device independence, > > easier programming, and a fairly complete set of UI elements. > > You can ignore it at the expense of doing it yourself, with > > all the problems that come along with it. > > Once again, I notice in the PC/DOS world, they develop their own > user interface components. For example, Duke Nukem has its own > file-save interface. Similarly, I notice my son's PlayStation > games have all their own interfaces. If we are going to provide something like Game Sprockets, which I think is a very good idea, then we should set our sights much higher than what the DOS world is willing to put up with. We want to be able to market this ability once it's done. A marketting message of: "Look, we're just as crappy as DOS!" is not going to go far. People put up with the DOS rubbish because they want the games. They do not buy the games because they want a pathetic operating system. If we can give them the games they want without all the rubbish, everyone will be happier. --- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu Senior Systems Programmer (MIME & NeXTmail capable) Rensselaer Polytechnic Institute; Troy NY USA
From: Garance A Drosehn <gad@eclipse.its.rpi.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Openstep declining Date: 18 Mar 1997 22:21:44 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Message-ID: <5gn4ho$gfd@usenet.rpi.edu> References: <jcr.858681118@idiom.com> <5gmlhr$g1v@shelob.afs.com> Greg_Anderson@afs.com (Gregory H. Anderson) wrote: > John C. Randolph writes > > Let's all make the point, as emphatically as possible, to the > > marketing pukes of the world, that OpenStep is a wonderful > > development environment, with which we will write apps that > > deserve to be deployed on a platform that works. > > OK, but let's remember not to call them "pukes" to their faces. > 8^) That'll be hard, I know, but sales should be stronger that > way. As the saying goes, "Always be sincere, even when you don't > mean it." It was the great Joe Franklin who said: "Sincerity is critical, so once you can fake that you're all set" (note: he was saying that as a joke in an interview...) --- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu Senior Systems Programmer (MIME & NeXTmail capable) Rensselaer Polytechnic Institute; Troy NY USA
From: Garance A Drosehn <gad@eclipse.its.rpi.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Openstep declining Date: 18 Mar 1997 23:09:57 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Message-ID: <5gn7c5$gfd@usenet.rpi.edu> References: <01bc3356$5e052210$08254e8b@carcosa> "Bill Keller" <kellerw@okstate.edu> wrote: > Am I the only person out here losing hope for Openstep? I've > been following the news on stepwise, and it seems to me that > Apple is merely prolonging the inevitable. I've been playing > around with openstep for nt, and in my opinion, it's pretty bad. I have no experience with OpenStep for WindowsNT, and *personally* I don't have a lot of interest in it now that Rhapsody is coming. > I'd like to upgrade my nextstep box from 3.3 to 4.2, but I'm > wondering what the market is going to be for Mach after Rhapsody > comes out. Sure, I can develop on Mach and port to Rhapsody, > but again, I'd lose any of the platform specific features that > Rhapsody offers. I think you're misunderstanding what Apple is doing. The product you would think of as a followon to NeXTSTEP/Intel *is* the yellow box of Rhapsody. All interviews I've seen imply that everything done for the yellow box of Rhapsody is intended for the Intel-based product too. (not necessarily for OpenStep/WinNT, but for the MachOS-based product). It won't come with a way to run blue-box (MacOS) applications, but that's not very surprising. > There doesn't seem to be a market for openstep, except for large > company specific programming. This may change with Rhapsody, > but with a dwindling market share, and a dim future, I'm finding > it hard to stay optimistic. Any thoughts? You're picking an odd time to be pessimistic for OpenStep. While there's a number of challenges ahead for Apple, I think this is easily the most promising time NeXTSTEP/OpenStep has ever seen. --- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu Senior Systems Programmer (MIME & NeXTmail capable) Rensselaer Polytechnic Institute; Troy NY USA
From: Markus Pilzecker <markus.pilzecker@rhein-neckar.netsurf.de> Newsgroups: comp.os.linux.development.system,comp.sys.next.programmer Subject: Re: BSD filesystem (ufs/ffs) development? Date: Wed, 19 Mar 1997 03:12:50 +0000 Organization: Technische Hochschule Darmstadt Message-ID: <332F59B2.435551E8@rhein-neckar.netsurf.de> References: <np4tefc9dq.fsf@casual1.enci.ucalgary.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit CC: mp Gord Matzigkeit wrote: > > Hi, all! > > I'm finally able to install Linux on my home machine. I've been > running NetBSD/i386 1.2 for a long time, and I don't want to give it > up cold turkey. > > This is especially true, as NetBSD is the only connection I have to > the Internet (via PPP), and I much prefer working and downloading > RedHat (no CD-ROM) in my familiar environment. > > So, what I need is a good way to mount my FFS partitions from Linux, > until I have the time and patience to move all my home directories to > ext2fs (which I may never do). > > After enabling BSD disklabels in the kernel (2.0.29), I can `see' my > BSD partitions (which live in hda3): > > hda: hda1 hda2 hda3 <hda4 hda5 hda6 hda7> > > When I try to mount my BSD root (hda4), I get a lovely message that's > along the lines of `fucking Sun blows me', then the mount occurs, but > I can't see any files in the mount directory. > > After investigation of the kernel sources, I discovered to my horror > that most of the UFS filesystem calls are unimplemented! > > Is there anybody working on UFS support? If not, I guess I'll just > have to keep using the GNU Hurd to transfer files back and forht > between ufs and ext2fs. ;) Either that, or I'll write the code myself. > As far as I know, there's hardly anybody actually working on ufs for linux. If you do only need one direction of transparency, you may use u2fs for linux, which is an alternative implementation of a [read-only] ufs. I use it together with Nextstep and it works fine. I had some mail exchange with other users (* as I did a small bug fix, they took me for the author *) and they reported much better stability with Gossi Gottlieb's u2fs (* which, as far as I know, is the older ufs, but for curious reasons Adrian Rodriguez implementation found its way into the mainstream kernel, so that Gossi's had to be renamed to u2fs *). I'm very interested in the question, if u2fs is the better one. So I ask: - Is there anybody out there, who has problems with u2fs, which are not present in ufs ? - Is there anybody out there, who has problems with ufs, which are not present in u2fs ? If we could find a reliable answer to this question, then we would be able to put the right ufs-implementation into the kernel and emphasize our work on this one. I never understood, why ``switching'' on write access for a partition, should be such a great problem. If somebody having experience with the inner workings of filesystems would consult it, and if I could find some other combatands, then I'd be highly interested in participating at a project for a full featured ufs. If you want to have a look at u2fs in the meantime, then look out for ufs-0.4.3.tar.gz on sunsite and mirrors. Since mounting foreign filesystems has a kind of ``security hole'', which originates from the fact that uids and gids are different on different systems, it may be a good idea to follow a concept like vmount for Nextstep, which maps a foreign filesystem onto the nfs-``api''. Anyway -- the uid/gid mapping has to be done. Ciao, Markus ------------------------------------------------------------------------------- Sackpost: Markus Pilzecker voice: +49 6251 39415 Am Wechsel 9a V34,V17: +49 6251 39575 D-64625 Bensheim email: markus.pilzecker@rhein-neckar.netsurf.de ------------------------------------------------------------------------------- This message is not licensed to be distributed over the Microsoft Network. Microsoft may buy a license to distribute this message over their network for 100 US$. Should anybody see this message on the MSN, then please send a small email to me and to postmaster@msn.com -------------------------------------------------------------------------------
From: "Jeffrey S. Dutky" <dutky@wam.umd.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Two-column Menus Date: Tue, 18 Mar 1997 21:04:09 -0500 Organization: University of Maryland Student Body Message-ID: <332F497E.66F9@wam.umd.edu> References: <5gbbhl$r0t@lyra.csx.cam.ac.uk> <5gmm5p$p9n@netty.york.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Roger Peppe wrote: > > On 14 Mar 1997 11:07:33 GMT, biesingert@asme.org <biesingert@asme.org> wrote: > > Does anybody out there know how to handle a > > Services Menu that has become too long i.e. > > display it in two columns? What else could I do > > when the lower part cannot be displayed within > > the screen area? > > it scrolls automatically when you drag the mouse off the screen. > (try it - click the right mouse button near the bottom of the > screen, and then drag the mouse downwards) > > rog. In what version of the os was this first implemented. I just tried it on a NS3.0 box and it sure didn't scroll for me. - Jeff Dutky
From: wtinternet@aol.com (WTInternet) Newsgroups: comp.sys.next.programmer Subject: Re: Developing for Rhapsody Date: 19 Mar 1997 04:24:01 GMT Organization: AOL http://www.aol.com Message-ID: <19970319042300.XAA05234@ladder01.news.aol.com> References: <5fkqpq$1nhm@atlas.vcu.edu> Mr. Chin, in response to the statement of silence regarding OPENSTEP development, I would like to ask, where would good resources for learning O-S Dev be? I am new to programming, a long time Mac and NeXT fan, and looking to write some code for what I believe an awesome new OS. I read that O-S Dev is much easier than on other platforms. Ron
From: kcd@babylon5.jumpgate.com (Kenneth C. Dyke) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 19 Mar 1997 05:21:27 GMT Message-ID: <5gnt4n$l8s$1@nntp2.ba.best.com> References: <330E54AC.167E@innosys.com> <5fcngp$7dd@lal.interserv.com> <331f6ea2.1358032@nntp.ix.netcom.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov> <5gdbq0$3p1@lal.interserv.com> In-Reply-To: <5gdbq0$3p1@lal.interserv.com> On 03/14/97, James M. Curran wrote: > > The other interesting thing to note is that C++ can simulate the >run-time binding of ObjC. C++ can overload the [] operator: > > typedef void * id; > typdef id (ObjCmethod)(id, va_list) > class objCobj > { > public: > id operator[](enum selector, ....) > { > va_list marker; > va_start(markerm selector); > ObjCmethod f = dispatch(this, selector); > id ret = f(this, marker); > return(ret); > } > > id operator[](string methodname, ...) > { enum selector sel = selector_lookup(methodname); > (*this)[selector] > } > }; > > And there after, any object derived from class objCobj could be used >as: > > myRect[setOrigin, 30.0, 50.00]; or > myRect["setOrigin", 30.0, 50.0]; or even > > doIt(id obj, string meth) > { > (*obj)[meth]; > } > > which would be the equilevants of the ObjC: > > [myRect setOrigin:30.0 :50.0]; and > > SEL sel = sel_getUid("setOrigin"); > [myRect perform:sel withObject:30.0 withObject:50.0]; and > > doIt(id obj, char *meth) > { > SEL set = getUid(meth); > [obj perform:sel]; > } So James, Did you actually try compiling that code, or did you just assume that it would work? I hate to break this to you, but you can't overload the [] operator any way you'd like. The [] operator only accepts a single argument, which must evaluate to an integer. If you are going to try to use C++ to bash Objective C, you might have slightly better success if you actually knew C++ as well as you'd like everyone to believe, and if you knew Objective C at all from actually using it, rather than by reading books and coming up with horror stories about how "slow" it is. > And depending on the effeciency of selector_lookup() & dispatch(), >which are essentially the same functions as ObjC provides, these >functions could be performed with roughly the same effeciency as ObjC. >Futher, the same myRect object could also respond to >myRect.setOrigin(30.0, 50.0); at the full normal C++ speed. > >(OK, it'll need a bit more code to pull this off: a table for >seletor_lookup to lookup in, an enum of all the selectors, a table >mapping the selectors for a class to the function that handles that >message, and probably a wrapper function which redirects that >parameters: > ObjCRectSetOrigin(Rect r, va_list l) > { double p1 = va_arg(l, double); > double p2 = va_arg(l, double); > return(r.setOrigin(p1, p2)); > } >BUT -- all of this could be easily be machine generated from standard >C++ code --- It is in fact very much like what the ClassWizard of >Microsoft VisualC++ does) I'll just let the Objective C compiler do all that extra work for me, thanks. And I won't have to jump through nasty tricks to use it. >(Sorry about rambling on so long with C++ code, but I wanted to show >that I had thought about this process at length) Which apparently wasn't long enough. -Ken
From: jake@timewarp.net (Jake Luck) Newsgroups: comp.sys.amiga.programmer,comp.sys.apple2.programmer,comp.sys.be.programmer,comp.sys.mac.programmer.tools,comp.sys.next.programmer,comp.unix.programmer Subject: Hex Calculator Date: Wed, 19 Mar 1997 00:58:48 -0500 Organization: Columbia University Message-ID: <jake-1903970058480001@bubble.schap.rhno.columbia.edu> Hi, I am in search for a hex-dec-oct-bin conversion ONLY calculator(hardware). (the conversion features in the CASIOs are nice but are really cumbersome to use, and those nifty software version just dont quite cut it). If anyone outta there knows some company who sells such a thing, would you please email me? Thanks much in advance. -Jake <jake@timewarp.net>
From: ldubois@syndetics.be (Luc Dubois) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep: what does the term mean? Date: Wed, 19 Mar 1997 07:32:23 +0100 Organization: Syndetics Research Message-ID: <199703190732233982804@pool011-100.innet.be> References: <msg37701.thr-34dc7b90.54c5638@flannet.middlebury.edu> <5evgk9$7m4@news.next.com> <qdiv3f2b7i.fsf@blues.cygnus.com> <1997022812133841029741@pool011-107.innet.be> <3319E057.181F@hknet.com> <5fd6qg$kme@news.next.com> <199703061301591275778@pool011-119.innet.be> <5fofl6$pis@news.next.com> <1997031007201320839001@pool011-146.innet.be> <5gm3an$hgr@netty.york.ac.uk> Roger Peppe <rog@ohm.york.ac.uk> wrote: > even better, check out http://www.lucent.com/inferno/ > from the press release: > > Inferno 1.0 runs as a stand-alone operating system on small devices > > which use Hitachi SH3, DEC StrongArm, Intel Architecture, MIPS, > > Motorola 68030, Power PC, SPARC and ARM processors. Thanks for the pointer. I checked out the site but could find a version for 680x0 or PPC, even though the form has checkboxes for Macintosh. Luc -- Syndetics Research | Authors of Synema(tm) Director (c) 1992-1996. Herderstraat 1 | Thesaurus construction software for the 3740 Bilzen - Belgium | Information Retrieval industry.
From: kcd@babylon5.jumpgate.com (Kenneth C. Dyke) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 19 Mar 1997 05:37:55 GMT Message-ID: <5gnu3j$mdt$1@nntp2.ba.best.com> References: <330E54AC.167E@innosys.com> <5fcngp$7dd@lal.interserv.com> <331f6ea2.1358032@nntp.ix.netcom.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov> <5gdbq0$3p1@lal.interserv.com> <5gnt4n$l8s$1@nntp2.ba.best.com> In-Reply-To: <5gnt4n$l8s$1@nntp2.ba.best.com> On 03/18/97, Kenneth C. Dyke wrote: >On 03/14/97, James M. Curran wrote: >> >> The other interesting thing to note is that C++ can simulate >the >>run-time binding of ObjC. C++ can overload the [] operator: >> >> typedef void * id; >> typdef id (ObjCmethod)(id, va_list) >> class objCobj >> { >> public: >> id operator[](enum selector, ....) >> { >> va_list marker; >> va_start(markerm selector); >> ObjCmethod f = dispatch(this, selector); >> id ret = f(this, marker); >> return(ret); >> } >> >> id operator[](string methodname, ...) >> { enum selector sel = >selector_lookup(methodname); >> (*this)[selector] >> } >> }; >> >> And there after, any object derived from class objCobj could be >used >>as: >> >> myRect[setOrigin, 30.0, 50.00]; or >> myRect["setOrigin", 30.0, 50.0]; or even >> >> doIt(id obj, string meth) >> { >> (*obj)[meth]; >> } >> >> which would be the equilevants of the ObjC: >> >> [myRect setOrigin:30.0 :50.0]; and >> >> SEL sel = sel_getUid("setOrigin"); >> [myRect perform:sel withObject:30.0 withObject:50.0]; and >> >> doIt(id obj, char *meth) >> { >> SEL set = getUid(meth); >> [obj perform:sel]; >> } > >So James, > Did you actually try compiling that code, or did you just >assume that it would work? I hate to break this to you, but you can't >overload the [] operator any way you'd like. The [] operator only >accepts a single argument, which must evaluate to an integer. Actuall, I'm on acid here. The [] operator's single argument may be of any type, not just an int. Also, if you declare the operator[] function as a friend it would effectively have two arguments, probably an object reference and anything else. In any case, the varargs stuff won't work at all, no matter what you do. -Ken
From: apuleius@ix.netcom.com (William Grosso) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Wed, 19 Mar 1997 07:23:31 GMT Organization: Netcom Message-ID: <332f908f.16520895@nntp.ix.netcom.com> References: <330E54AC.167E@innosys.com> <5fcngp$7dd@lal.interserv.com> <331f6ea2.1358032@nntp.ix.netcom.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov> <5gdbq0$3p1@lal.interserv.com> <5gnt4n$l8s$1@nntp2.ba.best.com> James Curran wrote (among other stuff): > id operator[](enum selector, ....) > { > va_list marker; > va_start(markerm selector); > ObjCmethod f = dispatch(this, selector); > id ret = f(this, marker); > return(ret); > } > > id operator[](string methodname, ...) >.... And Kenneth responded: > Did you actually try compiling that code, or did you just >assume that it would work? I hate to break this to you, but you can't >overload the [] operator any way you'd like. The [] operator only >accepts a single argument, which must evaluate to an integer. > I'm not sure what Kenneth is claiming here, but you can overload [] to accept non integers. That is, after all, the way associative arrays work. For example, from the gray book (page 241) #include <string.h> int& assoc::operator[] (const char * p) ^^^^^^^^^^^ On the other hand, Kenneth does have a point in that James's code clearly hasn't been tested, or even compiled in any way. For example, > va_list marker; > va_start(markerm selector); ought to be > va_list marker; > va_start(marker, selector); and even the most advanced compiler will choke on that particular typo. . Moreover, James's usage of ... in his code is somewhat confusing to me because > id operator[](enum selector, ....) > { idoesn't seem quite valid (as Kenneth said, one argument). Cheers, Andy
From: andreas@lynet.de Newsgroups: comp.sys.next.programmer Subject: Alternative ProjectBuilder-Editor Date: 19 Mar 1997 06:17:36 GMT Organization: LyNet Kommunikation und Netzwerkdienste GmbH Message-ID: <5go0e0$c4a$1@lynet.de> Hallo, May be I still have to get used with the inbuild ProjectBuilder-Editor, because there are obviously some things missing, I know from Software- Development under OS/2. The first thing, I would really like to see, is a short keystroke for duplicating the actual line. Under OS/2, it was Cntrl-Y. And here? Furthermore I would appreciate multicolor-code, to better distingush Comments, literal strings and c-keyword. In Info-Preferences-Misc... of the ProjectBuilder is a GroupBox "External Tools" and therein an entry for an edito ("emacs" is default). So what is that field for? If I put "vi" in this field, obviously nothing happens. Andreas
From: taustin@ozemail.com.au (T. Austin) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep on DOS compatible Mac. Possible? Date: Wed, 19 Mar 1997 18:46:40 +1000 Organization: Swinburne University Message-ID: <taustin-1903971846410001@d115-2.cpe.melbourne.aone.net.au> References: <taustin-1703971841350001@d133-1.cpe.melbourne.aone.net.au> <332EAE22.445D@primenet.com> In article <332EAE22.445D@primenet.com>, "Carl A. Carlson" <ccarlson@primenet.com> wrote: > I was in a similar situation. I gave up on my Mac and decided to buy a > NeXT Station (b/w) from Spherical > (http://www.orb.com/Inventory/index.html). I got it with 16 megs and 1 > gigabyte drive for $703 delivered. It's quite a machine for the money. This sounds perfect. Thanks. I'll check out their sight. Tristan Austin ...taustin@ozemail.com.au
From: espel@llaic.univ-bpclermont.fr (Roger Espel Llima) Newsgroups: comp.os.linux.development.system,comp.sys.next.programmer Subject: Re: BSD filesystem (ufs/ffs) development? Date: 19 Mar 1997 10:06:30 GMT Organization: LLAIC, Univ. Clermont-Ferrand 1, France Message-ID: <5godr6$60c@cicsun.univ-bpclermont.fr> References: <np4tefc9dq.fsf@casual1.enci.ucalgary.ca> <332F59B2.435551E8@rhein-neckar.netsurf.de> In article <332F59B2.435551E8@rhein-neckar.netsurf.de>, Markus Pilzecker <markus.pilzecker@rhein-neckar.netsurf.de> wrote: | As far as I know, there's hardly anybody actually working on ufs for | linux. | If you do only need one direction of transparency, you may use u2fs for | linux, which is an alternative implementation of a [read-only] ufs. | I use it together with Nextstep and it works fine. I had some mail | exchange | with other users (* as I did a small bug fix, they took me for the | author *) | and they reported much better stability with Gossi Gottlieb's u2fs (* | which, | as far as I know, is the older ufs, but for curious reasons Adrian | Rodriguez | implementation found its way into the mainstream kernel, so that Gossi's | had | to be renamed to u2fs *). | | I'm very interested in the question, if u2fs is the better one. So I | ask: | - Is there anybody out there, who has problems with u2fs, which are | not | present in ufs ? | - Is there anybody out there, who has problems with ufs, which are not | present in u2fs ? | If we could find a reliable answer to this question, then we would be | able to | put the right ufs-implementation into the kernel and emphasize our work | on this | one. | | If you want to have a look at u2fs in the meantime, then look out for | ufs-0.4.3.tar.gz on sunsite and mirrors. Do you know if this version of UFS will read {Free,Net,Open}BSD filesystems on Intel machines? On others? The UFS that is currently in the kernel seems to be there mainly so Linux/SPARC can read SunOS's partitions; can u2fs do that? Since we appear to be at least 3 interested in getting UFS to work better, how about we setup a mailing list (even if just a cc-based:thing) and try to work something out? Roger -- e-mail: roger.espel.llima@ens.fr WWW page & PGP key: http://www.eleves.ens.fr:8080/home/espel/index.html
From: jcr@idiom.com (John C. Randolph) Newsgroups: comp.sys.next.programmer Subject: Re: Openstep declining Date: 19 Mar 1997 01:55:21 -0800 Organization: A poorly-installed InterNetNews site Message-ID: <jcr.858765041@idiom.com> References: <jcr.858681118@idiom.com> <5gmlhr$g1v@shelob.afs.com> Greg_Anderson@afs.com (Gregory H. Anderson) writes: >John C. Randolph writes >> Let's all make the point, as emphatically as possible, to the >> marketing pukes of the world, that OpenStep is a wonderful development >> environment, with which we will write apps that deserve to be deployed >> on a platform that works. >OK, but let's remember not to call them "pukes" to their faces. 8^) >That'll be hard, I know, but sales should be stronger that way. As >the saying goes, "Always be sincere, even when you don't mean it." Well, this being c.s.n.Programmer, I'm making even less effort than usual at diplomacy. I'm just getting really bloody sick of people parroting that "we have to move to NT" line. NT is not yet acceptable for any real-world server application that I've seen, and NT for a desktop is just pointless. What does it offer? Support? Hah! Compatibility? Not even with itself! Security? NFW! Performance? FreeBSD, NetBSD and Linux *all* outperform it. Where's the added value? -jcr --- John C. Randolph <jcr@idiom.com> @"Hey, %s! You're a Nazi, and you can't spell!"
From: rog@ohm.york.ac.uk (Roger Peppe) Newsgroups: comp.sys.next.programmer Subject: Re: changing control layers Date: 19 Mar 1997 10:22:26 GMT Organization: Department of Electronics, University of York, UK. Message-ID: <5goep2$g9v@netty.york.ac.uk> References: <33246E75.43B0@wam.umd.edu> On Mon, 10 Mar 1997 15:26:33 -0500, "Jeffrey S. Dutky" <dutky@wam.umd.edu> wrote: > I have a program whose interface was built in IB. I want to > add some controls that will obscure other controls some of > the time while, at other times, be obscured by them. Is there > some way that I can change the front to back ordering of IB > controls from my Objective-C code? subviews are in "bottom first" order. so you can move a subview v to the front with: { id parent = [v superview]; [v retain]; [v removeFromSuperview]; [parent addSubview:v positioned:NSWindowAbove relativeTo:nil]; [v release]; } or to the back by changing the NSWindowAbove to NSWindowBelow. (if you're using nextstep, not openstep, then the retain and release is unnecessary) cheers, rog.
Date: Mon, 17 Mar 1997 08:33:44 -0500 From: joe.ragosta@dol.net (Joe Ragosta) Newsgroups: comp.sys.next.programmer,comp.sys.mac.advocacy Subject: Re: Nice interview with Amelio Message-ID: <joe.ragosta-ya02408000R1703970833440001@news.dol.net> References: <01bc25fa$c628b6e0$5c2168cf@test1> <5fa84n$l1a@r02n01.cac.psu.edu> <5fa9bm$pv6@newsb.netnews.att.com> <5fcnhe$7dd@lal.interserv.com> <webboy-ya02408000R0603971359540001@news.azstarnet.com> <5g034e$f8r@lal.interserv.com> <pjbrew-1103971809120001@slc-ut1-16.ix.netcom.com> <5gduk7$9bp@lal.interserv.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: 8bit Organization: DCANet http://www.dca.net/ In article <5gduk7$9bp@lal.interserv.com>, JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > In <<pjbrew-1103971809120001@slc-ut1-16.ix.netcom.com>>, > pjbrew@spam.free.zone--(ix.netcom.com) (Phil Brewster) wrote: > > >Rephrase it however you please, James -- you have still provided > >absolutely no evidence that the study was comprised of 'people who have > >used a Mac for years' instead of a random sampling of Mac, Windows, and > >dual users with equal experience on both, > > Well, that part's easy. The summary clearly states that it was made > up of dual users ONLY. It further makes no claims about the amount of > experience they had on either machine. And I believe that it's > reasonable to presume that a "random sampling" of people who've used > both Macs & Win95 in their daily office routine (as per the report), > taken 6 month after the the release of Win95, would consist mainly of > people who've used Macs longer than they've used Win95. Nonsense. Who were the Win95 early adopters? People who were the biggest Windows proponents. You've shown nothing. -- Regards, Joe Ragosta joe.ragosta@dol.net See the Complete Macintosh Advocacy Site http://www.dol.net/~Ragosta/complmac.htm
From: herren@flannet.middlebury.edu (David Herren) Newsgroups: comp.sys.next.programmer Subject: NSString? Date: Wed, 19 Mar 1997 10:57:13 -0500 Organization: Language Schools of Middlebury College Sender: herren@flannet.middlebury.edu Message-ID: <msg46355.thr-2325e5.f4cdd@flannet.middlebury.edu> Mime-Version: 1.0 Content-Type: text/enriched; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Content-ID: <msg46355.thr-2325e5.f4cdd.part0@flannet.middlebury.edu> Can anyone tell me whether NSString supports right-to-left languages, and in particular, RtL multi-glyph languages (like Arabic)? The trainer here (I am at openstep training even as I write this) is unable to answer the question and the documentation gives me no indication. If not, can anyone suggest a way in which Imight sub-class NSString to add this support? -- David Herren -------------------------------------------------- Web: http://www.middlebury.edu/~herren/ General: herren@flannet.middlebury.edu NeXTMail only: herren@barcelona.middlebury.edu
From: teb@eng.cam.ac.uk Newsgroups: comp.sys.next.programmer Subject: Re: NSReturnSign is missing Date: 19 Mar 1997 16:38:38 GMT Organization: University of Cambridge, England Message-ID: <5gp4qe$i8b@lyra.csx.cam.ac.uk> References: <5g6o7n$t26$1@lynet.de> <msg44412.thr-c0ec28ee.54c5638@flannet.middlebury.edu> <5g9erh$8c9$1@lynet.de> Here is the authentic answer from ask_next: From: Rajashekhar Akula <Rajashekhar_Akula@next.com> Date: Thu, 13 Mar 97 12:31:15 -0500 To: teb@eng.cam.ac.uk Subject: [107884] missing NSReturnSign Cc: appendlog@next.com >Hi, just going through the Tutorial for OpenStep 4.0 >but 'NSReturnSign' is missing under Images of the IB. Hi Thomas, The documentation is old. The updated openstep uses the Windows way of 'Tab' moving. Thanks, Raj Akula, NeXT Technical Support - rakula@next.com --- Thomas E Biesinger, Engineering Department, University of Cambridge, Trumpington Street, Cambridge CB2 1PZ, UK, em: biesingert@asme.org, vc: +44 1223 3 32869, fx: +44 1223 3 32662. NeXT-Mail welcome, PGP-2.6.i key available.
From: mtrombin@ix.netcom.com (Mark Trombino) Newsgroups: comp.sys.next.programmer Subject: Re: Adorning? Date: 19 Mar 1997 18:27:25 GMT Organization: Egghead Billy, Inc. Message-ID: <5gpb6d$g4l@dfw-ixnews6.ix.netcom.com> References: <maury-1903971239120001@199.166.204.230> Cc: maury@softarc.com In <maury-1903971239120001@199.166.204.230> Maury Markowitz wrote: > Maybe I've just not seen an example yet - or perhaps there's something > like delegation (or perhaps it is delegation) that you use for this, but > does OpenStep have anything like Adorner's? These are used in most OOPS > libs to attach one view (subview really) to another so it's Draw gets > called when the parent's does. It's something like the view system > hierarchy, but the adornment is attached to the parent object directly so > you can effectively make a subclass (say, window with toolbar) without a > subclass. > > Does OS have something similar? Or can you use delegation to do this in > a way I haven't figured out yet? > > Maury > Maybe I'm missing the point, but just adding a subview to a view will accomplish this. Perhaps this is just one of the many magic things about Openstep that I take for granted... -- Mark Trombino mtrombin@ix.netcom.com (NEXTMail, MIME Mail okay)
From: "Bill Keller" <kellerw@okstate.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Openstep declining Date: 19 Mar 1997 20:02:49 GMT Organization: Oklahoma State University, Stillwater OK Message-ID: <01bc34a0$a682c150$07254e8b@carcosa> References: <01bc3356$5e052210$08254e8b@carcosa> <5gn7c5$gfd@usenet.rpi.edu> Garance A Drosehn <gad@eclipse.its.rpi.edu> wrote in article <5gn7c5$gfd@usenet.rpi.edu>... > I think you're misunderstanding what Apple is doing. The product > you would think of as a followon to NeXTSTEP/Intel *is* the yellow > box of Rhapsody. All interviews I've seen imply that everything > done for the yellow box of Rhapsody is intended for the Intel-based > product too. (not necessarily for OpenStep/WinNT, but for the > MachOS-based product). So Rhapsody is going to be (essentially) Nextstep with Mac support? Or are future versions of Nextstep (openstep for mach, I know) going to be Rhapsody for Intel? There has been alot of discussions about which Apple technologies are going to be included in Rhapsody, and are those going to be ported to Intel as well? > You're picking an odd time to be pessimistic for OpenStep. > While there's a number of challenges ahead for Apple, I think > this is easily the most promising time NeXTSTEP/OpenStep has > ever seen. Well, I have to admit that when Apple first made the aquisition, I was a tad skeptical. But everyone here was so jazzed by the idea that I started to feel a little better about it. It has been recent Apple news that has caused me to start doubting again. It doesn't seem as if Amelio can get Apple turned around, and by the time Rhapsody rolls out, how far will Apple's market share have slipped? Apple is going to have a hard enough time rolling Rhapsody out, it will be something else entirely wooing users back. There will have to be applications that are NOT just as good as what one could get for windows, they have to be a far cry better.
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.next.programmer Subject: Adorning? Date: Wed, 19 Mar 1997 12:39:12 -0500 Organization: SoftArc Inc. Message-ID: <maury-1903971239120001@199.166.204.230> Maybe I've just not seen an example yet - or perhaps there's something like delegation (or perhaps it is delegation) that you use for this, but does OpenStep have anything like Adorner's? These are used in most OOPS libs to attach one view (subview really) to another so it's Draw gets called when the parent's does. It's something like the view system hierarchy, but the adornment is attached to the parent object directly so you can effectively make a subclass (say, window with toolbar) without a subclass. Does OS have something similar? Or can you use delegation to do this in a way I haven't figured out yet? Maury
From: steve@deltos.com (Steven R. Staton) Newsgroups: comp.sys.next.programmer Subject: Limits on virtual IPs using LKS-PS Date: Wed, 19 Mar 1997 19:27:37 GMT Organization: Waymark Internet Services Inc. Message-ID: <33303c92.14009618@news.waymark.net> I've run into a snag using Hideo Morishita's ps-if virtual IP LKS. It appears that even though you can all if_attach(...) with a unit number above 9, ifconfig(8C) treats it as if the only valid unit IDs are 0...9 (ps0...ps9). This puts a hard limit of ten virtual IPs on a given host (or should I compile a version that uses as different device name than 'ps'?). Any ideas?
From: "Bill Keller" <kellerw@okstate.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Openstep declining Date: 19 Mar 1997 19:50:20 GMT Organization: Oklahoma State University, Stillwater OK Message-ID: <01bc349e$e776f020$07254e8b@carcosa> References: <01bc3356$5e052210$08254e8b@carcosa> <5gldud$c0b@kaopala.mhpcc.edu> <5gmgk3$4hk@news-central.tiac.net> Aleksey Sudakov <zander@conextions.com> wrote in article <5gmgk3$4hk@news-central.tiac.net>... > I do, but the same way OpenStep/Solaris is Sun's fault (DPS on top of > OpenLook or whatever the name of sun's widget set), OpenStep/NT is > Micro$oft fault. No matter how bad these two implementations are it > doesn't prove that OpenStep as a cross-platform solution is bad. It's > just a poor implementation. Let's wait for GNUstep folks show us the > true power of OpenStep. > > Aleksey I don't think that it's necessarily Microsoft's fault that DPS doesn't run that well under Windows. DPS is simply a different imaging model, and implementing one model on top of the other is bound to be problematic. Couple this with the fact that NeXT had to build a mach layer that sits on top of the NT kernel. I think that this is the same thing Microsoft did in order to port windows programs over to the Macintosh, they built an emulation layer. I was under the (obviously wrong) impression that Openstep would be more of a defined programatic interface, with the implementation different for each platform. That is to say that a NSButton under mach would use DPS, under Windows would use a HWND, under Solaris would use a Widget, and so on. There are other object frameworks (mostly for C++) that already do this. I know that this would be a little tough when subclassing existing objects, but there would be a way to "objectify" DPS to make it portable also.
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.next.programmer Subject: Re: Adorning? Date: Wed, 19 Mar 1997 16:15:07 -0500 Organization: SoftArc Inc. Message-ID: <maury-1903971615070001@199.166.204.230> References: <maury-1903971239120001@199.166.204.230> <5gpb6d$g4l@dfw-ixnews6.ix.netcom.com> In article <5gpb6d$g4l@dfw-ixnews6.ix.netcom.com>, mtrombin@ix.netcom.com wrote: > Maybe I'm missing the point, but just adding a subview to a view will > accomplish this. Perhaps this is just one of the many magic things about > Openstep that I take for granted... The issue is that you don't want to change a base class (ie, Window) but would like to change _it's_ draw behaviour. For instance, let's say you want the window's title bar to be drawn in purple (ignoring resources for now), instead of having to subclass Window into MyPuprleWindow, I just attach my Adorner object to it and it handles the drawing. Sounds silly right? Why not just use the subclass? Well a lot of frameworks are statically bound, and not so good about replacing classes. So you subclass window, and your Application refuses to use MyPurpleWindow and demands a Window (for some dumb reason or other). I know what you're thinking - THAT shouldn't break it, but it does. The mechanism is then usually also used for general attachment of views and such. Maury
From: scholz@leo.org (Bernhard Scholz) Newsgroups: comp.sys.mac.system,comp.sys.next.programmer Subject: Re: Component Software for Rhapsody Date: 18 Mar 1997 16:53:27 GMT Organization: Institut fuer Informatik der Universitaet Muenchen Message-ID: <5gmha7$mc@xenia.informatik.uni-muenchen.de> References: <5gi62k$rqt$1@geraldo.cc.utexas.edu> raph@porter.as.utexas.edu (William Raphael Hix) wrote: > First, what is NeXT's current approach to component software? Since >component software seems a natural extention of the object orientation NeXT >is famous for, I'm surprised we've heard nothing about any NeXT component >technology. How does one implement component software and document centered >computing in OpenStep? > There are two major opinions about the OO approach and component approach. Personally I believe there is a market for both technologies, and these markets won't overlap: Components: Nice, easy to use, but usual huge not or hard to debug. You are depending on the producer. The disadvantages generally prevent big projects from using components. Objects: smaller pieces of software. Usually easily exchangable if buggy. Accepted technology. Used normally for building components. Ok, this was major blabla, but this is my opinion: Components will be used where they are already established. Normally to implement a part of a project, but project will never use components as key pieces of their software. Objects will get used as keyparts of a software project, because you have a much better control over what the object is doing and in emergancy situation you normally can do a workaround without breaking your software (components need to be replaced). > Second, what reasons prompted Apple to drop OpenDoc from Rhapsody in >favor of JavaBeans? Besides the obvious cross platform advantages of >JavaBeans, what would prompt Apple to drop the more mature and better > Dropping OpenDoc is new to me. I didn't new it befor. I only could think, that Apple is focusing on market 'keywords' to keep developers and make their system attraktiv to the mainstream. On the other hand, I was thinking that OpenDoc was just getting a food into the market share... NeXT's approach is little bit different: components: You could e.g. think of big bundles to be a component of your software. However bundles are dynamically loaded and objects. However many objects could be hidden in a bundle, which is similar to components. All this technology is very open to new extensions, so I believe technologie like JavaBeans etc. could be easily integrated (don't even think about this using e.g. C++). There is a future, and this/next year will be very interesting to watch things to come. Greetings, Bernhard. -- Bernhard Scholz http://www.leo.org/~scholz/ Peanuts FTP Admin http://peanuts.leo.org/ scholz@leo.org, (StuSta ONLY: boerny@xenia.stusta.mhn.de)
From: scholz@leo.org (Bernhard Scholz) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep on Java and Newton Date: 18 Mar 1997 17:05:23 GMT Organization: Institut fuer Informatik der Universitaet Muenchen Message-ID: <5gmi0j$mc@xenia.informatik.uni-muenchen.de> References: <01bc309d$0f9f0610$612168cf@test1> <5gih7s$dl6@news2.cais.com> Robert La Ferla <Robert_La_Ferla@hot.com> wrote: >I definitely think it would be a commercially smart idea to provide >some degree of compatibility between OPENSTEP and NewtonOS. I can >envision many mission critical and shrinkwrap applications that could >be extended past the desktop to a handheld PDA. Integrating Java into >OPENSTEP and NewtonOS would make this all very possible. In it's >simplest form, Newton users could use a Java-enabled web browser to >access OPENSTEP/Java applets. OPENSTEP/NewtonOS for Windows CE >systems would also be a good idea. I don't think Apple wants to >repeat the mistakes it's made with the proprietary Mac hardware. > > Apple is probably going to drop the Newton. See latest press statements in MacWeek. Greetings, Bernhard. -- Bernhard Scholz http://www.leo.org/~scholz/ Peanuts FTP Admin http://peanuts.leo.org/ scholz@leo.org, (StuSta ONLY: boerny@xenia.stusta.mhn.de)
From: mshores@iastate.edu (Matt Shores) Newsgroups: comp.sys.next.programmer Subject: Driver Kit with PnP Date: 19 Mar 1997 22:50:03 GMT Organization: Iowa State University, Ames, Iowa USA Message-ID: <5gpqir$r7j$1@news.iastate.edu> Summary: Help with Plug and Play using Driver Kit Keywords: Driver Kit Plug Play Hello all, If there is anyone out there who knows how to access ANYTHING with a Plug and Play card, would you please inform me on how I would do this? I understand there is some kind of port that one uses, however, I have no idea what to do. I noticed that there are a few PnP drivers that NeXT has already made... are they using their own library calls (Driver Kit) or do they make completely separate functions with each driver? Help!!! Matt
From: "Bill Keller" <kellerw@okstate.edu> Newsgroups: comp.sys.next.programmer Subject: Command Line Switches Date: 19 Mar 1997 21:43:05 GMT Organization: Oklahoma State University, Stillwater OK Message-ID: <01bc34ae$b2bb1450$07254e8b@carcosa> Is there a list anywhere of the command line switches that Openstep handles itself? For example, I've seen NSUseRunningCopy and NSOpen. Any others? -- Bill Keller (kellerw@okstate.edu) Is it too much? Close your eyes. Care to look inside? I am I.
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.next.programmer Subject: Re: Adorning? Date: Wed, 19 Mar 1997 18:08:28 -0500 Organization: SoftArc Inc. Message-ID: <maury-1903971808440001@199.166.204.230> References: <maury-1903971239120001@199.166.204.230> <5gpb6d$g4l@dfw-ixnews6.ix.netcom.com> <maury-1903971615070001@199.166.204.230> <5gpodn$krm$1@darla.visi.com> In article <5gpodn$krm$1@darla.visi.com>, David Young <dwy@ace.net> wrote: > In NEXTSTEP 3.3, there's a private WindowFrame class or something like > that which some programmers have used to change the colors of the > title bars. There's some source floating around that does this. There is > no NeXT-sanctioned way to do this. Well I used it as an example, and in this case it turned out to be a bad one because it supports it. I'll try to think of a better one. However, I have a plane at 6AM this morning to Florida for a week of skydiving, so it'll have to wait! Maury
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Alternative ProjectBuilder-Editor Date: 19 Mar 1997 23:20:25 GMT Organization: Digital Fix Development Message-ID: <5gpsbp$km9$1@news.digifix.com> References: <5go0e0$c4a$1@lynet.de> In-Reply-To: <5go0e0$c4a$1@lynet.de> On 03/18/97, andreas@lynet.de wrote: >Hallo, > >May be I still have to get used with the inbuild ProjectBuilder-Editor, >because there are obviously some things missing, I know from Software- >Development under OS/2. > >The first thing, I would really like to see, is a short keystroke for >duplicating the actual line. Under OS/2, it was Cntrl-Y. And here? Is there an emacs binding for this? You could do Cntrl-K, Cntrl-Y,Cntrl-Y >Furthermore I would appreciate multicolor-code, to better distingush >Comments, literal strings and c-keyword. > 4.2 offers all of this according to the release notes on NeXT's site. >In Info-Preferences-Misc... of the ProjectBuilder is a GroupBox "External Tools" >and therein an entry for an edito ("emacs" is default). So what is that field for? >If I put "vi" in this field, obviously nothing happens. > You can also set up vi style keymappings (across all your apps in fact) using the Text binding stuff. -- Scott Anguish DBS Online - http://www.dbs-online.com/DBS sanguish@digifix.com Stepwise OpenStep WWW - http://www.stepwise.com
From: gary@whistler.instepmobile.com (Gary Quan) Newsgroups: comp.sys.next.programmer Subject: Color in DBTableView? (DBKit question) Date: 20 Mar 1997 00:47:26 GMT Organization: BCTEL Advanced Communications Message-ID: <5gq1eu$615$1@news.bctel.net> Does anyone know how to set a color to a row (record) in DBTableView? All I wish to do is color certain rows in DBTableView red. If anyone can either suggest a solution or even where I might be able to find a solution, I would really, really, really appreciate it. Thank you. -- Gary Quan <gary@instepmobile.com> Software Developer, InStep Mobile Communications Inc. Vancouver, British Columbia, Canada
Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer From: tomi@shinto.nbg.sub.org (Thomas Engel) Subject: Re: Sun was Re: Avie confirms Rhapsody on Intel too. Message-ID: <E7BAvx.15L@shinto.nbg.sub.org> Sender: news@shinto.nbg.sub.org Organization: STEPeople's home (A NUGI member) References: <al.856919430@BIX.com> <5fblc9$31e$2@news.xmission.com> <5gfd2j$abo1@news.mcleodusa.net> Date: Wed, 19 Mar 1997 22:38:21 GMT embuck@yin.mcleod.net (Erik M. Buck) wrote: > In <5g6v6n$ksp@castor.cca.rockwell.com> Erik M. Buck wrote: > > Sun just made a major presentation at our site. There were at least 20 > sales > > people and some Sun executives. I asked about Openstep and they asked (who > > sells that ?) When I told them that they sell it, they told me they did > not > > think so. > > > > I guess that Sun is not interested in Openstep anymore. > > > > > I have just been notified by a Sun executive that OpenStep is alive and well > and a new release is planned. > Sun really should get its message straight. While I really believe that there are people at Sun who get paid for doing Openstep work...it is annoying to see how badly almost 99% of the Sun employees are informed about Openstep/Solaris. I actively tried to convince some people at a number of places to give Solaris/OpenStep a try... ...Sun told them "OpenStep/Solaris is not a strategic product" (would you buy something the vendor tells you is not a strategic product ?? This is like telling your customer..."we'll I have a part number and prize...the rest is up to you". ...while there is an educational discount for OpenStep/Sol. in the US...the is none in Germany. Accoridng to the Sun rep.. "we can't give a discount since we have to pay licence fees". Isn't that silly !! Sun/US can and Sun/Germany can't ??? ...and more of that sort. I managed to find someone from Sun Germany who at least knew what OpenStep is about...at least he was one of the guys who happened to install it. Almost nobody knows what Lighthouse is part of Sun...and if they know..they have no idea what Lighthouse is doing. As long as OpenStep/Solaris does not get preinstalled with a major OS upgrade...nobody will bother to even install it. (ok...its useless since all you can run in Create...but then...it might be worth even if all you want to do is to run Create...Solaris lacks a comparable app anyway) Someone told me that Solaris 2.6 would include OpenStep right away...I asked a Sun guy and he said this ain't true. It would make so much sense if Sun now would really commit to OpenStep...but as Scott McNealy said: "I get paid to bring the most money to Suns shareholder" [and not for promotin good ideas]. Dumping AWT in favour of OpenStep would seem like a good idea...but thats not what Mr Sun get's paid for. I finally gave up on advocating Solaris/OpenStep. Aloha Tomi
From: theisen@akaMail.com (Dirk Theisen) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: Thu, 20 Mar 1997 03:37:28 +0100 Organization: University of Bonn, Germany Message-ID: <199703200337281074106@rhrz-ts3-p2.rhrz.uni-bonn.de> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> <331dc772.73186408@news.inlink.com> <19970305211434201081@brainerd-dial-27.uslink.net> <5fmlkl$19q@nnrp1.news.primenet.com> Hello! John Jensen <jjens@primenet.com>: > When I think about it, treating developers as a profit center _now_ would > be the _final_ stupidity. Nothing exists in a vacuum, to win Apple has to > first pull developers and then pull users from other platforms. I cannot agree more! I think Be did the right thing in posting their DR with a (developer) magazine. Apple has to expect to loose some developers on the way to Rhapsody, so they have to attract even more! I think developers (here Non-Apple ones) are courious people in general. If they have a (fairly stable and usable) Rhapsody DR (including DR tools) on their table they will not be able to resist in trying it out. If they have to go through a complicated process and pay at least $250, just to see if the system could be useful for their work, only the fans and hardliners will even know about it. Also consider the time it takes for a dev to learn the all new APIs. The sooner people get hands on Rhapsody the better! So, Apple, give us the Rhapsody DR for free and we will build the software You need to survive! Greetings Dirk -- Site of the Day: http://www.microsnot.com/ Student of computer science, University of Bonn, Germany http://titan.informatik.uni-bonn.de/~theisen/
From: theisen@akaMail.com (Dirk Theisen) Newsgroups: comp.sys.next.programmer Subject: Re: No rush of postings from Mac developers was Re: Developing for Rhapsody Date: Thu, 20 Mar 1997 03:37:32 +0100 Organization: University of Bonn, Germany Message-ID: <199703200337321074317@rhrz-ts3-p2.rhrz.uni-bonn.de> References: <5fkqpq$1nhm@atlas.vcu.edu> <331E6D78.4784@wam.umd.edu> <makhloma-0903970132120001@ppp4.musc.edu> Michael Makhlouf <makhloma@musc.edu>: > I would be asking a lot of questions if I could run OPENSTEP on my Mac. [...] > Although I am not a "real" developer (shareware > only), I believe that my viewpoint applies to most Mac programmers. As long > as there is nothing of OPENSTEP on the Mac, ... Yes, it does. I hope, Apple will make it very easy for us to get hand on the Rhapsody DR. Dirk -- Site of the Day: http://www.microsnot.com/ Student of computer science, University of Bonn, Germany http://titan.informatik.uni-bonn.de/~theisen/
From: John Kheit <jkheit@cnj.digex.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.programmer Subject: Re: Getting access to Rhapsody DR Date: 20 Mar 1997 03:05:56 GMT Organization: monoChrome, Inc., NJ, USA Message-ID: <5gq9ik$ebd@news4.digex.net> References: <01bc284c$b8a07400$882168cf@test1> <AF4208D5-9DA32@207.207.3.178> <331dc772.73186408@news.inlink.com> <19970305211434201081@brainerd-dial-27.uslink.net> <5fmlkl$19q@nnrp1.news.primenet.com> <199703200337281074106@rhrz-ts3-p2.rhrz.uni-bonn.de> theisen@akaMail.com (Dirk Theisen) wrote: > Also consider the time it takes for a dev to learn the all new > APIs. The sooner people get hands on Rhapsody the better! > So, Apple, give us the Rhapsody DR for free and we will build > the software You need to survive! I can't agree more. Apple not only needs to give out free "Beta" DR's so lots of developers can get in on it...but also offer great developer pricing on new rhapsody capable machines. I know I will be in the market for a new PPC machine ONLY to try out the new Rhapsody Dev tools. The project I'm working on is currently happily situated on Intel hardware, and quite frankly, no one at work wants to move from intel. I personally would like to try out the PPC platform and think it will be better for development (particularly dual and quad processor versions). Anyway, a developer seed program could go a long way at making some headway at work... Though, I don't know how apple is going to know that I'm a dev, when I can't even disclose much of anything about for who or why and the particulars of what I'm developing... -- Thanks, be well, take care, later, John Kheit; Self expressed... monoChrome, Inc. | ASCII, MIME, PGP, SUN, & NeXTmail OK NeXT/OPENSTEP Developer | mailto:jkheit@cnj.digex.net Telepathy, It's coming... | http://www.cnj.digex.net/~jkheit New York Law School | Jag talar inte svenska )^> %^) =^)
From: halldj@lis.ab.ca (Donald Hall) Newsgroups: comp.sys.amiga.programmer,comp.sys.apple2.programmer,comp.sys.be.programmer,comp.sys.mac.programmer.tools,comp.sys.next.programmer,comp.unix.programmer Subject: Re: Hex Calculator Date: Wed, 19 Mar 1997 17:45:13 -0700 Organization: none Message-ID: <halldj-1903971745130001@pm1-29.lis.ab.ca> References: <jake-1903970058480001@bubble.schap.rhno.columbia.edu> In article <jake-1903970058480001@bubble.schap.rhno.columbia.edu>, jake@timewarp.net (Jake Luck) wrote: > Hi, > I am in search for a hex-dec-oct-bin conversion ONLY > calculator(hardware). (the conversion features in the CASIOs > are nice but are really cumbersome to use, and those nifty > software version just dont quite cut it). If anyone outta there > knows some company who sells such a thing, would you please > email me? Thanks much in advance. > > -Jake <jake@timewarp.net> About 10 years ago Hewlett Packard had an excellent programmer's calculator. You should check with an HP dealer to see if they still make them. Don -- Donald S. Hall, Ph.D. halldj@lis.ab.ca
From: "Jeffrey S. Dutky" <dutky@wam.umd.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Developing for Rhapsody Date: Thu, 06 Mar 1997 02:08:50 -0500 Organization: University of Maryland Student Body Message-ID: <331E6D78.4784@wam.umd.edu> References: <5fkqpq$1nhm@atlas.vcu.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Weiyuan W Chin wrote: > > It has occured to me that there isn't a rush by Mac developers > to develop under the OPENSTEP API's. Reading over the press > releases, I get the sense that one could avoid the re-write > to OPENSTEP API's and just recompile an app written in > Codewarrior for OPENSTEP. Now, would that result in an app that > basically translates API calls to OPENSTEP calls? Would this > result in an app that runs as fast as a fully native OPENSTEP > app? Are developers just going ahead with their current > development plans and a) hope that the compability for developers > is as complete as the user environment b) hoping that the OPENSTEP > portion of Rhapsody will fail so that they can do things the way > they always have c) hoping that Rhapsody will fail so that they > can write Be apps d) something else?? > I seriously doubt that many Mac developers are hoping for Rhapsody or OPENSTEP to fail since they are the brightest hope for the future of Mac development. Most of the big Mac developers have been pretty willing to make the big leaps when Apple has provided new platforms (look at the jump from 68k to PPC or the jump from System 6 to 7). The only thing that they ask, I think, is that there be reasonable support for their old style products during the transition and that reasonable devolopment tools be made available. > Not knowing PowerPlant, MacApp, or CodeWarrior, can someone > point out how they compare to ProjectBuilder, IB, AppKit, > FoundationKit, etc.? > > I just don't see the rush of newbie OPENSTEP programming > questions that I had expected. Maybe it's just that most Mac > developers don't have access to a NeXT/Intel/SPARC to do OPENSTEP > development yet. > I think the main reason that you don't see a rush of newbie questions is that Mac developers are not newbies. These people are experienced programmers and a new OS is just not that difficult to them. Further, OPENSTEP is not "new" in the sense that BeOS is new. OPENSTEP has been around for many years. There are plenty of programmers out there who have used OPENSTEP on one platform or another. There are a fair number of quality books out there on the subject of OPENSTEP programming. When you are trying to learn to write code for an embrionic OS you need to get out and ask all kinds of stupid questions to other folx also struggling along with the new baby. Noone knows quite what works, not even the folx who wrote the thing, so there are lots of "newbie" questions being asked. With OPENSTEP, however, there is a large body of established lore to which a neophyte can refer and there are a fair number of experienced programmers that companies can hire to train their staffs or do the programming for them. Another point is that it has only been a few months since Apple bought NeXT and many developers who need to get their feet wet with OPENSTEP are probably still just getting aquainted with the system. I only aquired my NeXT box and got it set up two weeks ago. In those two weeks I have made it about 300 pages into the Garfinkel/Mahoney book. In a couple more weeks you should have a fair crop of former Mac developers who have gotten just enough of a taste of OPENSTEP to know what questions they need to ask. When you consider that a neophyte OPENSTEP programmer could need to learn 1) the NeXTSTEP GUI, 2) Objective-C, and 3) the OPENSTEP API and programming tools, I don't think its too much of a suprise that it is taking a few months to see their responses flooding the NGs. -Jeff Dutky
Newsgroups: comp.sys.next.programmer From: cdouty@netcom.com (Chris Douty) Subject: Re: Openstep declining Message-ID: <cdoutyE7BvFJ.JB9@netcom.com> Organization: Netcom On-Line Services References: <jcr.858681118@idiom.com> <5gmlhr$g1v@shelob.afs.com> Date: Thu, 20 Mar 1997 06:02:06 GMT Sender: cdouty@netcom18.netcom.com In article <5gmlhr$g1v@shelob.afs.com>, Gregory H. Anderson <Greg_Anderson@afs.com> wrote: >John C. Randolph writes >> Let's all make the point, as emphatically as possible, to the >> marketing pukes of the world, that OpenStep is a wonderful development >> environment, with which we will write apps that deserve to be deployed >> on a platform that works. > >OK, but let's remember not to call them "pukes" to their faces. 8^) >That'll be hard, I know, but sales should be stronger that way. As >the saying goes, "Always be sincere, even when you don't mean it." I'd make that "_especially_ when you don't mean it." :-) -Chris -- Christopher Douty - Rogue Engineer trapped in a land of software cdouty@netcom.com "Frequently the messages have meaning; that is they refer to or are correlated according to some system with physical or conceptual entities. These semantic aspects of communication are irrelevant to the engineering problem." -Shannon
From: wolfgang@amadeus.m.eunet.de (Wolfgang Keller) Newsgroups: comp.sys.mac.system,comp.sys.next.programmer Subject: Re: Component Software for Rhapsody Followup-To: comp.sys.mac.system Date: Wed, 19 Mar 1997 21:07:27 +0100 Organization: Customer of EUnet Germany; Info: info@Germany.EU.net Message-ID: <199703192107271206806@peu1-44.m.eunet.de> References: <5gi62k$rqt$1@geraldo.cc.utexas.edu> <maury-1703971452560001@199.166.204.230> X-no-archive: yes Maury Markowitz <maury@softarc.com> wrote: > From a development > standpoint, OLE makes a _lot_ more sense under OpenStep than OpenDoc. > > On the other hand OLE maintains the application centric nature of > computing. *snip* > The current implementation was rather > flawed Imho this is a *very* polite way to express that OLE is *rather* unusable for almost all productive work. >(open a second text document, and it _might_ open in the first > one's context, or it might not) it's the idea that's interesting. Is this > the model that people want to see in the future? Personally, I think that OLE is mis-designed (crap). It does not allow the user to get rid of those office monsters, it only allows to implement little 'plug-ins' like equation editors and such, as it doesn't support anything that's longer than one single page. Have you ever tried to use OLE to integrate Excel tables and charts, equations etc. into a real-world document that's longer than those ridiculous three-page demoes at exhibitions? Let's say, 50 OLE 'objects' in a 100-page document? I've tried it and found out it is impossible. And then I had to re-do almost all the work with Framemaker. F'up2 comp.sys.mac.system -- Wolfgang Keller Zu Risiken und Nebenwirkungen von Junkmail lesen Sie de.admin.net-abuse.mail und fragen sie Ihren Postmaster oder Provider
From: taustin@ozemail.com.au (T. Austin) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep on a DOS compatible Mac. Possible? Date: Thu, 20 Mar 1997 19:52:30 +1000 Organization: Swinburne University Message-ID: <taustin-2003971952310001@d8-1.cpe.melbourne.aone.net.au> Since hearing about 'Spherical' <http://www.orb.com/Inventory/index.html> where they sell cheap NeXT cubes. I've been looking down that avenue rather than trying to run it on the Mac, which so far sounds unlikely to happen. If I were to fork out the money for a NeXT cube, does anyone know if these machines are going to be able to run Rhpsody when it's released? If I'm going to buy a machine, I'd rather it didn't have a useful lifetime of a few months. I'd be better off buying a cheap PC. Any thoughts? Tristan Austin ...taustin@ozemail.com.au
From: mtrombin@ix.netcom.com (Mark Trombino) Newsgroups: comp.sys.next.programmer Subject: Re: Why lose "return self" in Openstep? Date: 20 Mar 1997 09:01:34 GMT Organization: Egghead Billy, Inc. Message-ID: <5gqude$4p6@dfw-ixnews5.ix.netcom.com> References: <5gmlrl$5n@dfw-ixnews4.ix.netcom.com> <332EE8D4.6EDA@tnrealestate.com> <5gphah$80i$1@sys10.cambridge.uk.psi.net> Cc: richard@brainstorm.co.uk. In <5gphah$80i$1@sys10.cambridge.uk.psi.net> Richard Frith-Macdonald wrote: > "Andrew J. Smith" <ajs@tnrealestate.com> wrote: > >Mark Trombino wrote: > >> "Previously, methods returned self by convention. Some methods return self to > >> indicate success and nil to indicate failure. Returning self to indicate a > >> Boolean value or returning self without any associated meaning made the API > >> more confusing." > >> > >> I can live with this convention, but I don't know if I agree with it. I > >> don't think that it made the API anymore confusing, but it did make my code a > >> little more elegant. > > > >While I'm certainly not an Objective-C wizard, I understand that the reason for this > >is to increase performance of DOE (Distributed Objects Everywhere?) > >programs. > >If "return self" is used in a program that has been segmented over a network, > >then the object is packaged up and returned over the network. This is > >not usually necessary and can create a severe performance problem. > > > >Someone feel free to correct me if this is wrong. > > > > I think this is probably wrong - > When a method returns self, it would return a Proxy, not a copy of the object, > and the amount of data sent over the network would be minimal. And with the > retain-release conventions used, the Proxy should be auto-released unless your > code retains it, so you don't even need to worry about getting loads of local > Proxy objects hanging around. > Perhaps the Openstep release notes are actually telling the truth, and the > people at next really did just think that the old convention was confusing. > Perhaps they have had customer feedback to that effect? > Someone mentioned that methods that are expecting a return value need to wait for that value to be returned before they can continue. Methods that don't can just continue. So, its a performance issue, mostly in regards to P/DO. ... -- Mark Trombino mtrombin@ix.netcom.com (NEXTMail, MIME Mail okay)
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sun, 16 Mar 1997 19:57:54 GMT Organization: InterServ News Service Message-ID: <5ghjc4$d92@lal.interserv.com> References: <330E54AC.167E@innosys.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov> <5gdbq0$3p1@lal.interserv.com> <petrichE750Ms.32G@netcom.com> In <<petrichE750Ms.32G@netcom.com>>, petrich@netcom.com (Loren Petrich) wrote: >In article <5gdbq0$3p1@lal.interserv.com>, >James M. Curran <JamesCurran@CIS.CompuServe.com> wrote: > [Example of C++ implementation of Objective-C runtime dispatch...] > Alternative possibility: > [snipped] That's good too, however, we'd really need the enum selector, because doing a full text string lookup for each dispatch would move this from "sluggish" to "incredible slow". My version mainly implements it the way it is handled in ObjC. Truth, James
From: Timur Alavidze <tal@rrg.msk.su> Newsgroups: comp.sys.next.programmer Subject: Loading bundles? Date: Thu, 20 Mar 1997 16:16:04 +0300 Organization: RR-Gateway Message-ID: <33313894.CC4@rrg.msk.su> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hello, I have a class (say NSMyBaseClass) that I have made into a bundle. I try to implement a subclass of the NSMyBaseClass and include it in other bundle. When I try to load these two bundles, the second one produces a load error. How can I have this class and its subclass exist in DIFFERENT bundles? Timur Alavidze
From: smolny@pankow.mpiib-berlin.mpg.de (Bertram Smolny) Newsgroups: comp.sys.next.software,comp.sys.next.programmer,comp.sys.misc,comp.protocols.smb Subject: SAMBA and faxing Date: 20 Mar 1997 14:33:42 GMT Organization: GWDG, Goettingen Message-ID: <5grhs6$meb$2@gwdu19.gwdg.de> Hi, is there a way to send faxes from i.e. W95 via SAMBA by NeXTSTEP ? (NXFAX or JollyFax). This can be a good way to use a powerfull tool from NeXTSTEP. Have anyone experiences with the HYLAFAX-Client for W$$95 and SAMBA ? please send e-mail reagrds >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Bertram Smolny Fon: ++49 30/2802-6154 MPI f. Infektionsbiologie Fax: ++49 30/2802-6406 Monbijoustr.2 D-10117 Berlin e-mail: smolny@mpiib-berlin.mpg.de >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
From: rog@ohm.york.ac.uk (Roger Peppe) Newsgroups: comp.sys.next.programmer Subject: Re: Two-column Menus Date: 20 Mar 1997 18:12:08 GMT Organization: Department of Electronics, University of York, UK. Message-ID: <5grulo$t3n@netty.york.ac.uk> References: <5gbbhl$r0t@lyra.csx.cam.ac.uk> <5gmm5p$p9n@netty.york.ac.uk> <332F497E.66F9@wam.umd.edu> On Tue, 18 Mar 1997 21:04:09 -0500, "Jeffrey S. Dutky" <dutky@wam.umd.edu> wrote: > > it scrolls automatically when you drag the mouse off the screen. > > (try it - click the right mouse button near the bottom of the > > screen, and then drag the mouse downwards) > In what version of the os was this first implemented. I just > tried it on a NS3.0 box and it sure didn't scroll for me. i think this feature was probably introduced in 3.2 i've just checked it and it works under openstep 4.0 and nextstep 3.3 rog.
From: jimg@abacus.com (Jim Gagnon) Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer Subject: AppKit and Undo Date: Thu, 20 Mar 1997 10:38:15 -0800 Organization: Abacus Concepts, Inc. Message-ID: <jimg-2003971038470001@157.22.237.238> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit I've noticed a bit of talk about lack of built-in support for Undo in the NeXT AppKit and I was wondering if a third party built a subclass of NSObject that supported full undo and history documents, and allowed full transaction/nested transaction support, would developers find this attractive enough to license? I have built this technology before for other dynamic object systems, and feel it could be brought to the NeXT/Rhapsody platform. Would developers be willing to pay a modest license fee for it? (say $1000/year for a commercial product). Lemme know. If I hear enough interest, I'll gladly drop the Windows project I'm working on and build an undo system that'll beat the pants off of the ones Taligent, OpenDoc and Cairo used. Jim Gagnon
From: jcr@idiom.com (John C. Randolph) Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer Subject: Rejoice! BSD 4.4 is coming Date: 20 Mar 1997 14:16:24 -0800 Organization: A poorly-installed InterNetNews site Message-ID: <jcr.858895952@idiom.com> Well, I just heard it from the fourth source inside NeXT's engineering groups, and what I'm hearing is that the BSD code in Rhapsody is *finally* getting upgraded to BSD 4.4! This means we get: append-only files and filesystems, the LFS, 64-bit filesystems (i.e, no more 2 gig partition limit!) NOw we just need an aoutfit to make Rhapsody-based servers. Think about a company that relates to Apple like Auspex relates to Sun. Would be nice.. -jcr
From: "Arne Hårseth" <arneha@internet.no> Subject: WO, ActiveX and MS Visual InterDev Newsgroups: comp.sys.next.programmer Message-ID: <01bc3580$fb44b000$816e13c2@terra.internet.no> Date: 20 Mar 97 22:47:46 GMT How do you communicate with an ActiveX component in WO? Through a COM-interface? How do you convince a fanatic MS worshipper that WO is better than MS Visual InterDev? (Must be very convincing considering the redicoulous price difference in favour of MS Visual InterDev). Please cc reply to arneha@internet.no Arne Hårseth
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: Tue, 18 Mar 1997 04:34:19 GMT Organization: InterServ News Service Message-ID: <5gl602$nbl@lal.interserv.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> In <<gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu>>, Charles William Swiger <cs4w+@andrew.cmu.edu> wrote: >Excerpts from netnews.comp.sys.next.advocacy: 15-Mar-97 Re: Objective C? >by James M. Curran@CIS.Comp >>> Okay, so? If you've got to access the ivar through a member function in >>> both C++ and Obj-C, we aren't comparing the speed of doing four or so >>> integer operations with a couple of Obj-C method dispatches, now are we? >>> We're comparing the speeds of C++ method dispatches versus Obj-C >>> dispatches. >> >> No, we ARE comparing the speed of doing four or so integer operations >> with a couple of ObjC method dispatches. You are missing the point. >> In C++ a member function can be inlined. ie, I can write: >> x = y; >> and the compiler will see that as: >> x.realval = y.realval; >> and generate the code appropriately. >Wrong-- you aren't copying the objects x and y by doing that, you're >just exchanging one of their ivars. And if that's all you want to do, >you can code the exact same thing in Obj-C with the same four or so >integer operations and get the same performance you'd get from C++. No... You keep missing the point. In my (admittedly pathological) example, "realval" is the only irrelevant part of the object. (The rest could be padding for alignment or a scratchpad area). Hence by copying that one member variable, I've effectively copied the value of the object. >However, if you're not going to break encapsulation, you have to access >ivars through method dispatch instead of directly. Ie, you have to call >[x realval] or x.realval() to get that value since you have to do some >type of calculation in order to compute the response instead of simply >returning a ivar from a structure. But, I'm not breaking encapsulation!! All I'm doing in my code is writing "x = y;" (english translation - "copy object y into object x -- all implementation details left up to class designer") And if the class designer were to change the implementation (eg, made the essense of the object contained in two variables, realval1 & realval2 for instance, instead of one), my code would not change. (The assembler code output by the compiler would to: x.realval1 = y.realval2; x.realval2 = y.realval2; but that's not my concern -- all thoses details are encapsulated inside the class definition. I think part of what you're missing, is you don't fully understand C++'s operator overloading. In C++, I can define what = means for a object. Hence, as the designer of a class, I can specify exactly what members need to be copied and how they should be copied. But, as a user of a class, all I need to know is that saying "x = y;" handles it all. THAT'S the true essense of OOP, and ObjC can only approximate that.... >Under Obj-C, it's common for you to possibly have many implementations >of the -realval method (different subclasses might override it, or you >might add a category or do a poseAs, etc). You can't inline the method >implementation at compile time if you're going to deal with objects >which interact at runtime. No, you can't inline method for object that mutate at run time. As I demonstrated elsewhere: class B { virtual void print() {cout << "B::print(); << endl;} }; class D: public B { virtual void print() {cout << "D::print(); << endl;} }; func(B *pB) { B b; D d; b.print(); // known B, inlined d.print(); // known D, inlined pB->print(); // could be B or D // uses virtual call. } > And, to compare the equivalent under C++, >you're talking about using virtual functions with those templates of >yours you keep advocating, which means you end up creating intermediate >classes. Actually, virtual function -OR- templates, depending on the situation (its very rare to need both at once). And, I have no idea how you are connecting these to "intermediate classes". >> That is what is possible with early binding, and what you have to give up >> if you insist that it's not real OOP unless it's late-bound. >That's exactly right. You're not really doing OOP if you break >encapsulation, now are you? But I'm not the one advacating breaking encapsolation! >Let's acknowledge that if you want to break encapsulation, and do >binding at compile time, that it would be faster than dynamic binding. >However, I already demonstrated that you can break encapsulation under >Obj-C and get the exact same performance you could get from C++, which >was +/- four integer ops for our comparison. Yes, but I did it WITHOUT breaking encapsulation. >James, you try to keep comparing compile-time binding under C++ to >dynamic binding under Obj-C, and it's simply not a reasonable >comparision because you can do compile-time binding under Obj-C and get >the same exact code as you would from C++. Yes, but I did it WITHOUT breaking encapsulation. [O(n) analysis snipped] >The two algorithms will have approximately a performance differance of >(c1/c2) when n is large enough that k1 and k2 don't matter, but that is >a constant factor-- which is the same algorithmic performance. You misunderstood what I meant by "more relevant". I meant if n is small, c1 is one second and c2 is two seconds, and the difference is not particularly relevant. If n is bigger, c1 is 30 seconds, and c2 is one minute, ie more relevant... >Isn't it odd how the class hierachies I've seen from C++ tend to be >horribly overbloated with intermediate classes and so forth, whereas >Obj-C class hierachies tend to use categories, protocols, and >forwarding/delegation to avoid creating unnecessary classes. Well, I don't know much about categories, protocols and forwarding etc, so I can't comment on that, but a class models a concept. Why do we need several different methods to handle the same idea? (And I'll still not sure what you mean be "unnecessary classes") >>> Sure, but you can achieve the same exact thing with Obj-C by memoizing >>> the function implementation associated with a method and calling that >>> directly, or by dereferencing an ivar directly from the structure >>> instead of using an accessor function. >> >> Yes, but the former method is not a language feature, but an ugly, >> burdensome workaround for a language failing, and the latter method >> violates encapsulation, and would cause real world problems in the >> objects implemention were to change. >Yep-- it's not graceful, it's not pretty, it violates encapsulation, and >it's much harder to maintain. >Very reminiscent of C++ code, come to think of it.... HA! One would think that such a cheap (and unaccurate) shot would be beneath you. OK, Given the class: class Point { int x; int y; public: Point(int X, int Y) { x= X; y=Y;}; operator=(Point rhs) {x=rhs.x; y=rhs.y;} virtual print() {cout << "(" << x << "," << y << ")" } }; [comparable ObjC class omitted] Now let's see what you can do with it. Creation on automatic object (on stack): C++: Point Pt(10,20); ObjC: Can't be done. (advantage C++) Creation in Free store: C++ Point *pPt = new Point(10,20); ObjC: Point *Pt = [[Point alloc] init:10,20]; (I kinda prefer the C++ syntax, but that's a matter of taste; we'll call it a draw) Shallow copy: C++: pPt1 = pPt2; ObjC: Pt1 = Pt2; (draw) Deep Copy: C++: Pt1 = Pt2; ObJC: Pt1 = [[Point alloc] init:Pt2]; (Again I prefer the C++ syntax, but, this time I think it's clear enough to say advantage C++) effecient deep copy: C++: Pt1 = Pt2; // inlining handled by compiler // encapsolation maintained ObjC: Pt1->x = Pt2->x; // inlining handled by programmer Pt1->y = Pt2->y; // encapsolation violated. (advantage C++) polymorphic method call: C++: pPt->print(); ObjC: [Pt print]; (draw) effecient polymorphic call: C++: pPt->print(); ObjC: func f; f = sel_getMethod(Point, @selector(print)); f(); (OK, I made that ObjC syntax up, since I don't know the actual syntax, but I'm pretty sure it's close, and unless the real one is actually very different, I'd say we'd have to call this advantage C++) very effecient method call when run-time polymorphism isn't needed (ie, object actual type is known) C++: Pt.print(); Obj: can't be done. (advantage C++) In other words, the C++ code is always graceful, pretty, encapsolated, and easier to maintain. Truth, James
From: embuck@palmer.cca.rockwell.com (Erik M. Buck) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 20 Mar 1997 20:06:40 GMT Organization: Rockwell Collins Message-ID: <5gs5cg$ja21@castor.cca.rockwell.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <332FE836.1567@claris.com> Cc: richard_cave@claris.com The ignorance of C++ advocates is stunning! The example below is just simple polymorphisim as described. Note that all of the methods MUST be virtual for the example to work. Several comments were implied. First that the absence of "constructors" is somehow a problem. Constructors are one of the worst mis-features of C++. All kinds of special rules about what can and can not be done in constructors greatly complicates the language. Objective-C does not need any of that. If you want to control memory allocation, overload +allocWithZone: or +alloc. That is seldom necessary or desired. Overload -init to do most useful class initialization. C++ suffers from the fragile base class syndrome. Note the following code: class Node { protected: Node *nextNode; public: Node(); Node *nextNode(); void setNextNode(Node *aNode = NULL); }; class TwoWayNode : public Node { protected: TwoWayNode *previousNode; public: TwoWayNode (); TwoWayNode *previousNode(); void setPreviousNode(TwoWayNode *aNode = NULL); }; Assume reasonable implementations for the above classes. TwoWayNode A; TwoWayNode B TwoWayNode C A.setNextNode(B); // This works C.setPreviousNode(A.nextNode()); // This does not! (fragile base class) Of course, countless people including Stroustrup (sp) are aware of the problems of C++. Refer to the mountains of criticism by other parties. I have managed and participated in large C++ projects. Useful applications can be built with C++ obviously. It is just harder to do and produces fragile results. In <332FE836.1567@claris.com> Richard Cave wrote: > Tony, you're comparing Apples and Oranges. A more appropriate C++ > example might be: > > class SuperClass { > public: > SuperClass(); //Note ObjC does not have this at all > virtual void init(); // You can do this in ObjC > virtual void describe(); > }; > > SuperClass::SuperClass(){ > // do initialization stuff > // note that ObjC has no concept of a constructor > } > > void SuperClass::init(){this->describe();} > > void SuperClass::describe() { printf("I am Super"); } > > //////////////////////////////////// > > class SubClass : public SuperClass{ > SubClass() > virtual void describe(); > }; > > SubClass::SubClass(){ > // do SubClass specific initialization > } > > void SubClass::describe() { printf("I am Sub"); } > > main (int argc, char** argv) { > > SuperClass* super; > SubClass* sub; > > (super = new SuperClass)->init(); > (sub = new SubClass)->init(); > } > // > ---------------------------------------------------------------------- > This will generate the output you expect. There is no dynamic messaging > in the ObjC sense going on here. This is simple polymorphism and any OO > language can do it. > > As for your glorious factory example, this is used all the time in C++. > It is not ugly, and it is not painful. You don't need ObjC to do object > factories. I can even do this in straight C. > > Richard Cave > Claris >
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Tue, 18 Mar 1997 04:34:30 GMT Organization: InterServ News Service Message-ID: <5gl608$nbl@lal.interserv.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5gjotg$h8j$1@news.internetmci.com> In <<5gjotg$h8j$1@news.internetmci.com>>, Michael.Gentry@m-c-i.com (Michael Gentry) wrote: >On 03/14/97, James M. Curran wrote: >>Nevertheless, there are cases where you DO need a deep copy, and >>WOULD require a method like the copyfrom I cited above..... >Are you suggesting in C++ one NEVER needs to deep copy an object? And >if one needs to deep copy a C++ object, that it is just as fast as >pointer assignment? Since in C++, most objects are directly accessed instead of indirectly (through pointers) most copies are deep copies. And since C++ objects tend to be small, and their assignment operators often inlined, the speed inwhich a C++ object can be deep copied is close to the speed of a pointer assignment. Truth, James
From: ga@ed4u.com (G. Gordon Apple, PhD) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Thu, 20 Mar 1997 23:22:03 -0800 Organization: GTE Intelligent Network Services, GTE INS Message-ID: <ga-2003972322040001@cust48.max55.los-angeles.ca.ms.uu.net> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <332FE836.1567@claris.com> <5gs5cg$ja21@castor.cca.rockwell.com> In article <5gs5cg$ja21@castor.cca.rockwell.com>, embuck@palmer.cca.rockwell.com (Erik M. Buck) wrote: > C++ suffers from the fragile base class syndrome. Note the following code: > class Node { > protected: > Node *nextNode; > public: > Node(); > Node *nextNode(); > void setNextNode(Node *aNode = NULL); > }; > > class TwoWayNode : public Node { > protected: > TwoWayNode *previousNode; > public: > TwoWayNode (); > TwoWayNode *previousNode(); > void setPreviousNode(TwoWayNode *aNode = NULL); > }; > > Assume reasonable implementations for the above classes. > > TwoWayNode A; > TwoWayNode B > TwoWayNode C > A.setNextNode(B); // This works > C.setPreviousNode(A.nextNode()); // This does not! (fragile base class) > What does this have to do with the fragile base class problem? You simply made a mistake in your declarations. "previousNode" probably should have been declared a Node*, not a TwoWayNode*, depending on what you really wanted to do. I certainly don't see that as a fault in the language. You are right that ctors are fraught with traps for the unwary. However, many of us consider them to be one of the best features of the language. -- G. Gordon Apple, PhD The Ed4U Project Advanced Communications Engineering, Inc. Redondo Beach, CA ga@ed4u.com www.ed4u.com
From: David Young <dwy@ace.net> Newsgroups: comp.sys.next.programmer Subject: An actual NEXTSTEP programming post Date: 21 Mar 1997 07:13:34 GMT Organization: ace dot net internet technologies Message-ID: <5gtceu$712$1@darla.visi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit Recently I've been working on a project which uses DO in order to handle threads vs. the AppKit. Basically, I vend my application subclass object over a port, and a thread connects to it, and sends a message when a condition occurs. This works great. However, I'm also using 3.3 FoundationKit, and using some autorelease methods of the Foundation's classes within the method that's invoked over DO. Even though the *very* first line in the method is: NSAutoreleasePool *localPool = [NSAutoreleasePool new]; and the last is [localPool release]; I see on the console: Mar 21 02:06:56 [4912] *** autorelease for dwy [0x28a5f0]: No pool in place among other similar messages of varying string values. What's up? -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: markeaton_@_mindspring_._com (Mark Eaton) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Thu, 20 Mar 1997 23:59:15 -0800 Organization: MindSpring Enterprises Message-ID: <markeaton_-2003972359160001@ip86.santa-clara6.ca.pub-ip.psi.net> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <332FE836.1567@claris.com> <5gs5cg$ja21@castor.cca.rockwell.com> In article <5gs5cg$ja21@castor.cca.rockwell.com>, embuck@palmer.cca.rockwell.com (Erik M. Buck) wrote: > The ignorance of C++ advocates is stunning! Uhh, ok. nice way to start things... > The example below is just simple polymorphisim as described. Note that all > of the methods MUST be virtual for the example to work. are you referring to the quoted example, which you didn't address, or your own example? > > Several comments were implied. > First that the absence of "constructors" is somehow a problem. Constructors > are one of the worst mis-features of C++. All kinds of special rules about > what can and can not be done in constructors greatly complicates the > language. Objective-C does not need any of that. If you want to control > memory allocation, overload +allocWithZone: or +alloc. That is seldom > necessary or desired. Overload -init to do most useful class initialization. Constructors are nice syntactic sugar. They are handy for some things like locks, etc. but not necessary for OO design... > > C++ suffers from the fragile base class syndrome. Note the following code: erm, the following code doesn't demonstrate the fragile base class syndrome at all. 'Fragile base class' refers to the fact that subclasses of a class need to be recompiled if the memory layout of the base class changes. Your code demonstrates that you can't down-cast a pointer. > class Node { > protected: > Node *nextNode; > public: > Node(); > Node *nextNode(); > void setNextNode(Node *aNode = NULL); > }; > > class TwoWayNode : public Node { > protected: > TwoWayNode *previousNode; > public: > TwoWayNode (); > TwoWayNode *previousNode(); > void setPreviousNode(TwoWayNode *aNode = NULL); > }; > > Assume reasonable implementations for the above classes. > > TwoWayNode A; > TwoWayNode B > TwoWayNode C > A.setNextNode(B); // This works > C.setPreviousNode(A.nextNode()); // This does not! (fragile base class) you're right, it doesn't work, but it has nothing to do with the fragile base class problem. Why should it work? You're trying to pass a Node* to something that only works with TwoWayNode*s. (and, BTW, it won't compile since A.setNextNode(B); is trying to pass an object by reference instead of passing a Node*) > > Of course, countless people including Stroustrup (sp) are aware of the > problems of C++. Refer to the mountains of criticism by other parties. I > have managed and participated in large C++ projects. Useful applications can > be built with C++ obviously. It is just harder to do and produces fragile > results. especially when you don't know what you are talking about... [original poster's example snipped. it was apparently quoted for no reason] ---> markeaton_@_mindspring_._com
From: "Jeffrey S. Dutky" <dutky@wam.umd.edu> Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep on a DOS compatible Mac. Possible? Date: Fri, 21 Mar 1997 00:02:34 -0500 Organization: University of Maryland Student Body Message-ID: <3332160E.7399@wam.umd.edu> References: <taustin-2003971952310001@d8-1.cpe.melbourne.aone.net.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit T. Austin wrote: > > Since hearing about 'Spherical' > > <http://www.orb.com/Inventory/index.html> > > where they sell cheap NeXT cubes. I've been looking down that > avenue rather than trying to run it on the Mac, which so far > sounds unlikely to happen. > > If I were to fork out the money for a NeXT cube, does anyone know > if these machines are going to be able to run Rhpsody when it's > released? If I'm going to buy a machine, I'd rather it didn't have > a useful lifetime of a few months. I'd be better off buying a > cheap PC. > > Any thoughts? > I bought a NeXTcube and NeXTstation that were being surplussed by my school and I'm rather happily developing on the NeXTstation at this moment. I figured that I could get up and running faster by buying one of these systems than by trying to put together an Intel box that would run OPENSTEP. For the money I spent ($650 for two computers and a printer) I might have been able to throw together a low end clone box but it wouldn't have included two monitors (17" megapixel) and it wouldn't have looked as cool sitting on my desk. Further it could have been A LOT more trouble getting OPENSTEP to run on bargain basement PC parts than it has been on the original black hardware. Nonetheless, I figured that I could afford to blow $650 on a system that was little more than a learning aid and would be discarded in a year or less. If you want something that will last awhile I'd buy a middle to high end PC, fully configured, that NeXT will guarantee will work with OPENSTEP (I think that they have a hardware compatability list just like WinNT). If you got a P166 or P200 with a spiff monitor it should be a sweet machine for a couple of years, at least. I guess that I'm advising you to buy a PC, but not the bargain basement variety. If it's longevity you are concerned with then you will have to shell out the bucks, PC or otherwise. And, I stress, you cannot be certain that a bargain basement PC will be compatible with OPENSTEP. If it is price, however, that concerns you then I would suggest that you get one of the old NeXT machines. You might have to discard it shortly, but in the meantime you will have a problem free machine to play and learn with. As a last note: I have been so pleased by the stability of my NeXTstation that I am considering buying a compatible PC laptop on which to run OPENSTEP for Mach for Intel. The NeXTstation just doesn't crash! I can code and test and code and test and code and play games and code and netsurf and test and code and the thing won't even hickup. That's not something I can say for my Mac. (which I still love dearly, but the NeXT is turning my head...) - Jeff Dutky
From: taustin@ozemail.com.au (T. Austin) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep on a DOS compatible Mac. Possible? Date: Sat, 22 Mar 1997 00:02:50 +1000 Organization: Swinburne University Message-ID: <taustin-2203970002500001@d137-1.cpe.melbourne.aone.net.au> References: <taustin-2003971952310001@d8-1.cpe.melbourne.aone.net.au> <3332160E.7399@wam.umd.edu> > I bought a NeXTcube and NeXTstation that were being surplussed > by my school and I'm rather happily developing on the NeXTstation > at this moment. I figured that I could get up and running faster > by buying one of these systems than by trying to put together > an Intel box that would run OPENSTEP. > > For the money I spent ($650 for two computers and a printer) I > might have been able to throw together a low end clone box but > it wouldn't have included two monitors (17" megapixel) and it > wouldn't have looked as cool sitting on my desk. Further it > could have been A LOT more trouble getting OPENSTEP to run on > bargain basement PC parts than it has been on the original > black hardware. > > Nonetheless, I figured that I could afford to blow $650 on a > system that was little more than a learning aid and would be > discarded in a year or less. If you want something that will > last awhile I'd buy a middle to high end PC, fully configured, > that NeXT will guarantee will work with OPENSTEP (I think that > they have a hardware compatability list just like WinNT). If > you got a P166 or P200 with a spiff monitor it should be a > sweet machine for a couple of years, at least. > > I guess that I'm advising you to buy a PC, but not the bargain > basement variety. If it's longevity you are concerned with then > you will have to shell out the bucks, PC or otherwise. And, I > stress, you cannot be certain that a bargain basement PC will > be compatible with OPENSTEP. > > If it is price, however, that concerns you then I would suggest > that you get one of the old NeXT machines. You might have to > discard it shortly, but in the meantime you will have a problem > free machine to play and learn with. > > As a last note: I have been so pleased by the stability of my > NeXTstation that I am considering buying a compatible PC laptop > on which to run OPENSTEP for Mach for Intel. The NeXTstation > just doesn't crash! I can code and test and code and test and > code and play games and code and netsurf and test and code and > the thing won't even hickup. That's not something I can say for > my Mac. (which I still love dearly, but the NeXT is turning my > head...) > > - Jeff Dutky It certainly sounds pretty good. I've heard of companies running OpenStep wanting to stick with Rhapsody on Intel machines when it is released. Is this just because they don't want to upgrade their hardware to the PowerPC platform due to cost? I just can't see why they would want to stick with an obviously less superior platform when they can upgrade to the latest in technology that still has a lot of head room for improvement. When you say the NeXT is turning your head, what are you implying? I mean, in some form or another, OpenStep is going to be running on the Mac soon anyway. Anyway, I'm still not sure what I'm going to get. I've been getting so many varied reports on NeXT cubes and their useful life time that I'm not sure exactly what the situation is. Tristan Austin ...taustin@ozemail.com.au
From:  necakov@mljsdi9.dev.japan.ml.com (Tony Necakov) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: 21 Mar 1997 12:38:36 GMT Organization: Merrill Lynch Message-ID: <5gtvgc$5op@news.ml.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > In other words, the C++ code is always graceful, pretty, encapsolated, >and easier to maintain. alertArea->displayTextColorBlinkInterval("Connection dropped", RED, YES, FAST); [alertArea displayText:"Connection dropped" color:RED blink:YES interval:FAST]; Which is easier to follow? Tony
From:  necakov@mljsdi9.dev.japan.ml.com (Tony Necakov) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 21 Mar 1997 12:17:38 GMT Organization: Merrill Lynch Message-ID: <5gtu92$5op@news.ml.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <332FE836.1567@claris.com> <5gs5cg$ja21@castor.cca.rockwell.com> Richard Cave wrote: > As for your glorious factory example, this is used all the time in C++. > It is not ugly, and it is not painful. You don't need ObjC to do object > factories. I can even do this in straight C. I was alluding to the fact that I could refer to a factory object from a string representation of it and then have the factory instantiate an instance for me at runtime without knowing which particular class I was instantiating. There is little to nothing that can be done in one language verses another, its just the added number of hoops you have to jump through in order to get there. Tony
From: igerard@ina.fr (Gerard Iglesias) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: 21 Mar 1997 14:09:22 GMT Organization: INA, Institut National de l'Audiovisuel, Bry-sur-Marne, France Message-ID: <5gu4qi$rpr$2@wolfy.ina.fr> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> <5gtvgc$5op@news.ml.com> Cc: ©necakov@mljsdi9.dev.japan.ml.com > JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > > In other words, the C++ code is always graceful, pretty, encapsolated, > >and easier to maintain. > It's a joke ??? PS: I work on an industrial project in C++ since 4 years. -- Gerard Iglesias Email : igerard@ina.fr Computer Graphics researcher INA.
From: smolny@pankow.mpiib-berlin.mpg.de (Bertram Smolny) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc Subject: Q: Hylafax ? Date: 21 Mar 1997 13:41:36 GMT Organization: GWDG, Goettingen Message-ID: <5gu36g$p8u$3@gwdu19.gwdg.de> -- Hi, is there somebody who compiled "hylafax" for NS 3.3 ? please send e-mail regards >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Bertram Smolny Fon: ++49 30/2802-6154 MPI f. Infektionsbiologie Fax: ++49 30/2802-6406 Monbijoustr.2 D-10117 Berlin e-mail: smolny@mpiib-berlin.mpg.de >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
From: dashlangan@hotmail.com (Dash Langan) Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: Good News for Corps: Drive Down Rates as Desired w This Y2K Solution Date: 21 Mar 1997 17:05:33 +0100 Organization: Posting Service Message-ID: <199703211605.RAA19840@basement.replay.com> With the "Open and Shut Window Technique" Y2K solution, employers of programmers can actually *layoff* programmers, not need more! If, perchance, competitors foolishly raid your staff, and you find yourself in need of programmers, then you can send the work overseas to India with confidence with the "Open and Shut Window Technique" because it is so simple. It relies heavily on existing code, so it needs little testing, and contrary to someone's mistaken belief, it needs no continual maintenance beyond the initial program modifications. In any case, you can continue with your corporate objectives, that is, to drive down compensation rates for labor, particularly expensive labor, particularly programmers. Sock it to those indolent and privileged prima donnas! The "Open and Shut Window Technique," the quickest, simplest Y2K solution follows! Please read this document to the end. Some important content is near the end. This approach will 1.) eliminate the need for file conversions 2.) allow you to move individual programs into production as they are converted indepen- dently of the status of other programs (great from an standpoint of keeping things organized) 3.) work for all languages and all data access methods and databases 4.) work for batch and on-line systems 5.) work for subsequent turns of century (as far as 2100 not being a leap year, you are on your own with this minor glitch) 5.) not involve the reformatting of input screens unless desired 6.) not involve the reformatting of output reports unless desired This approach will work for systems whose active two-digit years do not span more than 50 years, such as motor vehicle systems (aside from birth- dates which should already be carried with 4 digit years), manufacturing systems, payroll systems, order processing systems, and many, many others. (Note: you can also use this approach partially to buy you more time for a different permanent solution if the range of active dates in your system is greater than 50 years but less than app. 90 years,) Where you will primarily run into problems in a program is in date comparisons, however, the problem exists ONLY when the two dates are in different centuries, otherwise the existing code is adequate. You make the distinction by having a convention whereby all two digit years less than n are new century years and all other years are old century years. n may be 10 or 50 or whatever works for your particular system and whatever you feel comfortable with. Here is the logic for date comparisons: If both dates are in the same century, execute existing logic as is, otherwise, if year1 < year2, then GOTO the existing GREATER-than logic for date1 being greater than date2, else GOTO the existing LESS-than logic for date1 being less than date2. Don't expand the years by prefixing them with 19 or 20; there is no need to do so. If you are looking for more, there isn't much more to it than that. When you are well into the new century and all the active dates in the system are new century dates, then go into your programs and comment out the logic above and recompile. Then as you approach the next turn of the century, uncomment out the comments making the code active again! (Save your screams. Wait to see what's below.) You will also have to insert some correcting code where you calculate the number of days between two dates. Here, if both dates are in the same century just execute the existing code. Otherwise expand the the new century year to three digits by prefixing it with a 1 and expand the old century year by prefixing it with a 0. Find the difference between the two years, and GOTO the appropriate point in the existing code beyond the point where the dif- ference was calculated originally. Again, at an appropriate time in the future, comment out the code, recompile, and at the next turn of century uncomment out the code and reuse it. You may have a situation where you are browsing a KSDS VSAM file which is in key sequence accord- ing to dates. You are going to have to insert modification code to end the browse at the end of the records for year 99 and then restart the browse for the records for year 00. There may be situations where dates are used in arithmetic calculations to come up with a VSAM RRDS record number. Depending on how the situ- ation is handled, you may not need any correcting code. If you do, it should be as simple as the other correcting code described herein. With this approach, two digits years will always be interpreted by humans as usual when they input dates or when they read reports. However, if you so desire, you can modify your input programs and output programs to use 4 digits years, but to avoid file conversions, you will still carry the dates in two digits in the files. (Actually, having the century prefixed to input and report output dates will necessitate extra logic for keeping it working into the 2100's, so it is recommended to dispense with this for simplicity's sake.) Remember to keep your correcting code well contained for the convenience of commenting and uncommenting it out in the future. And be sure to put liberal **** asterisk blocked **** documenting comments to this effect. Well, maybe you don't want to comment and uncomment the code. A convenient way to determine if your two dates are in the different centuries is to check the absolute value of their differences. So now your correction code for date comparisons will look something like the following. (Remember, all dates to be compared must not span more than 50 years, otherwise the following will not work properly!) * Note: vertical lines: "| |" surrounding "year1 - year2" below * indicate absolute value of the difference of year1 and year2. IF |year1 - year2| is greater than 49 IF year1 is less than year2 GOTO date1-is-greater-so-goto-existing-greater-than-logic ELSE GOTO date1-is-lower-so-goto-existing-lower-logic. * Continue with next program instruction as it was originally. Some reports will be printed with the data for the new century dates preceding the old century dates. But this is just a minor inconvenience which will go away when all dates in the system are in the new century. Also, it is my under- standing that if you put your data through Syncsort, you can specify sort parameters which will eliminate this problem. Comments to: dashlangan@hotmail.com Dash Langan
From: John Kheit <jkheit@cnj.digex.net> Newsgroups: comp.sys.next.programmer Subject: Q: i56 Card. Date: 21 Mar 1997 17:37:49 GMT Organization: monoChrome, Inc., NJ, USA Message-ID: <5guh1d$r7t@news4.digex.net> Hi All, I've been long suffering with this :) I got an i56 card, and iLink sent me their SoundAPI for it. All I want to do is an incredibly simple app that can record and play from the card. A two second IB.app with NeXT's soundkit, and SoundView. Now the i56SoundAPI has a i56SoundView. It has all the same methods that the NeXT SoundView has. But when I substitute the i56SoundView with NeXT's, the app quits when I try to record or play. If I substitute NeXT's SoundView back, everything works fine (but not through the i56 DSP card). So, I was wondering if anyone who has this card has managed to get it to do this basic thing. It comes with a modified SoundEditor.app, and it seems to just be using the i56SoundView instead of the NeXT SoundView. I'm not sure where the "magic" is happening that I'm missing. I've tried sending mail for months to iLink, but no one has responded. Has anyone had either better luck getting play and record working, or contacting iLink? Thanks for any help :) -- Thanks, be well, take care, later, John Kheit; Self expressed... monoChrome, Inc. | ASCII, MIME, PGP, SUN, & NeXTmail OK NeXT/OPENSTEP Developer | mailto:jkheit@cnj.digex.net Telepathy, It's coming... | http://www.cnj.digex.net/~jkheit New York Law School | Jag talar inte svenska )^> %^) =^)
From: tiggr@es.ele.tue.nl (Pieter Schoenmakers) Newsgroups: comp.lang.misc,comp.object,comp.sys.hp.hpux,comp.sys.next.programmer Subject: RELEASE: The TOM Programming Language, version 0.03 Followup-To: comp.lang.misc Date: 21 Mar 1997 18:36:35 +0100 Organization: Eindhoven University of Technology Sender: tiggr@tom.ics.ele.tue.nl Message-ID: <x7d8st5eql.fsf@tom.ics.ele.tue.nl> cc: tom Version 0.03 of TOM has been released. For more information, and the distribution, visit http://tom.ics.ele.tue.nl:8080/. --Tiggr From the README: TOM is an object oriented programming language. It is dynamic; instances as well as classes are true objects; they can be extended and modified at run time and at compile time; objects are managed by a non-atomic garbage collector; TOM provides very simple multiple inheritance; methods are overloaded on argument and return types; returns are multi-valued; method pre- and postconditions inherit, and the exception mechanism, like every part of the language, is an attempt at the right balance between arcane, baroque, simple, elegant and, foremost, usable. (This balance is, of course, subject to the objectivity of the designers). Changes in version 0.03 (Fri Mar 21 1997) New targets: hppa1.1-hp-hpux10.20 i386-next-nextstep3 i386-next-nextstep4 (untested) Language changes: - thread-local static class variables (new qualifier: `local'), - methods can have preconditions and postconditions. Conditions are inherited by overriding methods. Code for condition checking is compiled in by default; it can be omitted by `-fno-pre-checks' and `-fno-post-checks'. Condition checking at run time is off by default; it can be enabled by `:cc-pre' and `:cc-post', - unary operator, `old', for use in postconditions, - literal C code can be included between <c> and </c> tags, - the semicolon is now a terminator instead of a separator, making TOM code look more like C code (and C-x C-t useful again). New features: - multi threading on some targets (classes: tom.Thread, tom.Lock, tom.RecursiveLock, and tom.Semaphore), - copying and mutable copying of objects (new class: Copying), - archiving objects onto a stream, and retrieving them (new or modified classes: All, State, Coder, BinaryCoder, StreamCoder, BinaryStreamCoder, TextStreamCoder, and their encoding/decoding subclasses), - invocation building, currying, and execution (new classes: Invocation, InvocationResult, Selector, TypeDescription), - an _initial_ implementation of Distributed Objects (new classes: Connection, PortCoder, Proxy, and various subclasses), - Unicode support. The unicode example program is now a necessary tool for creating the conversion and predicate tables. Tables for unicode and iso8859-* encodings are included in the distribution. (new or modified classes: ByteString, CharString, CharEncoding, USASCIIEncoding), - some new collections (new classes: IntDictionary, EqDictionary, PointerDictionary, EqSet, IntArray, Trie, Heap), - primitive implementation of bundles (new class: Bundle), - tom.C class providing malloc, memcpy and the like, - new class tom.Constants containing all definitions of constants for the tom unit, instead of the previous classes FileUser, TrieUser, etc (which have been removed), - the new class Extension provides access to an object's extensions, including the ability of having a particular method of said extension be executed. Other changes: - numerous bug fixes.
Date: Fri, 21 Mar 1997 12:01:13 -0600 From: rberber@spin.com.mx Subject: Re: Color in DBTableView? (DBKit question) Newsgroups: comp.sys.next.programmer Message-ID: <858966682.3440@dejanews.com> Organization: Deja News USENET Posting Service To: gary@instepmobile.com Gary Quan wrote: > > Does anyone know how to set a color to a row (record) in > DBTableView? > Look into the BooleanFormater example from NeXT (http://www.next.com/NeXTanswers/HTMLFiles/1239.htmld/1239.html); changing the line that says: PSsetgray(NX_BLACK); into something like: PSsetrgbcolor(1.0, 0.0, 0.0); should give you "red boolean columns". Anyway, that's the general idea. -------------- Rene Berber rberber@spin.com.mx MIME / NeXT Mail welcomed -------------------==== Posted via Deja News ====----------------------- http://www.dejanews.com/ Search, Read, Post to Usenet
From: seanl@carmi.cs.umd.edu (Sean Luke) Newsgroups: comp.sys.next.programmer Subject: Re: I need software suport help in DC Date: 21 Mar 1997 18:56:22 GMT Organization: U Maryland at College Park Message-ID: <5gulkm$od9@mimsy.cs.umd.edu> References: <3326B1EC.7873@mail.house.gov> I just posted to here instead of hitting the "reply" button. Very embarassed (though not much embarassing in the message itself. :-) Mea Culpa! _____________________________________________________________________________ Sean Luke "I've discovered that P==NP, but the proof is too U Maryland at College Park large to fit in the margins of this signature." seanl@cs.umd.edu URL: http://www.cs.umd.edu/~seanl/
From: deniseh@best.com (Denise Howard) Newsgroups: comp.sys.amiga.programmer,comp.sys.apple2.programmer,comp.sys.be.programmer,comp.sys.mac.programmer.tools,comp.sys.next.programmer,comp.unix.programmer Subject: Re: Hex Calculator Followup-To: comp.sys.amiga.programmer,comp.sys.apple2.programmer,comp.sys.be.programmer,comp.sys.mac.programmer.tools,comp.sys.next.programmer,comp.unix.programmer Date: 21 Mar 1997 20:20:46 GMT Message-ID: <5guqiu$emg$1@nntp2.ba.best.com> References: <jake-1903970058480001@bubble.schap.rhno.columbia.edu> <halldj-1903971745130001@pm1-29.lis.ab.ca> Donald Hall (halldj@lis.ab.ca) wrote: : In article <jake-1903970058480001@bubble.schap.rhno.columbia.edu>, : jake@timewarp.net (Jake Luck) wrote: : > Hi, : > I am in search for a hex-dec-oct-bin conversion ONLY : > calculator(hardware). (the conversion features in the CASIOs : > are nice but are really cumbersome to use, and those nifty : > software version just dont quite cut it). If anyone outta there : > knows some company who sells such a thing, would you please : > email me? Thanks much in advance. : > : > -Jake <jake@timewarp.net> : About 10 years ago Hewlett Packard had an excellent programmer's : calculator. You should check with an HP dealer to see if they still make : them. Texas Instruments made one, too--I still have mine. It's called a "Programmer II". Not only can you change number systems at the touch of a button but you can perform logic operations (and, or, xor) on your entries. Denise -- Denise Howard | PROGRAM, tr. v., An activity similar to Mountain View, CA | banging one's head against a wall, but deniseh@best.com | with fewer opportunities for reward. NeXTMail welcome! | http://www.best.com/~deniseh
From: mpaque@wco.com (Mike Paquette) Newsgroups: comp.sys.next.programmer Subject: Re: AppKit and Undo Date: 21 Mar 1997 12:13:13 -0800 Organization: Electronics Service Unit No. 16 Sender: mpaque@mpaque Distribution: world Message-ID: <5guq4p$r7@mpaque.mpaque> References: <jimg-2003971038470001@157.22.237.238> In article <jimg-2003971038470001@157.22.237.238> jimg@abacus.com (Jim Gagnon) writes: > I've noticed a bit of talk about lack of built-in support for Undo in > the NeXT AppKit and I was wondering if a third party built a subclass of > NSObject that supported full undo and history documents, and allowed > full transaction/nested transaction support, would developers find this > attractive enough to license? I have built this technology before for > other dynamic object systems, and feel it could be brought to the > NeXT/Rhapsody platform. Would developers be willing to pay a modest > license fee for it? (say $1000/year for a commercial product). > > Lemme know. If I hear enough interest, I'll gladly drop the Windows > project I'm working on and build an undo system that'll beat the pants > off of the ones Taligent, OpenDoc and Cairo used. A good place for you (and other developers) to start would be the Undo sample code in /NextDeveloper/Examples/AppKit/Draw. There is an undo subproject there that nicely abstracts change, undo, and redo. From the documentation: Statement of Purpose The purpose of this chapter is to explain how the undo feature was added to the Draw example application. Our goal is to enable you, an experienced NeXT application developer, to use the ideas presented here to add Undo to your own application. We've designed the Undo code so that the parts not directly concerned with Draw can be easily incorporated into your application. What is Undo? Undo enables a user to reverse or rollback the effects of previous and potentially destructive operations. This feature is most often used to undo an unintended or unexpected action, but it also lets users experiment with different commands to see how they work. Users can also re-issue an action that was previously undone. This is called redo. The most obvious manifestation of undo capability in Draw are two new menu items in the Edit menu. These menu items contain the name of actions that can be undone and redone. In this case, actions are things like moving a Graphic, deleting a Graphic, or creating a new Graphic. In the version of Draw that we've compiled for you, two menu items implement multiple-undo. Later on we'll show you how to easily implement single-level undo. Change Objects Before we go on, we should formalize the notion of a user action. There are many different kinds of user actions, but we're only interested in the ones that cause the state of a document or an important part of the application to change. If your application uses documents like Draw, then any operation which would normally cause the document to become dirty should be undoable. Even if your application doesn't use documents, you can still make the editing in your text fields undoable. From now on, instead of talking about user actions, we'll refer to undoable user actions as changes. In fact, there's a class called Change that is used to represent changes. Each time the user does something that's undoable, the application will create an instance of a subclass of Change, which we'll call a change object. Each change object encapsulates all the information necessary to undo and redo its corresponding user action. A simple example is a change that represents a modification to the floating point value of a control. The change object for this action would need to record which view got modified, the value before the change, and the new value after the change. Undoing the change is a simple matter of copying the old value back into the control, while undoing the undo (redo) requires that you re-copy the new value into the control. Implementing a Change Class To see how this works, lets implement a simple Change class called FloatValueChange. Here's the interface: @interface FloatValueChange : Change { id myView; float oldValue; float newValue; } - initView:changedView; - saveBeforeChange; - saveAfterChange; - undoChange; - redoChange; - (const char *)changeName; @end As described above, the instance variables record the view which will be modified, the original value and the new value. The initView: method is the designated initializer for our class, and the following four methods override standard methods found in the Change class. The last method returns a name string that appears in the undo/redo menu items. The saveBeforeChange method is used to set the oldValue variable, while saveAfterChange sets the newValue. When the user wants to undo this operation, undoChange will be called to restore the oldValue. Similarly, redoChange copies newValue into myView. Here are the implementations: @implementation FloatValueChange - initView:changedView { [super init]; myView = changedView; return self; } - saveBeforeChange { oldValue = [myView floatValue]; return self; } - saveAfterChange { newValue = [myView floatValue]; return self; } - undoChange { [myView setFloatValue:oldValue]; return self; } - redoChange { [myView setFloatValue:newValue]; return self; } - (const char *)changeName { return("Float"); } @end All change classes follow the same pattern as the simple one we just created. The change object is responsible for saving the state of the document, view, or whatever object is about to be modified, before and after the modification. It also needs to be able to restore the state to the way it was either before or after the modification. You might have noticed that FloatValueChange doesn't know what the actual change is. The reason for this is that if the change was a complicated calculation, it could be too expensive or even impossible to duplicate the same calculation twice. So, in general, change objects have no knowledge about how changes are made in the first place, but do understand how to save and restore state information. Using Change Objects Obviously, things do change in a running application, so let's examine how modifications are made using change objects. The only method of our undoable control that we need to modify is the one that sets the floatValue. Here it is: @implementation MyUndoControl - setFloatValue:(float)value { id change; change = [[FloatValueChange alloc] initView:self]; [change startChange]; floatValue = value; [change endChange]; return self; } @end When setFloatValue: is called, we know that some other part of the application wants to update the value of the control. The implementation above first allocates a blank change object and then initializes it. The call to startChange lets the change object know that the control is about to modify itself. The call to startChange will eventually result in a call to saveBeforeChange. We didn't have to implement startChange in our change class above because it was inherited from the generic Change class. The next step is to update the internal data structures, with an assignment statement in this case. Finally, we let the change know that we're done by calling endChange which ends up calling saveAfterChange. This is the basic pattern for any modification to a data structure that should be undoable. Simply create an instance of the appropriate kind of change object and give it control before and after the modification is to be made. You can write your own classes to know about change objects from the start, but it is often more convenient to create a subclass that adds the change object code. This makes it very easy to add undo functionality to an application that already exists, because you only have to think about undo when everything else already works. Change Manager Change objects do most of the work for you in terms of implementing undo. However, there's another part to the story. Whenever the startChange method of a change object is called, a search is made up the responder chain to find the nearest change manager. A change manager is an object that collects the individual change objects and makes them available to the user via the undo/redo menu items. The change manager is also responsible for freeing change objects when they're no longer needed. As an application runs, its change managers wait for changes to be passed to them via the responder chain. Typically, a view deep in the view hierarchy for a window will create a change object and then call startChange. The change object then broadcasts the changeInProgress: method on the responder chain. The search up the chain eventually reaches a change manager which replies with a saveBeforeChange message. In document oriented applications, like Draw, it is very easy to derive your document class from the ChangeManager class. Since document objects are typically installed as the delegate of their window, the ChangeManager will govern all changes that occur within that particular document. If you would rather implement application-wide undo, simply install a ChangeManager as the delegate of your application, so that all change objects are governed by the same ChangeManager. You can also add ChangeManagers in other places in the responder chain if you need to. However, it might be difficult to determine which ChangeManager should control the undo and redo menu items. The Undo/Redo Menu Items The ChangeManager class implements three target-action methods that can be connected to menu items. The first, undoOrRedoChange: implements single-level undo. This means that only the last change will be undoable, and after it is undone, the menu shows Redo with the same change. For most applications, its just as easy to implement multiple-undo as it is single-undo. You might consider using single-level undo if it greatly simplifies the user interface of your application. Also, if you choose not to make the creation and deletion of objects undoable, then you should consider using single-level undo. The reason for this is if you try to redo a modification to an object that doesn't exist (because it couldn't be re-created), either your application or the user could become very confused. The other two methods, undoChange: and redoChange: work as a pair. Together these implement multiple-undo. This means that every change going back in time is either undoable or redoable, and there are separate menu items for undo and redo. Connect the undo menu item to undoChange: and the redo menu item to redoChange:. Multiple-undo is much nicer for the user, and you should implement it if you can. You'll need to make the creation and deletion of objects undoable for the reasons mentioned above. You should also make sure that none of your change objects depend on global variables that might be modified between the time the change object was created than the time the user wants to undo or redo a change. The file ChangeManager.m defines a constant N_LEVEL_UNDO which tells the ChangeManager how many levels of changes to keep track of. To get single-level undo simply set this constant to 1. For multiple-undo set it to any number you like, but give some thought to how large your change objects are likely to be and how much memory you can afford to spend on your undo history. Updating the Menu Items The ChangeManager class supports the validateMenuItem: method to automatically update the undo menu items after each change. This method is passed the id of the menu item to be validate. It examines the action field of the menu item to determine which menu item is being validated and will update the title of the menu item to reflect the name of the change to be undone or redone. The title of the menu cells are calculated from the changeName method of the change objects. The ChangeManager prepends either Undo or Redo as appropriate. Making your Application Undoable Once you understand how the undo mechanism works, it's straightforward to make your application undoable. Here are the steps involved: 1) Examine your application and determine which modifications should be undoable. Then create your subclasses of Change to represent these changes. 2) Decide where your ChangeManagers should be located. For document-level undo, make them delegates of your document objects or derive your document class from ChangeManager. For application-wide undo, put a ChangeManager behind the application object. The important thing is to make sure each ChangeManager is located on the responder chain above any views where change objects will be created. 3) Modify your existing code to create change objects for each user action to be undoable. The easiest way to do this may be to create an undoable subclass of each view that causes changes. Then you can simply override the methods that update data structures to be like setFloatValue: above. Another option is to add change code directly to each view class, which is what we did with GraphicView in the Draw example. 4) Decide whether you want single-level undo or multiple-undo. For single-level, add one new menu item and connect it to your ChangeManager with the undoOrRedoChange: method. Do this in Interface Builder. If you want multiple-undo, create two new menu items that are connected to the undoChange: and redoChange: methods. Make sure that the update actions of these menu items are set to validateMenuItem:. 5) Make sure that the Change and ChangeManager classes along with all your new change classes are linked into the application. After you recompile, you application will have undo! -- I don't speak for my employer, whoever it is, and they don't speak for me. mpaque@next.com Official business only NeXT Mail OK mpaque@wco.com Non-business or personal mail NeXT mail OK
From: seanl@carmi.cs.umd.edu (Sean Luke) Newsgroups: comp.sys.next.programmer Subject: Re: I need software suport help in DC Date: 21 Mar 1997 18:54:31 GMT Organization: U Maryland at College Park Message-ID: <5gulh7$od9@mimsy.cs.umd.edu> References: <3326B1EC.7873@mail.house.gov> Don McKinnon (Don.McKinnon@mail.house.gov) wrote: >I have no NeXT skills. > >I have a slab I've been using since 1990 and I need to hire someone to >fix a few bugs that have accumulated: Well, I can help friendly-wise (i.e., free) a little, I suppose. I'm a grad student at Maryland. If the job looks messy, sure, I imagine we could work something out. >I can connect to Novell server, but I can't get printer connectivity. This I may not be able to help much, since my familiarity with NeXTSTEP-Novell connections is hazy, and NeXT doesn't support it strongly. You *might* try contacting Kris Magnusson, a former big-NeXT guy in Utah who now works out at Novell (though not with NeXTSTEP), and would love to hear from actual House people. :-) try kris@xmission.com. Don Yacktman might also have some contacts at Novell as he lives next door to the company. Try don_yacktman@misckit.com (I think). >My memory seems to run out and crash everything. Well, this I can help with. >I need to have someone help me set up my modem. This I too can help with, assuming you're trying to connect with, say, PPP. >If its possible, I'd like to be able to connect to an NT server You'll probably be out of luck here as...well, it depends on how the NT server is set up, but it's most likely not possible. >and to >determine if I could run NeXT and Windows 95 from the same machine. You *can* run NeXTSTEP and Windows95 from the same machine, assuming it's a PC, and you've set up dual-booting. I'm not all that familiar with doing this, and I have been told you have to be careful that Win95 doesn't mess up your NeXTSTEP partition (NeXTSTEP won't touch the Win95 partition, so you're okay that direction). If you're looking for running Win95 from a *NeXTstation*, expect it to be phenominally slow--your only option is to use SoftWindows for NeXTSTEP. _____________________________________________________________________________ Sean Luke "I've discovered that P==NP, but the proof is too U Maryland at College Park large to fit in the margins of this signature." seanl@cs.umd.edu URL: http://www.cs.umd.edu/~seanl/
From: dirk@object-factory.com (Dirk Olmes) Newsgroups: comp.sys.next.programmer Subject: Re: An actual NEXTSTEP programming post Date: 21 Mar 1997 11:13:38 GMT Organization: Object Factory GmbH (Germany) Message-ID: <5gtqh2$45h@leonie.object-factory.com> References: <5gtceu$712$1@darla.visi.com> David Young <dwy@ace.net> wrote: > Recently I've been working on a project which uses DO in order to > handle threads vs. the AppKit. Basically, I vend my application ^^^^^^^ This is the point. Every thread has to have its own autorelease pool if you don't want go get these messages. Try to set up one in the message you disconect as thread and it should be fine. -dirk --- ______________________________________________________________________ Dirk Olmes OBJECT FACTORY Gesellschaft fuer Informatik und Datenverarbeitung mbH Otto-Hahn Str. 18, 44227 Dortmund, Germany Telephon +49 (0) 231 975 137 0 Telefax +49 (0) 231 975 137 99 dirk@object-factory.com http://www.object-factory.com/ Hiroshima 45, Tschernobyl 86, Windows 95
Newsgroups: comp.sys.next.programmer From: tomi@shinto.nbg.sub.org (Thomas Engel) Subject: Re: OpenStep on Java and Newton Message-ID: <E7CDLC.KD@shinto.nbg.sub.org> Sender: news@shinto.nbg.sub.org Organization: STEPeople's home (A NUGI member) References: <01bc309d$0f9f0610$612168cf@test1> <5gih7s$dl6@news2.cais.com> <5gmi0j$mc@xenia.informatik.uni-muenchen.de> Date: Thu, 20 Mar 1997 12:34:23 GMT scholz@leo.org (Bernhard Scholz) wrote: > Robert La Ferla <Robert_La_Ferla@hot.com> wrote: > >I definitely think it would be a commercially smart idea to provide > >some degree of compatibility between OPENSTEP and NewtonOS. I can > >envision many mission critical and shrinkwrap applications that could > >be extended past the desktop to a handheld PDA. Integrating Java into > >OPENSTEP and NewtonOS would make this all very possible. In it's > >simplest form, Newton users could use a Java-enabled web browser to > >access OPENSTEP/Java applets. OPENSTEP/NewtonOS for Windows CE > >systems would also be a good idea. I don't think Apple wants to > >repeat the mistakes it's made with the proprietary Mac hardware. > > > > > Apple is probably going to drop the Newton. See latest press statements in > MacWeek. > Apple would be really dumb if they would drop the Newton. But t also would be really dumb to move Openstep to the Newton. Apple should be smarter then M$ and not try to put a desktop OS on a PDA. While PDAs and Desktop machines nopefully will get closer together in the years to come...it is way too early to make that move now (be it WinCE or OpenStep) The Newton is a great product which really solves some existing problems. Voice annotation like in the new Newton 2000 makes it even more intersting. The mayor mistake was that Sculley tried to sell it to the masses. This can't work. Using a similar approach like NeXTs used for its MCCA should offer more potential customers. Newton needs to offer "solutions" not just being a "PDA". I know a bunch of customers who are using Newtons for data collection and then use regular PCs networks to process the data. One company had to install Win NT at the client since the MacOS just couldn't privde the necessary security...and Openstep had no Newton or MSWord support to offer. Boy would they love to go with EOF, Rhapsody and Newton. With Rhapsody Apple could really be in the unique position to have a product line which could offer solutions for a entire business (PDA to Server)...and Rhapsody and NewtonOS are definitly cutting edge products with a high reputation. IMHO they shouldn't try to move OpenStep to Newton but Newton into OpenStep. OpenStep lacks a truely global address book, notepad and similar things which the Newton solves quite nicely (NeXTSTEPs address book handling is a shame IMHO. The folks at NeXt can do a lot better stuff then that). The handwriting technology of the Newton could be a really nice "input manager" for Openstep. There are many fields where you want a "desktop" system without a keyboard. It could be a nice addition for handicapped people (if might be easie for some people to use graphity like textinput on a art-pad then typing on a keyboard). So its not really necessary to provide sourcecode compatibility with OpeNStep / Newton...but a perfect integration would be very nice. (Ok..with Java for the Newton and some Java-mappings for OpenStep frameworks...there could be some sort of better integration between the two worlds) But then...this is c.s.n.programmer...and I am about to enter advocacy... Aloha Tomi
Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c From: tomi@shinto.nbg.sub.org (Thomas Engel) Subject: Re: Objective C? Message-ID: <E7Exo7.nB@shinto.nbg.sub.org> Sender: news@shinto.nbg.sub.org Organization: STEPeople's home (A NUGI member) References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <332FE836.1567@ <markeaton_-2003972359160001@ip86.santa-clara6.ca.pub-ip.psi.net> Date: Fri, 21 Mar 1997 21:43:18 GMT markeaton_@_mindspring_._com (Mark Eaton) wrote: > In article <5gs5cg$ja21@castor.cca.rockwell.com>, > embuck@palmer.cca.rockwell.com (Erik M. Buck) wrote: > > Several comments were implied. > > First that the absence of "constructors" is somehow a problem. Constructors > > are one of the worst mis-features of C++. All kinds of special rules about > > what can and can not be done in constructors greatly complicates the > > language. Objective-C does not need any of that. If you want to control > > memory allocation, overload +allocWithZone: or +alloc. That is seldom > > necessary or desired. Overload -init to do most useful class initialization. > > Constructors are nice syntactic sugar. They are handy for some things like > locks, etc. but not necessary for OO design... > Not necessarily for OO design on a local system. But using special keywords to generate a new instance is truely a bad design language wise. The "new" constructor is just a silly malloc and not an OO message under C++. Java still uses the same silly syntax (which is one of the truely ugly parts of Java). Why is "new" bad ? In a distributed OO system you just can make a "malloc" on a foreign computer. Almost every C++ based programming language for distributed environment "invented" class methods in order to generate new instances. Constructores make this process a lot more controlable since you can redirect the request...you can put in some custom knowledge to generate some proxy objects on the fly...and other necessary things. So C++ lack of class methods really is nasty when it comes to distributed programming. Ok... C++ is barely usable for distributed programming anyway. You have no runtime to redirect messages and need systems like CORBA to get the runtime feautres at some metalevel. You can't create proxis on the fly o forward invocations. While it is possible to design a system which "looks" like C++ and provides advanced distribution feautres...this has nothing to do with 99.99999% of the regular C++ compilers and enviorments. But then...pick the language you like.. and if it's C++ .. fine. You have to live with it...not me. Aloha Tomi P.S. Try building a system with C++ which you want to update....but which you are not allowed to stop for a restart (running 24hours a day.. 365days a year). This is where the fun begins...and this is where Lisp and Smalltalk still will have some things to offer that even ObjC or Java can't solve really well.
From: John Kheit <jkheit@cnj.digex.net> Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep on Java and Newton Date: 21 Mar 1997 22:05:01 GMT Organization: monoChrome, Inc., NJ, USA Message-ID: <5gv0md$reh@news4.digex.net> References: <01bc309d$0f9f0610$612168cf@test1> <5gih7s$dl6@news2.cais.com> <5gmi0j$mc@xenia.informatik.uni-muenchen.de> <E7CDLC.KD@shinto.nbg.sub.org> tomi@shinto.nbg.sub.org (Thomas Engel) wrote: > IMHO they shouldn't try to move OpenStep to Newton but Newton > into OpenStep. OpenStep lacks a truely global address book, > notepad and similar things which the Newton solves quite nicely > (NeXTSTEPs address book handling is a shame IMHO. The folks at > NeXt can do a lot better stuff then that). Well, Netinfo, I guess technically part of OPENSTEP and not OpenStep, does have a global address book. Go into your ~/Library/Addresses directory, and select whatever *.addresses file you have there. Then open it as a folder (note this is a flat file). When the mini browser opens up, select any rolodex file, and open the content inspector (Cmnd-2). You'll see that you do in fact have a system wide mini database/address system... -- Thanks, be well, take care, later, John Kheit; Self expressed... monoChrome, Inc. | ASCII, MIME, PGP, SUN, & NeXTmail OK NeXT/OPENSTEP Developer | mailto:jkheit@cnj.digex.net Telepathy, It's coming... | http://www.cnj.digex.net/~jkheit New York Law School | Jag talar inte svenska )^> %^) =^)
From: Stephen Peters <speters@cygnus.com> Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: 21 Mar 1997 14:17:18 -0800 Organization: Cygnus Solutions Message-ID: <qdsp1ohoup.fsf@blues.cygnus.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> JamesCurran@CIS.CompuServe.com (James M. Curran) writes: > Deep Copy: > C++: Pt1 = Pt2; > ObJC: Pt1 = [[Point alloc] init:Pt2]; > (Again I prefer the C++ syntax, but, this time I think it's clear > enough to say advantage C++) More like Pt1 = [Pt2 deepen]; or Pt1 = [Pt2 copy]; ...and I'd say the readability of the code offsets the minor syntactical advantage of C++, since it's far easier to tell the difference between a shallow and deep copy than having to figure out whether Pt1 and Pt2 were pointers or not. > effecient deep copy: > C++: Pt1 = Pt2; // inlining handled by compiler > // encapsolation maintained > ObjC: Pt1->x = Pt2->x; // inlining handled by programmer > Pt1->y = Pt2->y; // encapsolation violated. > (advantage C++) What's your definition of efficient here? It seems to be "the copy must be performed in only two instructions, come hell or high water". I'll grant you that you have to break encapsulation in order to do it right in Objective-C, but if your code's survival is steeped in this kind of instruction bumming, you probably could use a complete code review so you decide where you need to use ObjC and where you don't. I note that your examples seem to present efficient deep copies as something that the class user needs to think about, but the C++ example doesn't actually have the class user dealing with efficiency considerations. Instead, the person who wrote the class must be the one thinking of efficiency. If the class writer isn't thinking about it (heck, maybe he needed a virtual operator=), then your `efficient deep copy' fails miserably. > effecient polymorphic call: > C++: pPt->print(); > ObjC: func f; > f = sel_getMethod(Point, @selector(print)); > f(); > (OK, I made that ObjC syntax up, since I don't know the actual syntax, > but I'm pretty sure it's close, and unless the real one is actually > very different, I'd say we'd have to call this advantage C++) How is that more efficient than `[Pt print];'? All you've done is write out exactly what Obj-C does during a method call. That's not more efficient, that's just plain stupid. I grant you that if you're printing the object many times in a tight loop, you may want to grab the method and then call f(pPt) many times. Of course, you'd want to do the same thing if print() is a C++ virtual function (which, since you decided to go to all the trouble of talking about a `really efficient' non-runtime version in another section, I assume that it is). > In other words, the C++ code is always graceful, pretty, > encapsolated, and easier to maintain. Whoops, sorry, didn't realize you were on medication. :-) -- Stephen L. Peters speters@cygnus.com PGP fingerprint: BFA4 D0CF 8925 08AE 0CA5 CCDD 343D 6AC6 "What, do you think soup is a biped?" -- Crow, MST3K
From: Eric_Noyau@next.com (Eric Noyau) Newsgroups: comp.sys.next.programmer Subject: Re: AppKit and Undo Date: 22 Mar 1997 00:51:15 GMT Organization: NeXT Software, Inc. Message-ID: <5gvae3$m70@news.next.com> References: <5guq4p$r7@mpaque.mpaque> In article <5guq4p$r7@mpaque.mpaque> mpaque@wco.com (Mike Paquette) writes: > In article <jimg-2003971038470001@157.22.237.238> jimg@abacus.com (Jim > Gagnon) writes: > > I've noticed a bit of talk about lack of built-in support for Undo in > > the NeXT AppKit [...] > > A good place for you (and other developers) to start would be the Undo > sample code in /NextDeveloper/Examples/AppKit/Draw. There is an undo > subproject there that nicely abstracts change, undo, and redo. > [...] > Well, I'm sorry Mike, but if you call the Undo in Draw "nicely abstract" I'm going to disagree! Take a look at the undo manager in EOF... It's way better than the one in Draw: You don't have to write a class for every possible undo event. Here is a simple example: - (void)setColor:(NSColor *)aColor { [[myUndoManager prepareWithInvocationTarget:self] setColor:_color]; [_color autorelease]; _color = [aColor retain]; } By doing setColor: on this object you register the method needed to revert the change. If you send -undo to the undo manager, it's going to replay this method, storing the necessary information to perform the redo... Of course, if you are using EOF, you don't even need to do any of that: EOF is doing it for you. -- Eric
From: yospe@hawaii.remove.this.edu (Nathan F. Yospe) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: Fri, 21 Mar 1997 15:38:41 -1000 Organization: UHM Physics Message-ID: <yospe-2103971538410001@usrns45.dialup.hawaii.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> <5gtvgc$5op@news.ml.com> necakov@mljsdi9.dev.japan.ml.com (Tony Necakov) wrote: :alertArea->displayTextColorBlinkInterval("Connection dropped", RED, YES, FAST); alertArea->displayText("Connection dropped", /*Color*/ RED, /*Blink*/ YES, /*Interval*/ FAST); Your point? :[alertArea displayText:"Connection dropped" color:RED blink:YES interval:FAST]; Ugh. Unwanted baggage. I don't really want to be doing all of that every time. Especially because, in the class of which alertArea is an instance, I would certainly have created the Color, Blink, and Interal enumerated types, so the prototype of the function would be WindowThingie::displayText(char *const text, Color c, Blink b, Interval i); or better yet: WindowThingie::displayText(const String& text, Color c, Blink b, Interval i); :Which is easier to follow? The C++. You know, this thread might get a little more interesting if a copy were forwarded to comp.lang.c++.... nah, too mean. Tell you what... I'm learning objective C, why don't you go learn C++, as you seem to have a little trouble with it. -- Nathan F. Yospe | There is nothing wrong with being a sociopath. Its yospe@hawaii.edu | getting caught thats a problem. Be a mad scientist UH Manoa Physics | Write poetry. Be an artist. Plot world domination. Biomedical Phys. | Panthers make great pets. Muhahahahahahahahahaha!!
From: embuck@palmer.cca.rockwell.com (Erik M. Buck) Newsgroups: comp.sys.next.programmer Subject: Re: AppKit and Undo Date: 21 Mar 1997 23:43:55 GMT Organization: Rockwell Collins Distribution: world Message-ID: <5gv6fr$n9b2@castor.cca.rockwell.com> References: <jimg-2003971038470001@157.22.237.238> <5guq4p$r7@mpaque.mpaque> Cc: mpaque@wco.com Also see the RZUndo (sp?) stuff for an alternate/better approach to Undo/Redo. This approach uses the built in forwardInvocation: method to make any operation undoable withou needing to creat lots of "change" instances.
From: jq@papoose.quick.com (James E. Quick) Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Rejoice! BSD 4.4 is coming Date: 21 Mar 1997 18:16:46 -0500 Organization: Quick and Associates Message-ID: <5gv4su$gcl@papoose.quick.com> References: <jcr.858895952@idiom.com> In article <jcr.858895952@idiom.com>, John C. Randolph <jcr@idiom.com> wrote: >Well, I just heard it from the fourth source inside NeXT's engineering >groups, and what I'm hearing is that the BSD code in Rhapsody is >*finally* getting upgraded to BSD 4.4! Smileys don't even come close 8^) but there are no ascii emoticons for ticker tape, noise makers, or wild parties in the streets. This is wonderful news! -- ___ ___ | James E. Quick jq@quick.com / / / | Quick & Associates NeXTMail O.K. \_/ (_\/ | Apple, we know the song's not written yet, ) | but could you at least hum a few more bars?
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Fri, 21 Mar 1997 04:44:02 GMT Organization: InterServ News Service Message-ID: <5gt3pt$pde@lal.interserv.com> References: <330E54AC.167E@innosys.com> <5fcngp$7dd@lal.interserv.com> <331f6ea2.1358032@nntp.ix.netcom.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov> <5gdbq0$3p1@lal.interserv.com> <5gnt4n$l8s$1@nntp2.ba.best.com> <5gnu3j$mdt$1@nntp2.ba.best.com> In <<5gnu3j$mdt$1@nntp2.ba.best.com>>, kcd@babylon5.jumpgate.com (Kenneth C. Dyke) wrote: >Actuall, I'm on acid here. The [] operator's single argument may be >of any type, not just an int. Also, if you declare the operator[] >function as a friend it would effectively have two arguments, probably >an object reference and anything else. In any case, the varargs stuff >won't work at all, no matter what you do. Ok, I didn't actually compile it. Big deal... Replace the operator[] with operator() and the code I posted compiles, variable args and all... We just vary a bit more from the ObjC syntax.. Truth, James
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Fri, 21 Mar 1997 07:59:13 GMT Organization: InterServ News Service Message-ID: <5gtf7v$2j@lal.interserv.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> In <<5glbme$4q7@news.ml.com>>,  necakov@mljsdi9.dev.japan.ml.com (Tony Necakov) wrote: > Let me give you a >specific example, a real business world example and not a pathological text >book case, I know you hate those. [ etc snipped] >This C++ code: >// ---------------------------------------------------------------------- >#include <stdio.h> >class SuperClass { >public: > SuperClass(); > virtual void describe (); >}; >SuperClass::SuperClass () { this->describe ();} [ etc snipped] If we're not going to use pathological example... why did you use one? You exploited a difference between ObjC and C++ -- (ie, object costruction is a one step process in C++ and a two step process in ObjC) and build an example around that. As the example Richard Cave posted, if we make this a two step process in C++ also, we get the expected result. Truth, James
From: "Ian P. McCullough" <ipm@pobox.com> Newsgroups: comp.sys.mac.programmer.codewarrior,comp.sys.mac.system,comp.sys.next.programmer Subject: Re: Mac/NeXT & Unix: File System Date: Tue, 11 Mar 1997 12:40:08 +0000 Organization: World Careers Network Message-ID: <33255293.4C95@pobox.com> References: <5ddp66$jpc@news.bu.edu> <5dtpb5$h4t@news.bu.edu> <Mn1TiBm00iVC81ZnAQ@andrew.cmu.edu> <AF2E42E196681EFC18@node50.tfs.net> <5eb9r5$iv2@csugrad.cs.vt.edu> <AF39A1D79668E697E@pm3-p20.tfs.net> <5f1qoe$8dp@spool.cs.wisc.edu> <maury-0703971228500001@199.166.204.230> <SHESS.97Mar9001431@howard.one.net> <maury-0903971602100001@198.133.37.101> <5fvebr$rvo@usenet.rpi.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit > AFS that Scott refers to was at one time known as the Andrew File > System, from Carniege-Mellon. As far as I know, its still known as Andrew File System. The statement: > unrelated to Apple File Sharing (and in fact, there is no AFS client > for Macintosh, AFS is mostly implemented on Unix file systems). is a tad misleading. Yes. AFS is mostly implemented on Unix systems. This does not mean that there is not an AFS client for macintosh. I believe there was a "direct" client written for the Mac, but for lack of a reference, I'll throw in the following, too. When I was at CMU they additionally had an AppleShare/AFS gateway whose performance was actually quite good. Just want to prevent anyone making the blanket assumption that AFS and the Mac are incompatible. > When the announcement came out about Apple buying NeXT, I sent a > message to the AFS mailing list to see if they'd resurrect the > AFS support for NeXTSTEP (and get it working on other hardware > platforms, instead of just NS/m68k), but didn't get any response. Not surprising. I myself am very aware of Apple's habit of talking and talking and talking and never doing anything (*cough*copland*cough). If I were working on anything like AFS I would be taking a wait and see attitude. Ian
From: sheldon@atlcom.net (Sheldon Simms) Newsgroups: comp.sys.amiga.programmer,comp.sys.apple2.programmer,comp.sys.be.programmer,comp.sys.mac.programmer.tools,comp.sys.next.programmer,comp.unix.programmer Subject: Re: Hex Calculator Date: Fri, 21 Mar 1997 15:57:40 -0500 Organization: none Message-ID: <sheldon-2103971557400001@lpm3-9.atlcom.net> References: <jake-1903970058480001@bubble.schap.rhno.columbia.edu> <halldj-1903971745130001@pm1-29.lis.ab.ca> <5guqiu$emg$1@nntp2.ba.best.com> In article <5guqiu$emg$1@nntp2.ba.best.com>, deniseh@best.com (Denise Howard) wrote: > Texas Instruments made one, too--I still have mine. It's called a > "Programmer II". Not only can you change number systems at the touch of a > button but you can perform logic operations (and, or, xor) on your > entries. The original poster complained about hard-to-use Casios, but my Casio (which is at around 10 years old) allows you to switch number systems and perform arithmetic and logical operations in decimal, octal, hex, and binary. Converting a number from one radix to another is a matter of typing it in and switching to the radix you want. It's a Casio fx-451M fwiw. -- W. Sheldon Simms III | 2000 is *still* the 20th century sheldon@atlcom.net |
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Objective C? Date: Sat, 22 Mar 1997 00:30:43 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <knAqu3O00iWn0HLT80@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> In-Reply-To: <5gl602$nbl@lal.interserv.com> Excerpts from netnews.comp.sys.next.advocacy: 18-Mar-97 Re: Objective C? by James M. Curran@CIS.Comp >>> No, we ARE comparing the speed of doing four or so integer operations >>> with a couple of ObjC method dispatches. You are missing the point. >>> In C++ a member function can be inlined. ie, I can write: >>> x = y; >>> and the compiler will see that as: >>> x.realval = y.realval; >>> and generate the code appropriately. >> >> Wrong-- you aren't copying the objects x and y by doing that, you're >> just exchanging one of their ivars. And if that's all you want to do, >> you can code the exact same thing in Obj-C with the same four or so >> integer operations and get the same performance you'd get from C++. > > No... You keep missing the point. In my (admittedly pathological) > example, "realval" is the only irrelevant part of the object. "relevant", you mean? > (The rest could be padding for alignment or a scratchpad area). Hence by > copying that one member variable, I've effectively copied the value of > the object. James, we were considering the inner comparision test for a general-purpose sort of an array or list of objects based on a key value. If you know at compile time that you've only got objects of that type where you can overload '=' to just copy one ivar, okay-- but you're trading a performance gain by reducing the flexibility and generality of the sort. For example, what happens when you don't have the same type of object in the array? What happens when you've got subclasses of that object, or even completely different classes which share an interface in terms of method names but do not have the same ivars in the exact same place in the structure underlying the objects? (We're back to comparing virtual C++ dispatches to Obj-C's method invocations, again.....) > >However, if you're not going to break encapsulation, you have to access > >ivars through method dispatch instead of directly. Ie, you have to call > >[x realval] or x.realval() to get that value since you have to do some > >type of calculation in order to compute the response instead of simply > >returning a ivar from a structure. > > But, I'm not breaking encapsulation!! All I'm doing in my code is > writing "x = y;" (english translation - "copy object y into object x > -- all implementation details left up to class designer") That implementation of assignment does not actually perform even a shallow copy of the object (ie, pointer manipulation maybe plus referencing counting). Anyone expecting '=' to perform a copy of the complete state of an object is not going to get the behavior they expect. IMHO, designing code which uses operator overloading in such an inconsistant fashion is one of the greatest flaws of C++. Instead of being able to rely on the behavior of '=', you now have to worry about the specific implementation of that class since it might do something other than what you wanted. [ ... ] > I think part of what you're missing, is you don't fully understand > C++'s operator overloading. In C++, I can define what = means for a > object. Hence, as the designer of a class, I can specify exactly what > members need to be copied and how they should be copied. Oh, I understand ad-hoc polymorphism (aka operator overloading) fine-- I just dislike it strongly. Instead of encouraging people to develop flexible code that's dynamicly bound and can truly interact with any other object which shares a common interface, the use of operator overloading in the way you've demonstrated involves objects which are staticly bound, must share knowledge of each other's implementation, and the resulting code is much more difficult to maintain since someone else working on your code has to verify the implementation details of all of the overloaded operators to ensure that they actually do what you expect them to. And that hampers code reusability. > But, as a user of a class, all I need to know is that saying "x = y;" > handles it all. But Joe class user cannot know that "x = y;" handles it the way he expects '=' to behave without actually verifying the implemention of '='. > THAT'S the true essense of OOP, and ObjC can only approximate that.... It's rather odd that the supposed "true essence of OOP" involves static binding, knowledge of implementation rather than interface, and results in code that does not work correctly with subclasses of the original class without the programmer having to worry about whether the original classes' reimplements operators in unexpected ways. [ ... ] >>> That is what is possible with early binding, and what you have to give up >>> if you insist that it's not real OOP unless it's late-bound. > >> That's exactly right. You're not really doing OOP if you break >> encapsulation, now are you? > > But I'm not the one advacating breaking encapsolation! But that is the result from using static binding instead of dynamic binding. Let's say you wrote a sort routine using the class you defined above, and you've got your overloaded '=' inlined which only exchanges one ivar instead of the entire class. Now then, what happens when you write a subclass which depends on some other state being copied than just the one ivar? Your subclasses break if you simply try to pass them into the sort routine unless you change the superclass implementation of '=' and recompile the class. That is one of the classic example of C++'s weak superclass problem, correct? And what happens if this occurs with some class that's in a library that you don't have source for? How do you alter the superclasses' implementation of '=' then? The dynamic runtime of Obj-C lets you replace method implementations even for classes that you don't have the source for. I was going to respond to your in-depth comparsion of various C++ and Obj implemenations for the Point class, but Steven beat me to it. [ ... ] By the way, what does C++ have in terms of integrated reference counting? -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: mckelvey@fafnir.com (James W. McKelvey) Newsgroups: comp.sys.next.programmer Subject: C++ Mystery Date: 22 Mar 1997 06:35:17 GMT Organization: Fafnir.com Message-ID: <5gvuj5$ct0@bolivia.earthlink.net> The program below fails to compile on 3.3 and 4.1. It compiles on gcc/NeXT and on Sun sparc. class X { public: X(void) { try { throw 1; } catch(int n) { } }; }; fafnir:temp>cc++ -c -Wall x.C x.C: In method `X::X()': x.C:7: warning: `catch', `throw', and `try' are all C++ reserved words x.C:8: `try' undeclared (first use this function) x.C:8: (Each undeclared identifier is reported only once x.C:8: for each function it appears in.) x.C:8: parse error before `{' x.C:9: warning: `catch', `throw', and `try' are all C++ reserved words x.C: At top level: x.C:12: warning: `catch', `throw', and `try' are all C++ reserved words x.C:12: parse error at end of saved function text x.C:12: confused by earlier errors, bailing out -- Where diesel guitars from faraway bars, blast out the best songs from our holy wars. Coyote carnival catches on fire, all the cops in the world pick us up on radar. Jim McKelvey mckelvey@fafnir.com
Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c From: petrich@netcom.com (Loren Petrich) Subject: Re: Objective C? Message-ID: <petrichE7Fq55.Eo6@netcom.com> Organization: Netcom References: <330E54AC.167E@innosys.com> <5gdbq0$3p1@lal.interserv.com> <petrichE750Ms.32G@netcom.com> <5ghjc4$d92@lal.interserv.com> Date: Sat, 22 Mar 1997 07:58:17 GMT Sender: petrich@netcom21.netcom.com In article <5ghjc4$d92@lal.interserv.com>, James M. Curran <JamesCurran@CIS.CompuServe.com> wrote: >In <<petrichE750Ms.32G@netcom.com>>, >petrich@netcom.com (Loren Petrich) wrote: > That's good too, however, we'd really need the enum selector, because >doing a full text string lookup for each dispatch would move this from >"sluggish" to "incredible slow". My version mainly implements it the >way it is handled in ObjC. I may have been too literal-minded in assuming that every dispatch uses a string rather than an enum; if the ObjC compiler is smart enough, it might do something like translate [obj M: arg1] [obj M: arg2] [obj M: argc] into M_enum = StrToEnum(objType,"M"); Dispatch(obj,M_enum,arg1); Dispatch(obj,M_enum,arg2); Dispatch(obj,M_enum,arg3); However, I provided the opportunity of returning a pointer to a method, so as to get additional speed; Objective C also does that. -- Loren Petrich Happiness is a fast Macintosh petrich@netcom.com And a fast train My home page: http://www.webcom.com/petrich/home.html Mirrored at: ftp://ftp.netcom.com/pub/pe/petrich/home.html
From: Brad Howes <bhowes@cssun3.corp.mot.com> Newsgroups: comp.sys.amiga.programmer,comp.sys.apple2.programmer,comp.sys.be.programmer,comp.sys.mac.programmer.tools,comp.sys.next.programmer,comp.unix.programmer Subject: Re: Hex Calculator Date: 21 Mar 1997 09:30:23 -0700 Organization: Motorola Corporate Computer Services Message-ID: <wjypvwt1a3k.fsf@cssun3.corp.mot.com> References: <jake-1903970058480001@bubble.schap.rhno.columbia.edu> <halldj-1903971745130001@pm1-29.lis.ab.ca> >>>> Thus spake 'Donald Hall (halldj@lis.ab.ca)': [snip] DH> About 10 years ago Hewlett Packard had an excellent programmer's DH> calculator. You should check with an HP dealer to see if they still make DH> them. They don't. I had one, loved it, lost it, miss it. -- Brad Howes Motorola E-Mail ID: XBH001 EMT Development SMTP E-Mail: bhowes@cssun3.corp.mot.com Motorola Corporate - MD H1780 Voice: 602 441 1522 Fax: 602 441 5455
From: "Jeffrey S. Dutky" <dutky@wam.umd.edu> Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep on a DOS compatible Mac. Possible? Date: Fri, 21 Mar 1997 19:00:29 -0500 Organization: University of Maryland Student Body Message-ID: <33332114.61BA@wam.umd.edu> References: <taustin-2003971952310001@d8-1.cpe.melbourne.aone.net.au> <3332160E.7399@wam.umd.edu> <taustin-2203970002500001@d137-1.cpe.melbourne.aone.net.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit T. Austin wrote: > It certainly sounds pretty good. > > I've heard of companies running OpenStep wanting to stick with > Rhapsody on Intel machines when it is released. Is this just > because they don't want to upgrade their hardware to the PowerPC > platform due to cost? I just can't see why they would want to > stick with an obviously less superior platform when they can > upgrade to the latest in technology that still has a lot of head > room for improvement. Well, if you are a company that has spent $3000 - $5000 per employee on platform A and it is getting the job done then you would not want to throw away that investment until you had depreciated it fully (computers depreciate over 5 years). Further, if you are developing software that will be running on platform A you would not want to do your development on platform B since you would then have nowhere to test your code on the target platform. Other parts of the company might also be using platform A and it would be a big headache if the IS department had to support both platforms A and B. Also, if the entire company is buying platform A then it might be getting quantity discounts. Performance is not the only metric. Probability of future performance is almost NEVER a metric. When the Mac far outstrips the PC in performance those companies that are using PC's to develop for OPENSTEP will likely switch. That day has not yet arrived. > When you say the NeXT is turning your head, what are you implying? > I mean, in some form or another, OpenStep is going to be running > on the Mac soon anyway. I'm saying that I would be willing to give up my PowerComputing PowerWave 604/132 (same motherboard as a PM9500/132) and do all my work and play on the NeXTstation, with a little support from my Linux box (I need something that can run Netscape). I would even be willing to run OPENSTEP on an intel box as my only system. There is no other OS, except for MacOS, that I have liked enough to say that I would use it exclusively. - Jeff Dutky
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Fri, 21 Mar 1997 21:57:07 -0700 Organization: Edmark Message-ID: <jesjones-ya023580002103972157070001@news.halcyon.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <332FE836.1567@claris.com> <5gs5cg$ja21@castor.cca.rockwell.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5gs5cg$ja21@castor.cca.rockwell.com>, embuck@palmer.cca.rockwell.com (Erik M. Buck) wrote: > The ignorance of C++ advocates is stunning! > The example below is just simple polymorphisim as described. Note that all > of the methods MUST be virtual for the example to work. > > Several comments were implied. > First that the absence of "constructors" is somehow a problem. Constructors > are one of the worst mis-features of C++. All kinds of special rules about > what can and can not be done in constructors greatly complicates the > language. Objective-C does not need any of that. If you want to control > memory allocation, overload +allocWithZone: or +alloc. That is seldom > necessary or desired. Overload -init to do most useful class initialization. Constructors have nothing to do with memory allocation. If you want to control how objects are allocated you can override (and, if need be, overload) the global operator new. Constructors were added to the language so that objects could be automatically initialized to a good state before they're used. OTOH Objective-C seems to handle this through the convention of calling init() immediately after creating a new object. Maintaining an object's invariant is such an important part of OOP that it seems silly to rely on the hazards of programming by convention. > C++ suffers from the fragile base class syndrome. Note the following code: > class Node { > protected: > Node *nextNode; > public: > Node(); > Node *nextNode(); > void setNextNode(Node *aNode = NULL); > }; > > class TwoWayNode : public Node { > protected: > TwoWayNode *previousNode; > public: > TwoWayNode (); > TwoWayNode *previousNode(); > void setPreviousNode(TwoWayNode *aNode = NULL); > }; > > Assume reasonable implementations for the above classes. > > TwoWayNode A; > TwoWayNode B > TwoWayNode C > A.setNextNode(B); // This works > C.setPreviousNode(A.nextNode()); // This does not! (fragile base class) As others have pointed out this is not the fragile base class problem. However it is a nice illustration of the different philosophies between C++ and Objective-C. My guess is that you're complaining about the fact that you cannot assign a Node* to a TwoWayNode* in C++ and that you would handle this in Objective-C by using the id type. What this says to me is that you can quickly slap together some code in Objective-C by sacrificing type checking. OTOH C++ almost forces you to spend more time on design time up front. This will take longer but I'd argue that you'll usually come up with a better design and the strong type checking will make any piece of code using your class more reliable. For the record I do see the value in languages with more dynamism than C++. However I strongly suspect that in the majority of the places it's used in Objective-C programs it would be possible to come up with a staticly typed solution in C++ that's as good or better. --Jesse
From:  necakov@mljsdi9.dev.japan.ml.com (Tony Necakov) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: 24 Mar 1997 08:53:48 GMT Organization: Merrill Lynch Message-ID: <5h5fes$2qf@news.ml.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> <5gtvgc$5op@news.ml.com> <yospe-2103971538410001@usrns45.dialup.hawaii.edu> yospe@hawaii.remove.this.edu (Nathan F. Yospe) wrote: >necakov@mljsdi9.dev.japan.ml.com (Tony Necakov) wrote: > >:alertArea->displayTextColorBlinkInterval("Connection dropped", RED, YES, FAST); >alertArea->displayText("Connection dropped", > /*Color*/ RED, /*Blink*/ YES, /*Interval*/ FAST); Oh, that's so much prettier, you have a real aesthetic sense about you. >Your point? Is just beyond your grasp. >:[alertArea displayText:"Connection dropped" color:RED blink:YES interval:FAST]; > >Ugh. Unwanted baggage. I don't really want to be doing all of that every >time. Especially because, in the class of which alertArea is an instance, >I would certainly have created the Color, Blink, and Interal enumerated >types, so the prototype of the function would be >WindowThingie::displayText(char *const text, Color c, Blink b, Interval i); >or better yet: >WindowThingie::displayText(const String& text, Color c, Blink b, Interval i); What does the prototype have to do with the readability of the invocation? >:Which is easier to follow? > >The C++. You know, this thread might get a little more interesting if a >copy were forwarded to comp.lang.c++.... nah, too mean. Tell you what... >I'm learning objective C, why don't you go learn C++, as you seem to have a >little trouble with it. I'll try as soon as you give up smoking crack.
Newsgroups: comp.sys.amiga.programmer,comp.sys.apple2.programmer,comp.sys.be.programmer,comp.sys.mac.programmer.tools,comp.sys.next.programmer,comp.unix.programmer From: Stephen Keegan <keegansj@perkin-elmer.com> Subject: Re: Hex Calculator Content-Type: text/plain; charset=us-ascii Message-ID: <33333A3A.AF9@perkin-elmer.com> Sender: news@perkin-elmer.com (News Admin) Content-Transfer-Encoding: 7bit Organization: The Perkin Elmer Corporation References: <jake-1903970058480001@bubble.schap.rhno.columbia.edu> <halldj-1903971745130001@pm1-29.lis.ab.ca> Mime-Version: 1.0 Date: Sat, 22 Mar 1997 01:47:38 GMT Donald Hall wrote: > > In article <jake-1903970058480001@bubble.schap.rhno.columbia.edu>, > jake@timewarp.net (Jake Luck) wrote: > > > Hi, > > I am in search for a hex-dec-oct-bin conversion ONLY > > calculator(hardware). (the conversion features in the CASIOs > > are nice but are really cumbersome to use, and those nifty > > software version just dont quite cut it). If anyone outta there > > knows some company who sells such a thing, would you please > > email me? Thanks much in advance. > > > > -Jake <jake@timewarp.net> > > About 10 years ago Hewlett Packard had an excellent programmer's > calculator. You should check with an HP dealer to see if they still make > them. HP-16C, don't know if they still make them. Stephen Keegan
From: nouser@nohost.nodomain (Thomas) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 23 Mar 1997 23:33:36 -0800 Organization: home Message-ID: <tz8sp1lrbfz.fsf@aimnet.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <332FE836.1567@ <markeaton_-2003972359160001@ip86.santa-clara6.ca.pub-ip.psi.net> <E7Exo7.nB@shinto.nbg.sub.org> <5h45ac$fn9$2@news.xmission.com> In-reply-to: don@globalobjects.com's message of 23 Mar 1997 20:54:36 GMT Fcc: /u6/users/tmb/mail/x-nout In article <5h45ac$fn9$2@news.xmission.com> don@globalobjects.com (Don Yacktman) writes: Well, if NeXT ever finishes the link+go or whatever is was that they were calling it (which was supposed to be in 3.3 and then got pushed to 4.0 and then got pushed to ???) you'd have the ability to swap newly compiled code in and out while the app was running. You can already do this with the Asymetrix Supercede Java IDE, by the way. And you have been able to do what with CommonLisp and some C environments for years. It's not like it's new technology or something. Thomas.
From: Robert Lutwak <robert@amo.mit.edu> Newsgroups: comp.sys.amiga.programmer,comp.sys.apple2.programmer,comp.sys.be.programmer,comp.sys.mac.programmer.tools,comp.sys.next.programmer,comp.unix.programmer Subject: Re: Hex Calculator Date: 22 Mar 1997 13:45:31 GMT Organization: Erol's Internet Services Message-ID: <5h0npr$sgb@boursy.news.erols.com> References: <jake-1903970058480001@bubble.schap.rhno.columbia.edu> <halldj-1903971745130001@pm1-29.lis.ab.ca> <33333A3A.AF9@perkin-elmer.com> Cc: keegansj@perkin-elmer.com In <33333A3A.AF9@perkin-elmer.com> Stephen Keegan wrote: > > > In article <jake-1903970058480001@bubble.schap.rhno.columbia.edu>, > > jake@timewarp.net (Jake Luck) wrote: > > > > > I am in search for a hex-dec-oct-bin conversion ONLY > > > calculator(hardware).> HP-16C, don't know if they still make them. > My HP28C (also the 28S) does a pretty good job of conversions, as well as providing all of the standard arithmetic and bitwise operations (AND, XOR, etc.) in at least 4 bases (decimal, octal, hex, and binary). -- Robert Lutwak robert@amo.mit.edu
From: Stephen Peters <speters@cygnus.com> Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: 24 Mar 1997 11:04:03 -0800 Organization: Cygnus Solutions Message-ID: <qd7mixqfh8.fsf@blues.cygnus.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> <5gtvgc$5op@news.ml.com> <yospe-2103971538410001@usrns45.dialup.hawaii.edu> yospe@hawaii.remove.this.edu (Nathan F. Yospe) writes: > necakov@mljsdi9.dev.japan.ml.com (Tony Necakov) wrote: > > :alertArea->displayTextColorBlinkInterval("Connection dropped", RED, > YES, FAST); > alertArea->displayText("Connection dropped", > /*Color*/ RED, /*Blink*/ YES, /*Interval*/ FAST); > Your point? Fair enough. I still find the ObjC version cleaner, and better due to its self-documenting nature. > :[alertArea displayText:"Connection dropped" color:RED > blink:YES interval:FAST]; > > Ugh. Unwanted baggage. I don't really want to be doing all of that every > time. So don't. For most well-designed classes, the designer's probably also included a simple displayText: method which uses the default values for color, blink, and interval. I'd expect the same from any C++ class designer worth his salt. > Especially because, in the class of which alertArea is an instance, > I would certainly have created the Color, Blink, and Interal enumerated > types, so the prototype of the function would be > WindowThingie::displayText(char *const text, Color c, Blink b, Interval i); > or better yet: > WindowThingie::displayText(const String& text, Color c, Blink b, Interval i); So? To be honest, I don't care about the prototypes -- the class designer should only have to type them in once, and the people using the class should only have to look at them occasionally for reference. I'd rather see more information on the code that *uses* the class. If I have to go to a header file to figure out what the code is doing, I'm wasting time which would be better spent fixing the problem. > :Which is easier to follow? > > The C++. You know, this thread might get a little more interesting if a > copy were forwarded to comp.lang.c++.... nah, too mean. Sigh. Perhaps your typing time would be better spent actually saying _why_ it's easier to follow. So far your entire argument is based in two words: `unwanted baggage'. I'm interested to know why you think that it's unwanted; your arguments thus far are less than compelling. > Tell you what... I'm learning objective C, why don't you go learn > C++, as you seem to have a little trouble with it. To the contrary, many of us have known and programmed in C++ for most of the past decade, and Objective-C for a good chunk of that time as well. We find Objective-C to suit us better, and believe that the code written in it is often cleaner, more resuable, and more readable than its C++ counterparts. -- Stephen L. Peters speters@cygnus.com PGP fingerprint: BFA4 D0CF 8925 08AE 0CA5 CCDD 343D 6AC6 "What, do you think soup is a biped?" -- Crow, MST3K
From: boudra@cimac-res.univ-lyon1.fr (Abdel BOUDRAA) Newsgroups: comp.sys.next.programmer Subject: Help:display of an image using NXImage class Date: 24 Mar 1997 20:13:20 GMT Organization: UCBL Message-ID: <5h6n90$5ui@tempo.univ-lyon1.fr> Mime-Version: 1.0 Content-Type: Text/Plain; charset=ISO-8859-1 Dear colleague: I'd like to find source to display a simple gray level image (not a ps or eps..) using NXImage class. Thanks in advance -------------------- boudra@cimac-res.univ-lyon1.fr
From: neuss@informatik.th-darmstadt.de.nospam (Christian Neuss) Newsgroups: comp.sys.next.programmer Subject: Re: WO, ActiveX and MS Visual InterDev Date: 24 Mar 1997 19:52:01 GMT Organization: Technische Hochschule Darmstadt Message-ID: <5h6m11$q2s@rs18.hrz.th-darmstadt.de> References: <01bc3580$fb44b000$816e13c2@terra.internet.no> Arne Herseth (arneha@internet.no) wrote: > How do you communicate with an ActiveX component in WO? Through a > COM-interface? Via HTTP, nothing else will get past the Firewall. For the *vast* majority of applications, this is perfectly sufficient. > How do you convince a fanatic MS worshipper that WO is better than MS > Visual InterDev? (Must be very convincing considering the redicoulous price > difference in favour of MS Visual InterDev). Make him or her implement a stateful CGI application with a slightly complex application logic. Everything that's more complex then a multi user shopping cart implementation with a remote database backend should do. It's a one day job with WO, but a complete nightmare with any other system. Regards, Chris -- // Christian Neuss "static typing? how quaint.." // http://www.informatik.th-darmstadt.de/~neuss/ // fax: (+49) 6151 16 5472
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 11 Mar 1997 00:32:48 GMT Organization: ace dot net internet technologies Message-ID: <5g297g$p46$1@darla.visi.com> References: <330E54AC.167E@innosys.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <332192A6.313D@online.disney.com> <5g0t0o$sb8@samoyed.ftc.nrcs.usda.gov> In comp.sys.next.advocacy John Stevens <jstevens@ftc.nrcs.usda.gov> wrote: : I wouldn't be at all surprised to see Java compilers producing *native* : executable code in the very near future. So, you see, that would mean : that Java would be both portable, and fast enough. SFW. Java's runtime is an order of magnitude more complex than ObjC's. Native compilation isn't going to change that. 1.1's dynamic method dispatch means no cheating and inlining every function. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
Newsgroups: comp.sys.next.programmer Organization: Antigone Press gateway, San Francisco Return-Path: <umax!antigone.sonic.net!ispnet!ergotech.com!drake> Message-ID: <199703241742.AA25113@ergotech.com> From: Drake Woodring <drake@ergotech.com> Date: Mon, 24 Mar 97 10:48:55 -0700 Subject: problems with frameworks. *This message was sent using a trial version of CommuniGate(tm) UUCPGate* *This message was received using a trial version of CommuniGate(tm) UUCPGate* I have just converted all the bundles in a project into frameworks. The problems I am having is that I can't tell project builder all of the frameworks that will be loaded (they will not be know until runtime). I heard that there is a way of getting a framework just by knowing a class inside of it (as long as they are in the framework path). the objc_getclass doesn't work unless the framework is loading into project builder. The next problem. How do you get access to a nib file in a framework that is already loaded. NSBundles bundleForClass returns the mainbundle, not the framework. So I can only hardcode the directory that the nib file resides in. The last thing is...Where do you read about frameworks. The only info I could find was in NSBundle. And that isn't specific enough. Well, I will apreciate any suggestions. Thanks.
From: andydunn@op.net (Andy Dunn) Newsgroups: comp.sys.next.programmer Subject: Re: How to create MPEG movies? Date: 25 Mar 1997 00:10:05 GMT Organization: OpNet -- Greater Philadelphia Internet Service Message-ID: <5h754t$nfg@picasso.op.net> References: <5h49n8$1le2@castor.cca.rockwell.com> Cc: embuck@palmer.cca.rockwell.com In <5h49n8$1le2@castor.cca.rockwell.com> Erik M. Buck wrote: > I have done a lot of searching on the net. I have not found a reasonably low > tech way of making mpeg or quicktime movies. > > I have a lot of original art work. I want to create movies with simple > transitions from frame to frame. How can I do this ? > [ snipped ] > > I am desperate and I have a large budget. Can someone help ? > > > You can make MPEGs on a NeXT fairly easily. I ported the Berkeley MPEG encoder several years ago, and the executable (black, NS 2.1 or later) was still at their FTP site the last time I checked. Hope that helps. _andy
From: shess@one.net (Scott Hess) Newsgroups: comp.sys.next.programmer Subject: Re: Why lose "return self" in Openstep? Date: 24 Mar 97 14:09:41 Organization: Is a sign of weakness Message-ID: <SHESS.97Mar24140941@howard.one.net> References: <5gmlrl$5n@dfw-ixnews4.ix.netcom.com> <332EE8D4.6EDA@tnrealestate.com> <5gphah$80i$1@sys10.cambridge.uk.psi.net> In-reply-to: richard@brainstorm.co.uk.'s message of 19 Mar 1997 20:12:01 GMT In article <5gphah$80i$1@sys10.cambridge.uk.psi.net>, richard@brainstorm.co.uk. (Richard Frith-Macdonald) writes: "Andrew J. Smith" <ajs@tnrealestate.com> wrote: >Mark Trombino wrote: >> "Previously, methods returned self by convention. Some methods >> return self to indicate success and nil to indicate failure. >> Returning self to indicate a Boolean value or returning self >> without any associated meaning made the API more confusing." >> >> I can live with this convention, but I don't know if I agree >> with it. I don't think that it made the API anymore confusing, >> but it did make my code a little more elegant. > >While I'm certainly not an Objective-C wizard, I understand that >the reason for this is to increase performance of DOE (Distributed >Objects Everywhere?) programs. If "return self" is used in a >program that has been segmented over a network, then the object is >packaged up and returned over the network. This is not usually >necessary and can create a severe performance problem. > >Someone feel free to correct me if this is wrong. > I think this is probably wrong - When a method returns self, it would return a Proxy, not a copy of the object, and the amount of data sent over the network would be minimal. And with the retain-release conventions used, the Proxy should be auto-released unless your code retains it, so you don't even need to worry about getting loads of local Proxy objects hanging around. Perhaps the Openstep release notes are actually telling the truth, and the people at next really did just think that the old convention was confusing. Perhaps they have had customer feedback to that effect? In the context of PDO, if the method looks like: -(void)doSomething; Then the message can be sent without waiting for a reply - just throw it to the wind. If you have a set of those to send, not having to wait for the round trip is a _significant_ win. Also, -(BOOL)doSomething; will clearly take much less work than: -(id)doSomething; In the second case, the PDO stuff has to hash the return value to a unique identifier to send across the network, which then used as an index into a table of proxies in the caller's space. Not all _that_ big of a time sink, but if you are indeed only interested in true/false, then BOOL is much more streamlined. There was also probably some element of "make a clean break". NeXT's first version of DO had a fatal flaw in the reference counting - for unknown reason, someone decided to have -free return nil if the object really was freed (ref-count went to zero) or self if it wasn't (still outstanding references). This sometimes made it impossible to free a vended object. They _could_ have fixed it by making -free always return nil (as it should have in the first place), but someone no doubt realized that the problem was in the ambiguity of using conventions like this. I have to say, I do overall like the newer interfaces. Some conveniences, like method chaining, are lost. But harsh, painful experience has taught me that it's very important to say exactly what you mean when programming, and the new interfaces are somewhat better that way. The main thing I don't like is the lack of a psuedo-atomic free method. I always coded free like: anObject=[anObject free]; So that anObject went atomically from a valid object to nil, with no possibility of sending a method to a freed object. Now you have to do: [anObject release]; anObject=nil; or use a macro-helper (which loses the Obj-C-ness). Sigh. I'd have been happy with: anObject=[anObject release]; with -release defined to return "A replacement object to be stored in the released object's slot." -release as a conversion to nil. -- scott hess <shess@one.net> (606) 578-0412 http://w3.one.net/~shess/ <Favorite unused computer book title: The Idiots Guide to the Zen of Dummies in a Nutshell in Seven Days, Unleashed>
Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy From: thomas@gamelan.shnet.org.NOSPAM (Thomas Funke) Subject: Re: Objective C? Message-ID: <1997Mar22.093356.420@gamelan.shnet.org> Sender: thomas@gamelan.shnet.org (thomas) Cc: JamesCurran@CIS.CompuServe.com Organization: Disorganization References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> Date: Sat, 22 Mar 1997 09:33:56 GMT In <5gl602$nbl@lal.interserv.com> James M. Curran wrote: > In other words, the C++ code is always graceful, pretty, encapsolated, > and easier to maintain. Good joke :-) After several years experience with C++ projects, I have to agree with Bertrand Meyer: "C++ is the only language which even makes Cobol look good"
From: gary-nospam-@screaming.org (Gary W. Longsine) Newsgroups: comp.sys.next.programmer Subject: Re: Compiling problem Date: 25 Mar 1997 02:17:59 GMT Organization: Save the Skeet Foundation Message-ID: <5h7ckn$n0c$1@news.platinum.com> References: <5gku62$nu7@epcot.pomona.edu> Cc: ŸŸŸŸŸúÈ6·jim@acb2.cgs.edu In <5gku62$nu7@epcot.pomona.edu> it appeared that Jim Kieley wrote: > I am trying to compile a couple of PD things using Openstep 4.0 that have > similar error messages (they compile fine with GNU C on on other platforms). > Is anyone willing to give me hints at what the problem might be? > > > cc -DSCRIPT_BIN='"/usr/local/etc/httpd/cgi-bin"' -DNO_QUERY_OK -o uncgi > > uncgi.c > > /bin/ld: Undefined symbols: > > _putenv > > *** Exit 1 > > > cc -I/jim/qi-3.1B7/include -L/jim/qi-3.1B7/lib -o apitest apitest.c > > libqiapi.a -ll > > /bin/ld: Undefined symbols: > > _strdup > > *** Exit 1 I've seen this problem when trying to compile various things under OpenStep 4.1 I have a NeXTSTEP 3.3 box, and usually the same thing chokes and dies in the same way. I'm pretty certain that, in the stuff where I've had problems, these undefined symbol errors are the result of poor C++ support in the older gcc that ships with current OpenStep. (I can't get a newer gcc to compile, either, which is a bummer.) Unless I can figure out how to compile gcc-2.7.2.x on OpenStep/NeXTSTEP, I'll have to wait for OpenStep 4.2 (which has basically been re-scoped to become Rhapsody DR1). That will have an updated gcc in it (according to the 4.2 release notes -- I'm pretty certain that it will be there because OpenStep/NT 4.1 already has the updated compiler.) I thought about bootstrapping by first compiling a *slightly* newer gcc, and moving up one or two revs at a time, until I get to something modern, but I really don't have the time for that, if I can avoid it (and whos to say that it would work anyway -- its just a theory.) i know that *somebody* has got this to work, because i've seen references to it in release notes in some pd app or another -- but i can't remember which one. /gary -- Gary W. Longsine, Systems Engineer | ____/| OpenStep, MachOS, PLATINUM Technologies, Inc. | \ o.O| Objective-C: l_o_n_gsine@platinum.com (NeXTmail | =(_)= (Can i have his spam?) & MIME) |. U Elegance is Relevant.
From: kwong@morgan.ucs.mun.ca (Kai S. Wong) Newsgroups: comp.sys.next.programmer Subject: Ticker tape palette? Date: 22 Mar 1997 18:57:33 GMT Organization: Memorial University of Newfoundland Message-ID: <5h1a2t$6d6@coranto.ucs.mun.ca> Hello, Is there a ticker tape like palette where I connect to a data source? Thanks kai
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Mon, 24 Mar 1997 16:31:23 -0700 Organization: Edmark Message-ID: <jesjones-ya023580002403971631230001@news.halcyon.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <332FE836.1567@claris.com> <5gs5cg$ja21@castor.cca.rockwell.com> <jesjones-ya023580002103972157070001@news.halcyon.com> <3335967D.32A4AC5C@nilenet.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <3335967D.32A4AC5C@nilenet.com>, Valient Gough <val@nilenet.com> wrote: > I haven't seen any complaints yet, so I'm leaving the newsgroups list > as-is. > > Jesse Jones wrote: > > Constructors have nothing to do with memory allocation. If you want to > > control how objects are allocated you can override (and, if need be, > > overload) the global operator new. Constructors were added to the language > > so that objects could be automatically initialized to a good state before > > they're used. OTOH Objective-C seems to handle this through the convention > > of calling init() immediately after creating a new object. Maintaining an > > object's invariant is such an important part of OOP that it seems silly to > > rely on the hazards of programming by convention. > > In C++ you'd override a global function (new), in ObjC you'd override > +alloc. In C++ you have one or more constructors (aka initializers) > denoted by the same name as the class, in ObjC, those initializers are > often called -init*. > > Every object has an interface, if you can't be bothered to adhere to the > "convention" of using that object's interface... well, that would > certainly qualify you as a hazard. Seriously, in ObjC, creating an > object is not fundamentally different from using one. This is nice if > you want to make use of the dynamic features of ObjC. You could, for > instance, create a new class from something given to you externally > without ever knowing what type it was. But some interfaces are better than others. I'm sure you'd agree that a class that required you to follow a rigid five step process to initialize an object to a valid state would be a poorly designed class. Objective-C has the same problem (although not to the same degree). Whenever you require people to follow a certain procedure to get correct results you're leaving an opening for bugs to creep in. Ideally it should be impossible for clients to wind up with an object whoose invariant doesn't hold. In C++ this is often possible. In Objective-C it is not because anyone can forget to call the init method. > [fragile base class stuff] > > As others have pointed out this is not the fragile base class problem. > > However it is a nice illustration of the different philosophies between C++ > > and Objective-C. My guess is that you're complaining about the fact that > > you cannot assign a Node* to a TwoWayNode* in C++ and that you would handle > > this in Objective-C by using the id type. What this says to me is that you > > can quickly slap together some code in Objective-C by sacrificing type > > checking. OTOH C++ almost forces you to spend more time on design time up > > front. This will take longer but I'd argue that you'll usually come up with > > a better design and the strong type checking will make any piece of code > > using your class more reliable. > > This appears to be turning into an argument of how to define "fragile". > Strong type checking != better design.. If you want to make such an > argument, you should define what 'better design' means to you. Maybe > you haven't used a dynamic language before, but strong type checking and > 'better design' can be very contradictory ideas at times. OTOH, if your > definition of 'better design' includes Strong type checking, then, I'd > have to agree, C++ is better for you. There is no question in my mind that strong type checking is a good thing (and apparently the NeXT engineers agree with me since I hear they have moved away from the indiscriminate use of the id type). I view dynamic language features as I do multiple inheritance in C++: a useful tool that is easy to abuse. --Jesse
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer Subject: Re: Objective C? Date: Sat, 22 Mar 1997 14:07:40 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <knB2rwa00iV9Q1sDM4@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <5gdbq0$3p1@lal.interserv.com> <petrichE750Ms.32G@netcom.com> <5ghjc4$d92@lal.interserv.com> <petrichE7Fq55.Eo6@netcom.com> In-Reply-To: <petrichE7Fq55.Eo6@netcom.com> Excerpts from netnews.comp.sys.next.advocacy: 22-Mar-97 Re: Objective C? by Loren Petrich@netcom.com > I may have been too literal-minded in assuming that every dispatch > uses a string rather than an enum; You were wrong in assuming that _any_ ObjC dispatch uses a string. At compile time, the compiler associates the Method string with a selector. You can also do that directly yourself via the @selector() syntax, which is often used to forward messages, as an example from NeXT's docs illustrates: "Even if your class can't inherit the negotiate method, you can still 'borrow' it by implementing a version of the method that simply passes the message on to an instance of the other class: - negotiate { if ( [someOtherObject respondsTo:@selector(negotiate)] ) return [someOtherObject negotiate]; return self; }" Code like: > if the ObjC compiler is smart enough, > it might do something like translate > > [obj M: arg1] > [obj M: arg2] > [obj M: argc] ...is transformed into: objC_msgSend(obj, (SEL) some_int, arg1) ....where some_int == @selector(M). This is also resolved at compile time, and the struct objc_selector * (typedef'ed as SEL), is effectively just a 4-byte hashed value associated by the runtime system with the full C string of the method name. Obj-C message dispatch therefore involves a hashtable lookup of the function implementation for a given selector; it does not involve C strings. However, if you want to deal with method names which are not known at compile time, you use various runtime functions like: SEL sel_getUid(const char *aName) ...which will convert a method name into a selector at runtime, and you can then use the selector returned to perform method dispatches assuming, of course, that string corresponds to a valid selector. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer Subject: Re: Objective C? Date: 25 Mar 1997 02:41:27 GMT Organization: ace dot net internet technologies Message-ID: <5h7e0n$l0p$1@darla.visi.com> References: <330E54AC.167E@innosys.com> <5ghjc4$d92@lal.interserv.com> <petrichE7Fq55.Eo6@netcom.com> <knB2rwa00iV9Q1sDM4@andrew.cmu.edu> <petrichE7HrpC.K0E@netcom.com> <5h4l9o$3m3$1@nntp2.ba.best.com> <qdzpvspxe8.fsf@blues.cygnus.com> In comp.sys.next.advocacy Stephen Peters <speters@cygnus.com> wrote: : Is this a problem in theory? Yes -- even if the hash algorithm is : perfect, there are only 65,536 possible method names (I'm using the : GNU ObjC runtime as a reference, which uses integers as the hash : codes). Get an object with enough methods, and you can guarantee a : collision. :-) 32 bit ints. 4294967296 methods. That's one bad ass class. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: Stephen Peters <speters@cygnus.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer Subject: Re: Objective C? Date: 24 Mar 1997 17:34:39 -0800 Organization: Cygnus Solutions Message-ID: <qdzpvspxe8.fsf@blues.cygnus.com> References: <330E54AC.167E@innosys.com> <5ghjc4$d92@lal.interserv.com> <petrichE7Fq55.Eo6@netcom.com> <knB2rwa00iV9Q1sDM4@andrew.cmu.edu> <petrichE7HrpC.K0E@netcom.com> <5h4l9o$3m3$1@nntp2.ba.best.com> kcd@babylon5.jumpgate.com (Kenneth C. Dyke) writes: > On 03/22/97, Loren Petrich wrote: > >That raises certain questions of uniqueness, since several > >different text strings can map onto the same hash value. > > All Objective C methods with the same name share the same method > selector, so this isn't a problem. Um, the problem Loren is raising is one in which two different methods, with two different names, could share the hash. In other words, when performing the lookup, there could be a collision in which it's looking for one method, but because another method has the same hash, it gets a completely different one. Is this a problem in theory? Yes -- even if the hash algorithm is perfect, there are only 65,536 possible method names (I'm using the GNU ObjC runtime as a reference, which uses integers as the hash codes). Get an object with enough methods, and you can guarantee a collision. :-) Has this become a problem in reality? I don't know. Anyone care to say if they've had any weird errors that only went away when they renamed their method? -- Stephen L. Peters speters@cygnus.com PGP fingerprint: BFA4 D0CF 8925 08AE 0CA5 CCDD 343D 6AC6 "What, do you think soup is a biped?" -- Crow, MST3K
From: David Young <dwy@ace.net> Newsgroups: comp.sys.next.programmer Subject: Re: Compiling problem Date: 25 Mar 1997 02:44:07 GMT Organization: ace dot net internet technologies Message-ID: <5h7e5n$l0p$2@darla.visi.com> References: <5gku62$nu7@epcot.pomona.edu> <5h7ckn$n0c$1@news.platinum.com> Gary W. Longsine <gary-nospam-@screaming.org> wrote: : > > /bin/ld: Undefined symbols: : > > _putenv : > > /bin/ld: Undefined symbols: : > > _strdup : i know that *somebody* has got this to work, because i've seen references to : it in release notes in some pd app or another -- but i can't remember which : one. Uh, what? These are linker errors. Using -l44bsd (from sendmail) or the putenv in NeXTanswers, or writing your own strdup() (malloc/strcpy), should work fine. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: gary-nospam-@screaming.org (Gary W. Longsine) Newsgroups: soc.penpals,alt.msdos.programmer,comp.sys.next.programmer,comp.unix.questions,atl.resumes Subject: Re: Learning to Program to get hired? Date: 25 Mar 1997 02:48:45 GMT Organization: Save the Skeet Foundation Message-ID: <5h7eed$ntq$1@news.platinum.com> References: <332DA1F1.41A4@hom.net> Cc: jeffrey@hom.net In <332DA1F1.41A4@hom.net> it appeared that jeff parsons wrote: > Hi, anyone got any suggestions on how to write business application > to help someone with a B.A. in CS to get hired as a programmer. I > have some programming skills but not the full stuff everyone wants? > > Thanks, > > Jeff Hi Jeff, There are lots of variables that go into picking your path. How desperately do you need a job? How much time are you willing to put into it? How much can you spend on hardware/software before you get a job? Do you want to be a god, and learn cool stuff, or just be a Visual Basic programmer for the next 20 years? Here's my advice: If you want to be *really* good, then learn to program in C, under UNIX. If you start on UNIX, and start in C, you will likely master the skills required to quickly learn any new development environment, OS, or programming language that you will ever encounter. (of course many of them you'll not like at that point, but it won't bother you much.) After a couple of years, you'll get to the point where you can pick up a new language in about a week, if you're motivated to do so. If you are still a student, get a copy of the OPENSTEP for MachOS 4.1 Academic Kit OpenStep runs on intel PCs, but not just *any* pc -- check out the NeXT web site to make sure hardware is supported BEFORE you buy hardware. (same goes for any UNIX on intel). Alternatively, you could buy a used NeXTstation Mono fairly cheap (get 32MB of RAM at least and a nice new 2gig disk put in it). check out: Spherical Solutions http://www.orb.com/ DeepSpace Technologies http://www.deepspacetech.com/ Both of these companies have good reputations for dealing in used NeXT hardware. ($300 through your campus bookstore, if they don't have a clue, call NeXT and they'll help you help them figure it out). http://www.next.com (800) TRY-NEXT http://www.stepwise.com http://www.misckit.com ftp://next-ftp.peak.org this will get you started. buy the following books: Teach Yourself C in 21 days Using C on the UNIX System (O'Reilly & Associates http://www.ora.com) Now, TYCin21Days used to be a really decent self-education book, there may be better ones now, i don't know. I'm sure it's still OK. UsingC is great, once you get the C basics. Once you get up to speed in C, start right away with Objective-C under OpenStep's way cool IDE (integrated development environment). NeXT is a niche player right now, but they were bought out by Apple in December, and are providing the foundation of Rhapsody - a new OS from Apple which will run on PowerMac and Intel based hardware. It will be fun, cool, sexy, and you will enjoy programming in that environment (if you like programming.) When you get to this point, (after you're up to speed in C, not before) call up Springer-Verlag (publisher) and get "NeXTSTEP Programming" by Garfinkek & Mahoney -- it's a bit out of date with respect to the NeXT programming environment, but it's still an excellent introduction in most respects (it's very well written.) If you're not a student, and don't know any, get a Linux box and start in C, then move to Java when you're up to speed in C. Expect to work 2-3 hours a night, 5-6 nights a week (assuming you're FT employed) and more if you can, for about 3 months before you're feeling your oats. Don't be frustrated if nobody wants to hire you at that point. You'll have a better understanding of what things you'll need to teach yourself to become valuable. At that point you can start learning more about source code control systems, networking, other stuff. Take some public domain apps with source code and modify them to make them do something you want. At some point you will have built up enough skills and confidence that you get hired as an entry level programmer and put through the grind. Best of Luck. /gary -- Gary W. Longsine, Systems Engineer | ____/| OpenStep, MachOS, PLATINUM Technologies, Inc. | \ o.O| Objective-C: l_o_n_gsine@platinum.com (NeXTmail | =(_)= (Can i have his spam?) & MIME) |. U Elegance is Relevant.
From: gary-nospam-@screaming.org (Gary W. Longsine) Newsgroups: comp.sys.next.programmer Subject: Re: Could somebody with 4.2PR do me a favour ? Date: 25 Mar 1997 03:06:22 GMT Organization: Save the Skeet Foundation Message-ID: <5h7ffe$ntq$2@news.platinum.com> References: <5h6j0n$hqs$1@news.belwue.de> Cc: flight@mathi.uni-heidelberg.de In <5h6j0n$hqs$1@news.belwue.de> it appeared that Gregor Hoffleit wrote: > It seems that OpenStep/MachOS 4.2 (finally) has gcc-2.7.x. Provided > this is true for the PR too, could somebody with the PR please do me a > favour and compile a piece of code with the new cc ? > > The piece of code are two assembler fragments from the kaffe Java VM > package, that won't compile with the old, 2.5.8 based cc. I hope that > this will work with the new one. Oh, yes, the interesting part if > HP-PA asm... you know ,-) ? does <anyone> actually <have> this pre-release? as i understand it, this pre-release has never been pre-released, on MachOS anyway, due to the urgency of the PowerPC port and Rhapsody. i'd love to find out that i'm mistaken, since I need the new compiler, too. (right now, i'm waiting.) /gary -- Gary W. Longsine, Systems Engineer | ____/| OpenStep, MachOS, PLATINUM Technologies, Inc. | \ o.O| Objective-C: l_o_n_gsine@platinum.com (NeXTmail | =(_)= (Can i have his spam?) & MIME) |. U Elegance is Relevant.
From: michael@lanczos.cer.neu.edu (Michael) Newsgroups: comp.sys.next.programmer,comp.lang.objective-c Subject: forwarding and "super" Date: 25 Mar 1997 03:19:53 GMT Organization: Northeastern University, Boston, MA. 02115, USA Message-ID: <5h7g8p$6ic@chaos.dac.neu.edu> NeXT manual "Object - Oriented Programming and Objective C Language" is very good. Kudos to NeXT for producing high-quality docs (why there aren't author's name on in, BTW ?) I have a question, though. Manual gives the following example of over-riding respondsToSelector method to account for forwarding: - (BOOL) respondsToSelector: (SEL)aSelector { if([super respondsToSelector:aSelector]) return YES; else { /* test whether message can be forwarded */ } return NO; } It seems to me, that this method would return NO, if aSelector specifies method that is not defined either in superclass of a current class or in object it forwards to, but which is defined in the current class. Manual says that super starts searching for the method in the class 1 level higher in the hierarchy. That seems to tell to me, that it won't find methods of the current class.
From: michael@lanczos.cer.neu.edu (Michael) Newsgroups: soc.penpals,alt.msdos.programmer,comp.sys.next.programmer,comp.unix.questions,atl.resumes Subject: Re: Learning to Program to get hired? Date: 25 Mar 1997 03:08:45 GMT Organization: Northeastern University, Boston, MA. 02115, USA Message-ID: <5h7fjt$52j@chaos.dac.neu.edu> References: <332DA1F1.41A4@hom.net> <5h7eed$ntq$1@news.platinum.com> In-Reply-To: <5h7eed$ntq$1@news.platinum.com> On 03/24/97, Gary W. Longsine wrote: ]If you are still a student, get a copy of the OPENSTEP for MachOS 4.1 ]Academic Kit ]OpenStep runs on intel PCs, but not just *any* pc -- check out the NeXT web ]site to make sure hardware is supported BEFORE you buy hardware. Openstep/Mach would work on pretty much any PC out there, although the suggestion to check NeXT site is a good one ( one may have problems getting OPENSTEP/Mach for Intel to recognize CD-ROM if it's not SCSI. I managed to install OPENSTEP, but it still does not see my Sony CD-ROM - I booted Linux from 2 floppies and used dd to copy image of OPENSTEP CD to hard drive, and installed from there) ] (same goes ]for any UNIX on intel). I don't think that's really correct, free Unixes (especially Linux) would run on pretty much any PC. The box has to be seriously weird not to run Linux. ] Alternatively, you could buy a used NeXTstation Mono ]fairly cheap (get 32MB of RAM at least and a nice new 2gig disk put in it). ]check out: ] ] Spherical Solutions http://www.orb.com/ ] DeepSpace Technologies http://www.deepspacetech.com/ How the speed of those compares with OPENSTEP for Mach Intel on, say, Pentium/75mHz with 16MB memory ?
From: interbbs@usa.net (Inter-BBS) Newsgroups: comp.sys.next.hardware,comp.sys.next.marketplace,comp.sys.next.misc,comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.sysadmin,comp.sys.northstar,comp.sys.nsc.32k Subject: FreeNetAccessWorldwide Date: Fri, 21 Mar 1997 12:16:02 GMT Organization: Inter-BBS Message-ID: <33327b4a.2777996@news.uqam.ca> http://home.ican.net/~704242/interbbs.html Free adult internet connection worldwide. We offer a free internet access from more then 2000 cities all around the world, it's absolutely free, all what we ask is to visit and visit again our sponsor pages, it's how we are paid, so visit our home page and enjoy... http://home.ican.net/~704242/interbbs.html
From: flight@mathi.uni-heidelberg.de (Gregor Hoffleit) Newsgroups: comp.sys.next.programmer Subject: Could somebody with 4.2PR do me a favour ? Date: 24 Mar 1997 19:00:39 GMT Organization: InterNetNews at News.BelWue.DE (Stuttgart, Germany) Message-ID: <5h6j0n$hqs$1@news.belwue.de> It seems that OpenStep/MachOS 4.2 (finally) has gcc-2.7.x. Provided this is true for the PR too, could somebody with the PR please do me a favour and compile a piece of code with the new cc ? The piece of code are two assembler fragments from the kaffe Java VM package, that won't compile with the old, 2.5.8 based cc. I hope that this will work with the new one. Oh, yes, the interesting part if HP-PA asm... you know ,-) ? Gregor -- | Gregor Hoffleit Mathematisches Institut, Uni HD | | flight@mathi.uni-heidelberg.de INF 288, 69120 Heidelberg, Germany | | (NeXTmail, MIME) (49)6221 54-5771 fax 54-8312 | | PGP Key fingerprint = 23 8F B3 38 A3 39 A6 01 5B 99 91 D6 F2 AC CD C7 |
From: nurban@sps1.phys.vt.edu (Nathan Urban) Newsgroups: soc.penpals,alt.msdos.programmer,comp.sys.next.programmer,comp.unix.questions,atl.resumes Subject: Re: Learning to Program to get hired? Date: 25 Mar 1997 00:26:26 -0000 Organization: Virginia Polytechnic Institute and State University Message-ID: <5h763i$3k5@sps1.phys.vt.edu> References: <332DA1F1.41A4@hom.net> <5h7eed$ntq$1@news.platinum.com> <5h7fjt$52j@chaos.dac.neu.edu> In article <5h7fjt$52j@chaos.dac.neu.edu>, michael@lanczos.cer.neu.edu (Michael) wrote: > How the speed of those compares with OPENSTEP for Mach Intel on, say, > Pentium/75mHz with 16MB memory ? If you try to run OPENSTEP for Mach in only 16 MB of RAM, you're in for a world of hurt. Get 24 MB _at least_ (though I wouldn't want to run it in 24), preferably 32 MB or more. It runs decently in 32, I've got 64 and it's fine. (Well, if OmniWeb weren't leaking all over the place..)
From: paul@pth.com (Paul Haddad) Newsgroups: comp.sys.next.programmer Subject: NSUnarchiver Memory Leak Date: 24 Mar 1997 21:07:39 GMT Organization: Internet MCI Message-ID: <5h6qer$8e3$1@news.internetmci.com> Hi, I'm trying to get rid of all the memory leaks caused by NSUnarchiver. Here's the code that causes the leak. [NSUnarchiver unarchiveObjectWithData:someData]; //someData = Archived NSMutableDictionary Now looking back through some archives I saw a posting that talks about calling the following code to eliminate memory leaks. - deallocData { free((void*)[data bytes]); return self; } This does a good job of getting rid of most of the leaks, but I still have the following two leaks everytime I read in an object. default 0x07b1d564 2 NXCopyStringBufferFromZone, -[NSUnarchiver _decodeValueOfObjCType:at:], -[NSUnarchiver decodeValueOfObjCType:at:], -[NSValueDecoder initWithCoder:], -[NSUnarchiver _decodeObject], -[NSUnarchiver _decodeValueOfObjCType:at:], -[NSUnarchiver decodeValueOfObjCType:at:], -[NSDictionary initWithCoder:] default 0x07b1cd84 4 NSAllocateObject, +[NSObject allocWithZone:], -[NSUnarchiver _decodeObject], -[NSUnarchiver _decodeValueOfObjCType:at:], -[NSUnarchiver decodeValueOfObjCType:at:], -[NSDictionary initWithCoder:], -[NSUnarchiver _decodeObject], -[NSUnarchiver decodeObject] I know that they are only 2 & 4 bytes leaks, but I still would like to somehow get rid of them... See ya, -- Paul Haddad 0765
From: dbsi@datacorp.com (DBSI) Newsgroups: comp.sys.next.programmer Subject: *** FREE career planning guide **** Date: Tue, 25 Mar 1997 05:58:28 GMT Organization: DBSI Message-ID: <3337696b.15833664@nntp.stratos.net> RECEIVE A FREE CAREER PLANNING GUIDE AT URL : HTTP://WWW.DATACORP.COM
From: sef@kithrup.com Newsgroups: comp.sys.next.hardware,comp.sys.next.marketplace,comp.sys.next.misc,comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.sysadmin,comp.sys.northstar,comp.sys.nsc.32k Subject: cmsg cancel <33327b4a.2777996@news.uqam.ca> Date: 25 Mar 1997 05:21:19 GMT Control: cancel <33327b4a.2777996@news.uqam.ca> Message-ID: <cancel.33327b4a.2777996@news.uqam.ca> Sender: interbbs@usa.net (Inter-BBS) Spam cancelled by sef@kithrup.com
From: mkagalen@lynx.dac.neu.edu (Michael Kagalenko) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep on Java and Newton Date: 21 Mar 1997 22:15:45 -0500 Organization: Northeastern University, Boston, MA. 02115, USA Message-ID: <5gvit1$v2m@lynx.dac.neu.edu> References: <01bc309d$0f9f0610$612168cf@test1> <5gih7s$dl6@news2.cais.com> <5gmi0j$mc@xenia.informatik.uni-muenchen.de> Content-Type: text/html Bernhard Scholz (scholz@leo.org) wrote in article <5gmi0j$mc@xenia.informatik.uni-muenchen.de> <pre><blink> ]> ]Apple is probably going to drop the Newton. See latest press statements in ]MacWeek. That's supremely bogus statement. Perhaps, we are reading different MacWeeks ? The one that _I_ read says nothing of a kind. In fact, the latest copy of mine "MacWeek" says that Newton division is untouched by the recent major layoffs. -- ABILITY,n. The natural equipment to accomplish some small part of the meaner ambitions distinguishing able men from dead ones. -- Ambrose Bierce, "The Devil's Dictionary"
Newsgroups: comp.sys.next.programmer From: hhoff@schwaben.de.NOSPAM (Holger Hoffstaette) Subject: Re: WO, ActiveX and MS Visual InterDev Sender: news@flop.schwaben.de Organization: NeXT Ghetto People feat. St.Eve Message-ID: <E7KJu7.430@flop.schwaben.de> References: <01bc3580$fb44b000$816e13c2@terra.internet.no> <5h6m11$q2s@rs18.hrz.th-darmstadt.de> Date: Mon, 24 Mar 1997 22:30:06 GMT Chriz Neuz wrote: > Arne Herseth (arneha@internet.no) wrote: > > How do you communicate with an ActiveX component in WO? Through a > > COM-interface? > Via HTTP, nothing else will get past the Firewall. For the *vast* > majority of applications, this is perfectly sufficient. And for the rest you use D'OLÉ, if you're on NT. The real solution is, of course, to ignore the Active X part. > > How do you convince a fanatic MS worshipper that WO is better than MS > > Visual InterDev? (Must be very convincing considering the redicoulous > > price difference in favour of MS Visual InterDev). > Make him or her implement a stateful CGI application with a slightly > complex application logic. Everything that's more complex then a multi > user shopping cart implementation with a remote database backend should > do. It's a one day job with WO, but a complete nightmare with any other > system. Either that, or just talk about dynamic metaprogramming in distributed, cross-platform, scalable, fail-safe multi-tier architectures. That should do the trick. If the victim is still showing signs of life after that, make the M$ worshipper port his app to some big SMP iron running Solaris, with average client RTT of < 1 sec, with every page dynamically laid out with text coming out of a database. If Perl is a swiss army knife, WebObjects is a katana, a sledge hammer and a scalpel all in one. Holger -- hhoff@schwaben.de.NOSPAM LOAD "MACH_KERNEL",8,1
From: <Pathos@ucla.edu.us> (<Pathos@ucla.edu.us>) Newsgroups: comp.sys.next.programmer Subject: Pathos@ucla.edu.us Date: Tue, 25 Mar 1997 07:40:36 GMT Organization: <Pathos@ucla.edu.us> Message-ID: <33378143.21938842@nntp.stratos.net>
From: marcel@sysyem.de Newsgroups: comp.sys.next.programmer Subject: Re: Help:display of an image using NXImage class Date: 25 Mar 1997 08:10:09 GMT Organization: Technical University Berlin, Germany Distribution: world Message-ID: <5h8191$dq9$1@brachio.zrz.TU-Berlin.DE> References: <5h6n90$5ui@tempo.univ-lyon1.fr> In article <5h6n90$5ui@tempo.univ-lyon1.fr> boudra@cimac-res.univ-lyon1.fr (Abdel BOUDRAA) writes: > I'd like to find source to display a simple gray level image (not a ps > or eps..) using NXImage class. Don't use NXImage. Use NXBitmapImageRep. Marcel
From: MaRK_BeSSeY@NeXT.CoM (Mark Bessey) Newsgroups: comp.sys.next.programmer Subject: Re: forwarding and "super" Date: 25 Mar 1997 07:54:32 GMT Organization: NeXT Software, Inc. Message-ID: <5h80bo$3vv@news.next.com> References: <5h7g8p$6ic@chaos.dac.neu.edu> Michael writes > NeXT manual "Object - Oriented Programming and Objective C Language" is > very good. Kudos to NeXT for producing high-quality docs (why there > aren't author's name on in, BTW ?) I have a question, though. > > Manual gives the following example of over-riding respondsToSelector > method to account for forwarding: > > - (BOOL) respondsToSelector: (SEL)aSelector > { > if([super respondsToSelector:aSelector]) > return YES; > else { > /* test whether message can be forwarded */ > } > return NO; > } > > It seems to me, that this method would return NO, if > aSelector specifies method that is not defined either in > superclass of a current class or in object it forwards to, but > which is defined in the current class. Manual says that > super starts searching for the method in the class 1 level > higher in the hierarchy. That seems to tell to me, that it won't find > methods of the current class. Well, yes. This is an example of forwarding, remember? If this class is going to forward that message, then it must not have an implementation of the method (otherwise, forward: would never get called). This is the definition of what forwarding is. -- Mark Bessey Apple Computer, Inc. -->I DON'T SPEAK FOR APPLE<--
Newsgroups: comp.sys.next.programmer Organization: Antigone Press gateway, San Francisco Return-Path: <umax!antigone.sonic.net!ispnet!peak.org!luomat> Message-ID: <199703221459.JAA01409@kira.peak.org> From: "Timothy J. Luoma" <luomat@peak.org> Date: Sat, 22 Mar 97 09:58:53 -0500 Subject: Ping "app" Organization: Princeton Theological Seminary Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="__==========00000000055068==antigone.sonic.net==__" This is a MIME-encapsulated message If you read this, you may want to switch to a better mailer --__==========00000000055068==antigone.sonic.net==__ Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit *This message was sent using a trial version of CommuniGate(tm) UUCPGate* --__==========00000000055068==antigone.sonic.net==__ Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit *This message was received using a trial version of CommuniGate(tm) UUCPGate* --__==========00000000055068==antigone.sonic.net==__ Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit [ I put "app" in quotes because it isn't an "app" but just an executable file, in the old NeXT fashion] I've been using 'Ping.app' quite a bit, and like it. It has a 'choose host' option, but no hosts appear (perhaps due to my NetInfo setup, I'm not on a LAN). The biggest frustration is that it doesn't allow me to 'paste' a hostname into its panel. I was wondering if there was a way to add this to the program, but I don't know word one about programming.... I've manipulated apps before with InterfaceBuilder, but I can't do that with a single executable. There's full source code available ftp://ftp.next.peak.org/pub/next/apps/internet/misc/Ping.2.0.NIHS.bs.tar.gz If anyone is interested. Thanks TjL ps -- please CC me if possible, as my Usenet access is.... frustrating. --__==========00000000055068==antigone.sonic.net==__--
Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy From: G.C.Th.Wierda@AWT.nl (Gerben Wierda) Subject: Re: Objective C? Message-ID: <E7LBAq.3A8@AWT.NL> Sender: news@AWT.NL Organization: Adviesraad voor het Wetenschaps- en Technologiebeleid References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> <5gtvgc$5op@news.ml.com> <yospe-2103971538410001@usrns45.dialup.hawaii.edu> <qd7mixqfh8.fsf@blues.cygnus.com> Date: Tue, 25 Mar 1997 08:23:14 GMT It is my experience that what many people describe as 'unwanted baggage' actually is a big time saver in the longer run. E.g. I code with really long identifiers in C and my code has a lot of 'unwanted baggage' especially during the development cycle. OTOH, I see almost no bugs and I still don't know much about debuggers (and that is my time saver). After working with Objective-C, my C code started to look like: declaration: SomeObject_pt createSomeObjectWithFoo_AndBar_AndJoJoPtr( Foo_tp foo, Bar_tp bar, JoJo_pt joJoPt); call SomeObject_pt newSomeObj = createSomeObjectWithFoo_AndBar_AndJoJoPtr( aFoo, aBar, aJoJoPt); I use _ as the character that tells me the 'place' of arguments (like : in Obj-C). All my objects have create and destroy methods. Essentially, I can do a lot in C (except inheritance). When programming in C I am restridted to has-a relationships, but otherwise I prefer C to C++ (I have done extensive coding in both). And yes I type those long identifiers often by hand, the extra typing cost is negligable compared to the time lost when reading your own code after some time or when your code is read by others. Objective-C however, is more supportive of such a style. Just MHO. -- Gerben Wierda, Stafmedewerker Adviesraad voor het Wetenschaps- en Technologiebeleid. Staff member Advisory Council for Science and Technology Policy Javastraat 42, 2585 AP, 's-Gravenhage, The Hague, The Netherlands Tel (+31) 70 3639922 Fax (+31) 70 3608992 http://www.AWT.nl/ "One foolish wise man can state more than a thousand wise fools can question." "Doubters need to understand believes. Believers need not understand doubt."
Newsgroups: comp.sys.next.programmer From: tomi@shinto.nbg.sub.org (Thomas Engel) Subject: Global addresses for Rhapsody Re: OpenStep on Java and Newton Message-ID: <E7KJn6.n7@shinto.nbg.sub.org> Sender: news@shinto.nbg.sub.org Organization: STEPeople's home (A NUGI member) References: <01bc309d$0f9f0610$612168cf@test1> <5gih7s$dl6@news2.cais.com> <5gmi0j$mc@xenia.informatik.uni-muenchen.de> <E7CDLC.KD@shinto.nbg.sub.org> <5gv0md$reh@news4.digex.net> Date: Mon, 24 Mar 1997 22:25:53 GMT John Kheit <jkheit@cnj.digex.net> wrote: > tomi@shinto.nbg.sub.org (Thomas Engel) wrote: > > IMHO they shouldn't try to move OpenStep to Newton but Newton > > into OpenStep. OpenStep lacks a truely global address book, > > notepad and similar things which the Newton solves quite nicely > > (NeXTSTEPs address book handling is a shame IMHO. The folks at > > NeXt can do a lot better stuff then that). > > Well, Netinfo, I guess technically part of OPENSTEP and not OpenStep, > does have a global address book. Go into your ~/Library/Addresses > directory, and select whatever *.addresses file you have there. > Then open it as a folder (note this is a flat file). When the mini > browser opens up, select any rolodex file, and open the content > inspector (Cmnd-2). You'll see that you do in fact have a system > wide mini database/address system... Ok...now lets be honest. .address is a fast hack and not really a system feature. As far as I know NeXTs French research team played with "property list archiving" a long time ago (the archiving mechanism is basically what NSArray/NSDictionary/andCompany are using under OpenStep) and since NeXT needed a way to feed the fax panel with data they took their code and included it. But .address was an "accident" and not an "OS feature". Why is Mail.app not able to read .addresses ? Why has .addresses never been documented and was never enhanced ? Why is it such a pain to generate network wide .addresses (each user could generate his info and there could be some funky way via NetInfo to distribute them...if its there...NeXT really managed to hide it perfectly) ? Why is there no framework to deal with addresses etc. pp. I could go on and on. I raved against this .addresses stuff quite ften in the last couple of years. The Newton _really_ knows about addresses...knows how to dial a number based on your current geographic location...etc. pp. Taligents "People-Things and Places" was a nice concept and it really doesn't take a lot of "brain-power" to implement something like that. IMHO addresses are such a central concept that there should be a documented, supported, systemwide concept for them right from the start. Most of the things which are "broken" or "ugly" in OPENSTEP from the user perspective could be fix so easily...but NeXT (for understnadable reasons) never payed much attention to that. But IMHO Apple really must spend money in these areas...and the Newton has some really nice concepts which would fit quite nicely into Rhapsody. AlohA Tomi
From: embuck@yin.mcleod.net (Erik M. Buck) Newsgroups: comp.sys.next.programmer Subject: Re: C++ Mystery Date: 22 Mar 1997 21:23:04 GMT Organization: Another Netscape News Server User Message-ID: <5h1ijo$hk81@news.mcleodusa.net> References: <5gvuj5$ct0@bolivia.earthlink.net> Cc: mckelvey@fafnir.com Use extern "Objective-C" and use a c++ compiler.
From: embuck@yin.mcleod.net (Erik M. Buck) Newsgroups: comp.sys.next.programmer Subject: Re: Loading bundles? Date: 22 Mar 1997 21:46:02 GMT Organization: Another Netscape News Server User Message-ID: <5h1juq$hk82@news.mcleodusa.net> References: <33313894.CC4@rrg.msk.su> Cc: tal@rrg.msk.su In <33313894.CC4@rrg.msk.su> Timur Alavidze wrote: > Hello, > > I have a class (say NSMyBaseClass) that I have made into a bundle. > I try to implement a subclass of the NSMyBaseClass and include it in > other bundle. > When I try to load these two bundles, the second one produces a load > error. > How can I have this class and its subclass exist in DIFFERENT bundles? > > Timur Alavidze > Hello Timur. The order of bundle loading is important. See the EBBundle class in the VIVID source that you have. For those of you who do not have that source, see RZBundle from your favorite archive site. In Openstep, frameworks eliminate this problem in most cases. to left or top to bottom or whatever. Look at the capabilities of the NSText sub-framework. If that does not do what you want, you will probably need to write some code.
From: s0wwchin@atlas.vcu.edu (Weiyuan W Chin) Newsgroups: comp.sys.next.programmer Subject: Re: Developing for Rhapsody Date: 22 Mar 1997 23:02:54 -0500 Organization: Virginia Commonwealth University Distribution: na Message-ID: <5h2a1e$k9k@atlas.vcu.edu> References: <5fkqpq$1nhm@atlas.vcu.edu> <19970319042300.XAA05234@ladder01.news.aol.com> wtinternet@aol.com (WTInternet) writes: >Mr. Chin, in response to the statement of silence regarding OPENSTEP >development, I would like to ask, where would good resources for learning >O-S Dev be? I am new to programming, a long time Mac and NeXT fan, and >looking to write some code for what I believe an awesome new OS. I read >that O-S Dev is much easier than on other platforms. First, I am sorry I haven't been able to respond to you in e-mail... the hazards of an overloaded schedule. Anyways... First, the assertion that O-S Dev is _much easier than on other platforms_ needs to be addressed. I believe that while the native OPENSTEP development environment does make it much easier for a well trained programmer to create complex enterprise level software with a high degree of code re-use and maintainability as well as increasing the ability for a smaller team to produce more capable software, I cannot say that OPENSTEP _categorically_ makes it much easier to develop software than other platforms. Understanding the reasons behind 3 tier object development and then translating that into clean, efficient and maintainable design and implementation from a clean sheet and often convoluted client specifications still requires a degree of expertise that is far beyond the ability to understand particular esoterics of language structure (insert nasty C++ thing here). Since you are just starting, decide what *kind* of programmer you want to be (at least a first). Do you just want to pound out some code? Are you looking to be a high priced consultant working on enterprise level mission critical applications? Do you want to work at the kernel or device driver level? This will determine the level of education required in computer science and object design. Read up on object design (ie. the Booch books) and Brad Cox's work (Object-Oriented Programming 2nd Edition which covers Objective-C - it's not OPENSTEP, but will provide a basis in object development). Be sure to get good books on algorithms (Ie. Sedgwick's Algorithms in C) and of course, a K&R C book as a reference. If you just want to pound out some code or experiment with OPENSTEP, then skipping them for now would be okay-but it may haunt you later on. As for learning OPENSTEP, there are several must haves. First, the material that NeXT offers on-line on their web site is first rate... their Object-Oriented Programming and the Objective-C Language book is terrific. So is the Developer Tutorial. Also, *definitely* go through the examples that NeXT provides. Even the older, non-OPENSTEP examples can provide enlightenment in object and application design, as long as there isn't something later that superseded. it. :-) There have also been some posts recently about books that have just come out. Older NEXTSTEP books that are good include Pinson & Weiner's Objective-C Object-Oriented Programming Techniques and one by Garfinkel (sp?). Unfortunately I've loaned mine out and can't look up the exact reference. Note that books on software patterns and OO development in general may apply - those that are too deeply centered in C++ (especially those with C++ in the title) probably are not good references. One way to learn OPENSTEP is to read as much about objects as you possibly (the dynamic kind, not C++) and then go through the Developer Tutorial to actually get your hand's dirty. Then read more or re-read about objects again, then then dissect one or more examples. Extend an example to do something else. Read more about objects to learn why things are done a certain way. Dissect a harder example. Then try your hand a building some stuff by ripping objects out of examples and other available source code and building a few new objects. Wherever you get stuck and can't seem to make heads or tails, post to comp.sys.next.programmer. <- that's why I was wondering why there were relatively few newbie posts in csnp. Accelerate this process by going to Dev Camp ($$$) _after_ some time trying to do this on your own. Finally, since you are just starting to learn how to program, a structured programming course or a tutorial on C is probably in order. You will probably need it before you get too far immersed in OPENSTEP... unfortunately (and fortunately for some) Objective-C and therefore the current OPENSTEP has much to do with C and therefore being proficient in C would help. Good luck! ..Bill Chin s0wwchin@atlas.vcu.edu
From: marcel@sysyem.de Newsgroups: comp.sys.next.programmer Subject: Re: forwarding and "super" Date: 25 Mar 1997 13:41:50 GMT Organization: Technical University Berlin, Germany Distribution: world Message-ID: <5h8kmu$42q$1@brachio.zrz.TU-Berlin.DE> References: <5h80bo$3vv@news.next.com> In article <5h80bo$3vv@news.next.com> MaRK_BeSSeY@NeXT.CoM (Mark Bessey) writes: > Michael writes > > NeXT manual "Object - Oriented Programming and Objective C Language" is > > very good. Kudos to NeXT for producing high-quality docs (why there > > aren't author's name on in, BTW ?) I have a question, though. > > > > Manual gives the following example of over-riding respondsToSelector > > method to account for forwarding: > > > > - (BOOL) respondsToSelector: (SEL)aSelector > > { > > if([super respondsToSelector:aSelector]) > > return YES; > > else { > > /* test whether message can be forwarded */ > > } > > return NO; > > } > > > > It seems to me, that this method would return NO, if > > aSelector specifies method that is not defined either in > > superclass of a current class or in object it forwards to, but > > which is defined in the current class. Manual says that > > super starts searching for the method in the class 1 level > > higher in the hierarchy. That seems to tell to me, that it won't find > > methods of the current class. > > Well, yes. This is an example of forwarding, remember? If this class is > going to forward that message, then it must not have an implementation of > the method (otherwise, forward: would never get called). This is the > definition of what forwarding is. Not quite. After all, this is 'respondsToSelector'. As most classes won't implement this method, it will probably use NSObject's version. Does this mean that only NSObject's methods are considered when resolving 'resondsToSelector:'? Well let's check the documentation: 'Returns YES if the receiver implements or inherits a method that can respond to aSelector messages, NO otherwise. The application is responsible for determining whether a NO response should be considered an error.' It says '...the receiver implements...'. So the fact that super is called is quite irrelevant, because even though the method search is started with the superclass of the class defining this method, the receiver (and thus the receiver's class) stays the same. Marcel
From: sanguish@digifix.com Newsgroups: comp.sys.next.advocacy,comp.sys.next.announce,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.bugs,comp.sys.next.programmer Subject: NEXTSTEP/OpenStep Resources on the Net Supersedes: <608858488427@digifix.com> Date: 23 Mar 1997 05:00:18 GMT Organization: Digital Fix Development Message-ID: <3027859093225@digifix.com> Topics include: Stepwise NEXTSTEP/OpenStep Information WWW site eduSTEP WWW site NeXT Computer, Inc. WWW site comp.sys.next newsgroups related newsgroups comp.sys.next newsgroups mailing list ftp sites NeXTanswers Stepwise NEXTSTEP/OpenStep Information WWW site =============================================== This online community resource includes - ISV company pages - ISV product descriptions - NEXTSTEP Developer Directory - NEXTSTEP Community WhitePages - Mailing List archives and information You can connect via the world wide web at: http://www.stepwise.com/ Suggestions or comments can be directed to me at sanguish@digifix.com If you would like to get your company and product information on Stepwise, please contact me at sanguish@digifix.com. eduSTEP WWW site ================ http://www.nmr.embl-heidelberg.de/eduStep/ eduStep aims to provide up-to-date information on: - NextStep tools and projects for scientists. - Third-party products interesting for the educational and scientific community (with educational discounts noted, where they exist). - A listing of resellers and shops interested in working with customers in the educational community. - Conferences, meetings, workshops - Major projects, such as SciTools, EMBL's project to develop a NextStep scientific work environment - Status reports on GNUStep, a freely-available implementation of OpenStep now being developed NeXT Computer, Inc. WWW site ============================ http://www.next.com comp.sys.next.* newsgroups ========================== news:comp.sys.next.advocacy This is the "why NEXTSTEP is better (or worse) than anything else in the known universe" forum. It was created specifically to divert lengthy flame wars from .misc. news:comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) This is a moderated newsgroup, meaning that you can't post to it directly. Submissions should be e-mailed to next-announce@digifix.com where the moderator (Scott Anguish) will screen them for suitability. Archives are available by ftp at ftp://ftp.stepwise.com/pub/Next_Announce_Archives Messages posted to announce should NOT be posted or crossposted to any other comp.sys.next groups. news:comp.sys.next.bugs A place to report verifiable bugs in NeXT-supplied software. Material e-mailed to Bug_NeXT@NeXT.COM is not published, so this is a place for the net community find out about problems when they're discovered. This newsgroup has a very poor signal/noise ratio--all too often bozos post stuff here that really belongs someplace else. It rarely makes sense to crosspost between this and other c.s.n.* newsgroups, but individual reports may be germane to certain non-NeXT- specific groups as well. news:comp.sys.next.hardware Discussions about NeXT-label hardware and compatible peripherals, and non-NeXT-produced hardware (e.g. Intel) that is compatible with NEXTSTEP. In most cases, questions about Intel hardware are better asked in comp.sys.ibm.pc.hardware. Questions about SCSI devices belong in comp.periphs.scsi. This isn't the place to buy or sell used NeXTs--that's what .marketplace is for. news:comp.sys.next.marketplace NeXT stuff for sale/wanted. Material posted here must not be crossposted to any other c.s.n.* newsgroup, but may be crossposted to misc.forsale.computers.workstation or appropriate regional newsgroups. news:comp.sys.next.misc For stuff that doesn't fit anywhere else. Anything you post here by definition doesn't belong anywhere else in c.s.n.*--i.e. no crossposting!!! news:comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. Generic UNIX questions belong elsewhere (comp.unix.questions), although specific questions about NeXT's implementation or porting issues are appropriate here. Note that there are several other more "horizontal" newsgroups (comp.lang.objective-c, comp.lang.postscript, comp.os.mach, comp.protocols.tcp-ip, etc.) that may also be of interest. news:comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. news:comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. Related Newsgroups ================== news:comp.soft-sys.nextstep Like comp.sys.next.software and comp.sys.next.misc combined. Exists because NeXT is a software-only company now, and comp.soft-sys is for discussion of software systems with scope similar to NEXTSTEP. news:comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. news:comp.object Technical talk about OOP in general. Lots of C++ discussion, but NeXT and Objective-C get quite a bit of attention. At times gets almost philosophical about objects, but then again OOP allows one to be a programmer/philosopher. (The original comp.sys.next no longer exists--do not attempt to post to it.) Exception to the crossposting restrictions: announcements of usenet RFDs or CFVs, when made by the news.announce.newgroups moderator, may be simultaneously crossposted to all c.s.n.* newsgroups. Getting the Newsgroups without getting News =========================================== Thanks to Michael Ross at antigone.com, the main NEXTSTEP groups are now available as a mailing list digest as well. next-nextstep next-advocacy next-announce next-bugs next-hardware next-marketplace next-misc next-programmer next-software next-sysadmin object lang-objective-c (For a full description, send mail to listserv@antigone.com). The subscription syntax is essentially the same as Majordomo's. To subscribe, send a message to *-request@lists.best.com saying: subscribe where * is the name of the list e.g. next-programmer-request@lists.best.com The ftp sites ============= ftp://ftp.next.peak.org - The main site for North American submissions formerly ftp.cs.orst.edu ftp://ftp.informatik.uni-muenchen.de: - (Peanuts) Located in Germany. ftp://ftp.dn.net/pub/next - Peanuts mirror in the US ftp://terra.stack.urc.tue.nl - (Dutch NEXTSTEP User Group) ftp://cube.sm.dsi.unimi.it - (Italian NEXTSTEP User Group) ftp://ftp.nmr.embl-heidelberg.de/pub/next - eduStep ftp://ftp.next.com: - See below ftp.next.com and NextAnswers@next.com ===================================== [from the document ftp://ftp.next.com/pub/NeXTanswers/1000_Help] Welcome to the NeXTanswers information retrieval system! This system allows you to request online technical documents, drivers, and other software, which are then sent to you automatically. You can request documents by fax or Internet electronic mail, read them on the world-wide web, transfer them by anonymous ftp, or download them from the BBS. NeXTanswers is an automated retrieval system. Requests sent to it are answered electronically, and are not read or handled by a human being. NeXTanswers does not answer your questions or forward your requests. USING NEXTANSWERS BY E-MAIL To use NeXTanswers by Internet e-mail, send requests to nextanswers@next.com. Files are sent as NeXTmail attachments by default; you can request they be sent as ASCII text files instead. To request a file, include that file's ID number in the Subject line or the body of the message. You can request several files in a single message. You can also include commands in the Subject line or the body of the message. These commands affect the way that files you request are sent: ASCII causes the requested files to be sent as ASCII text SPLIT splits large files into 95KB chunks, using the MIME Message/Partial specification REPLY-TO address sets the e-mail address NeXTanswers uses These commands return information about the NeXTanswers system: HELP returns this help file INDEX returns the list of all available files INDEX BY DATE returns the list of files, sorted newest to oldest SEARCH keywords lists all files that contain all the keywords you list (ignoring capitalization) For example, a message with the following Subject line requests three files: Subject: 2101 2234 1109 A message with this body requests the same three files be sent as ASCII text files: 2101 2234 1109 ascii This message requests two lists of files, one for each search: Subject: SEARCH Dell SCSI SEARCH NetInfo domain NeXTanswers will reply to the address in your From: line. To use a different address either set your Reply-To: line, or use the NeXTanswers command REPLY-TO If you have any problem with the system or suggestions for improvement, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY FAX To use NeXTanswers by fax, call (415) 780-3990 from a touch-tone phone and follow the instructions. You'll be asked for your fax number, a number to identify your fax (like your phone extension or office number), and the ID numbers of the files you want. You can also request a list of available files. When you finish entering the file numbers, end the call and the files will be faxed to you. If you have problems using this fax system, please call Technical Support at 1-800-848-6398. You cannot use the fax system outside the U.S & Canada. USING NEXTANSWERS VIA THE WORLD-WIDE WEB To use NeXTanswers via the Internet World-Wide Web connect to NeXT's web server at URL http://www.next.com. USING NEXTANSWERS BY ANONYMOUS FTP To use NeXTanswers by Internet anonymous FTP, connect to FTP.NEXT.COM and read the help file pub/NeXTanswers/README. If you have problems using this, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY MODEM To use NeXTanswers via modem call the NeXTanswers BBS at (415) 780-2965. Log in as the user "guest", and enter the Files section. From there you can download NeXTanswers documents. FOR MORE HELP... If you need technical support for NEXTSTEP beyond the information available from NeXTanswers, call the Support Hotline at 1-800-955-NeXT (outside the U.S. call +1-415-424-8500) to speak to a NEXTSTEP Technical Support Technician. If your site has a NeXT support contract, your site's support contact must make this call to the hotline. Otherwise, hotline support is on a pay-per-call basis. Thanks for using NeXTanswers! _________________________________________________________________ Written by: Eric P. Scott ( eps@toaster.SFSU.EDU ) and Scott Anguish ( sanguish@digifix.com ) Additions from: Greg Anderson ( Greg_Anderson@afs.com ) Michael Pizolato ( alf@epix.net ) Dan Grillo ( dan_grillo@next.com )
From: mateev@ifor.math.ethz.ch Newsgroups: comp.sys.next.programmer,comp.sys.next.software Subject: Help: NextStep -> Openstep Date: 25 Mar 1997 14:31:51 GMT Organization: Swiss Federal Institute of Technology (ETHZ) Message-ID: <5h8nkn$o1o$2@elna.ethz.ch> Hi, We just got Openstep for WindowsNT in our institute and I'd like to convert some Next code into Openstep. So far I know there exist tool for that, but I cannot find them. Can anybody help me ? Thanks, Bojidar
From: shess@one.net (Scott Hess) Newsgroups: comp.sys.next.programmer,comp.lang.objective-c Subject: Re: forwarding and "super" Date: 25 Mar 97 09:24:10 Organization: Is a sign of weakness Message-ID: <SHESS.97Mar25092410@howard.one.net> References: <5h7g8p$6ic@chaos.dac.neu.edu> In-reply-to: michael@lanczos.cer.neu.edu's message of 25 Mar 1997 03:19:53 GMT In article <5h7g8p$6ic@chaos.dac.neu.edu>, michael@lanczos.cer.neu.edu (Michael) writes: NeXT manual "Object - Oriented Programming and Objective C Language" is very good. Kudos to NeXT for producing high-quality docs (why there aren't author's name on in, BTW ?) I have a question, though. Manual gives the following example of over-riding respondsToSelector method to account for forwarding: - (BOOL) respondsToSelector: (SEL)aSelector { if([super respondsToSelector:aSelector]) return YES; else { /* test whether message can be forwarded */ } return NO; } It seems to me, that this method would return NO, if aSelector specifies method that is not defined either in superclass of a current class or in object it forwards to, but which is defined in the current class. Manual says that super starts searching for the method in the class 1 level higher in the hierarchy. That seems to tell to me, that it won't find methods of the current class. Close. "super" is a special case that most people never question, and many who do get confused ... In general, messages to super start searching in the parent class for the method you are calling - _but_, the receiver will still be self. It just modifies where the method search starts. Take the following three lines: [super doSomething]; [super performSelector:@selector( doSomething)]; [self doSomething]; The middle line is actually the same as the third line (assuming that the current class doesn't override -performSelector: to do something weirder than normal). It's calling the first -performSelector: method found by searching from the superclass towards Object. But -performSelector: is then doing a search for -doSomething implementation based on _self_, which is the same as self in the caller. So you end up with [self doSomething]. Translated to the code fragment you list, it means that you're calling a superclass -respondsToSelector:, which is then going to base it's search for aSelector on self, which is the same as self in the caller. Hmm, I can even put it another way. NeXT's Objective-C dispatches messages using objc_msgSend( self, _cmd, ...). objc_msgSend() looks at information in self->isa to find the implementation for _cmd, and executes it with all of the provided parameters (methods have "hidden" parameters of self and _cmd). Calls to super use objc_msgSendSuper( super, _cmd, ...), where super is a special structure which contains a receiver (self) and a class defining where to start the search. You potentially _could_ implement objc_msgSend() somewhat as follows: objc_msgSend( self, _cmd, ...) { struct objc_super super={ self, self->isa}; return objc_msgSendSuper( super, _cmd, ...); } Note that it defines the "where to start searching" in terms of self. objc_msgSend() is somewhat of a special case of objc_msgSendSuper(). Later, -- scott hess <shess@one.net> (606) 578-0412 http://w3.one.net/~shess/ <Favorite unused computer book title: The Idiots Guide to the Zen of Dummies in a Nutshell in Seven Days, Unleashed>
From: Timothy Luoma <luomat@peak.org> Newsgroups: comp.sys.next.programmer Subject: Finding leaky memory... Date: Sat, 22 Mar 1997 20:54:26 -0800 Organization: The PEAK FTP site for OpenStep & NeXTStep Message-ID: <Pine.SUN.3.96.970322204843.18642A-100000@kira> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII I think one of the apps I'm running may have a memory leak. I say that because my swapfile will continue to grow even when nothing is happening or has happened for quite some time. What are some telltale signs of leaky apps, or how can I run apps under some program that will report memory leaks? This is probably a very basic question, perhaps even an FAQ... is there a programmer's FAQ? (Usenet feed expires quickly...) Thanks TjL -- TjL <luomat@peak.org> New Submissions Coordinator for PEAK META-URL: http://www.peak.org/~luomat/next/ NOTE: If you are having problems uploading to PEAK, tell me Computer humor: http://www.peak.org/~luomat/next/humor
From: paul@pth.com (Paul Haddad) Newsgroups: comp.sys.next.programmer Subject: Project Builder/Framework Problems Date: 25 Mar 1997 15:07:03 GMT Organization: Internet MCI Message-ID: <5h8pmn$o65$2@news.internetmci.com> Hi, I've trying to create an Aggregate project under OPENSTEP/NT 4.0. I have three subprojects Framework, Tool and Application. Now the Framework is used in both the Tool and the Application, so I need to have it compiled first. Unfortunately I see no way of getting the Framework to compile before the Application. Any ideas on how to do this? I took out the Application just to see if the rest of the project would compile and the Framework compiles fine, but my Tool subproj doesn't find any of the headers in the Framework, even though I've set them to be public. Is this a bug in 4.0 or am I doing something incorrectly? -- Paul Haddad
From: Laurent.Champciaux@emn.fr Newsgroups: comp.sys.next.programmer Subject: N3DCamera question Date: 25 Mar 1997 14:40:15 GMT Organization: Ecole des Mines de Nantes Distribution: world Message-ID: <5h8o4f$fkn@wfn.emn.fr> Hi, Is it possible to get a copy of the image that is displayed by an N3DCamera. I mean I want to do something like -copyPSCodeInside:to: So, I want the image of the interactive renderer, I don t want to have to render it with renderAsTIFF or renderAsEPS. My only way to have a TIFF image of the camera is to grab it with Grab.app. I have tried using N3DRIBImageRep and NXImage with no successes... Any clue ? Laurent. -- ======================================================= Laurent Champciaux Departement Informatique - Ecole des Mines de Nantes 4, rue A.Kastler - BP 20722 - 44307 Nantes Cedex 03 Tel: 33 2 51 85 82 18 (B220) email: Laurent.Champciaux@emn.fr Fax : 33 2 51 85 82 49
Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer From: petrich@netcom.com (Loren Petrich) Subject: Re: Objective C? Message-ID: <petrichE7HrpC.K0E@netcom.com> Organization: Netcom References: <330E54AC.167E@innosys.com> <5ghjc4$d92@lal.interserv.com> <petrichE7Fq55.Eo6@netcom.com> <knB2rwa00iV9Q1sDM4@andrew.cmu.edu> Date: Sun, 23 Mar 1997 10:27:12 GMT Sender: petrich@netcom4.netcom.com In article <knB2rwa00iV9Q1sDM4@andrew.cmu.edu>, Charles William Swiger <cs4w+@andrew.cmu.edu> wrote: ... Obj-C message dispatch therefore >involves a hashtable lookup of the function implementation for a given >selector; it does not involve C strings. That raises certain questions of uniqueness, since several different text strings can map onto the same hash value. -- Loren Petrich Happiness is a fast Macintosh petrich@netcom.com And a fast train My home page: http://www.webcom.com/petrich/home.html Mirrored at: ftp://ftp.netcom.com/pub/pe/petrich/home.html
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer,comp.sys.next.advocacy Subject: Re: Objective C? Date: Tue, 25 Mar 1997 12:46:39 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <EnC0xz600iWZE3EdEo@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <5ghjc4$d92@lal.interserv.com> <petrichE7Fq55.Eo6@netcom.com> <knB2rwa00iV9Q1sDM4@andrew.cmu.edu> <petrichE7HrpC.K0E@netcom.com> <5h4l9o$3m3$1@nntp2.ba.best.com> <qdzpvspxe8.fsf@blues.cygnus.com> In-Reply-To: <qdzpvspxe8.fsf@blues.cygnus.com> Excerpts from netnews.comp.sys.next.advocacy: 24-Mar-97 Re: Objective C? by Stephen Peters@cygnus.co >> All Objective C methods with the same name share the same method >> selector, so this isn't a problem. > > Um, the problem Loren is raising is one in which two different > methods, with two different names, could share the hash. In other > words, when performing the lookup, there could be a collision in which > it's looking for one method, but because another method has the same > hash, it gets a completely different one. > > Is this a problem in theory? Yes -- even if the hash algorithm is > perfect, there are only 65,536 possible method names (I'm using the > GNU ObjC runtime as a reference, which uses integers as the hash > codes). Get an object with enough methods, and you can guarantee a > collision. :-) SEL's are 4-byte values, which are really just a pointer to a string which is the name of the method-- ie, SEL's are guaranteed to be unique. When I was talking about hash lookups, I was talking about looking up the method implementation for a given class associated with a particular selector, not about looking up a selector for a method name. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy Subject: Re: Objective C? Date: Tue, 25 Mar 1997 13:06:51 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <YnC1Eve00iWZ83EeF1@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <332FE836.1567@ <jesjones-ya023580002403971631230001@news.halcyon.com> In-Reply-To: <jesjones-ya023580002403971631230001@news.halcyon.com> Excerpts from netnews.comp.sys.next.advocacy: 24-Mar-97 Re: Objective C? by Jesse Jones@halcyon.com >> Every object has an interface, if you can't be bothered to adhere to the >> "convention" of using that object's interface... well, that would >> certainly qualify you as a hazard. Seriously, in ObjC, creating an >> object is not fundamentally different from using one. This is nice if >> you want to make use of the dynamic features of ObjC. You could, for >> instance, create a new class from something given to you externally >> without ever knowing what type it was. > > But some interfaces are better than others. I'm sure you'd agree that a > class that required you to follow a rigid five step process to initialize > an object to a valid state would be a poorly designed class. Objective-C > has the same problem (although not to the same degree). No, it doesn't. [object new] is usually a synonym for [[object alloc] init]. And [object init] is usually a synonym for some more complex initialization, lets call it [[object alloc] initWith: arg1] where you simply provide a default value for arg1 (which was unspecified). [ ... ] > In Objective-C it is not because anyone can forget to call the init method. This error happens to beginners learning the language. Anyone who isn't a complete novice doesn't have a problem with it-- either you get into the habit of doing alloc followed by init, or else you use new instead. [ ... ] >> This appears to be turning into an argument of how to define "fragile". >> Strong type checking != better design.. If you want to make such an >> argument, you should define what 'better design' means to you. Maybe >> you haven't used a dynamic language before, but strong type checking and >> 'better design' can be very contradictory ideas at times. OTOH, if your >> definition of 'better design' includes Strong type checking, then, I'd >> have to agree, C++ is better for you. > > There is no question in my mind that strong type checking is a good thing > (and apparently the NeXT engineers agree with me since I hear they have > moved away from the indiscriminate use of the id type). I don't believe NeXT's engineers indiscriminantly overused the generic id type, although many of NeXT's classes like List, Hashtable, NSArray, etc are intended to work with generic classes and hence must use id. I believe this situation is exactly equivalent to the usage of the (void *) type. > I view dynamic language features as I do multiple inheritance in C++: a > useful tool that is easy to abuse. That's a perfectly reasonable way to view them, although a dynamic language is more than that-- it can prevent the fragile base class problem from ever happening, for instance. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: Stephen Peters <speters@cygnus.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer Subject: Re: Objective C? Date: 25 Mar 1997 10:58:31 -0800 Organization: Cygnus Solutions Message-ID: <qdvi6fpzmw.fsf@blues.cygnus.com> References: <330E54AC.167E@innosys.com> <5ghjc4$d92@lal.interserv.com> <petrichE7Fq55.Eo6@netcom.com> <knB2rwa00iV9Q1sDM4@andrew.cmu.edu> <petrichE7HrpC.K0E@netcom.com> <5h4l9o$3m3$1@nntp2.ba.best.com> <qdzpvspxe8.fsf@blues.cygnus.com> <5h7e0n$l0p$1@darla.visi.com> David Young <dwy@ace.net> writes: > In comp.sys.next.advocacy Stephen Peters <speters@cygnus.com> wrote: > : Is this a problem in theory? Yes -- even if the hash algorithm is > : perfect, there are only 65,536 possible method names (I'm using the > : GNU ObjC runtime as a reference, which uses integers as the hash > : codes). Get an object with enough methods, and you can guarantee a > : collision. :-) > > 32 bit ints. 4294967296 methods. That's one bad ass class. Oops. Apparently, my brain dropped half the integer. (For my next trick, I will start using 4-bit characters. The hard part is avoiding punctuation, capitals, and any letter above `p'.) In any event, the idea behind what I'm saying is still true. It is just that, as David rightly points out, you can only guarantee the collision with a seriously bad-ass class. -- Stephen L. Peters speters@cygnus.com PGP fingerprint: BFA4 D0CF 8925 08AE 0CA5 CCDD 343D 6AC6 "What, do you think soup is a biped?" -- Crow, MST3K
From: giammarc@cs.unibo.it (Mario Giammarco) Newsgroups: comp.sys.next.programmer Subject: ET6000 driver Date: 25 Mar 1997 19:05:03 GMT Organization: Cineca Message-ID: <5h97kv$3h6@sirio.cineca.it> I have an ET6000. Because Next does not provide a ET6000 driver I would like to do it my own. The ET6000 has a BIOS VESA 2.0 compliant; so it can enable high resolutions and linear mode. I have seen that the s3 Virge driver uses the virge bios to change resolutions, but I do not know how use the bios in a display driver for nextstep. Can I see the source of VIRGE display driver? If not, somebody knows how to access BIOS? Is anybody making a display driver so I can cooperate with him? HELP! Please reply me to giammarc@cs.unibo.it because I cannot read frequently news. Thank You in advance for your replies! -- Mario Giammarco | Tel/FAX +39-545-22965 Via Calamandrei,5 | giammarc@cs.unibo.it 48022 Lugo (RA) -- ITALY | rac0043@racine.ravenna.it
From: jcr@idiom.com (John C. Randolph) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer Subject: Re: Objective C? Date: 25 Mar 1997 13:54:41 -0800 Organization: A poorly-installed InterNetNews site Message-ID: <jcr.859326143@idiom.com> References: <330E54AC.167E@innosys.com> <5ghjc4$d92@lal.interserv.com> <petrichE7Fq55.Eo6@netcom.com> <knB2rwa00iV9Q1sDM4@andrew.cmu.edu> <petrichE7HrpC.K0E@netcom.com> <5h4l9o$3m3$1@nntp2.ba.best.com> <qdzpvspxe8.fsf@blues.cygnus.com> Stephen Peters <speters@cygnus.com> writes: >kcd@babylon5.jumpgate.com (Kenneth C. Dyke) writes: >> On 03/22/97, Loren Petrich wrote: >> >That raises certain questions of uniqueness, since several >> >different text strings can map onto the same hash value. >> >> All Objective C methods with the same name share the same method >> selector, so this isn't a problem. >Um, the problem Loren is raising is one in which two different >methods, with two different names, could share the hash. In other >words, when performing the lookup, there could be a collision in which >it's looking for one method, but because another method has the same >hash, it gets a completely different one. First thing: I' not at all sure that the hash value is only 16 bits. I believe, (but I haven't checked) that the hash value in a SEL struct is 32 bits. This makes the chances of a hash collision much lower, and even if you do have methods whose names hash to the same bucket, whenever I've implemented a hash lookup, there is eventually a string comparison. >Is this a problem in theory? Yes -- even if the hash algorithm is >perfect, there are only 65,536 possible method names (I'm using the >GNU ObjC runtime as a reference, which uses integers as the hash >codes). Get an object with enough methods, and you can guarantee a >collision. :-) Secondly, there is a seperate method table for *each* class. You'd have to have 65K methods in one class (not in the whole app!) for this scenario to occur. If you're writing an class with that many mehtods, you really need to re-think your design. BTW, the Application Framework in 4.1 has 3,070 methods. Quite a bit less than 64K. -jcr
From: embuck@palmer.cca.rockwell.com (Erik M. Buck) Newsgroups: comp.sys.next.programmer,comp.lang.objective-c Subject: Re: forwarding and "super" Date: 25 Mar 1997 23:25:50 GMT Organization: Rockwell Collins Message-ID: <5h9mtu$5qo1@castor.cca.rockwell.com> References: <5h7g8p$6ic@chaos.dac.neu.edu> Cc: michael@lanczos.cer.neu.edu In <5h7g8p$6ic@chaos.dac.neu.edu> Michael wrote: > > It seems to me, that this method would return NO, if > aSelector specifies method that is not defined either in > superclass of a current class or in object it forwards to, but > which is defined in the current class. Manual says that > super starts searching for the method in the class 1 level > higher in the hierarchy. That seems to tell to me, that it won't find > methods of the current class. > It starts searching for the implementation of respondsToSelector: in the superclass. The implementation of respondsToSelector: will still have the same self from which to look for other methods.
Newsgroups: comp.sys.next.programmer From: brianw@sounds.wa.com (Brian Willoughby) Subject: OPENSTEP 4.0 PR1 CD-ROM Message-ID: <E7MCEJ.CIs@sounds.wa.com> Organization: Sound Consulting, Bellevue, WA, USA Date: Tue, 25 Mar 1997 21:44:39 GMT I missed the 4.0 release, jumping directly from 3.3 to 4.1 Do any of you out there still have a copy of the OPENSTEP 4.0 PRE-RELEASE CD-ROM for Mach (Motorola) that you could loan to me for a short period? My company, Sound Consulting, is doing some research into User Interface options, and we would like to take a look at this. As an active member of NeXT's Enterprise Alliance Partners program, we have signed a non-disclosure agreement with NeXT, and are therefore able to use this software without breaking any agreements. Please respond to Sound_Consulting@Sounds.wa.com, and I thank you in advance! -- Brian Willoughby NEXTSTEP and OpenStep Software Design Engineer Sound Consulting Bellevue, WA BrianW@SoundS.WA.com NeXTmail welcome
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer Subject: Re: Objective C? Date: Sun, 23 Mar 1997 13:15:22 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <4nBLAuu00iWXE1Z91D@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <5ghjc4$d92@lal.interserv.com> <petrichE7Fq55.Eo6@netcom.com> <knB2rwa00iV9Q1sDM4@andrew.cmu.edu> <petrichE7HrpC.K0E@netcom.com> In-Reply-To: <petrichE7HrpC.K0E@netcom.com> Excerpts from netnews.comp.sys.next.advocacy: 23-Mar-97 Re: Objective C? by Loren Petrich@netcom.com >> ... Obj-C message dispatch therefore >> involves a hashtable lookup of the function implementation for a given >> selector; it does not involve C strings. > > That raises certain questions of uniqueness, since several > different text strings can map onto the same hash value. The hash table being refered to is for mapping selectors into methods, not for mapping method names (char *'s) into selectors. The latter mapping is done by keeping each selector string around in memory for the life of the process, and the SEL is just a pointer to that string. Therefore each selector is unique. Within the method implementation table, they presumably use a resizable hash table with chaining with a size constrainted to be a power of two (2 ^ n), and they use a hash function which masks off all but the n low bits to determine which chain bucket the SEL refers to. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: apuleius@ix.netcom.com (William Grosso) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Tue, 18 Mar 1997 03:47:57 GMT Organization: Netcom Message-ID: <332e0c62.8006793@nntp.ix.netcom.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5gjotg$h8j$1@news.internetmci.com> <yos On Mon, 17 Mar 1997 10:26:45 -1000, yospe@hawaii.edu (Nathan F. Yospe) wrote: > >Well, no, but... out of curiosity, how would one implement a lazy copy in >Objective C? In my experience, 50% of the time when you do a deep copy, it >is never utilized as such until the original goes out of scope, and there >are often deep copy elements never modified. > So, if I understand this right, "lazy copy" is being used to denote the following: duplicate the pointer to the object *until* either the object, or the "copy" is modified in some way. At which time, do a deep copy. Is this right ? If so, there seem to be any number of ways to do this. For example (off the top of my head and probably overcomplex), let A be the class we want to make lazy copies of. We add additional functionality to A to implement the observer pattern and then define a class LazyProxy which does four things (note-- retain stuff is a NEXTSTEPism): (0) Retains InstanceOfA. (1) Forwards all "get" messages to A (2) Listens for notifications from A (for when A is changed) (3) When it gets a set message, it sees if it is the only proxy to A. If so, it does a [self autorelease]; self=instanceOfA; //slight problem here with retain counts that // needs to be handled (but no big deal). [self setMessage:]; otherwise, it creates a deep copy of InstanceOfA and does [self autorelease]; self=[instanceOfA deepCopy]; //slight problem here with retain counts that // needs to be handled (but no big deal). [self setMessage:]; Now, we add the method -(A *) lazyCopy to A and have it return a freshly allocated copy of LazyProxy. If we wanted to be fancier, there is a slight problem here-- calling lazyCopy on an instance of LazyProxy doesn't quite do what we'd expect (we get a proxy to the wrong object and, eventually, things can become out of sync faster than we'd want). But this is easy enough to fix. We just need LazyProxy's implementation of - lazyCopy has to be a little smarter (and not just a direct forwarding). One nice aspect of this is that LazyProxy really doesn't know anything about A (it simply forwards messages). Which means that we have one class for all our lazy copying needs (though we do need to implement the observer pattern for A-- we don't quite get off scot free). Cheers, Andy
From: Valient Gough <val@nilenet.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sun, 23 Mar 1997 13:45:49 -0700 Organization: NileNet, Ltd -- 303.825.1950 Message-ID: <3335967D.32A4AC5C@nilenet.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <332FE836.1567@claris.com> <5gs5cg$ja21@castor.cca.rockwell.com> <jesjones-ya023580002103972157070001@news.halcyon.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I haven't seen any complaints yet, so I'm leaving the newsgroups list as-is. Jesse Jones wrote: > Constructors have nothing to do with memory allocation. If you want to > control how objects are allocated you can override (and, if need be, > overload) the global operator new. Constructors were added to the language > so that objects could be automatically initialized to a good state before > they're used. OTOH Objective-C seems to handle this through the convention > of calling init() immediately after creating a new object. Maintaining an > object's invariant is such an important part of OOP that it seems silly to > rely on the hazards of programming by convention. In C++ you'd override a global function (new), in ObjC you'd override +alloc. In C++ you have one or more constructors (aka initializers) denoted by the same name as the class, in ObjC, those initializers are often called -init*. Every object has an interface, if you can't be bothered to adhere to the "convention" of using that object's interface... well, that would certainly qualify you as a hazard. Seriously, in ObjC, creating an object is not fundamentally different from using one. This is nice if you want to make use of the dynamic features of ObjC. You could, for instance, create a new class from something given to you externally without ever knowing what type it was. [fragile base class stuff] > As others have pointed out this is not the fragile base class problem. > However it is a nice illustration of the different philosophies between C++ > and Objective-C. My guess is that you're complaining about the fact that > you cannot assign a Node* to a TwoWayNode* in C++ and that you would handle > this in Objective-C by using the id type. What this says to me is that you > can quickly slap together some code in Objective-C by sacrificing type > checking. OTOH C++ almost forces you to spend more time on design time up > front. This will take longer but I'd argue that you'll usually come up with > a better design and the strong type checking will make any piece of code > using your class more reliable. This appears to be turning into an argument of how to define "fragile". Strong type checking != better design.. If you want to make such an argument, you should define what 'better design' means to you. Maybe you haven't used a dynamic language before, but strong type checking and 'better design' can be very contradictory ideas at times. OTOH, if your definition of 'better design' includes Strong type checking, then, I'd have to agree, C++ is better for you. It is usually fairly easy to convert a C++ program to ObjC. ObjC doesn't force you to use run-time checking. You don't *have* to use the type 'id'. You can do everything using a class-type, or a Protocol (similar to a virtual base class), always have strong-type checking. OTOH, it can be *very* difficult to convert an ObjC program to C++, because ObjC's dynamic features are not easily implemented in C++. For example, take a stupid, simple ObjC method: -somemethod: obj1 with: obj2 { id value = [obj1 getValue]; [obj2 setValue: value]; return self; } Now, this example is simple enough.. But what if it was a networked app, those obj1 and obj2 id's could actually be just a generic network pipe to a class instance on another processor, another machine, another operating system type, etc. There is one place where having dynamic features is very convienent (and I might add, is a very good design). A message forwarder simply grabs all messages it doesn't understand, encodes the message along with the arguments and sends them over to the other end, which decodes and passes the message to the object it's impersonating. This code could have been written long before networking was even considered, but it won't need to be changed to make use of it. It's been used for years on NeXT systems, you can pass generic C types, or id's (which may cause the forwarder to create a new forwarding pipe for that id). Look in ObjC documentation or the gnu objc base classes for more info / examples... That forwarder only had to be written once to handle any class.. You don't have to know how it works, you just have to use it's interface. You're apps don't have to know that the object they are talking to is really on another system. To me, that is a good design - reusable code, clean interface... There are, of course, many other places where ObjC -> C++ translation is clumsy, but that's all the time I have for today. :) regards, Val
From: don@globalobjects.com (Don Yacktman) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 23 Mar 1997 20:54:36 GMT Organization: Global Objects Inc. Message-ID: <5h45ac$fn9$2@news.xmission.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <332FE836.1567@ <markeaton_-2003972359160001@ip86.santa-clara6.ca.pub-ip.psi.net> <E7Exo7.nB@shinto.nbg.sub.org> tomi@shinto.nbg.sub.org (Thomas Engel) wrote: > P.S. Try building a system with C++ which you want to update....but > which you are not allowed to stop for a restart (running 24hours a > day.. 365days a year). This is where the fun begins...and this is > where Lisp and Smalltalk still will have some things to offer that > even ObjC or Java can't solve really well. Well, if NeXT ever finishes the link+go or whatever is was that they were calling it (which was supposed to be in 3.3 and then got pushed to 4.0 and then got pushed to ???) you'd have the ability to swap newly compiled code in and out while the app was running. You can already do this with the Asymetrix Supercede Java IDE, by the way. Of course, in both situations, you are doing it via the development environment; in NeXT's case I think there were actually APIs so that you'd be able to do this in other situations--the dynamic linker's header files hint at this...and you really want that API. Smalltalk and Lisp will probably always be easier to modify in this way, however. -- Later, -Don Yacktman don@misckit.com <a href="http://www.misckit.com/don.html">My home page</a>
From: jpalmer@be.com (Joseph Palmer) Newsgroups: comp.sys.amiga.programmer,comp.sys.apple2.programmer,comp.sys.be.programmer,comp.sys.mac.programmer.tools,comp.sys.next.programmer,comp.unix.programmer Subject: Re: Hex Calculator Date: Tue, 25 Mar 1997 19:34:23 -0800 Organization: Be, Incorporated Message-ID: <jpalmer-2503971934230001@jpalmer.vip.best.com> References: <jake-1903970058480001@bubble.schap.rhno.columbia.edu> <halldj-1903971745130001@pm1-29.lis.ab.ca> <33333A3A.AF9@perkin-elmer.com> <5h0npr$sgb@boursy.news.erols.com> In article <5h0npr$sgb@boursy.news.erols.com>, Robert Lutwak <robert@amo.mit.edu> wrote: > In <33333A3A.AF9@perkin-elmer.com> Stephen Keegan wrote: > > > > > In article <jake-1903970058480001@bubble.schap.rhno.columbia.edu>, > > > jake@timewarp.net (Jake Luck) wrote: > > > > > > > I am in search for a hex-dec-oct-bin conversion ONLY > > > > calculator(hardware).> HP-16C, don't know if they still make them. > > > > My HP28C (also the 28S) does a pretty good job of conversions, as well as > providing all of the standard arithmetic and bitwise operations (AND, XOR, > etc.) in at least 4 bases (decimal, octal, hex, and binary). > The 20S will also do conversions. I have yet to find a calculator with a binary point though, it would have been really useful when I was designing a floating point unit some years ago. J. ______________________________________________________________ Joseph Palmer | Never join a titanic battle unless CEO | you get to be the iceberg. -- J. VideoS2 | Personal web site: http://www.videos2.com | http://www.best.com/~jpalmer
From: zander@conextions.com (Aleksey Sudakov) Newsgroups: comp.sys.next.programmer Subject: Re: Finding leaky memory... Date: 23 Mar 1997 21:37:07 GMT Organization: The Internet Access Company, Inc. Message-ID: <5h47q3$l3b@news-central.tiac.net> References: <Pine.SUN.3.96.970322204843.18642A-100000@kira> In-Reply-To: <Pine.SUN.3.96.970322204843.18642A-100000@kira> >What are some telltale signs of leaky apps, or how can I run apps under >some program that will report memory leaks? Under Mach I use leaks (I'm not sure where I get it). Under NT there's ObjectAlloc.app (or something like this) Hope this will help. Aleksey
From: mkagalen@lynx.dac.neu.edu (Michael Kagalenko) Newsgroups: soc.penpals,alt.msdos.programmer,comp.sys.next.programmer,comp.unix.questions,atl.resumes Subject: Re: Learning to Program to get hired? Date: 25 Mar 1997 23:32:10 -0500 Organization: Northeastern University, Boston, MA. 02115, USA Message-ID: <5ha8sa$r0f@lynx.dac.neu.edu> References: <332DA1F1.41A4@hom.net> <5h7eed$ntq$1@news.platinum.com> <5h7fjt$52j@chaos.dac.neu.edu> <5h763i$3k5@sps1.phys.vt.edu> Content-Type: text/html Nathan Urban (nurban@vt.edu) wrote in article <5h763i$3k5@sps1.phys.vt.edu> <pre><blink> ]In article <5h7fjt$52j@chaos.dac.neu.edu>, michael@lanczos.cer.neu.edu (Michael) wrote: ] ]> How the speed of those compares with OPENSTEP for Mach Intel on, say, ]> Pentium/75mHz with 16MB memory ? ] ]If you try to run OPENSTEP for Mach in only 16 MB of RAM, you're in for ]a world of hurt. Well, it's actually not too bad, although may be a bit slow with few large apps, like OmniWeb ] Get 24 MB _at least_ (though I wouldn't want to run ]it in 24), preferably 32 MB or more. It runs decently in 32, I've got ]64 and it's fine. (Well, if OmniWeb weren't leaking all over the ]place..) What those guys were thinking when they implemented ftp client in OmniWeb ? It always opens downloaded binaries in text editor (and I couldn't figure out the way to disable this behaviour) Mighty braindamaged way to do things. -- ABILITY,n. The natural equipment to accomplish some small part of the meaner ambitions distinguishing able men from dead ones. -- Ambrose Bierce, "The Devil's Dictionary"
From: ehutch@hypnos.norden1.com (E. Hutchinson) Newsgroups: comp.sys.next.marketplace,comp.sys.next.programmer Subject: NEXT/Career Position/ILL Date: 13 Mar 1997 19:42:20 GMT Organization: Norden 1 Communications Message-ID: <5g9las$m4i@tofu.alt.net> Programmer/analyst/developer NEXTSTEP--------------------Commercial experience Objective C-----------------Commercial experience EOF-------------------------A Plus Opport8unity----------------Excellent Must Be---------------------US Citizen or Greencard To Be Considered------------Fax resume or mail a hard copy. -- ehutch@norden1.com (419) 893-6367 [fax] Omni Search (419) 893-6334 [voice] 1310 Craig Maumee, Ohio 43537
From: embuck@palmer.cca.rockwell.com (Erik M. Buck) Newsgroups: comp.sys.next.programmer Subject: How to create MPEG movies? Date: 23 Mar 1997 22:09:44 GMT Organization: Rockwell Collins Message-ID: <5h49n8$1le2@castor.cca.rockwell.com> I have done a lot of searching on the net. I have not found a reasonably low tech way of making mpeg or quicktime movies. I have a lot of original art work. I want to create movies with simple transitions from frame to frame. How can I do this ? I will use any reasonable combination of computer systems to succeed. I have evaluated Adobe Premeir and I think it is useless. I looked into Macromedia explorer until I was told you have to use their player to play the movies back. I want to be able to distribute movies as widely as possible (hence mpeg). I am desperate and I have a large budget. Can someone help ?
From: biesingert@asme.org Newsgroups: comp.sys.next.programmer Subject: TickleServices Date: 14 Mar 1997 17:46:39 GMT Organization: University of Cambridge, England Message-ID: <5gc2tv$dit@lyra.csx.cam.ac.uk> Trying to get Fiend into the LaunchPath as suggestion in the manual; unfortunately, the documentation of TickleServices does not give a hint on how to modify Workspace/Add To LaunchPaths # Add an entry to the Workspace LaunchPaths default. set filenames [filenames] set launchpaths [split [defaults read Workspace LaunchPaths ""] ";"] foreach filename $filenames { lappend launchpaths $filename } defaults write Workspace LaunchPaths [join $launchpaths ";"] Do u know? Thanks. Thomas --- Thomas E Biesinger, Engineering Department, University of Cambridge, Trumpington Street, Cambridge CB2 1PZ, UK, em: biesingert@asme.org, vc: +44 1223 3 32869, fx: +44 1223 3 32662. NeXT-Mail welcome, PGP-2.6.i key available.
From:  necakov@mljsdi9.dev.japan.ml.com (Tony Necakov) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 26 Mar 1997 13:23:17 GMT Organization: Merrill Lynch Message-ID: <5hb805$fo6@news.ml.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > If we're not going to use pathological example... why did you use >one? You exploited a difference between ObjC and C++ -- (ie, object >costruction is a one step process in C++ and a two step process in >ObjC) and build an example around that. As the example Richard Cave >posted, if we make this a two step process in C++ also, we get the >expected result. When you allocate on the heap, it is a two step process (memory allocation - new, and initialization - constructor invocation). Additionally, it is a real world example because when you subclass things in C++ where you don't have the source, you don't have the benefit of polymorphism in things done in the constructor. TN
From: tfrey@.next.com (Tony Frey) Newsgroups: comp.sys.next.programmer Subject: Re: OPENSTEP 4.0 PR1 CD-ROM Date: 26 Mar 1997 21:58:51 GMT Organization: NeXT Software, Inc. Message-ID: <5hc66s$97u@news.next.com> References: <E7MCEJ.CIs@sounds.wa.com> There's no difference in the UI between 4.0 and 4.1 In article <E7MCEJ.CIs@sounds.wa.com> brianw@sounds.wa.com (Brian Willoughby) writes: > I missed the 4.0 release, jumping directly from 3.3 to 4.1 > Do any of you out there still have a copy of the OPENSTEP 4.0 PRE-RELEASE > CD-ROM for Mach (Motorola) that you could loan to me for a short period? > My company, Sound Consulting, is doing some research into User Interface > options, and we would like to take a look at this. As an active member of > NeXT's Enterprise Alliance Partners program, we have signed a non-disclosure > agreement with NeXT, and are therefore able to use this software without > breaking any agreements. > > Please respond to Sound_Consulting@Sounds.wa.com, and I thank you in advance! > -- > Brian Willoughby NEXTSTEP and OpenStep Software Design Engineer > Sound Consulting Bellevue, WA > BrianW@SoundS.WA.com NeXTmail welcome -- ---------------------------------------------- Tony Frey tfrey@next.com NeXT Premium Support http://www.next.com ----------------------------------------------
From: Tom Hageman <tom@basil.icce.rug.nl> Newsgroups: comp.sys.next.programmer Subject: Re: Why lose "return self" in Openstep? Date: 26 Mar 1997 23:03:16 +0100 Organization: Warty Wolfs Message-ID: <9703262127.AA28054@basil.icce.rug.nl> Mime-Version: 1.0 (NeXT Mail 4.1mach v148) Content-Type: text/plain In article <SHESS.97Mar24140941@howard.one.net>, you wrote: > [...] The main thing I don't like is the lack of a psuedo-atomic > free method. I always coded free like: > > anObject=[anObject free]; > > So that anObject went atomically from a valid object to nil, with no > possibility of sending a method to a freed object. Now you have to do: > > [anObject release]; > anObject=nil; > > or use a macro-helper (which loses the Obj-C-ness). Sigh. I'd have > been happy with: > > anObject=[anObject release]; > > with -release defined to return "A replacement object to be stored in > the released object's slot." -release as a conversion to nil. How about: anObject=([anObject release],nil); It's clumsier than anObject=[anObject release]; would have been, but least it's all on a single line, and it kinda reads like your existing practice... -- __/__/__/__/ Tom Hageman <tom@basil.icce.rug.nl> [NeXTmail/Mime OK] __/ __/_/ IC Group <tom@icgned.nl> (work) __/__/__/ "Any magic sufficiently advanced is indistinguishable __/ _/_/ from a perl script" -- Larry Wall, mangled
Newsgroups: comp.sys.next.programmer Subject: looking for: mmap() or equivalence Message-ID: <1997Mar26.144638.47446@yogi.urz.unibas.ch> From: frank@ifi.unibas.ch Date: 26 Mar 97 14:46:38 MET Hello, I wanted to install the msql data base on our OPENSTEP4.0 for mach system, but this requires the presence of the mmap library. BSD4.3 (or is it mach?) don't seem to have this. Is there any way out of this delemma? Has anybody successfully compiled the older msql data base under OPENSTEP? Many thanks for any hints. Robert -- Institut fuer Informatik tel +41 (0)61 321 99 67 Universitaet Basel fax. +41 (0)61 321 99 15 Robert Frank Mittlere Strasse 142 rfc822: frank@ifi.unibas.ch (NeXT,MIME mail ok) CH-4056 Basel X400: S=frank;OU=ifi;O=unibas;P=switch;A=arcom;C=ch Switzerland
Newsgroups: comp.sys.next.programmer Subject: searching for lockd and statd Message-ID: <1997Mar26.171203.47447@yogi.urz.unibas.ch> From: frank@ifi.unibas.ch Date: 26 Mar 97 17:12:03 MET Hello, I'm on the lookout for the sources of lockd and statd. I guess, from the information that I have found upto now, that these may not be publicly available. Niether the linux nor the FreeBSD source trees show anything alike. The reason I need these, is that I am nfs mounting mail directories exported from an OPENSTEP4.0 for mach machine. The SOLARIS mail utility (mailx, and possibly also the OPENSTEOP mail application) will try to lock the files before making changes. As OPENSTEP for mach doesn't have these daemons, the processes will hang for ever, blocking the machines. The NeXT FAQ doesn't reveal any information when searching for locks or statd (although there is a statd, but that isn't the 'full' version). Many thanks for any help, Robert -- Institut fuer Informatik tel +41 (0)61 321 99 67 Universitaet Basel fax. +41 (0)61 321 99 15 Robert Frank Mittlere Strasse 142 rfc822: frank@ifi.unibas.ch (NeXT,MIME mail ok) CH-4056 Basel X400: S=frank;OU=ifi;O=unibas;P=switch;A=arcom;C=ch Switzerland
From: lhow@ecr.mu.oz.au (Luke HOWARD) Newsgroups: comp.sys.next.programmer Subject: Re: Compiling problem Date: 27 Mar 1997 01:01:35 GMT Organization: Comp Sci, University of Melbourne Message-ID: <5hcgtf$7d1@mulga.cs.mu.OZ.AU> References: <5gku62$nu7@epcot.pomona.edu> <5h7ckn$n0c$1@news.platinum.com> : Unless I can figure out how to compile gcc-2.7.2.x on OpenStep/NeXTSTEP, : I'll have to wait for OpenStep 4.2 (which has basically been re-scoped to : become Rhapsody DR1). That will have an updated gcc in it (according to the Are you sure about this? I thought 4.2 was frozen, and Rhapsody DR1 was going to be for the PowerMac only. But I'm just guessing. -- luke
From: don@globalobjects.com (Don Yacktman) Newsgroups: comp.sys.next.programmer Subject: Re: OPENSTEP 4.0 PR1 CD-ROM Date: 27 Mar 1997 02:31:04 GMT Organization: Global Objects Inc. Message-ID: <5hcm58$fds$1@news.xmission.com> References: <E7MCEJ.CIs@sounds.wa.com> <5hc66s$97u@news.next.com> tfrey@.next.com (Tony Frey) wrote: > There's no difference in the UI between 4.0 and 4.1 But there is between 4.0 PR1 (which is what Brian wants) and all other releases of OPENSTEP or NEXTSTEP. A big difference. And sorry Brian, but I'm keeping my disk--it is a collector's item by now I'm sure. :-) Well, a curiosity, anyway. Actually, fact is, the license for that release also includes a stipulation that we can't run the software after October 31, 1995. (I think that's the date. Fall '95 sometime, anyway.) So even if you get a hold of a disk, if you install it and/or run the stuff on it you're violating the license. Happy thought, eh? [Even as unpolished as that UI was, it really had some good points over the current UI. I hope we see some of the nicer parts in Rhapsody.] -- Later, -Don Yacktman don@misckit.com <a href="http://www.misckit.com/don.html">My home page</a>
Newsgroups: comp.sys.next.programmer From: marcel@star.ali.bc.ca (Marcel Sutanto) Subject: Mach name server problem on netname_lookup () (NS 3.3) Keywords: netname_lookup, name server Message-ID: <E7oFII.9r5@gateway.ali.bc.ca> Sender: nobody@gateway.ali.bc.ca Organization: A.L.I. Technologies, Inc. Date: Thu, 27 Mar 1997 00:47:06 GMT Has anyone seen this problem before with MACH name server on NS 3.3 with Intel3.3 Patch installed? Here is the problem: Platform: NS 3.3 with INTEL 3.3 Patch (which was supposed to fix this problem, but not quite) We discovered that if the Mach name server is looking for a process X on another host B which happened to be down, the name server will block for 10 seconds. Not only that, all LOCAL interprocess communications will cease until the name server is unblocked. This typically takes 10 seconds. I can replicate this every time by running 3 processes. The local process X will not be able to communicate with local process Y while the local process Z is calling this function below: ali_public bool pm_check_proc_exists (const char *remote_process_name, const char *remote_host_name) { kern_return_t ret; port_t dst_port; // THIS CALL will block MACH name server for 10 seconds and stop all local inter message communication // if the remote host is DOWN. ret = netname_look_up (name_server_port, remote_host_name, remote_process_name, &dst_port); if (ret EQ KERN_SUCCESS) { return (TRUE); } else { return (FALSE); } } -- Marcel Sutanto, marcel@ali.bc.ca A.L.I. Technologies Ltd., (NeXT Mail accepted here) 95-10551 Shellbridge Way, Richmond, BC, Canada V6X 2W9 Phone: (604) 279-5422 ext 316 Fax: (604) 279-5468
From: michael@lanczos.cer.neu.edu (Michael) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 27 Mar 1997 02:41:34 GMT Organization: Northeastern University, Boston, MA. 02115, USA Message-ID: <5hcmou$l5v@chaos.dac.neu.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <33396A24.E4E@claris.com> In-Reply-To: <33396A24.E4E@claris.com> On 03/26/97, Richard Cave wrote: ]While we're on the subject of polymorphism, can I get someone to post an ]example of polymorphism using ObjectiveC. All the examples I've seen so ]far demonstrate dynamic messaging, not polymorphism. What's the difference ?
From: Chris Johnson <cjohnson@object-works.com> Newsgroups: comp.sys.next.programmer Subject: Re: Compiling problem Date: Wed, 26 Mar 1997 22:34:47 -0500 Organization: ObjectWorks Inc. Message-ID: <3339EAD7.7A82@object-works.com> References: <5gku62$nu7@epcot.pomona.edu> <5h7ckn$n0c$1@news.platinum.com> <5hcgtf$7d1@mulga.cs.mu.OZ.AU> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Luke HOWARD wrote: : Unless I can figure out how to compile gcc-2.7.2.x on OpenStep/NeXTSTEP, : I'll have to wait for OpenStep 4.2 (which has basically been re-scoped to : become Rhapsody DR1). That will have an updated gcc in it (according to the Are you sure about this? I thought 4.2 was frozen, and Rhapsody DR1 was going to be for the PowerMac only. But I'm just guessing. -- luke We are running a "refresh version" (not called pr2 but a version beyond pr1) of 4.2 for NT that was going to fix many of the problems (not recognizing _debug.dlls, bundle loading, even perhaps precompiled headers and debugging those constantly relocating dlls in an OpenStep NT app without forcing the load address in your makefiles. However, other than some added stability most of the problems still seem to be present in our new version, especially the huge memory footprint of running an app in gdb a couple of times. At least once a day a warning indicating that the 125M virtual memory setting has been reached. 4.2 FCS ship date is supposedly 25 April for NT and a month later for Mach. Chris Johnson
Newsgroups: comp.sys.next.programmer From: jurgen@oic.de (Juergen Moellenhoff) Subject: Re: forwarding and "super" Message-ID: <E7o46K.1B3@oic.de> Sender: news@oic.de Organization: OIC, Bochum, Germany References: <5hbnsa$925$1@brachio.zrz.TU-Berlin.DE> Date: Wed, 26 Mar 1997 20:42:19 GMT In article <5hbnsa$925$1@brachio.zrz.TU-Berlin.DE> marcel@sysyem.de writes: > > > In general, messages to super start searching in the parent class for > > > the method you are calling - _but_, the receiver will still be self. > > > It just modifies where the method search starts. Take the following > > > three lines: > > > > > > [super doSomething]; > > > [super performSelector:@selector( doSomething)]; > > > [self doSomething]; > > > > > > The middle line is actually the same as the third line (assuming that > > > the current class doesn't override -performSelector: to do something > > > weirder than normal). > > > > But this implies that self doesn't implement the method doSomething. > > You can get a different behavior if super AND self implement the > > method. Right? > > Wrong, assuming you're talking about the second and third line. Yes, you are right :-), the second and third line are the same.... my mistake... sorry... Juergen
Date: Tue, 18 Mar 1997 12:51:19 -0600 From: rberber@spin.com.mx Subject: Re: Perl Newsgroups: comp.sys.next.programmer Message-ID: <858710783.12760@dejanews.com> Organization: Deja News USENET Posting Service To: cavery@dc.net Christopher Avery wrote: > > I downloaded the Perl Package from ftp-next-peak but it wouldn't > install. Instaed it said not all the programs in the package were > in the package and I should install from the original floppies. Can > anyone help with this? > If you have version 5.002 from Peak, there was an error in the installation which I reported to TipTop (the guys that made the package) back in january. I had to change the file Perl.pre_install (inside the package), on line 67 it said: compress -c > /tmp/##${packageName}##.tar.Z the installation doesn't work until you change that line into: compress -c > ${packagePath}/${packageName}.tar.Z Regards, --- Rene Berber rberber@spin.com.mx MIME / NeXT Mail welcomed -------------------==== Posted via Deja News ====----------------------- http://www.dejanews.com/ Search, Read, Post to Usenet
From: "Jim Powers" <rancor@mindspring.com> Newsgroups: comp.sys.next.programmer Subject: Re: Openstep declining Date: 28 Mar 1997 03:47:16 GMT Organization: None Message-ID: <01bc3b2a$5db6d660$d87e0e26@godsearth> References: <9703180952.AA20931@jonathan.bta.net.cn> >Same bad experience for me. >I run OpenStep 4.1/Mach on a P100/64MB and OpenStep 4.1/NT on a P200/64MB. >It is nice working with NeXTSTEP (i don't like the name OpenStep/Mach), but NT is REALLY slow, crashs 2 times daily, no >good apps, ... Well, I wouldn't go as far as to say there are NO good apps for NT. Also, there is probably something wrong with your setup, we have had nearly 50 machines running NT (3.5, 3.51, and 4.0 most recently) for years, we get about 1 crash about every 10 to 12 months. This usually happens after trying to config new hardware. Yes, NT is far, far too slow for what it does, very annoying. As you can see, I am an NT user and developer, however, I am very NeXT sympathetic, and want desperatly to get a copy of NeXTSTEP (I too hate this OPENSTEP BS), but can't afford it. Ah well, I can always dream.... Jim Powers
From: "Tony \"Chow\" Chow" <everblue@ucla.edu> Newsgroups: comp.sys.next.programmer Subject: Create NeXTSTEP Interface on Windows with Delphi! Date: 28 Mar 1997 06:15:34 GMT Organization: All USENET -- http://www.Supernews.com Message-ID: <01bc3b37$bde4f4b0$be502299@odrade> Yes, that's what I'm working on--a set of Delphi custom controls that pays tribute to and faithfully mimic the NeXTSTEP interface. If anyone's interested you can download a showcase application that use these controls at: http:/home1.gte.net/everblue/demo.zip This is a complete application so those who don't program in Delphi are also welcomed to check it out. In this showcase you'll find: NeXTSTEP-style... -Sliders; both standard and gradient -GroupBox; that centers the caption! -Checkboxes -Popuplists -DropDownLists -Plus a half-baked, preliminary NeXTSTEP-like window in which all of these controls reside. And more is being planned while these undergo priming. Mail me with any questions.
From: michael@lanczos.cer.neu.edu (Michael) Newsgroups: soc.penpals,alt.msdos.programmer,comp.sys.next.programmer,comp.unix.questions,atl.resumes Subject: Re: Learning to Program to get hired? Date: 28 Mar 1997 05:34:57 GMT Organization: Northeastern University, Boston, MA. 02115, USA Message-ID: <5hfla1$n9m@chaos.dac.neu.edu> References: <332DA1F1.41A4@hom.net> <5h7eed$ntq$1@news.platinum.com> <5h7fjt$52j@chaos.dac.neu.edu> <5h763i$3k5@sps1.phys.vt.edu> <5ha8sa$r0f@lynx.dac.neu.edu> <5hbvg4$6j4$1@news.internetmci.com> In-Reply-To: <5hbvg4$6j4$1@news.internetmci.com> On 03/26/97, Michael Gentry wrote: ]On 03/25/97, Michael Kagalenko wrote: ]> What those guys were thinking when they implemented ftp client ]> in OmniWeb ? It always opens downloaded binaries in text editor ]> (and I couldn't figure out the way to disable this behaviour) ]> Mighty braindamaged way to do things. ] ]OmniWeb is working just fine. It is brain damaged about some things ](for example, memory usage), but not about that. ] ]Assumption: The binaries you are downloading are .tar or .tar.gz types ]of file. ] ]Download and install Opener.app from the archives and you won't have ]that problem anymore. The problem is that Workspace (not OmniWeb) ]doesn't know what to do with your binaries and the default application ]for any file which Workspace doesn't understand is Edit. Once you ]install Opener and Workspace recognizes it's supported file types, the ]files will automatically be unarchived and opened in the file system ]for you. ] ]Opener is a really cool app. I disagree. The default behaviour for ftp client should be saving file, and doing nothing else. Doing otherwise is security risk. This behaviour should be controlled from preferences. As for memory, "leaks" shows that OmniWeb has a lot of memory leaks. Does the memory get cleaned after leaking application quits ? Could swapping confuse "leaks" ? BTW, "leaks" claims that some of NeXT programs have memory leaks, like Preferences.
From: apuleius@ix.netcom.com (William Grosso) Newsgroups: comp.sys.next.programmer Subject: Re: OPENSTEP 4.0 PR1 CD-ROM Date: Fri, 28 Mar 1997 05:09:00 GMT Organization: Netcom Message-ID: <333b5154.9101917@nntp.ix.netcom.com> References: <E7MCEJ.CIs@sounds.wa.com> <5hc66s$97u@news.next.com> On 26 Mar 1997 21:58:51 GMT, tfrey@.next.com (Tony Frey) wrote: > There's no difference in the UI between 4.0 and 4.1 > Nope. 4.0PR1 was a much different GUI. By FCS, it had reverted to something recognizably NEXTish. But PR1 was quite different. Cheers, Andy
From: Sangwon Chung <thing@nexon.co.kr> Newsgroups: comp.sys.next.programmer Subject: Why do my function("perform") forget return self Date: Fri, 28 Mar 1997 19:53:55 +0900 Organization: NEXON Message-ID: <333BA343.6E3B@nexon.co.kr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi. I programmed a game server under solaris 2.5 (pentium) with GCC 2.7.2.1 I found some problem in my program. I programmed under Multi thread. and my timer thread cannot return self rarely. just one time a day. I found that 'perform'(objective-c built in) cannot return. Can I use nested perform under Multi thread safely? Thanks in advance
Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer From: hans@icgned.nl Subject: Re: Rejoice! BSD 4.4 is coming Message-ID: <E7r2tI.1wt@icgned.nl> Sender: news@icgned.nl Organization: IC Group References: <jcr.858895952@idiom.com> Orginization: Save the Dodo Foundation Date: Fri, 28 Mar 1997 11:05:41 GMT jcr@idiom.com (John C. Randolph) wrote: >Well, I just heard it from the fourth source inside NeXT's engineering >groups, and what I'm hearing is that the BSD code in Rhapsody is >*finally* getting upgraded to BSD 4.4! That's good news. >This means we get: append-only files and filesystems, the LFS, 64-bit >filesystems (i.e, no more 2 gig partition limit!) In NeXTstep 4.x, the partition limit is 4 gig. -- HansM
From: Constantin Szallies <szallies@energotec.de> Newsgroups: soc.penpals,alt.msdos.programmer,comp.sys.next.programmer,comp.unix.questions,atl.resumes Subject: Re: Learning to Program to get hired? Date: 28 Mar 1997 13:12:24 GMT Organization: Technet GmbH Message-ID: <5hgg3o$j861@ddfo3.technet.net> References: <332DA1F1.41A4@hom.net> <5h7eed$ntq$1@news.platinum.com> <5h7fjt$52j@chaos.dac.neu.edu> <5h763i$3k5@sps1.phys.vt.edu> <5ha8sa$r0f@lynx.dac.neu.edu> <5hbvg4$6j4$1@news.internetmci.com> <5hfla1$n9m@chaos.dac.neu.edu> michael@lanczos.cer.neu.edu (Michael) wrote: >On 03/26/97, Michael Gentry wrote: >]On 03/25/97, Michael Kagalenko wrote: >]> What those guys were thinking when they implemented ftp client >]> in OmniWeb ? It always opens downloaded binaries in text editor >]> (and I couldn't figure out the way to disable this behaviour) >]> Mighty braindamaged way to do things. [snip] > As for memory, "leaks" shows that OmniWeb has a lot of > memory leaks. Does the memory get cleaned after leaking > application quits ? Could swapping confuse "leaks" ? > > BTW, "leaks" claims that some of NeXT programs have > memory leaks, like Preferences. A question I always wanted to ask: Where to get this "leak". I always use MallocDebug.app. -- O---------------------------------------O | Constantin Szallies, Energotec GmbH | \ | szallies@energotec.de | O | 49211-9144018 | | O---------------------------------------O | \ \ | O----------------------------------------O
From: John Kheit <jkheit@cnj.digex.net> Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Rejoice! BSD 4.4 is coming Date: 28 Mar 1997 16:28:28 GMT Organization: monoChrome, Inc., NJ, USA Message-ID: <5hgrjc$k8@news4.digex.net> References: <jcr.858895952@idiom.com> <E7r2tI.1wt@icgned.nl> hans@icgned.nl wrote: > In NeXTstep 4.x, the partition limit is 4 gig. Huh?!? Since when? Can anyone confirm this? -- Thanks, be well, take care, later, John Kheit; Self expressed... __________________________________________________________________ monoChrome, Inc. ASCII, MIME, PGP, SUN, & NeXTmail OK NeXT/OPENSTEP Developer mailto:jkheit@cnj.digex.net Telepathy, It's coming... http://www.cnj.digex.net/~jkheit New York Law School You're dangerous because you're honest
From: "Jeffrey S. Dutky" <dutky@wam.umd.edu> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer Subject: Re: Objective C? Date: Wed, 26 Mar 1997 13:50:49 -0500 Organization: University of Maryland Student Body Message-ID: <33396FF0.73C@wam.umd.edu> References: <330E54AC.167E@innosys.com> <5ghjc4$d92@lal.interserv.com> <petrichE7Fq55.Eo6@netcom.com> <knB2rwa00iV9Q1sDM4@andrew.cmu.edu> <petrichE7HrpC.K0E@netcom.com> <5h4l9o$3m3$1@nntp2.ba.best.com> <qdzpvspxe8.fsf@blues.cygnus.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Stephen Peters wrote: > > kcd@babylon5.jumpgate.com (Kenneth C. Dyke) writes: > > > On 03/22/97, Loren Petrich wrote: > > >That raises certain questions of uniqueness, since several > > >different text strings can map onto the same hash value. > > > > All Objective C methods with the same name share the same method > > selector, so this isn't a problem. > > Um, the problem Loren is raising is one in which two different > methods, with two different names, could share the hash. In other > words, when performing the lookup, there could be a collision in which > it's looking for one method, but because another method has the same > hash, it gets a completely different one. > > Is this a problem in theory? Yes -- even if the hash algorithm is > perfect, there are only 65,536 possible method names (I'm using the > GNU ObjC runtime as a reference, which uses integers as the hash > codes). Get an object with enough methods, and you can guarantee a > collision. :-) > > Has this become a problem in reality? I don't know. Anyone care to > say if they've had any weird errors that only went away when they > renamed their method? This should NEVER be a problem, even when two method names produce the same hash code. Under normal implementations of hash tables the hash entries either point to a list of name:value pairs or values are stored in successive entires when a hash code crashes. In the first case (and array or lists of name:value structs) when a lookup lands on an entry with more than one value assigned to it the lookup proceeds to search the associated list linearly comparing the original name to the names in the pair structs. Since crashes should happen infrequently no list should be very long and the linear search will not be much of a performance hit. In the second case either a crash flag must be set in the hash table entry or the lookup routine must ALWAYS check the original name with the entry's name. If comparison fails the lookup routine steps through the hash table comparing the original name with the names in the table entries until it finds a match. The second method has the advantage of a simpler data structure than the first but will break when the number of names exceeds the number of hash table entries. The first method is more complex but also more general. In either case, however, we will return the correct value for any given name lookup, even with the hash code for the name crashes with the hash code of another name in the table. - Jeff Dutky
From: Stephen Peters <speters@cygnus.com> Newsgroups: comp.sys.next.programmer Subject: Re: forwarding and "super" Date: 26 Mar 1997 11:23:04 -0800 Organization: Cygnus Solutions Message-ID: <qdzpvqihk7.fsf@rtl.cygnus.com> References: <SHESS.97Mar25092410@howard.one.net> <E7nns7.ut@oic.de> jurgen@oic.de (Juergen Moellenhoff) writes: > In article <SHESS.97Mar25092410@howard.one.net> shess@one.net (Scott Hess) > writes: > > > In general, messages to super start searching in the parent class > > for the method you are calling - _but_, the receiver will still be > > self. It just modifies where the method search starts. Take the > > following three lines: > > > > [super doSomething]; > > [super performSelector:@selector( doSomething)]; > > [self doSomething]; > > > > The middle line is actually the same as the third line (assuming > > that the current class doesn't override -performSelector: to do > > something weirder than normal). > > But this implies that self doesn't implement the method > doSomething. You can get a different behavior if super AND self > implement the method. Right? No. Think of it this way. Using super says "don't use this class's code for this method, but instead run the superclass's method on self." [super performSelector: ... ] will run the superclass _code_ for performSelector, but it passes the selector to "self" as normal. So, if the current class overrides doSomething, using the second line up there will use the overriding method. -- Stephen L. Peters speters@cygnus.com PGP fingerprint: BFA4 D0CF 8925 08AE 0CA5 CCDD 343D 6AC6 "What, do you think soup is a biped?" -- Crow, MST3K
From: Michael.Gentry@m-c-i.com (Michael Gentry) Newsgroups: soc.penpals,alt.msdos.programmer,comp.sys.next.programmer,comp.unix.questions,atl.resumes Subject: Re: Learning to Program to get hired? Date: 26 Mar 1997 20:04:20 GMT Organization: Internet MCI Message-ID: <5hbvg4$6j4$1@news.internetmci.com> References: <332DA1F1.41A4@hom.net> <5h7eed$ntq$1@news.platinum.com> <5h7fjt$52j@chaos.dac.neu.edu> <5h763i$3k5@sps1.phys.vt.edu> <5ha8sa$r0f@lynx.dac.neu.edu> In-Reply-To: <5ha8sa$r0f@lynx.dac.neu.edu> On 03/25/97, Michael Kagalenko wrote: > What those guys were thinking when they implemented ftp client > in OmniWeb ? It always opens downloaded binaries in text editor > (and I couldn't figure out the way to disable this behaviour) > Mighty braindamaged way to do things. OmniWeb is working just fine. It is brain damaged about some things (for example, memory usage), but not about that. Assumption: The binaries you are downloading are .tar or .tar.gz types of file. Download and install Opener.app from the archives and you won't have that problem anymore. The problem is that Workspace (not OmniWeb) doesn't know what to do with your binaries and the default application for any file which Workspace doesn't understand is Edit. Once you install Opener and Workspace recognizes it's supported file types, the files will automatically be unarchived and opened in the file system for you. Opener is a really cool app. - mrg -- Veruca Salt wails!
From: "Lawson English" <english@primenet.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 28 Mar 1997 13:22:02 -0700 Organization: Primenet Services for the Internet Message-ID: <AF617A66-BE510@198.68.42.211> References: <5h45ac$fn9$2@news.xmission.com> nntp://news.primenet.com/comp.sys.next.advocacy, nntp://news.primenet.com/comp.sys.mac.programmer.misc, nntp://news.primenet.com/comp.sys.next.programmer, nntp://news.primenet.com/comp.lang.objective-c Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit >Well, if NeXT ever finishes the link+go or whatever is was that they >were calling it (which was supposed to be in 3.3 and then got pushed >to 4.0 and then got pushed to ???) you'd have the ability to swap >newly compiled code in and out while the app was running. You can >already do this with the Asymetrix Supercede Java IDE, by the way. >Of course, in both situations, you are doing it via the development >environment; in NeXT's case I think there were actually APIs so >that you'd be able to do this in other situations--the dynamic >linker's header files hint at this...and you really want that API. >Smalltalk and Lisp will probably always be easier to modify in this >way, however. Jeeze. You can do this with SOM right now. Even the CFM offers a way to do this if you really want to be daring. ------------------------------------------------------------------------- From now on, until Apple changes its mind, use this at the bottom of all signature lines and spread the word: Send US Mail to Gil Amelio and MacWeek and tell them to "Save the Cyberdog -I like my component-based web browser" -------------------------------------------------------------------------
From: gary-nospam-@screaming.org (Gary W. Longsine) Newsgroups: comp.sys.next.programmer,comp.sys.next.software Subject: Re: Help: NextStep -> Openstep Date: 28 Mar 1997 23:28:13 GMT Organization: Save the Skeet Foundation Message-ID: <5hhk6d$fiv$2@news.platinum.com> References: <5h8nkn$o1o$2@elna.ethz.ch> Cc: mateev@ifor.math.ethz.ch In <5h8nkn$o1o$2@elna.ethz.ch> it appeared that mateev@ifor.math.ethz.ch wrote: > Hi, > > We just got Openstep for WindowsNT in our institute and I'd like to convert > some Next code into Openstep. So far I know there exist tool for that, but I > cannot find them. > Can anybody help me ? On OPENSTEP 4.1 for MachOS, they are in myhost:/NextDeveloper/OpenStepConversion/foo Where "foo" is a set of directories with different related stuff. /gary -- Gary W. Longsine, Systems Engineer | ____/| OpenStep, MachOS, PLATINUM Technologies, Inc. | \ o.O| Objective-C: l_o_n_gsine@platinum.com (NeXTmail | =(_)= (Can i have his spam?) & MIME) |. U Elegance is Relevant.
From: steffi@dgs.dgsys.com (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: OPENSTEP 4.0 PR1 CD-ROM Date: 27 Mar 1997 18:56:26 -0500 Organization: Digital Gateway Systems Message-ID: <5hf1fa$f76@DGS.dgsys.com> References: <E7MCEJ.CIs@sounds.wa.com> <5hc66s$97u@news.next.com> Brian, mentioned Pre Release! He's looking for the different "blue" workspace.
From: Eric_Noyau@next.com (Eric Noyau) Newsgroups: comp.sys.next.programmer Subject: Re: AppKit and Undo Date: 29 Mar 1997 03:18:33 GMT Organization: NeXT Software, Inc. Message-ID: <5hi1m9$cp8@news.next.com> References: <jimg-2703971452010001@157.22.237.237> In article <jimg-2703971452010001@157.22.237.237> jimg@abacus.com (Jim Gagnon) writes: > > I have to admit that I have no familiarity with EOF [...]. I'm > proposing a scheme where NSObject handles all the stuff necessary for an > undo/redo. As a bonus, my scheme provides for transactions and nested > transactions, full object persistence and a complete object dependency > net. [...] > Thus, if an application writer wished to add undo to their app, they > need only use my categorized NSObject, declare a document that objects > belong to, and insert a simple method call (ie. [myObject change]) > whenever an object's state changes. That's it! > Sounds a lot like EOF control layer to me... Except that we use -willChange to add some more lazyness to the snapshots. Of course, EOF is doing a lot more than that, but you should check it out: it's usefull in a lot of contexts, not only for undos. -- Eric
From: "Dale Madill" <dmadill@cyberspc.mb.ca> Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: Re: Good News for Corps: Drive Down Rates as Desired w This Y2K Solution Date: 27 Mar 1997 13:14:02 GMT Organization: ITeam Computer Services Message-ID: <01bc3ab0$ad43fb60$69f0a3c6@madill> References: <199703211605.RAA19840@basement.replay.com> Dash Langan <dashlangan@hotmail.com> wrote in article <199703211605.RAA19840@basement.replay.com>... > With the "Open and Shut Window Technique" Y2K solution, employers > of programmers can actually *layoff* programmers, not need more! Dash, Stop trying to beat the horse... its dead Jim. I'm a Doctor not a "Open and Shut Window Technique" programmer they died out during the massive business failures around the year 2000 I think.... Just before Dash Langan was sued into the ground by Corporate America. How much of a markup do you make on your programmers from India Dash? Dale Madill
From: kcd@babylon5.jumpgate.com (Kenneth C. Dyke) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: 27 Mar 1997 19:00:10 GMT Message-ID: <5heg3q$a4a$1@nntp2.ba.best.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> In-Reply-To: <5gl602$nbl@lal.interserv.com> On 03/17/97, James M. Curran wrote: > > But, I'm not breaking encapsulation!! All I'm doing in my code is >writing "x = y;" (english translation - "copy object y into object x >-- all implementation details left up to class designer") And if the >class designer were to change the implementation (eg, made the essense >of the object contained in two variables, realval1 & realval2 for >instance, instead of one), my code would not change. (The assembler >code output by the compiler would to: > x.realval1 = y.realval2; > x.realval2 = y.realval2; >but that's not my concern -- all thoses details are encapsulated >inside the class definition. Semantically you are right. In real life your code is not at all isolated from changes to the class. If the class changes, you recompile. So if someone finds a nasty bug in their class, it's now hardcoded into your software, and shipping a new library won't fix it. > I think part of what you're missing, is you don't fully understand >C++'s operator overloading. In C++, I can define what = means for a >object. Hence, as the designer of a class, I can specify exactly what >members need to be copied and how they should be copied. But, as a >user of a class, all I need to know is that saying "x = y;" handles it >all. THAT'S the true essense of OOP, and ObjC can only approximate >that.... Bullshit. You are equating syntactic sugar with OO functianality. > No, you can't inline method for object that mutate at run time. >As I demonstrated elsewhere: > class B { virtual void print() {cout << "B::print(); << endl;} }; > class D: public B > { virtual void print() {cout << "D::print(); << endl;} }; > > func(B *pB) > { B b; > D d; > b.print(); // known B, inlined > d.print(); // known D, inlined > pB->print(); // could be B or D > // uses virtual call. > } Yep, and if B ever changes... >>> That is what is possible with early binding, and what you have to give up >>> if you insist that it's not real OOP unless it's late-bound. > >>That's exactly right. You're not really doing OOP if you break >>encapsulation, now are you? > > But I'm not the one advacating breaking encapsolation! No, but in a sense the compiler is. Or from another perspective, the class designer is. Either way your code is not isolated from changes in the definition of the class. >>James, you try to keep comparing compile-time binding under C++ to >>dynamic binding under Obj-C, and it's simply not a reasonable >>comparision because you can do compile-time binding under Obj-C and get >>the same exact code as you would from C++. > > Yes, but I did it WITHOUT breaking encapsulation. See above. In both cases you ARE depending on implementation details of the class involved, whether you like it or not. The only thing C++ buys you is that fixing your code may just be a recompile. That is not always practical, however. > HA! One would think that such a cheap (and unaccurate) shot would be >beneath you. OK, Given the class: > class Point > { int x; > int y; > public: > Point(int X, int Y) { x= X; y=Y;}; > operator=(Point rhs) {x=rhs.x; y=rhs.y;} > virtual print() {cout << "(" << x << "," << y << ")" } > }; > > [comparable ObjC class omitted] > > Now let's see what you can do with it. >Creation on automatic object (on stack): >C++: Point Pt(10,20); >ObjC: Can't be done. >(advantage C++) Sure it can be done. Don't make something as rediculously simple as a Point into a class, especially if there aren't going to be any virtual member functions in it. Objective C programmers tend not to try to turn every concept into a class. >Creation in Free store: >C++ Point *pPt = new Point(10,20); >ObjC: Point *Pt = [[Point alloc] init:10,20]; >(I kinda prefer the C++ syntax, but that's a matter of taste; we'll >call it a draw) > >Shallow copy: >C++: pPt1 = pPt2; >ObjC: Pt1 = Pt2; >(draw) That's a pointer assignment, it's not making a copy of either object. >Deep Copy: >C++: Pt1 = Pt2; >ObJC: Pt1 = [[Point alloc] init:Pt2]; >(Again I prefer the C++ syntax, but, this time I think it's clear >enough to say advantage C++) Try: Pt1 = [Pt2 copy]; At least in the objective c case you know from looking at the code what is going on. In C++ you have to go and track down the declarations of the variables involved to figure out what's going on. >effecient deep copy: >C++: Pt1 = Pt2; // inlining handled by compiler > // encapsolation maintained Only if the assignment operator isn't virtual. >ObjC: Pt1->x = Pt2->x; // inlining handled by programmer > Pt1->y = Pt2->y; // encapsolation violated. That may be 'efficient' for some cases, but I seriously doubt you'll ever find many Objective C programmers that write code like that. >(advantage C++) > >polymorphic method call: >C++: pPt->print(); >ObjC: [Pt print]; >(draw) > >effecient polymorphic call: >C++: pPt->print(); >ObjC: func f; > f = sel_getMethod(Point, @selector(print)); > f(); >(OK, I made that ObjC syntax up, since I don't know the actual syntax, >but I'm pretty sure it's close, and unless the real one is actually >very different, I'd say we'd have to call this advantage C++) And once again you are totally hung up on the assumed poor performance of Objective C method dispatching, without taking a serious look at the benefits it has. >very effecient method call when run-time polymorphism isn't needed >(ie, object actual type is known) >C++: Pt.print(); >Obj: can't be done. In cases where run-time polymorphism aren't needed, I don't use a class. I see almost no reason to do so in cases where the 'objects' involved are so simple as to not require OO features, other than for syntactical reasons. I've seen what happens when C++ programmers go apeshit and make EVERYHING a class right down to 'Points'. They wind up with massively complex code with poor performance. > In other words, the C++ code is always graceful, > pretty, encapsolated, and easier to maintain. If you like C's syntax and don't mind that you have to recompile when the class designer sneezes, then maybe that's true. ;) I happen to LIKE the fact that the syntax for dealing with objects in Objective C is DIFFERENT than the syntax for dealing with structures -- because they work differently. Consider the following line of C++ code: x = y->foo(z); From reading just that code, you can not tell if y is a struct or a class, whether foo is virtual or not, or whether z could be modififed. In the Objective C case: x = [y foo:z]; I know that y is an object, that foo is 'virtual', and that z is passed by value. Granted, in both cases if z is a pointer of any kind, it's possible that whatever z points to could be modified, but z itself won't be. Both of those examples are extremely simplistic, but if the simple stuff isn't easy and unambiguous, then what happens when things really get complicated? Go read the C++ ARM sometime and read all of the entire _SECTIONS_ on ambiguity, and the myriad of rules C++ requires to deal with it. I would much rather deal with a language that doesn't require me to grab the reference manual -- ever. -Ken
From: gary-nospam-@screaming.org (Gary W. Longsine) Newsgroups: soc.penpals,alt.msdos.programmer,comp.sys.next.programmer,comp.unix.questions,atl.resumes Subject: Re: Learning to Program to get hired? Date: 29 Mar 1997 23:24:35 GMT Organization: Save the Skeet Foundation Message-ID: <5hk8bj$cjk$1@news.platinum.com> References: <332DA1F1.41A4@hom.net> <5h7eed$ntq$1@news.platinum.com> <5h7fjt$52j@chaos.dac.neu.edu> <5h763i$3k5@sps1.phys.vt.edu> <5ha8sa$r0f@lynx.dac.neu.edu> <5hbvg4$6j4$1@news.internetmci.com> <5hfla1$n9m@chaos.dac.neu.edu> Cc: michael@lanczos.cer.neu.edu In <5hfla1$n9m@chaos.dac.neu.edu> it appeared that Michael wrote: > As for memory, "leaks" shows that OmniWeb has a lot of > memory leaks. Does the memory get cleaned after leaking > application quits ? Could swapping confuse "leaks" ? I dunno "leaks" but it might be confused by shared libraries, more likely than swapping. However, under normal conditions applications which "leak" memory are forced by the OS to free that memory when the application is killed. I've never observed NeXTSTEP (or OPENSTEP) fail to free memory when an application exists or is killed. I have observed occasions on Solaris where shared memory buffers seem not to be freed when a bogus (hung or whatever) shared-memory application is killed, rather than terminating normally. Presumably there must be the need for a signal hander to cover this event for certain uses of shared memory. Presumably this is also a potential issue with other UNIX flavors which have shared memory. The shared memory pool can be freed with a reboot in this case. Keep in mind that this type of shared memory is implemented by the user program at a lower level, and does not speak to the behavior of shared libraries on Solaris, which do not exhibit such lame behavior. /gary -- Gary W. Longsine, Systems Engineer | ____/| OpenStep, MachOS, PLATINUM Technologies, Inc. | \ o.O| Objective-C: l_o_n_gsine@platinum.com (NeXTmail | =(_)= (Can i have his spam?) & MIME) |. U Elegance is Relevant.
From: jabi@acsu.buffalo.edu Newsgroups: comp.sys.next.programmer Subject: Re: Openstep declining Date: Sat, 29 Mar 1997 20:40:57 -0500 Organization: University at Buffalo Message-ID: <333DC4A9.53AD@arch.buffalo.edu> References: <9703180952.AA20931@jonathan.bta.net.cn> <01bc3b2a$5db6d660$d87e0e26@godsearth> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit NNTP-Posting-User: jabi Jim Powers wrote: > > >Same bad experience for me. > >I run OpenStep 4.1/Mach on a P100/64MB and OpenStep 4.1/NT on a P200/64MB. > >It is nice working with NeXTSTEP (i don't like the name OpenStep/Mach), > but NT is REALLY slow, crashs 2 times daily, no >good apps, ... > > Well, I wouldn't go as far as to say there are NO good apps for NT. Also, > there is probably something wrong with your setup, we have had nearly 50 > machines running NT (3.5, 3.51, and 4.0 most recently) for years, we get > about 1 crash about every 10 to 12 months. This usually happens after > trying to config new hardware. > > Yes, NT is far, far too slow for what it does, very annoying. > > As you can see, I am an NT user and developer, however, I am very NeXT > sympathetic, and want desperatly to get a copy of NeXTSTEP (I too hate this > OPENSTEP BS), but can't afford it. Ah well, I can always dream.... > > Jim Powers I have a dual booted Pentium Pro 200MHz with OPENSTEP/Mach and Windows NT 4.0 with OPENSTEP Enterprise. I am dying to have more applications so that I can run it exclusively in OPENSTEP/Mach mode, but now I can't do without Netscape, Java, Word, Excel PhotoShop, PageMaker, Illustrator. But I love ProjectBuilder, Interface Builder, Preview (that one alone is worth the money) and Create.app... Did you know you can create a complicated EPS in Create.app and just drag and drop it into PageMaker.. way cool :-) Check out my environment setup at: http://aquarius.arch.buffalo.edu/openstep.html -- w a s s i m j a b i :::::::::::::::::::::::::::::::::::: Dept. of Architecture http://libra.arch.buffalo.edu/www/ University at Buffalo EMail: wjabi@arch.buffalo.edu 3435 Main St. - Hayes Tel: +1 (716) 829-3483 Buffalo, NY 14214 USA Fax: +1 (716) 829-3256
From: "Jim Powers" <rancor@mindspring.com> Newsgroups: comp.sys.next.programmer Subject: OPENSTEP Support SMP??? Date: 30 Mar 1997 03:08:48 GMT Organization: None Message-ID: <01bc3cb7$52845fe0$297e0e26@godsearth> Does OPENSTEP Intel (NeXTSTEP) support symmetric multiprocessing? If so waht chipsets are supported? Jim Powers
From: sanguish@digifix.com Newsgroups: comp.sys.next.advocacy,comp.sys.next.announce,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.bugs,comp.sys.next.programmer Subject: NEXTSTEP/OpenStep Resources on the Net Supersedes: <3027859093225@digifix.com> Date: 30 Mar 1997 05:00:28 GMT Organization: Digital Fix Development Message-ID: <7486859698032@digifix.com> Topics include: Stepwise NEXTSTEP/OpenStep Information WWW site eduSTEP WWW site NeXT Computer, Inc. WWW site comp.sys.next newsgroups related newsgroups comp.sys.next newsgroups mailing list ftp sites NeXTanswers Stepwise NEXTSTEP/OpenStep Information WWW site =============================================== This online community resource includes - ISV company pages - ISV product descriptions - NEXTSTEP Developer Directory - NEXTSTEP Community WhitePages - Mailing List archives and information You can connect via the world wide web at: http://www.stepwise.com/ Suggestions or comments can be directed to me at sanguish@digifix.com If you would like to get your company and product information on Stepwise, please contact me at sanguish@digifix.com. eduSTEP WWW site ================ http://www.nmr.embl-heidelberg.de/eduStep/ eduStep aims to provide up-to-date information on: - NextStep tools and projects for scientists. - Third-party products interesting for the educational and scientific community (with educational discounts noted, where they exist). - A listing of resellers and shops interested in working with customers in the educational community. - Conferences, meetings, workshops - Major projects, such as SciTools, EMBL's project to develop a NextStep scientific work environment - Status reports on GNUStep, a freely-available implementation of OpenStep now being developed NeXT Computer, Inc. WWW site ============================ http://www.next.com comp.sys.next.* newsgroups ========================== news:comp.sys.next.advocacy This is the "why NEXTSTEP is better (or worse) than anything else in the known universe" forum. It was created specifically to divert lengthy flame wars from .misc. news:comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) This is a moderated newsgroup, meaning that you can't post to it directly. Submissions should be e-mailed to next-announce@digifix.com where the moderator (Scott Anguish) will screen them for suitability. Messages posted to announce should NOT be posted or crossposted to any other comp.sys.next groups. news:comp.sys.next.bugs A place to report verifiable bugs in NeXT-supplied software. Material e-mailed to Bug_NeXT@NeXT.COM is not published, so this is a place for the net community find out about problems when they're discovered. This newsgroup has a very poor signal/noise ratio--all too often bozos post stuff here that really belongs someplace else. It rarely makes sense to crosspost between this and other c.s.n.* newsgroups, but individual reports may be germane to certain non-NeXT- specific groups as well. news:comp.sys.next.hardware Discussions about NeXT-label hardware and compatible peripherals, and non-NeXT-produced hardware (e.g. Intel) that is compatible with NEXTSTEP. In most cases, questions about Intel hardware are better asked in comp.sys.ibm.pc.hardware. Questions about SCSI devices belong in comp.periphs.scsi. This isn't the place to buy or sell used NeXTs--that's what .marketplace is for. news:comp.sys.next.marketplace NeXT stuff for sale/wanted. Material posted here must not be crossposted to any other c.s.n.* newsgroup, but may be crossposted to misc.forsale.computers.workstation or appropriate regional newsgroups. news:comp.sys.next.misc For stuff that doesn't fit anywhere else. Anything you post here by definition doesn't belong anywhere else in c.s.n.*--i.e. no crossposting!!! news:comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. Generic UNIX questions belong elsewhere (comp.unix.questions), although specific questions about NeXT's implementation or porting issues are appropriate here. Note that there are several other more "horizontal" newsgroups (comp.lang.objective-c, comp.lang.postscript, comp.os.mach, comp.protocols.tcp-ip, etc.) that may also be of interest. news:comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. news:comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. Related Newsgroups ================== news:comp.soft-sys.nextstep Like comp.sys.next.software and comp.sys.next.misc combined. Exists because NeXT is a software-only company now, and comp.soft-sys is for discussion of software systems with scope similar to NEXTSTEP. news:comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. news:comp.object Technical talk about OOP in general. Lots of C++ discussion, but NeXT and Objective-C get quite a bit of attention. At times gets almost philosophical about objects, but then again OOP allows one to be a programmer/philosopher. (The original comp.sys.next no longer exists--do not attempt to post to it.) Exception to the crossposting restrictions: announcements of usenet RFDs or CFVs, when made by the news.announce.newgroups moderator, may be simultaneously crossposted to all c.s.n.* newsgroups. Getting the Newsgroups without getting News =========================================== Thanks to Michael Ross at antigone.com, the main NEXTSTEP groups are now available as a mailing list digest as well. next-nextstep next-advocacy next-announce next-bugs next-hardware next-marketplace next-misc next-programmer next-software next-sysadmin object lang-objective-c (For a full description, send mail to listserv@antigone.com). The subscription syntax is essentially the same as Majordomo's. To subscribe, send a message to *-request@lists.best.com saying: subscribe where * is the name of the list e.g. next-programmer-request@lists.best.com The ftp sites ============= ftp://ftp.next.peak.org - The main site for North American submissions formerly ftp.cs.orst.edu ftp://ftp.informatik.uni-muenchen.de: - (Peanuts) Located in Germany. ftp://ftp.dn.net/pub/next - Peanuts mirror in the US ftp://terra.stack.urc.tue.nl - (Dutch NEXTSTEP User Group) ftp://cube.sm.dsi.unimi.it - (Italian NEXTSTEP User Group) ftp://ftp.nmr.embl-heidelberg.de/pub/next - eduStep ftp://ftp.next.com: - See below ftp.next.com and NextAnswers@next.com ===================================== [from the document ftp://ftp.next.com/pub/NeXTanswers/1000_Help] Welcome to the NeXTanswers information retrieval system! This system allows you to request online technical documents, drivers, and other software, which are then sent to you automatically. You can request documents by fax or Internet electronic mail, read them on the world-wide web, transfer them by anonymous ftp, or download them from the BBS. NeXTanswers is an automated retrieval system. Requests sent to it are answered electronically, and are not read or handled by a human being. NeXTanswers does not answer your questions or forward your requests. USING NEXTANSWERS BY E-MAIL To use NeXTanswers by Internet e-mail, send requests to nextanswers@next.com. Files are sent as NeXTmail attachments by default; you can request they be sent as ASCII text files instead. To request a file, include that file's ID number in the Subject line or the body of the message. You can request several files in a single message. You can also include commands in the Subject line or the body of the message. These commands affect the way that files you request are sent: ASCII causes the requested files to be sent as ASCII text SPLIT splits large files into 95KB chunks, using the MIME Message/Partial specification REPLY-TO address sets the e-mail address NeXTanswers uses These commands return information about the NeXTanswers system: HELP returns this help file INDEX returns the list of all available files INDEX BY DATE returns the list of files, sorted newest to oldest SEARCH keywords lists all files that contain all the keywords you list (ignoring capitalization) For example, a message with the following Subject line requests three files: Subject: 2101 2234 1109 A message with this body requests the same three files be sent as ASCII text files: 2101 2234 1109 ascii This message requests two lists of files, one for each search: Subject: SEARCH Dell SCSI SEARCH NetInfo domain NeXTanswers will reply to the address in your From: line. To use a different address either set your Reply-To: line, or use the NeXTanswers command REPLY-TO If you have any problem with the system or suggestions for improvement, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY FAX To use NeXTanswers by fax, call (415) 780-3990 from a touch-tone phone and follow the instructions. You'll be asked for your fax number, a number to identify your fax (like your phone extension or office number), and the ID numbers of the files you want. You can also request a list of available files. When you finish entering the file numbers, end the call and the files will be faxed to you. If you have problems using this fax system, please call Technical Support at 1-800-848-6398. You cannot use the fax system outside the U.S & Canada. USING NEXTANSWERS VIA THE WORLD-WIDE WEB To use NeXTanswers via the Internet World-Wide Web connect to NeXT's web server at URL http://www.next.com. USING NEXTANSWERS BY ANONYMOUS FTP To use NeXTanswers by Internet anonymous FTP, connect to FTP.NEXT.COM and read the help file pub/NeXTanswers/README. If you have problems using this, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY MODEM To use NeXTanswers via modem call the NeXTanswers BBS at (415) 780-2965. Log in as the user "guest", and enter the Files section. From there you can download NeXTanswers documents. FOR MORE HELP... If you need technical support for NEXTSTEP beyond the information available from NeXTanswers, call the Support Hotline at 1-800-955-NeXT (outside the U.S. call +1-415-424-8500) to speak to a NEXTSTEP Technical Support Technician. If your site has a NeXT support contract, your site's support contact must make this call to the hotline. Otherwise, hotline support is on a pay-per-call basis. Thanks for using NeXTanswers! _________________________________________________________________ Written by: Eric P. Scott ( eps@toaster.SFSU.EDU ) and Scott Anguish ( sanguish@digifix.com ) Additions from: Greg Anderson ( Greg_Anderson@afs.com ) Michael Pizolato ( alf@epix.net ) Dan Grillo ( dan_grillo@next.com )
From: marcelor@acs.bu.edu Newsgroups: comp.sys.amiga.programmer,comp.sys.apple2.programmer,comp.sys.be.programmer,comp.sys.mac.programmer.tools,comp.sys.next.programmer,comp.unix.programmer Subject: Re: Hex Calculator Date: 30 Mar 1997 05:50:33 GMT Organization: Boston University Distribution: world Message-ID: <5hkuv9$3ls@news.bu.edu> References: <jake-1903970058480001@bubble.schap.rhno.columbia.edu> In <jake-1903970058480001@bubble.schap.rhno.columbia.edu>, jake@timewarp.net (Jake Luck) writes: >Hi, > I am in search for a hex-dec-oct-bin conversion ONLY >calculator(hardware). (the conversion features in the CASIOs >are nice but are really cumbersome to use, and those nifty >software version just dont quite cut it). If anyone outta there >knows some company who sells such a thing, would you please >email me? Thanks much in advance. > >-Jake <jake@timewarp.net> Hello, I've got just the thing for you. Actually it is much more than you asked for but I highly recommend it. First, the HP-16 which was a really great calculator has already been mentioned. Unfortunately they are discontinued and very hard to find in the used calculator market. Now, my suggestion is that you get an HP-48GX which handles number systems really nicely. What is really nice is that on top of this, you can get an HP-16 Emulator for it which is a *superb* piece of software in its own right. The emulator is not free, I think it is about $30 from the author ( Jake Schwartz, write me if you need his email address which I don't have handy) and is well worth the money in my opinion. You may be able to save money by buying a used HP-48SX which is the older version of the GX. This would be better for any one using the emulator because the emulator comes with a plastic overlay that works only with the lay-out of the SX keyboard. With the emulator you can do just about anything to do with computer arithmetic, period. Marcelo
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Objective C? Date: Sun, 30 Mar 1997 08:49:07 GMT Organization: InterServ News Service Message-ID: <5hl98v$2nm@lal.interserv.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> <knAqu3O00iWn0HLT80@andrew.cmu.edu> In <<knAqu3O00iWn0HLT80@andrew.cmu.edu>>, Charles William Swiger <cs4w+@andrew.cmu.edu> wrote: >That implementation of assignment does not actually perform even a >shallow copy of the object (ie, pointer manipulation maybe plus >referencing counting). Anyone expecting '=' to perform a copy of the >complete state of an object is not going to get the behavior they expect. Aha! Now I finally understand the locus of your confusion about my example. When I said that "realval" is the only relevant (typo-free this time) member of the class, I meant exactly that. It _is_ _the_ _only_ relevant member. Not "the only member relevant to this application", but "the ONLY relevant member". Got that? Hence the assignment operator I gave for it is defined by the original class designer and is the only one used by the class. The applications programmer needs not ever know any of the implementation details to use it. >James, we were considering the inner comparision test for a >general-purpose sort of an array or list of objects based on a key >value. If you know at compile time that you've only got objects of that >type where you can overload '=' to just copy one ivar, okay-- but you're >trading a performance gain by reducing the flexibility and generality of >the sort. >For example, what happens when you don't have the same type of object in >the array? What happens when you've got subclasses of that object, or >even completely different classes which share an interface in terms of >method names but do not have the same ivars in the exact same place in >the structure underlying the objects? Here is where templates come in. All I need is a generic sort() function template. Then, depending on what are the data types of it's parameters, the compiler will build a sort function customized to that data type. So, if I sort arrays of objects of two different classes, the compiler will create two different sort functions, each optimized to the needs of it's particular class. >(We're back to comparing virtual C++ dispatches to Obj-C's method >invocations, again.....) No we're not. Everything I've described can be completely inline by the compiler. >Oh, I understand ad-hoc polymorphism (aka operator overloading) fine-- I >just dislike it strongly. I have absolutely no idea what "ad-hoc polymorphism" has to do with operator overloading. >Instead of encouraging people to develop flexible code that's dynamicly >bound and can truly interact with any other object which shares a common >interface, the use of operator overloading in the way you've >demonstrated involves objects which are staticly bound, must share >knowledge of each other's implementation, and the resulting code is much >more difficult to maintain since someone else working on your code has >to verify the implementation details of all of the overloaded operators >to ensure that they actually do what you expect them to. And again I must repeat that you obviously do not understand what I'm saying, should using operator overloading in the way I've demostrated allow objects to interact with a common interface, requires no knowledge of each others implementations, has only one method per operator , and makes code much easier to maintain. >And that hampers code reusability. >> But, as a user of a class, all I need to know is that saying "x = y;" >> handles it all. >But Joe class user cannot know that "x = y;" handles it the way he expects >'=' to behave without actually verifying the implemention of '='. Of course he can, since he knows it makes x the functional equilavent of y. What more does he need to know? >> THAT'S the true essense of OOP, and ObjC can only approximate that.... >It's rather odd that the supposed "true essence of OOP" involves static >binding, knowledge of implementation rather than interface, and results >in code that does not work correctly with subclasses of the original >class without the programmer having to worry about whether the original >classes' reimplements operators in unexpected ways. It is the true essence off OOP, because the method I described does NOT require knowledge of implementation, only interface; and results in code that works not only from subclasses, but also for completely unreleated classes. >Now then, what happens when you write a subclass which depends on some >other state being copied than just the one ivar? Your subclasses break >if you simply try to pass them into the sort routine unless you change >the superclass implementation of '=' and recompile the class. That is >one of the classic example of C++'s weak superclass problem, correct? Template solve the problem completely. Even without them, you can have an inlined virtual function, which is compiler would inline when it knows it's safe, and call indirectly when the exact type of the variable is in question. >And what happens if this occurs with some class that's in a library that >you don't have source for? How do you alter the superclasses' >implementation of '=' then? The dynamic runtime of Obj-C lets you >replace method implementations even for classes that you don't have the >source for. Hold it! -- Didn't you just, a few paragraphs ago, say that was a BAD thing? The quote was : " the resulting code is much more difficult to maintain since someone else working on your code has to verify the implementation details of all of the overloaded operators to ensure that they actually do what you expect them to." Now you are advocating changing the implementation of methods of classes you don't even have the source for. Can you say "Maintence nightmare"? >By the way, what does C++ have in terms of integrated reference counting? Define "integrated". C++ keeps C minimalistic approach, and lets you build whatever you need. Defining a RefCount base class, and inheriting for that is a trivial matter. Truth, James
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sun, 30 Mar 1997 08:49:14 GMT Organization: InterServ News Service Message-ID: <5hl994$2nm@lal.interserv.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> In <<5hb805$fo6@news.ml.com>>,  necakov@mljsdi9.dev.japan.ml.com (Tony Necakov) wrote: > Additionally, it is a >real world example because when you subclass things in C++ where you don't >have the source, you don't have the benefit of polymorphism in things done in >the constructor. But in ObjC, "you don't have the benefit of polymorphism in things done in the constructor" either because YOU DON'T HAVE A CONSTRUCTOR! In ObjC, after an object is created (using alloc), you can polymorphically initialize it (using init). In C++, after an object is created (using the ctor), you can polymorphically initialize it (using a member function which you can can init() if you like). Truth, James
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Objective C? Date: Sun, 30 Mar 1997 14:55:58 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <0nDgJCG00iWWM1rU50@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> In-Reply-To: <5hl98v$2nm@lal.interserv.com> Excerpts from netnews.comp.sys.next.advocacy: 30-Mar-97 Re: Objective C? by James M. Curran@CIS.Comp >> That implementation of assignment does not actually perform even a >> shallow copy of the object (ie, pointer manipulation maybe plus >> referencing counting). Anyone expecting '=' to perform a copy of the >> complete state of an object is not going to get the behavior they expect. > > Aha! Now I finally understand the locus of your confusion about my > example. When I said that "realval" is the only relevant (typo-free > this time) member of the class, I meant exactly that. It _is_ _the_ > _only_ relevant member. Not "the only member relevant to this > application", but "the ONLY relevant member". Got that? I understand what you're saying, yes. The problem is, I do not agree with it. Why should I have to study the detailed implementation of '=' for a specific class to realize what ivars the class designer considered important and which ivars weren't considered important? There is no reason at all that I would know or assume that '=' doesn't copy the whole state of the object unless I checked the implementation details. I shouldn't have to worry about this type of problem. > Hence the assignment operator I gave for it is defined by the original > class designer and is the only one used by the class. The > applications programmer needs not ever know any of the implementation > details to use it. Wrong. What happens if I put interesting information into the other ivars that aren't copied by the class designer's implementation of '='? It's not going to be copied, and I'm not going to get the results I'd expected when calling the sort. [ ... ] > >For example, what happens when you don't have the same type of object in > >the array? What happens when you've got subclasses of that object, or > >even completely different classes which share an interface in terms of > >method names but do not have the same ivars in the exact same place in > >the structure underlying the objects? > > Here is where templates come in. All I need is a generic sort() > function template. Then, depending on what are the data types of it's > parameters, the compiler will build a sort function customized to that > data type. What happens when you cannot determine the data types of the parameters at compile time? [ ... ] >> Oh, I understand ad-hoc polymorphism (aka operator overloading) fine-- I >> just dislike it strongly. > > I have absolutely no idea what "ad-hoc polymorphism" has to do with > operator overloading. That's easy-- they are two different names for the same concept. Feel free to look it up in a textbook on computer languages.... >> Instead of encouraging people to develop flexible code that's dynamicly >> bound and can truly interact with any other object which shares a common >> interface, the use of operator overloading in the way you've >> demonstrated involves objects which are staticly bound, must share >> knowledge of each other's implementation, and the resulting code is much >> more difficult to maintain since someone else working on your code has >> to verify the implementation details of all of the overloaded operators >> to ensure that they actually do what you expect them to. > > And again I must repeat that you obviously do not understand what I'm > saying, should using operator overloading in the way I've demostrated > allow objects to interact with a common interface, requires no > knowledge of each others implementations, has only one method per > operator , and makes code much easier to maintain. No, it doesn't. The precise example you've provided relies explicitly on the class designer making assumptions about what parts of a class (which ivars) matter and hence will be copied. The user of the class has to be aware (or beware) that this class implements '=' in a way that does not mean "the entire state of this object is assigned". >>> But, as a user of a class, all I need to know is that saying "x = y;" >>> handles it all. > >> But Joe class user cannot know that "x = y;" handles it the way he expects >> '=' to behave without actually verifying the implemention of '='. > > Of course he can, since he knows it makes x the functional equilavent > of y. What more does he need to know? False. Let's say I put data I wanted to have sorted into one of ivars that the implementation of '=' doesn't copy. I'm not going to have my data sorted with the keys, which was my expectation. [ ... ] >> And what happens if this occurs with some class that's in a library that >> you don't have source for? How do you alter the superclasses' >> implementation of '=' then? The dynamic runtime of Obj-C lets you >> replace method implementations even for classes that you don't have the >> source for. > > Hold it! -- Didn't you just, a few paragraphs ago, say that was a BAD > thing? The quote was : " the resulting code is much more difficult to > maintain since someone else working on your code has to verify the > implementation details of all of the overloaded operators to ensure > that they actually do what you expect them to." You generally use this technique to either monitor method invocations, to add some additional functionality that you wished the method implementation would have done, or to fix bugs in the classes' implementation. Generally, you do your custom behavior and then call the original implementation. > Now you are advocating changing the implementation of methods of > classes you don't even have the source for. Can you say "Maintence > nightmare"? It's a technique that has appropriate usages; replacing methods for no good reason would be a "maintenance nightmare". However, this ability has some really nifty capabilities when used for precise reasons by people who know what they're doing. >> By the way, what does C++ have in terms of integrated reference counting? > > Define "integrated". C++ keeps C minimalistic approach, and lets you > build whatever you need. Defining a RefCount base class, and > inheriting for that is a trivial matter. "integrated" == ships with the standard class libraries and can reasonably be expected to be available with the same interface regardless of which platform and C++ compiler you have. Reference counting is part of the OpenStep spec, and every OpenStep app is free to use reference counting on their objects with garbage collection instead of having to explicitly worry about disposing of the memory used by objects no longer in use. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: ltinguely@pobox.com (Lionel Tinguely) Newsgroups: comp.sys.next.programmer Subject: WHERE to find AppKit DOC ?? Date: Sun, 30 Mar 1997 14:54:21 GMT Organization: WorldCom Message-ID: <5hlune$mg@news.worldcom.ch> Hi There! Who knows where I could fine a downloadable version of FoundationKit and AppKit documentation ? I could only fine a "online viewable" version at next.com Thanks LiONEL >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< name : Lionel Tinguely (MiMe & NeXT mail ok) e-mail: ltinguely@pobox.com ---------------------------------------------------------------------- The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence E.W. Dijkstra Teaching C++ should be sentenced to life imprisonment Me
From: kcd@babylon5.jumpgate.com (Kenneth C. Dyke) Newsgroups: comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Objective C? Date: 30 Mar 1997 23:12:34 GMT Message-ID: <5hms12$ihq$1@nntp2.ba.best.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> <knAqu3O00iWn0HLT80@andrew.cmu.edu> <5hl98v$2nm@lal.interserv.com> In-Reply-To: <5hl98v$2nm@lal.interserv.com> On 03/29/97, James M. Curran wrote: >In <<knAqu3O00iWn0HLT80@andrew.cmu.edu>>, >Charles William Swiger <cs4w+@andrew.cmu.edu> wrote: > >>For example, what happens when you don't have the same type of object >>in the array? What happens when you've got subclasses of that >>object, or even completely different classes which share an interface >>in terms of method names but do not have the same ivars in the exact >>same place in the structure underlying the objects? > > Here is where templates come in. All I need is a generic sort() >function template. Then, depending on what are the data types of it's >parameters, the compiler will build a sort function customized to that >data type. So, if I sort arrays of objects of two different classes, >the compiler will create two different sort functions, each optimized >to the needs of it's particular class. That still does not answer what Charles asked, which was: What happens when you want to sort an array of objects that all adhere to a common interface but do not share the same data layout? In that case, a C++ compiler must use virtual calls because it does not know exactly what kinds of objects it's dealing with. And if the person implementing the base class didn't declare his copy operator virtual, you are basically screwed. >>(We're back to comparing virtual C++ dispatches to Obj-C's method >>invocations, again.....) > > No we're not. Everything I've described can be completely >inline by the compiler. Only in cases where you know exactly what kind of objects you are dealing with, and this precludes being able to sort an array containing more than one kind of object. > It is the true essence off OOP, because the method I described does >NOT require knowledge of implementation, only interface; and results >in code that works not only from subclasses, but also for completely >unreleated classes. In order for you to get the performance that you keep rambling on about, the compiler MUST know the implementation details of the classes you are dealing with, regardless of whether YAU do or not. And once your code is compiled, it is 100% tied to the implementation of those classes. You can scream 'interface' all you want, but the fact remains that if anything important changes you will have to recompile. And in some cases you may have to recompile even if you DON'T use any inline member funtions. See BeOS for an example of this. Here's a note on the "true essence of OOP": "The basic support a programmer needs to write object-oriented programs consists of a class mechanism with inheritance and a mechanism that allows calls of member functions to depend on the actual type of an object (in cases where the actual type is unknown at compile time)." - The C++ Programming Language, 2nd Ed. B. Stroustrup Note that this has nothing whatsoever to do with whether or not you can just say "x = y" in your code, or what kind of performance you're going to get from doing so. Your comment that Objective C can only approximate the 'true essence of OOP' is patently wrong. You are far too hung up on syntactic sugar and efficiency issues. And since you like templates so much, I offer this: "The need to type check virtual function calls can be constraining for library designers. For example, it could be nice to provide a class "stack of anything" for general use. C++ doesn't allow this, but the combinations of templates and inheritance approach the flexibility, ease of design, and ease of use of libraries in languages that rely on dynamic (run-time) type checking, such as Smalltalk, where a "stack of anything" can be expressed." - The C++ Programming Language, 2nd Ed. B. Stroustrup Even Stroustrup says C++ isn't as flexible or easy to use as the Smalltalk (and Objective C) method for creating generic classes. I certainly won't argue with him on that. -Ken
From: email@end.of.post (Raymond Lutz) Newsgroups: comp.sys.next.programmer Subject: WO Pro limitation: single woa instance? Date: 29 Mar 1997 20:01:16 GMT Organization: SPC Message-ID: <5hjsec$hu$1@wagner.spc.videotron.ca> Salut a tous! I read in WOF docs[1] that "With the Enterprise product, you can deploy WebObjects application servers on multiple hardware servers. You can also run multiple instances of an application on each server. In contrast, WebObjects Pro limits your deployment to running a single instance of each WebObjects application on a single hardware server" Does that mean that with WO Pro, no more than ONE user at a time can browse a given web object application ? Thanks, Ray [1] http://www.next.com/Pubs/Documents/WebObjects/EnterpriseVsPro.html -- Raymond Lutz - lutzray-at-9bit.qc.ca - www.9bit.qc.ca/~lutzray - "Les 400 plus fortunes individus de la planete possedent autant que 2.3 MILLIARDS des plus pauvres reunis"
From: embuck@yin.mcleod.net (Erik M. Buck) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 30 Mar 1997 21:49:14 GMT Organization: McLeodUSA, Cedar Rapids, IA Message-ID: <5hmn4q$cnf1@email1-1.mcleodusa.net> References: <5h45ac$fn9$2@news.xmission.com> <AF617A66-BE510@198.68.42.211> Cc: english@primenet.com In <AF617A66-BE510@198.68.42.211> "Lawson English" wrote: > > > >Well, if NeXT ever finishes the link+go or whatever is was that they ... > > Jeeze. You can do this with SOM right now. Even the CFM offers a way to do > this if you really want to be daring. > You can do this now with PDO/DO (with separately compiled code) on nextstep. The technology being described above related to just in time compiling/linking which is a different issue. Next wanted to be able to recompile just the line you changed in the text editor and immediately run with the change thus short circuiting the edit compile link cycle.
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: WO Pro limitation: single woa instance? Date: 31 Mar 1997 04:51:28 GMT Organization: Digital Fix Development Message-ID: <5hnfsg$jl9$1@news.digifix.com> References: <5hjsec$hu$1@wagner.spc.videotron.ca> In-Reply-To: <5hjsec$hu$1@wagner.spc.videotron.ca> On 03/29/97, Raymond Lutz wrote: >Salut a tous! > >I read in WOF docs[1] that > >"With the Enterprise product, you can deploy WebObjects application >servers on multiple hardware servers. You can also run multiple >instances of an application on each server. In contrast, WebObjects >Pro limits your deployment to running a single instance of each >WebObjects application on a single hardware server" > >Does that mean that with WO Pro, no more than ONE user at a time >can browse a given web object application ? > Not exactly no. More than one user can access your WOF application at a time, but its a sharing system... that is, WOApplication is not multithreaded. One users page is generated, then the next, then the next. In most cases this isn't a big deal because you don't have to do massive calculations. Once the page that UserA is looking at has been generated, UserB's will be generated. It only becomes a major hassle if UserA is doing some lookup or something that takes time. IN WOF Enterprise... if you have multiple instances deployed, then the load balancing stuff would be used, and there wouldn't be a wait. -- Scott Anguish DBS Online - http://www.dbs-online.com/DBS sanguish@digifix.com Stepwise OpenStep WWW - http://www.stepwise.com
From: Bob <jamaica8@juno.com> Newsgroups: comp.sys.next.programmer Subject: Child Parent Fileno() Help Date: Sun, 30 Mar 1997 12:15:57 -0800 Organization: AT&T WorldNet Services Message-ID: <333EC9FD.2622@juno.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit an someone help with this question I have to write a program parent.c that spawns execution of child.c parent will append file1...filen to a destination-file. destination-file is a shared resource between parent and child and is opened for appending in the parent before the spawns and closed in parent after all files have been appended the destination-file ,translated to to string format is passed to child as argv[2] have to use the fileno function in parent and fdopen() in child but can't find any info on fileno() have tried to man it but no manuel exists. Can any help with info on fileno(), am a student in operating systems Thanks, Bob
From:  necakov@mljsdi9.dev.japan.ml.com (Tony Necakov) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 31 Mar 1997 05:38:32 GMT Organization: Merrill Lynch Message-ID: <5hniko$ao0@news.ml.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > But in ObjC, "you don't have the benefit of polymorphism in things >done in the constructor" either because YOU DON'T HAVE A CONSTRUCTOR! And the down-side here is? > In ObjC, after an object is created (using alloc), you can >polymorphically initialize it (using init). But I already do this by convention, > In C++, after an object is created (using the ctor), you can >polymorphically initialize it (using a member function which you can >can init() if you like). you don't. Justice and the American Way, TN
Date: Mon, 31 Mar 1997 11:41:04 -0600 From: curranj@mskcc.org Subject: Re: Objective C? Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Message-ID: <859829717.6893@dejanews.com> Organization: Deja News Usenet Posting Service References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> In article <5hniko$ao0@news.ml.com>,  necakov@mljsdi9.dev.japan.ml.com (Tony Necakov) wrote: > > JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > > > But in ObjC, "you don't have the benefit of polymorphism in things > >done in the constructor" either because YOU DON'T HAVE A CONSTRUCTOR! > > And the down-side here is? The downside is that you don't have a constructor <duh!>. Constructors are one of C++'s most useful and powerful features. To suggest that we are better off without them just because of one failing in a pathological example is foolish. > > > In ObjC, after an object is created (using alloc), you can > >polymorphically initialize it (using init). > > But I already do this by convention, > > > In C++, after an object is created (using the ctor), you can > >polymorphically initialize it (using a member function which you can > >can init() if you like). > > you don't. > Actually, we do -- the derived class can (and should) have it's own constructor, and with it's own constructor, the object is correctly initially -- based on a feature that is actually part of the language, not a convention dreamed up by users to get around a language's lack of a specific feature (as ObjC's alloc/init convention is) The code you posted is a bad example for many reasons. Basically, it requires the user of the class who wil be creating a subclass of it, to KNOW that the describe() method will be called from the constructor. But that is an implementation detail. The class users should NOT be required (or even allowed) to know that. Hence you are showing that ObjC is a better OO language, IF you plan on violating OO design. Further, the whole idea of "polymorphism in things done in the constructor" is illogically. Polymorphism means that a message send to object Y might behavior differently depending on whether Y is of type X or of type SonOfX. But, during the constructor, Y ain't neither yet. You want to treat the constructor as if it were just another member function (probably because ObjC's init methods are just like other methods). But constructors are different, and that's where their power lies. -------------------==== Posted via Deja News ====----------------------- http://www.dejanews.com/ Search, Read, Post to Usenet
From: jabi@acsu.buffalo.edu Newsgroups: comp.sys.next.programmer Subject: Re: WHERE to find AppKit DOC ?? Date: Mon, 31 Mar 1997 12:28:42 -0500 Organization: University at Buffalo Message-ID: <333FF44A.5BCE@arch.buffalo.edu> References: <5hlune$mg@news.worldcom.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit NNTP-Posting-User: jabi To: ltinguely@pobox.com Lionel Tinguely wrote: > > Hi There! > > Who knows where I could fine a downloadable version of FoundationKit > and AppKit documentation ? I could only fine a "online viewable" > version at next.com > > Thanks > > LiONEL > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< > name : Lionel Tinguely (MiMe & NeXT mail ok) > e-mail: ltinguely@pobox.com > ---------------------------------------------------------------------- > The use of COBOL cripples the mind; its teaching should, therefore, be > regarded as a criminal offence > E.W. Dijkstra > > Teaching C++ should be sentenced to life imprisonment > > Me The best thing is to use a Macintosh Computer and download all the files from: http://www.next.com/Pubs/Documents/Download/apple.html If you are using Black Hardware: http://www.next.com/Pubs/Documents/Download/mach.html But Only the Foundation Kit is available for download. If you are using Windows NT, you can still download tar program and download the files. Check: http://www.next.com/Pubs/Documents/Download/winnt.html -- w a s s i m j a b i :::::::::::::::::::::::::::::::::::: Dept. of Architecture http://libra.arch.buffalo.edu/www/ University at Buffalo EMail: wjabi@arch.buffalo.edu 3435 Main St. - Hayes Tel: +1 (716) 829-3483 Buffalo, NY 14214 USA Fax: +1 (716) 829-3256
Date: Mon, 31 Mar 1997 12:21:18 -0600 From: curranj@mskcc.org Subject: Re: Objective C? Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Message-ID: <859832225.8762@dejanews.com> Organization: Deja News Usenet Posting Service References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> <5heg3q$a4a$1@nntp2.ba.best.com> In article <5heg3q$a4a$1@nntp2.ba.best.com>, kcd@babylon5.jumpgate.com (Kenneth C. Dyke) wrote: > > Semantically you are right. In real life your code is not at all > isolated from changes to the class. If the class changes, you > recompile. So if someone finds a nasty bug in their class, it's > now hardcoded into your software, and shipping a new library won't fix > it. True enough. That's one of the trade-offs involved. > Bullshit. You are equating syntactic sugar with OO functianality. I'd argue that 90% of OO functionality *IS* syntactic sugar, but that's a debate for a diferent time. > > >beneath you. OK, Given the class: > > class Point > > { int x; > > int y; > > public: > > Point(int X, int Y) { x= X; y=Y;}; > > operator=(Point rhs) {x=rhs.x; y=rhs.y;} > > virtual print() {cout << "(" << x << "," << y << ")" } > > }; > > > > [comparable ObjC class omitted] > > > > Now let's see what you can do with it. > >Creation on automatic object (on stack): > >C++: Point Pt(10,20); > >ObjC: Can't be done. > >(advantage C++) > > Sure it can be done. Don't make something as rediculously simple as a > Point into a class, especially if there aren't going to be any virtual > member functions in it. Objective C programmers tend not to try to > turn every concept into a class. Which bring us back I point previously --- You seem to be arguing that ObjC is a great language as long as you don't use it. Point might be "ridiculously simple" but is a perfect concept to be made into a class. Every class library I've worked with (C++ or SmallTalk) had one. Treating a point as one object instead of two separate coordinate numbers makes handling it much easier. (for instance, how do you return one from a function?) > >Shallow copy: > >C++: pPt1 = pPt2; > >ObjC: Pt1 = Pt2; > >(draw) > > That's a pointer assignment, it's not making a copy of either object. But that's what a shallow copy is........ > > >Deep Copy: > >C++: Pt1 = Pt2; > >ObJC: Pt1 = [[Point alloc] init:Pt2]; > >(Again I prefer the C++ syntax, but, this time I think it's clear > >enough to say advantage C++) > > Try: Pt1 = [Pt2 copy]; > > At least in the objective c case you know from looking at the code > what is going on. In C++ you have to go and track down the > declarations of the variables involved to figure out what's going on. > Well, that depends on there being a "copy" method defined for that class. I'm not sure how widespread that convention is. I assumed an init method using an object of that type would be more common. And how confusing can "Pt1=Pt2;" be? It treats Pt1 & Pt2 exactly the same if they are ints, floats or Points. > >effecient deep copy: > >C++: Pt1 = Pt2; // inlining handled by compiler > > // encapsolation maintained > > Only if the assignment operator isn't virtual. No. Since Pt1 & Pt2 are actual object and not pointers to objects, they can only be Points, and not some subclass of Point, hence they could be inlined. > > >ObjC: Pt1->x = Pt2->x; // inlining handled by programmer > > Pt1->y = Pt2->y; // encapsolation violated. > > That may be 'efficient' for some cases, but I seriously doubt you'll > ever find many Objective C programmers that write code like that. > > >effecient polymorphic call: > >C++: pPt->print(); > >ObjC: func f; > > f = sel_getMethod(Point, @selector(print)); > > f(); > And once again you are totally hung up on the assumed poor performance > of Objective C method dispatching, without taking a serious look at > the benefits it has. I admit that it has benefits -- but only in rare circumstances ---- Places where I could generally write a C++ code that allows it (prototype version posted elsewhere in this thread). The point is I'd like to be able to turn it off for the 99% of the time where I don't need it. > > >very effecient method call when run-time polymorphism isn't needed > >(ie, object actual type is known) > >C++: Pt.print(); > >Obj: can't be done. > > In cases where run-time polymorphism aren't needed, I don't use a > class. I see almost no reason to do so in cases where the 'objects' > involved are so simple as to not require OO features, other than > for syntactical reasons. I've seen what happens when C++ programmers > go apeshit and make EVERYHING a class right down to 'Points'. They > wind up with massively complex code with poor performance. Nonsense --- You're just rationalizing. You language of choice isn't good for trivial classes, so you've just declare that making trivia class isn't good OOP, and throwing in an unsupported specter of complex code and poor performance. Elsewhere, I countered an ObjC example of: [alertArea text: "Danger" color:red blink:ON] with a C++ example of alertArea << blinking << red << "Danger"; I have infact coded up an example for that which works. It involves several trival class and some very complex code --- ALL of which is hidden away in a header file, where NO ONE has to be concerned with it-- leaving just the simple syntax above.... > > > In other words, the C++ code is always graceful, > > pretty, encapsolated, and easier to maintain. > I happen > to LIKE the fact that the syntax for dealing with objects in Objective > C is DIFFERENT than the syntax for dealing with structures -- because > they work differently. Consider the following line of C++ code: > > x = y->foo(z); > > From reading just that code, you can not tell if y is a struct or a > class, whether foo is virtual or not, or whether z could be modififed. True -- because NONE of that is supposed to matter! In fact, C++ acknowledges no difference between a class & a struct (OK, one difference: members of structs are public by default, while members of classes are private by default; otherwise they can be used interchangibly) -------------------==== Posted via Deja News ====----------------------- http://www.dejanews.com/ Search, Read, Post to Usenet
From: fahl@dataton.se (Mike Fahl) Newsgroups: comp.sys.mac.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer,comp.sys.next.advocacy Subject: Re: Objective C? Date: Mon, 31 Mar 1997 20:41:25 +0100 Organization: Dataton =?ISO-8859-1?Q?=AD=A0TRUE?= MULTIMEDIA Message-ID: <1997033120412571610@du86-96.ppp.algonet.se> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <331f6ea2.1358032@nntp.ix.netcom.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov> <5gdbq0$3p1@lal.interserv.com> <petrichE750Ms.32G@netcom.com> <5ghjc4$d92@lal.interserv.com> <petrichE7Fq55.Eo6@netcom.com> <knB2rwa00iV9Q1sDM4@andrew.cmu.edu> <petrichE7HrpC.K0E@netcom.com> <5h4l9o$3m3$1@nntp2.ba.best.com> <qdzpvspxe8.fsf@blues.cygnus.com> <EnC0xz600iWZE3EdEo@andrew.cmu.edu> NNTP-Posting-User: be31d05456204f79693c87732e2a5b740 Charles William Swiger <cs4w+@andrew.cmu.edu> wrote: > SEL's are 4-byte values, which are really just a pointer to a string > which is the name of the method-- ie, SEL's are guaranteed to be unique. > > When I was talking about hash lookups, I was talking about looking up > the method implementation for a given class associated with a particular > selector, not about looking up a selector for a method name. Let's see if I got this straight: 1. A "SEL" is used to identify a method name. 2. The "SEL" is typically a 32 bit pointer to a string, which is the method name. 3. All methods with the same name use the same "SEL", regardless of the class to which the various methods belong. 4. For each class, theres a table that associates SELs to the actual function for the implementations of all methods related to the class. 5. A hash is produced from the "SEL" to speed up the lookup of the function in the class' SEL-to-function table. Assuming the above is correct, how are the following two cases handled: I. Assume that the two classes A and B both have a function named f, but which takes different paremeters. How are the two distiguished? Or am I not allowed to use the same function name in different classes? II. How can objects living in different address spaces talk to each other? The "SEL" - being a pointer to to a string (ie, and address) is address-space specific, and wouldn't make sense outside the process. OTOH, passing the function name as a string and do a full string lookup seems rather expensive. Mike Fahl
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer,comp.sys.next.advocacy Subject: Re: Objective C? Date: 31 Mar 1997 21:00:36 GMT Organization: ace dot net internet technologies Message-ID: <5hp8lk$8g6$1@darla.visi.com> References: <330E54AC.167E@innosys.com> <331f6ea2.1358032@nntp.ix.netcom.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov> <5gdbq0$3p1@lal.interserv.com> <petrichE750Ms.32G@netcom.com> <5ghjc4$d92@lal.interserv.com> <petrichE7Fq55.Eo6@netcom.com> <knB2rwa00iV9Q1sDM4@andrew.cmu.edu> <petrichE7HrpC.K0E@netcom.com> <5h4l9o$3m3$1@nntp2.ba.best.com> <qdzpvspxe8.fsf@blues.cygnus.com> <EnC0xz600iWZE3EdEo@andrew.cmu.edu> <1997033120412571610@du86-96.ppp.algonet.se> In comp.sys.next.advocacy Mike Fahl <fahl@dataton.se> wrote: > Assuming the above is correct, how are the following two cases handled: > I. Assume that the two classes A and B both have a function named f, but > which takes different paremeters. How are the two distiguished? Or am I > not allowed to use the same function name in different classes? Since ObjC is dynamically typed, there's no C++ style draw(Object), draw(String), draw(Triangle) as different methods. ObjC uses the smalltalk convention of: - foo:param; - foo:param withBar:param2; .. and the selectors look like foo:, foo:withBar:, so they don't collide. > II. How can objects living in different address spaces talk to each > other? The "SEL" - being a pointer to to a string (ie, and address) is > address-space specific, and wouldn't make sense outside the process. > OTOH, passing the function name as a string and do a full string lookup > seems rather expensive. Objects living in different address spaces would be different processes. They have totally separate runtimes. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: jan@scapa.cs.ualberta.ca (Jan Sacharuk) Newsgroups: gnu.emacs.help,comp.sys.next.programmer,comp.sys.next.software Subject: Newer version of Emacs for Open/NeXTStep? Date: 31 Mar 1997 21:39:49 GMT Organization: University of Alberta, Edmonton, Canada Message-ID: <5hpav5$i1o@pulp.ucs.ualberta.ca> The version of emacs that shipped with Openstep is hopelessly old. Is there a newer version that'll run under Openstep/Nextstep? Thanks
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer,comp.sys.next.advocacy,comp.sys.mac.advocacy Subject: Re: Objective C? Date: Mon, 31 Mar 1997 17:11:53 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <UnE3Ode00iV606uGMJ@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <331f6ea2.1358032@nntp.ix.netcom.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@sa <1997033120412571610@du86-96.ppp.algonet.se> In-Reply-To: <1997033120412571610@du86-96.ppp.algonet.se> Excerpts from netnews.comp.sys.next.advocacy: 31-Mar-97 Re: Objective C? by Mike Fahl@dataton.se > > When I was talking about hash lookups, I was talking about looking up > > the method implementation for a given class associated with a particular > > selector, not about looking up a selector for a method name. > > Let's see if I got this straight: > > 1. A "SEL" is used to identify a method name. > > 2. The "SEL" is typically a 32 bit pointer to a string, which is the > method name. > > 3. All methods with the same name use the same "SEL", regardless of the > class to which the various methods belong. > > 4. For each class, theres a table that associates SELs to the actual > function for the implementations of all methods related to the class. > > 5. A hash is produced from the "SEL" to speed up the lookup of the > function in the class' SEL-to-function table. Yes, I think everything you've said above is right. > Assuming the above is correct, how are the following two cases handled: > > I. Assume that the two classes A and B both have a function named f, but > which takes different paremeters. How are the two distiguished? Or am I > not allowed to use the same function name in different classes? The method string includes the argument specifiers, and you usually specify method names which are descriptive of what the arguments are. For example, if you want to create a new NSNumber which is an int or a float, you'd use [[NSNumber alloc] initWithInt:123]; [[NSNumber alloc] initWithFloat:123.0]; ...and these would have different names. However, you can use the same name for different argument types if you really wanted to. You'd probably not want to have the header files defining the two classes included at the same time unless you've explicitly typed the all of the uses of that function by class name so that the compiler can figure out which one is which. The compiler and runtime system keeps track of what the type of the arguments should be, so any of the automatic type conversions are normally done for you. If you don't specify enough information, the compiler will provide a warning and/or error, and if you deliberately miscast an argument, you're probably going to get wrong results. In other words, if you try to deliberately confuse the compiler, you'll probably succeed. :-) > II. How can objects living in different address spaces talk to each > other? The "SEL" - being a pointer to to a string (ie, and address) is > address-space specific, and wouldn't make sense outside the process. > OTOH, passing the function name as a string and do a full string lookup > seems rather expensive. I don't know for certain but I'd assume they just do the full-string lookup once and cache the SEL value for doing any more remote method invocations with that method name. The overhead associated with network transmissions is probably more significant than the one-time cost of doing such a lookup per method name. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: frank@this.NO_SPAM.net (Frank M. Siegert) Newsgroups: comp.sys.next.programmer Subject: Re: I need software suport help in DC Date: 31 Mar 1997 22:30:57 GMT Organization: Frank's Area 51 Message-ID: <5hpdv1$1m2$1@orista.ipc.uni-tuebingen.de> References: <3326B1EC.7873@mail.house.gov> <5gulh7$od9@mimsy.cs.umd.edu> Cc: seanl@carmi.cs.umd.edu In <5gulh7$od9@mimsy.cs.umd.edu> Sean Luke wrote: > >I can connect to Novell server, but I can't get printer connectivity. > ...some good advices by Sean Luke ommited... If your Novell server runs Appletalk (AFP printer server) the upcoming release of CAPer (not the V4 currently available on the archives) can do the trick. > >If its possible, I'd like to be able to connect to an NT server To import a NT SMB volume use 'rumba' as available on the archives. It works fine. For printing see above plug for CAPer (if your NT server runs the Appletalk protocol) or simply use samba. -- * Frank M. Siegert [frank@this.net] - Home http://www.this.net * NeXTSTEP, Linux, BeOS & PostScript Guy
From: mkagalen@lynx.dac.neu.edu (Michael Kagalenko) Newsgroups: comp.sys.mac.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer,comp.sys.next.advocacy Subject: Re: Objective C? Date: 31 Mar 1997 16:04:43 -0500 Organization: Northeastern University, Boston, MA. 02115, USA Message-ID: <5hp8tb$ned@lynx.dac.neu.edu> References: <330E54AC.167E@innosys.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@samoyed.ftc.nr <1997033120412571610@du86-96.ppp.algonet.se> Content-Type: text/html Mike Fahl (fahl@dataton.se) wrote in article <1997033120412571610@du86-96.ppp.algonet.se> <pre><blink> ]Charles William Swiger <cs4w+@andrew.cmu.edu> wrote: ] ]> SEL's are 4-byte values, which are really just a pointer to a string ]> which is the name of the method-- ie, SEL's are guaranteed to be unique. ]> ]> When I was talking about hash lookups, I was talking about looking up ]> the method implementation for a given class associated with a particular ]> selector, not about looking up a selector for a method name. ] ]Let's see if I got this straight: ] ]1. A "SEL" is used to identify a method name. ] ]2. The "SEL" is typically a 32 bit pointer to a string, which is the ]method name. I am not sure that SEL is really a pointer. NeXT manual says merely that it is the identifier of method name, and it's uniqueness is guaraneed by the run-time. I am sure that trying to get method's name by dereferencing selector is the recipe for disaster. ]3. All methods with the same name use the same "SEL", regardless of the ]class to which the various methods belong. Yep. ]4. For each class, theres a table that associates SELs to the actual ]function for the implementations of all methods related to the class. Yep, a "class dispatch table" ]5. A hash is produced from the "SEL" to speed up the lookup of the ]function in the class' SEL-to-function table. No, SEL _is_ such a hash. ]Assuming the above is correct, how are the following two cases handled: ] ]I. Assume that the two classes A and B both have a function named f, but ]which takes different paremeters. How are the two distiguished? Or am I ]not allowed to use the same function name in different classes? You are not allowed to use the same method name to call functions with different return types and arguments (unless you statically type the receivers for the message). Dynamic binding demands that. ]II. How can objects living in different address spaces talk to each ]other? Why, by sending messages to each other, of course. ]The "SEL" - being a pointer to to a string (ie, and address) is ]address-space specific, and wouldn't make sense outside the process. If you are talking about messaging within application, each SEL is unique. The method it invokes is determined by the object it is sent to. ]OTOH, passing the function name as a string and do a full string lookup ]seems rather expensive. That's what SEL data type is for. It is NOT pointer for the string. -- ABILITY,n. The natural equipment to accomplish some small part of the meaner ambitions distinguishing able men from dead ones. -- Ambrose Bierce, "The Devil's Dictionary"
From: planetary <planet@xmission.xmission.com> Newsgroups: comp.sys.next.programmer Subject: Re: I need software suport help in DC Date: 31 Mar 1997 17:46:34 -0700 Organization: XMission Internet (801 539 0900) Message-ID: <5hplta$lkc$1@xmission.xmission.com> References: <3326B1EC.7873@mail.house.gov> <5gulh7$od9@mimsy.cs.umd.edu> <5hpdv1$1m2$1@orista.ipc.uni-tuebingen.de> Frank M. Siegert <frank@this.NO_SPAM.net> wrote: : In <5gulh7$od9@mimsy.cs.umd.edu> Sean Luke wrote: : > >I can connect to Novell server, but I can't get printer connectivity. : > : ...some good advices by Sean Luke ommited... : If your Novell server runs Appletalk (AFP printer server) the upcoming : release of CAPer (not the V4 currently available on the archives) can do the : trick. You can also run Samba on the NetWare server, allowing you to mount NetWare volumes using the same mechanism you use to mount NT resources. But connecting to NetWare from 3.3 should Just Work. You shouldn't have to run a nonnative protocol on a NetWare server just to access bindery resources under NEXTSTEP. ............kris -- Kristopher Magnusson kris@xmission.com (no NeXTmail, please) --------------------------------------------------------------------------- Contains freshness saver packet. DO NOT EAT.
From: Timothy Luoma <luomat@peak.org> Newsgroups: gnu.emacs.help,comp.sys.next.programmer,comp.sys.next.software Subject: Re: Newer version of Emacs for Open/NeXTStep? Date: Mon, 31 Mar 1997 16:48:33 -0800 Organization: The PEAK FTP site for OpenStep & NeXTStep Message-ID: <Pine.SUN.3.96.970331164814.10573B-100000@kira> References: <5hpav5$i1o@pulp.ucs.ualberta.ca> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: Jan Sacharuk <jan@scapa.cs.ualberta.ca> In-Reply-To: <5hpav5$i1o@pulp.ucs.ualberta.ca> checkout http://nice.ethz.ch/~chris TjL -- TjL <luomat@peak.org> http://www.peak.org/~luomat/next/ "NEXTSTEP computers come with a set of uncomplicated yet powerful networking app lications, ... which reside in the /NextAdmin directory." -- NeXT online docs (01_Planning.rtf)
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer,comp.sys.next.advocacy,comp.sys.mac.advocacy Subject: Re: Objective C? Date: Mon, 31 Mar 1997 23:39:44 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <InE96Eq00iWp0J8740@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@samoyed.ftc.nr <1997033120412571610@du86-96.ppp.algonet.se> <5hp8tb$ned@lynx.dac.neu.edu> In-Reply-To: <5hp8tb$ned@lynx.dac.neu.edu> Excerpts from netnews.comp.sys.next.advocacy: 31-Mar-97 Re: Objective C? by Michael Kagalenko@lynx.d >]2. The "SEL" is typically a 32 bit pointer to a string, which is the >]method name. > > I am not sure that SEL is really a pointer. NeXT manual says > merely that it is the identifier of method name, and > it's uniqueness is guaraneed by the run-time. I am sure that > trying to get method's name by dereferencing selector is > the recipe for disaster. From the CalculatorLab demo: [ ... ] Breakpoint 1, -[SimpleCalc init] (self=0xbf488, _cmd=0x617f035) at SimpleCalc.m:32 (gdb) p _cmd $1 = (struct objc_selector *) 0x617f035 (gdb) p (char *) _cmd $2 = 0x617f035 "init" Of course, nothing about the runtime has ever stated or guaranteed that you can deference a SEL as a (char *) to a string which is the method name for that selector, but it does work. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Marcel Waldvogel and Netfuture.ch.