Print

Print


[log in to unmask] wrote:
> James Giles made my case for me:
...
>> Or, consider the recurrent discussion caused by the rather trivial
>> mistake of making KIND specifiers be of INTEGER type.  I heard
>> that there was originally a reason to do so that didn't pan out, but
>> that when the reason disappeared, the decision was not reconsidered.
>
> And the alternative Giles prefers is...?

I would now prefer that type not be parameterized.  The feature
complicates the addition of generic features.  But, given KINDs,
the specifiers should have been symbols with no other interpretation
than as KIND specifiers, the result of KIND inquiries, or arguments
to KIND inquiries.  Such as:

   KIND, parameter :: my_reals = selected_real_kind(12,100)
   REAL(my_reals) :: a, b, c

Now, no non-portable assumptions even *can* be made that
REAL(4) is a four byte float, or some such idiocy.

> When most people hear "object-oriented programming" they think "C++",
> which is just about the worst implementation there has been of
> object-oriented programming.  Les Hatton criticized object-oriented
> programming in "Does OO Sync with the Way We Think," but concluded that
> he couldn't determine whether the problems he observed were caused by the
> fundamental paradigm or the design of C++.  The design of the
> object-oriented features of Fortran 2003 is based on Simula.  Care was
> taken to avoid the mistakes of C++.  The modest-size (~150k lines) code
> I'm working on now is designed according to object-based principles
> explained by Charles Norton and Bolek Szymanski.  We believe it is
> reliable and efficient.  Unlike many C++ codes I've worked on, it is
> fairly easy to understand, and maintainable.  I can see how it could
> benefit from many of the more fully object-oriented features in Fortran
> 2003, without compromising its efficiency, reliability or maintainability.

I've pointed out before that anecdotes of successful use by experts do
not even address the issue of whether the feature is a valid addition
to a language intended forgeneral use by average programmers.  Do
average programmers read Charles Norton or Bolek Szymanski?  Do
average programmers even know who they are?  Even if they did, what's
the length of the learning curve?  Will the average programmer have
time to learn a complex paradigm before being promoted to management
and/or moving on to non-coding activities?

>>
> The system is what it is.  You can whine about it, and not get anything
> done, or try to work within it and maybe get at least a little bit done.
> I guarantee that you will neither accomplish anything, nor change the
> system, by sitting on the sidelines and throwing rotten vegetables.

I notice that those within throw their share of produce.  I haven't done
anything in this thread to deserve your tone.  You have not addressed
the basic issue I talked about: where's the daylight in the process.  What
*specifically* are the two relatively major features you mentioned
before?  Why do you *not* want to discuss them in more public forums?
You can whine all you want about external criticism, but it's justified
as long as the committee conntinues to present new feartures as fait-acompli
and claiming it's too late for any changes.  *NOW* is the time to present
*PUBLICALLY* what the committee is doing.  You may even get more
recruits to attend.

> The schedule and method for submitting new proposals for the next
> revision, and the schedule for meetings, and the URL for all meeting
> papers, have been published in several fora, including this one.  It is
> not the responsibility of J3 or WG5 to send personally engraved
> announcements to James Giles to announce each jot and tittle.

And, I notice you still are secretive about the features and proposals
currently under consideration.  Users can and will vote with their feet.
Fortran is over complex as it is.  Additional features should be considered
*very* carefully or users *will* leave the language.  It's already hard
to defend Fortran on its traditional merits of simplicity and efficiency.

--
J. Giles

"I conclude that there are two ways of constructing a software
design: One way is to make it so simple that there are obviously
no deficiencies and the other way is to make it so complicated
that there are no obvious deficiencies."   --  C. A. R. Hoare