PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > comp.lang.cplus > Interfaces in C++
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
Interfaces in C++

Réponse
 
LinkBack Outils de la discussion
Vieux 10/10/2008, 17h19   #26
Chris Becke
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Interfaces in C++

Outlook express is being really funny.
Its never been the worst news client, but this version has gone sideways.

"Ruben" <ruben@www2.mrbrklyn.com> wrote in message news:pan.2008.10.10.14.37.50.601771@www2.mrbrklyn. com...
> On Fri, 10 Oct 2008 11:09:31 +0200, Chris Becke wrote:
>
>> I do not in any way wish to imply that c++ features should not be used.
>>
>> I do think however that this is an area in which there is no "right" answer. It is perfectly valid sometimes to use virutal interfaces. But sometimes it is not.
>>
>> The problem is, in *my* experience. Which is limited to my environment that is mostly Win32 development. In my experience, as soon as the interface pattern is considered for a c++ object, the level of abstraction that an interface implies makes it a very suitable canditate to be located in an external binary module.
>>
>> At the same time, I do in fact prefer using PODs for data in interfaces. Again, in the environment im exposed to we have c++ code written a long time ago before the STL was stable, as well as a need to interop with other c++ frameworks that have their own ideas as to what constitutes a string (For eg). Interfaces, being very abstract, are the mechanism by which these different codebases (even when in the same compiled module) interop, and thus PODs as a least common denominator are the most convenient to work with. And frankly a lot easier to deal with.
>>
>>

>
> I'm sure your making some important and interesting point here but I can't
> read it because it scrolls of the screen about 20 feet.
>
> Try using
>
> %!fmt in vim or some other wrapping convention in the editor of your
> choice so we can all share in the wealth of good ideas you present
>
> Ruben
>
>
>> "James Kanze" <james.kanze@gmail.com> wrote in message news:0c00706c-4ecd-47d3-92ea-1c5f0fd1bd54@a19g2000pra.googlegroups.com...
>> On Oct 9, 9:54 am, "Chris Becke" <chris.be...@gmail.com> wrote:
>>> XPCom is little more than a pillage of Microsoft COM. Both, at
>>> their base level consist of declaring a C++ class containing
>>> pure virutal methods and compiling with a compatible compiler.
>>> Ensuring that even c++ interfaces intended to be used only by
>>> homogeneous (c++) code are nonetheless compatible at a binary
>>> level means that code can easilly move from a homogeneous to a
>>> heterogeneous environment.

>>
>>> Which is just good software engineering practice.

>>
>> So I shouldn't use classes, because some other component might
>> be written in C. For that matter, I shouldn't use struct,
>> because some other component might end up written in Fortran.
>>
>> This is just plain stupid. You're code has (or should have)
>> well defined interfaces. Which support what they support. If
>> one of the requirements is that it be callable from another
>> language, then you use appropriate tools for this, depending on
>> which and how many languages are concerned. (Often, ``extern
>> "C"'' is all that is required.) But such interfaces normally
>> only occur at the component level, and represent a separate
>> interface from those used internally. And represent but a small
>> percent of your interfaces.
>>
>>> Not everyone uses c++.

>>
>> Of course, not. Cobol, and probably PHP, are more widely used,
>> for example.
>>
>>> .so and .dll files are (depending on your platform) common
>>> ways to glue binary files (from teams with different toolsets)
>>> together .

>>
>> Plugins are one technology, and of course, you're plugin
>> interface should be designed to support as many languages as
>> possible: no classes, for example, and possibly no struct's.
>>
>>> The virtual keyword prevents that interface and any derived
>>> interfaces ever being exported in a binary compatible way (on
>>> compilers that otherwise produce interfaces in a way that DOES
>>> conform to COM/XPComs binary interface requirements).

>>
>> The use of classes prevents this already. The question is
>> simply one of your requirements. If an interface has to support
>> multiple languages, you really can't present more than a POD at
>> the interface level. Most interfaces don't have such
>> constraints, however, and when you have such constraints, you
>> generally implement them using the facade pattern, so you can
>> use all of C++ in your implementation.
>>
>>> If you are developing reusable code you can never know how its
>>> going to need to be used in the future.

>>
>> That is, of course, bullshit. Code can only be used for that
>> for which it was designed for. If you don't provide an
>> interface callable from Cobol, or from PHP, your code can't be
>> called from those languages.
>>
>>> don't shoot yourself in the foot and rely on this broken
>>> mechanism. It might be good "c++". but its bad computer
>>> science. It violates the earliest principals computer science
>>> students are taught about avoiding coupling.

>>
>> I don't think you really understand software engineering. You
>> program to a requirements specification, and not to some
>> imaginary, mythical future use. Premature genericity is just as
>> bad a sin as premature optimization: you don't know what the
>> future will bring, or need. And implementing all of your
>> interfaces in ``extern "C"'', with just PODs (because that is
>> really what you've just said) is just plain stupid.

>
> --
> http://www.mrbrklyn.com - Interesting Stuff
> http://www.nylxs.com - Leadership Development in Free Software
>
> So many immigrant groups have swept through our town that Brooklyn, like Atlantis, reaches mythological proportions in the mind of the world - RI Safir 1998
>
> http://fairuse.nylxs.com DRM is THEFT - We are the STAKEHOLDERS - RI Safir 2002
>
> "Yeah - I write Free Software...so SUE ME"
>
> "The tremendous problem we face is that we are becoming sharecroppers to our own cultural heritage -- we need the ability to participate in our own society."
>
> "> I'm an engineer. I choose the best tool for the job, politics be damned.<
> You must be a stupid engineer then, because politcs and technology have been attached at the hip since the 1st dynasty in Ancient Egypt. I guess you missed that one."
>
> © Copyright for the Digital Millennium
>

  Réponse avec citation
Vieux 10/10/2008, 19h50   #27
Hendrik Schober
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Interfaces in C++

Chris Becke wrote:
> Outlook express is being really funny.
> Its never been the worst news client, but this version has gone sideways.


I had been using it for a decade without top-posting. If
you want to stick to it, look at this:
http://home.in.tum.de/~jain/software/oe-quotefix/

> [...]


Schobi
  Réponse avec citation
Vieux 10/10/2008, 22h34   #28
Ian Collins
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Interfaces in C++

Chris Becke wrote:
> Outlook express is being really funny.
> Its never been the worst news client, but this version has gone sideways.
>

It must have if it keeps forcing you to top-post.

--
Ian Collins
  Réponse avec citation
Vieux 11/10/2008, 01h31   #29
LR
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Interfaces in C++

James Kanze wrote:

> I'm having problems figuring out what virtual inheritance has to
> do with all this. Certainly, some languages might not support
> it. But then, many of the most widely used languages outside of
> C++ (e.g. Cobol, C) don't even support inheritance to begin
> with.


I believe that the current Cobol standard supports inheritance although
I haven't seen a recent standard. However, a visit to
http://www.cobolstandard.info/wg4/document.html offers plenty of
evidence that Cobol supports inheritance, MI and even some analogue of
template classes.

LR
  Réponse avec citation
Vieux 12/10/2008, 12h20   #30
Chris Becke
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Interfaces in C++

Its not forcing me to top post. That I have been doing for a decade. and far prefer to the alternative.

It has gone sideways in that it isn't quoting correctly. And apparently screwing up line wrapping on sent documents.

"Ian Collins" <ian-news@hotmail.com> wrote in message news:6l9sisFavgarU3@mid.individual.net...
> Chris Becke wrote:
>> Outlook express is being really funny.
>> Its never been the worst news client, but this version has gone sideways.
>>

> It must have if it keeps forcing you to top-post.
>
> --
> Ian Collins

  Réponse avec citation
Vieux 13/10/2008, 12h38   #31
Hendrik Schober
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Interfaces in C++

Chris Becke wrote:
> Its not forcing me to top post. That I have been doing for a decade. and far prefer to the alternative.


You might want to think about this. At least in
technical groups, you're rather alone with this
preference.

> [...]


Schobi
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 17h35.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 2,49725 seconds with 14 queries