changes for next PETSc release

Barry Smith bsmith at mcs.anl.gov
Mon Mar 17 13:06:35 CDT 2008


    Fortran90 has namespaces??????

On Mar 17, 2008, at 12:59 PM, Matthew Knepley wrote:

> On Mon, Mar 17, 2008 at 12:27 PM, Barry Smith <bsmith at mcs.anl.gov>  
> wrote:
>>>> 2) properly name-space PETSc by putting a Petsc in front of all  
>>>> PETSc
>>>> objects, function names etc
>>>>     (this will require changing a few names also to keep them below
>>>> the 32 character limit). This will
>>>>     be very painful change for some users who are not comfortable
>>>> ever changing code, hence I hesitate
>>>>     to do it, but it is the right thing to do and should have been
>>>> done originally.
>>>
>>> I guess I still do not see the need for this. NIMROD is a not a
>>> sufficient
>>> driver in my mind.
>>
>>    You are an elitist who thinks that important ideas can only come
>> from important/smart people. This I disagree strongly with, one  
>> should
>> look everywhere, even at the local dump, for good ideas. NIMROD is
>> not the driver, it is merely the spark.
>
> I will be more specific. I think there is no good idea connected  
> with this
> requirement of NIMROD. In fact, I think it is a very very bad idea.  
> They are
> using a language with namespaces (F90) but they ignore them. Then they
> wonder why uses a product from a language without namespaces (C) they
> have a problem. The wrong strategy is to do something complicated in  
> the
> deficient language. The right thing to do is something easy in the  
> language
> with support.
>
> Why can't we just do an F90 binding with namespaces? That would fix  
> NIMROD
> and not disrupt the community who has not complained (and who is much
> much bigger).
>
>>> If we really want namespaces, use a real language that
>>> has namespaces. There are plenty. If we are still using C, I say we
>>> stick
>>> with the old division. The imposition of this much pain on the
>>> overwhelming
>>> majority of users seems unjustified.
>>
>>    You seem to be saying we should stick with a bad decision I made
>> many years ago, just because it is painful to change. When did you
>> suddenly become conservative?
>
> No, I am saying that the fix is crap because it is complicated,  
> entails
> enormous changes to the code, and is ugly. I think the correct fix is
> to use nice mechanisms in languages that support them, like C++.
> I am completely against forcing weak language mechanisms to do
> complicated things, which is why I hate all those template tricks.
>
> Also, we should look at history. We have made mistakes in the past
> when changing the interface (KSPSolve() with no arguments) which
> were painful. I want to make sure what we choose to do is as simple
> and non-painful as possible.
>
>   Matt
>
> -- 
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which
> their experiments lead.
> -- Norbert Wiener
>




More information about the petsc-dev mailing list