Path: news.daimi.aau.dk!news.uni-c.dk!sunic!sunic.sunet.se!newsfeed.tip.net!news.seinf.abb.se!eua.ericsson.se!erinews.ericsson.se!cnn.exu.ericsson.se!convex!cs.utexas.edu!news.sprintlink.net!EU.net!uunet!in2.uu.net!svc.portal.com!news1.best.com!news.best.com!tmb From: tmb@concerto.best.com Newsgroups: comp.object,comp.lang.beta,comp.lang.c++,comp.lang.eiffel,comp.lang.python,comp.lang.sather,comp.lang.smalltalk Subject: Re: Rapid Prototyping + statically-typed OOPLs? Date: 29 Jul 1995 23:36:52 GMT Organization: * Lines: 25 Message-ID: References: <3v1vk1$bjp@newsbf02.news.aol.com> Reply-To: tmb@best.com NNTP-Posting-Host: tmb.vip.best.com In-reply-to: Ian.Mitchell@sunderland.ac.uk's message of Fri, 28 Jul 1995 11:04:18 Xref: news.daimi.aau.dk comp.object:34466 comp.lang.beta:493 comp.lang.c++:131970 comp.lang.eiffel:9757 comp.lang.python:5260 comp.lang.sather:2038 comp.lang.smalltalk:25023 In article Ian.Mitchell@sunderland.ac.uk (Ian Mitchell) writes: | Smalltalk may indeed make C++ look incredibly verbose; this | is not my point. My point is that C++ can be used for RP | purposes because it is easy to extract a call tree for the | methods [...] It is? Care to demonstrate? As far as I can tell, determining who calls who in a C++ program requires at least as much effort as a full compiler front end. Note that just looking for ".name(" and "->name(" tells you very little about what code actually gets invoked. You need to know whether "name" refers to a virtual or non-virtual member function. If it's a non-virtual function, you need to know the type of the thing to the left of the member operator. And then, of course, there are all the binary operators that you won't catch at all without a full syntactic analysis. And there are overloaded and template functions and template specializations, which can make it very hard to figure out what piece of code corresponds to a particular function call. In any case, I really don't see what a call tree has to do with RP. I generally need call trees only when I inherit some poorly structured large program. Thomas.