Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!iuvax!uxc.cso.uiuc.edu!uxc.cso.uiuc.edu!m.cs.uiuc.edu!p.cs.uiuc.edu!johnson From: johnson@p.cs.uiuc.edu Newsgroups: comp.lang.c++ Subject: Re: A little more info on ParcPlace Obj Message-ID: <77300032@p.cs.uiuc.edu> Date: 19 Aug 89 15:39:00 GMT References: <3697@ncsuvx.ncsu.edu> Lines: 36 Nf-ID: #R:ncsuvx.ncsu.edu:3697:p.cs.uiuc.edu:77300032:000:1952 Nf-From: p.cs.uiuc.edu!johnson Aug 19 10:39:00 1989 Browsers are very nice (I use Smalltalk a lot) but they are also easy to write. A student of mine built a nice browser for C++ using GNUEmacs. She wrote a version of tags that would scan all your source files and build a cross-reference file. The browser would use this file to answer questions like "find all uses of this function" and "find the definition of this function", as well as "display all superclasses" and "display all subclasses". It worked nicely for awhile, but something broke in a later version of GNUEmacs, and I am not a GNUEmacs Lisp hacker, so I haven't tried to fix it. Also, extremely large comments (over 1000 characters) cause the tags processor to break, because it uses lex and I don't know how to change one of the buffer sizes. I would be glad to give this to someone who promises to try to fix these problems. Browsers are very nice, but the best part of Cynergy (ObjectWorks is an aweful name. Cynergy is a great name. Even worse, ParcPlace is going to call BOTH Smalltalk and Cynergy "ObjectWorks"!) is incremental compilation. Each a.out file is represented by an object that is able to patch in a newly compiled procedure. Thus, if you change a small procedure in your huge program then you will get a new version of the a.out file in just a few seconds. The number I saw was about 15 seconds, which includes compilation time. The purpose of Cynergy is to make as good a copy of the Smalltalk environment as possible for C++. Thus, the debugger, browser, object inspector, etc. are all tightly integrated. Don't expect to run Cynergy on a small Sun. Don't expect to run it on a 4 meg Mac II. It will be very nice, but top of the line programming environments require lots of memory. By the way, Cynergy was demonstrated at OOPSLA'88. OOPSLA'89 is coming up. It's the place to go to see what is happening with object-oriented programming. Ralph Johnson - University of Illinois at Urbana-Champaign