From: Richard Maine on
A Watcher <stocksami(a)earthlink.net> wrote:

> glen herrmannsfeldt wrote:
> >
> > Now, if you have a class that goes through features in an
> > appropriate order, such that you learn the easier to use ones
> > first, then maybe it isn't a problem. But if you pick up a
> > Fortran 2003 reference manual and start reading, you will get
> > confused faster than from a Fortran 77 reference manual.
> >
> That's what I was getting at. If you are learning it on your own F90/95
> can be bewildering. I certainly don't suggest sticking to F77, though.
> Just use it to get started.

I would not use it to get started either. Yes, I agree you want to start
on a subset of the language. I don't think that f77 is a good subset to
start with though. There are many things in it that will just be
distracting nuisances that will make things harder - not easier.

As I mentioned before, fixed source form will hit you right from the
start with your very first attempt at coding, no matter how simple. You
shouldn't need to learn about fixed source form at all until much later,
if ever.

There are many others, including what will seem arcane limitations. Keep
in mind that if you are talking about learning from an f77 reference
manual, it will most likely cover the standard - not common extensions.
You'll have to remember to type everything in upper case and to keep
your variable names to no more than 7 characters. You'll not be able to
take advantage of implicit none. You'll have to learn how to terminate
DO statements with corresponding statement labels. You'll have to learn
that character strings cannot have length 0, which forces you into
special-case workarounds. You can't use list-directed reads with
internal files, which forces you into other awkward workarounds.

You'll have to learn the arcane points of sequence association to pass
arrays as arguments. (Maybe it seems "obvious" to those that have known
it for 30 years, but my observation is that it sure isn't obvious to
people new to the language; they tend to think that a dummy array
declared as, for example, 3x3 ought to be the top left slice of an
actual array declared as 10x10). Dynamic array allocation will be a huge
complication; and yes, that comes up pretty quickly in trying to learn
to do much useful in the language.

You'll have to deal with the debugging problems caused by getting
arguments wrong in ways that module procedures would catch at
compilation time.

In fact, external procedures in general are one of those things that a
new user shouldn't even be introduced to in my opinion. A new user
should use internal or module procedures, with external ones later as an
advanced topic. But externals are all f77 has for user-written
procedures.

A complete reference manul is a poor way to get introduced to a language
unless youp are already an experienced programmer. You can certainly
come up with poor ways to learn f90/f95/f2003. That doesn't mean that
f77 is the answer. One can come up with equally poor ways to learn f77.

--
Richard Maine | Good judgment comes from experience;
email: last name at domain . net | experience comes from bad judgment.
domain: summertriangle | -- Mark Twain
From: Jim Xia on

> Indeed my reaction is exactly the opposite of Watcher's (though this
> begins to not surprise me). I find the f77 syntax complicated and
> confusing. On the whole, I'd find things much better if the f77 syntax
> were disallowed, but alas, that is not practical for compatibility
> reasons.
>
> If you think, for example, that
>
>   real x
>
> declares a local real variable named x, then you don't understand the
> f77 syntax, which would not be surprising. Many people get it wrong.
> I've seen experts on the committee propose text for the standard that
> gets it wrong.


Ah, the attribute declaration statements. These are the most hated
features in Fortran for me. I'm still seeing code like this in
claimed F95 programs

INTEGER x
REAL y
DOUBLE PRECISION z
COMPLEX w
.... many lines of declarations
PARAMETER (x = 10, y = 1.0)

Yes, you don't know what they're until you read the whole program. I
certainly hope new people don't learn to write code like that anymore.

Cheers,

Jim
From: Ron Shepard on
In article <hsjubj$5hp$2(a)news.eternal-september.org>,
A Watcher <stocksami(a)earthlink.net> wrote:

> glen herrmannsfeldt wrote:
> ?
> >
> > Now, if you have a class that goes through features in an
> > appropriate order, such that you learn the easier to use ones
> > first, then maybe it isn't a problem. But if you pick up a
> > Fortran 2003 reference manual and start reading, you will get
> > confused faster than from a Fortran 77 reference manual.
> >
>
> That's what I was getting at. If you are learning it on your own F90/95
> can be bewildering. I certainly don't suggest sticking to F77, though.
> Just use it to get started.

There are many tutorials and textbooks available for f95 that make
learning the language much easier. There are some online that are
free and pretty good, at least good enough to make learning the
language better than "bewildering". I'm not aware of any that
address the new f2003 features, but I'd expect those to be available
soon as compilers begin to support those new features.

$.02 -Ron Shepard
From: A Watcher on
Ron Shepard wrote:
> In article <hsjubj$5hp$2(a)news.eternal-september.org>,
> A Watcher <stocksami(a)earthlink.net> wrote:
>
>> glen herrmannsfeldt wrote:
>> ?
>>> Now, if you have a class that goes through features in an
>>> appropriate order, such that you learn the easier to use ones
>>> first, then maybe it isn't a problem. But if you pick up a
>>> Fortran 2003 reference manual and start reading, you will get
>>> confused faster than from a Fortran 77 reference manual.
>>>
>> That's what I was getting at. If you are learning it on your own F90/95
>> can be bewildering. I certainly don't suggest sticking to F77, though.
>> Just use it to get started.
>
> There are many tutorials and textbooks available for f95 that make
> learning the language much easier. There are some online that are
> free and pretty good, at least good enough to make learning the
> language better than "bewildering". I'm not aware of any that
> address the new f2003 features, but I'd expect those to be available
> soon as compilers begin to support those new features.
>
> $.02 -Ron Shepard

A well written book aimed at beginners, or at least people who are new
to fortran, would be good. Ideally it should teach the core ideas and
not try to cover everything at once. The learning curve can be steep
if you try to learn it all at once.
From: steve on
On May 14, 2:09 pm, Jim Xia <jim...(a)hotmail.com> wrote:
> > Indeed my reaction is exactly the opposite of Watcher's (though this
> > begins to not surprise me). I find the f77 syntax complicated and
> > confusing. On the whole, I'd find things much better if the f77 syntax
> > were disallowed, but alas, that is not practical for compatibility
> > reasons.
>
> > If you think, for example, that
>
> >   real x
>
> > declares a local real variable named x, then you don't understand the
> > f77 syntax, which would not be surprising. Many people get it wrong.
> > I've seen experts on the committee propose text for the standard that
> > gets it wrong.
>
> Ah, the attribute declaration statements.  These are the most hated
> features in Fortran for me.  I'm still seeing code like this in
> claimed F95 programs
>
> INTEGER x
> REAL y
> DOUBLE PRECISION z
> COMPLEX w
> ... many lines of declarations
> PARAMETER (x = 10, y = 1.0)
>

Maybe it is claimed to be a F95 program because, well, it is
standard conforming code.

--
steve
First  |  Prev  |  Next  |  Last
Pages: 1 2 3 4 5 6 7 8 9 10
Prev: proble in common
Next: GNU f90 read() run time error