From 4136229845258036719
X-Google-Thread: f78e5,e8e0ab29e8861265
X-Google-Attributes: gidf78e5,public
X-Google-Language: ENGLISH,ASCII-7-bit
Path: g2news1.google.com!news3.google.com!news.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local01.nntp.dca.giganews.com!nntp.speakeasy.net!news.speakeasy.net.POSTED!not-for-mail
NNTP-Posting-Date: Wed, 27 Jul 2005 20:40:07 -0500
Return-Path: <devnull@stump.algebra.com>
X-Authentication-Warning: mulga.cs.mu.OZ.AU: fjh set sender to devnull@stump.algebra.com using -f
X-Robomod: STUMP, ichudov@algebra.com (Igor Chudov)
Delivered-To: std-c++@ucar.edu
From: verec <verec@mac.com>
Newsgroups: comp.std.c++
Message-ID: <42e81ebe$0$38041$5a6aecb4@news.aaisp.net.uk>
References: <1122336456.595882.282330@g49g2000cwa.googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Subject: Re: If C++ had interfaces, what would they be?
User-Agent: Unison/1.6.1
X-Complaints-To: aaispnews-abuse@gradwell.net
X-Virus-Scanned: amavisd-new at ucar.edu
X-Virus-Scanned: amavisd-new at cs.mu.OZ.AU
Approved: Fergus Henderson <fjh@cs.mu.oz.au>, moderator of comp.std.c++
X-Virus-Scanned: amavisd-new at cs.mu.OZ.AU
Date: Wed, 27 Jul 2005 20:38:19 CST
Lines: 52
NNTP-Posting-Host: 65.182.171.162
X-Trace: sv3-s56nkXbYPW0+8afMprIoeusDq4M2lmVXhu3TKb3OjhwolgljWwneKK3351chXubuwlTE5OEAVlsx03f!nmDussBjGKkhcXPj0pBerC3v9NFaxetNyr5pTYwuPxe5mjwXhy2UNKzkAqCyM7oapflm4FiZohc5!2ACTTvCQsFNfz1EbT5SLlSx5Pm8MRQ==
X-Complaints-To: abuse@speakeasy.net
X-DMCA-Complaints-To: abuse@speakeasy.net
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.32
Xref: g2news1.google.com comp.std.c++:1533

On 2005-07-25 20:13:37 +0100, "Bob Bell" <belvis@pacbell.net> said:

>> With the exception of interfaces and abstract classes, Java doesn't have any
>> distinction between "declaration" and "definition" (that I can thing of.)
>> Of course these features are used extensively.  Nonetheless, because the
>> Java source code is more coherently organized by specification (or at least
>> recommendation and convention), and also because Java specifies a great
>> many infrastructure mechanism to facilitate locating resources, the Java
>> resource base can be searched much more effectively and deterministically
>> than can a C++ code base.
> 
> As far as I can tell, this simply isn't true; at least, searching for
> definitions in a C++ code base does not have to be inefficient or
> non-deterministic. Modern IDEs accomplish this quite handily; the
> Metrowerks IDE can quickly take me to the definitions of macros,
> functions, classes, typedefs, etc.

And allows you to
- browse by (possibly nested) namespaces ?
- browse by containment (X's contain Y's that contain Z's ...) ?
- browse by call chain (AKA sequence diagrams) ?
- browse by template specialization ?

> In other words, the ability to search a code base is a tools issue, not
> a language issue.

That's a tool issue ... too. But if the language provides some help
for tool implementors, that can't be a nuisance, can it?

Like the fact that, in real life, Java does provide, in its class files
a ready to use (modulo some not too hard to overcome technicalities :)
symbol table for each class whereas, in the C++ world, the said symbol
table is only transient _while the compiler runs_ and totally absent
otherwise.

Like the fact that, being designed for large scale, Java has been
modularized, categorized and organized into dozens of packages (java.io
java,lang, java.net, java,util, etc...) whereas the best C++ could
agree to standardize was .... namespace std ...

In other words, tools can only go as far as providing you with
information that is *already there* albeit in a non very friendly
form, but cannot do much to synthetize out of thin air what isn't.
--
JFB

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html                       ]



