Discussion:
Self Learning Fortran Programming
(too old to reply)
Muhammad Ali
2016-04-03 14:24:33 UTC
Permalink
Hello,

I am interested in Fortran programming, however, it will be my first serious attempt towards coding/simulation/programming. My back ground is Physics, no practical experience with programming languages.

I am focusing Fortran because in my research field, most of the simulation packages are written/compiled in Fortran.

So, this post is for the valuable suggestions from the experts that how can I start self learning Fortran from scratch to advanced level in minimum time. For this, please recommend fortran compiler, literature, text books, websites, video lectures, your personnel tips, etc. In addition, you may also add some extra suggestions for shell script writing as well. You may recommend for both Linux and Windows operating systems.

Looking for your posts.

Thank you.
FortranFan
2016-04-03 15:55:54 UTC
Permalink
Post by Muhammad Ali
Hello,
I am interested in Fortran programming, however, it will be my first serious attempt towards coding/simulation/programming. My back ground is Physics, no practical experience with programming languages.
I am focusing Fortran because in my research field, most of the simulation packages are written/compiled in Fortran.
So, this post is for the valuable suggestions from the experts that how can I start self learning Fortran from scratch to advanced level in minimum time. For this, please recommend fortran compiler, literature, text books, websites, video lectures, your personnel tips, etc. In addition, you may also add some extra suggestions for shell script writing as well. You may recommend for both Linux and Windows operating systems.
Looking for your posts.
Thank you.
One suggestion would be to start going through material freely available online (as free as anything can be in life) such as

http://www.egr.unlv.edu/~ed/fortran (find a downloadable PDF file here)

and

http://fortranwiki.org/fortran/show/Tutorials

and

videos on YouTube e.g.,
(there are many more videos, just search and you will find)

If you are interested in books, you can consider the list below for a more structured approach to achieving proficiency in Fortran:

FORTRAN 90 for Engineers and Scientists 1st Edition
by Larry Nyhoff (Author), Sanford Leestma (Author)
http://www.amazon.com/FORTRAN-Engineers-Scientists-Larry-Nyhoff/dp/0135197295/ref=sr_1_3?s=books&ie=UTF8&qid=1438539336&sr=1-3&keywords=fortran+90+for+scientists+and+engineers

Then move to
Fortran 95/2003 for Scientists & Engineers 3rd Edition
by Stephen Chapman (Author)
http://www.amazon.com/Fortran-95-2003-Scientists-Engineers/dp/0073191574/ref=sr_1_4?s=books&ie=UTF8&qid=1438539336&sr=1-4&keywords=fortran+90+for+scientists+and+engineers

Followed by
Modern Fortran Explained (Numerical Mathematics and Scientific Computation) 4th Edition
by Michael Metcalf (Author), John Reid (Author), Malcolm Cohen (Author)
http://www.amazon.com/Explained-Numerical-Mathematics-Scientific-Computation/dp/0199601429/ref=sr_1_1?s=books&ie=UTF8&qid=1438539436&sr=1-1&keywords=modern+fortran+explained

Modern Fortran: Style and Usage 1st Edition
by Norman S. Clerman
http://www.amazon.com/Modern-Fortran-Norman-S-Clerman/dp/052173052X/ref=sr_1_2?s=books&ie=UTF8&qid=1438539469&sr=1-2&keywords=modern+fortran

and

Numerical Computing With Modern Fortran (Applied Mathematics) Paperback - November 15, 2013
by Richard J. Hanson (Author), Tim Hopkins (Author)
http://www.amazon.com/Numerical-Computing-Fortran-Applied-Mathematics/dp/1611973112/ref=sr_1_4?s=books&ie=UTF8&qid=1438539469&sr=1-4&keywords=modern+fortran
Wolfgang Kilian
2016-04-04 07:50:39 UTC
Permalink
Post by FortranFan
Post by Muhammad Ali
Hello,
I am interested in Fortran programming, however, it will be my first serious attempt towards coding/simulation/programming. My back ground is Physics, no practical experience with programming languages.
I am focusing Fortran because in my research field, most of the simulation packages are written/compiled in Fortran.
So, this post is for the valuable suggestions from the experts that how can I start self learning Fortran from scratch to advanced level in minimum time. For this, please recommend fortran compiler, literature, text books, websites, video lectures, your personnel tips, etc. In addition, you may also add some extra suggestions for shell script writing as well. You may recommend for both Linux and Windows operating systems.
Looking for your posts.
Thank you.
One suggestion would be to start going through material freely available online (as free as anything can be in life) such as
http://www.egr.unlv.edu/~ed/fortran (find a downloadable PDF file here)
and
http://fortranwiki.org/fortran/show/Tutorials
and
videos on YouTube e.g., http://youtu.be/gSJhfnhs598 (there are many more videos, just search and you will find)
FORTRAN 90 for Engineers and Scientists 1st Edition
by Larry Nyhoff (Author), Sanford Leestma (Author)
http://www.amazon.com/FORTRAN-Engineers-Scientists-Larry-Nyhoff/dp/0135197295/ref=sr_1_3?s=books&ie=UTF8&qid=1438539336&sr=1-3&keywords=fortran+90+for+scientists+and+engineers
Then move to
Fortran 95/2003 for Scientists & Engineers 3rd Edition
by Stephen Chapman (Author)
http://www.amazon.com/Fortran-95-2003-Scientists-Engineers/dp/0073191574/ref=sr_1_4?s=books&ie=UTF8&qid=1438539336&sr=1-4&keywords=fortran+90+for+scientists+and+engineers
Followed by
Modern Fortran Explained (Numerical Mathematics and Scientific Computation) 4th Edition
by Michael Metcalf (Author), John Reid (Author), Malcolm Cohen (Author)
http://www.amazon.com/Explained-Numerical-Mathematics-Scientific-Computation/dp/0199601429/ref=sr_1_1?s=books&ie=UTF8&qid=1438539436&sr=1-1&keywords=modern+fortran+explained
Modern Fortran: Style and Usage 1st Edition
by Norman S. Clerman
http://www.amazon.com/Modern-Fortran-Norman-S-Clerman/dp/052173052X/ref=sr_1_2?s=books&ie=UTF8&qid=1438539469&sr=1-2&keywords=modern+fortran
and
Numerical Computing With Modern Fortran (Applied Mathematics) Paperback - November 15, 2013
by Richard J. Hanson (Author), Tim Hopkins (Author)
http://www.amazon.com/Numerical-Computing-Fortran-Applied-Mathematics/dp/1611973112/ref=sr_1_4?s=books&ie=UTF8&qid=1438539469&sr=1-4&keywords=modern+fortran
I don't object to the above recommendations, but before diving into the
subject, you should think about

- will you write your own code from scratch, or
- will you mainly improve/modify other people's code?

- can you freely use a very recent compiler, or
- are you bound to support 'old' compilers as the users of your software
require?

If you can code without constraints, take the most recent ifort,
gfortran or NAG compiler, for instance. As a physicist you should be
fine with reading just Metcalf/Reid/Cohen in the most recent edition.
It is concise, up-to-date, and rather complete. Invent your own
examples, code and run them, that tells you more than reading more
books. Always turn on all debugging options when invoking a compiler.
Be aware that most compilers don't fully support Fortran 2003 yet, but
that will most likely change soon.

If you are bound to more constraints and have to inspect existing code,
I'd *not* recommend to buy older books, but rather to consult the
Fortran 2003 Handbook by J.C. Adams et al. whenever you don't understand
something in detail. If your library doesn't have it, force them to buy
it. Unless you want to read the actual Fortran Standard document (which
is available for free from the gfortran website, for instance).

And if you read other people's code, you will inevitably run into syntax
that is covered in neither of those. That's the ubiquitous non-standard
extensions. You'll have to understand it but don't ever use such syntax
in new code.

-- Wolfgang
Muhammad Ali
2016-04-04 13:35:10 UTC
Permalink
Post by Wolfgang Kilian
Post by FortranFan
Post by Muhammad Ali
Hello,
I am interested in Fortran programming, however, it will be my first serious attempt towards coding/simulation/programming. My back ground is Physics, no practical experience with programming languages.
I am focusing Fortran because in my research field, most of the simulation packages are written/compiled in Fortran.
So, this post is for the valuable suggestions from the experts that how can I start self learning Fortran from scratch to advanced level in minimum time. For this, please recommend fortran compiler, literature, text books, websites, video lectures, your personnel tips, etc. In addition, you may also add some extra suggestions for shell script writing as well. You may recommend for both Linux and Windows operating systems.
Looking for your posts.
Thank you.
One suggestion would be to start going through material freely available online (as free as anything can be in life) such as
http://www.egr.unlv.edu/~ed/fortran (find a downloadable PDF file here)
and
http://fortranwiki.org/fortran/show/Tutorials
and
videos on YouTube e.g., http://youtu.be/gSJhfnhs598 (there are many more videos, just search and you will find)
FORTRAN 90 for Engineers and Scientists 1st Edition
by Larry Nyhoff (Author), Sanford Leestma (Author)
http://www.amazon.com/FORTRAN-Engineers-Scientists-Larry-Nyhoff/dp/0135197295/ref=sr_1_3?s=books&ie=UTF8&qid=1438539336&sr=1-3&keywords=fortran+90+for+scientists+and+engineers
Then move to
Fortran 95/2003 for Scientists & Engineers 3rd Edition
by Stephen Chapman (Author)
http://www.amazon.com/Fortran-95-2003-Scientists-Engineers/dp/0073191574/ref=sr_1_4?s=books&ie=UTF8&qid=1438539336&sr=1-4&keywords=fortran+90+for+scientists+and+engineers
Followed by
Modern Fortran Explained (Numerical Mathematics and Scientific Computation) 4th Edition
by Michael Metcalf (Author), John Reid (Author), Malcolm Cohen (Author)
http://www.amazon.com/Explained-Numerical-Mathematics-Scientific-Computation/dp/0199601429/ref=sr_1_1?s=books&ie=UTF8&qid=1438539436&sr=1-1&keywords=modern+fortran+explained
Modern Fortran: Style and Usage 1st Edition
by Norman S. Clerman
http://www.amazon.com/Modern-Fortran-Norman-S-Clerman/dp/052173052X/ref=sr_1_2?s=books&ie=UTF8&qid=1438539469&sr=1-2&keywords=modern+fortran
and
Numerical Computing With Modern Fortran (Applied Mathematics) Paperback - November 15, 2013
by Richard J. Hanson (Author), Tim Hopkins (Author)
http://www.amazon.com/Numerical-Computing-Fortran-Applied-Mathematics/dp/1611973112/ref=sr_1_4?s=books&ie=UTF8&qid=1438539469&sr=1-4&keywords=modern+fortran
I don't object to the above recommendations, but before diving into the
subject, you should think about
- will you write your own code from scratch, or
- will you mainly improve/modify other people's code?
- can you freely use a very recent compiler, or
- are you bound to support 'old' compilers as the users of your software
require?
If you can code without constraints, take the most recent ifort,
gfortran or NAG compiler, for instance. As a physicist you should be
fine with reading just Metcalf/Reid/Cohen in the most recent edition.
It is concise, up-to-date, and rather complete. Invent your own
examples, code and run them, that tells you more than reading more
books. Always turn on all debugging options when invoking a compiler.
Be aware that most compilers don't fully support Fortran 2003 yet, but
that will most likely change soon.
If you are bound to more constraints and have to inspect existing code,
I'd *not* recommend to buy older books, but rather to consult the
Fortran 2003 Handbook by J.C. Adams et al. whenever you don't understand
something in detail. If your library doesn't have it, force them to buy
it. Unless you want to read the actual Fortran Standard document (which
is available for free from the gfortran website, for instance).
And if you read other people's code, you will inevitably run into syntax
that is covered in neither of those. That's the ubiquitous non-standard
extensions. You'll have to understand it but don't ever use such syntax
in new code.
-- Wolfgang
will you write your own code from scratch, or

Yes, I would like to write my own codes from scratch as well, so that I can get good command on programming. But writing from scratch will entirely be for learning practices.

- will you mainly improve/modify other people's code?

plus modification of others' code because lot of codes already exit in my field for most of the calculations, so mostly I have to modify them.

The above two answers are based on and for the requirements of my research field. Besides my research field, I want to do application based programming as well (like a hobby). For such kind of programming, which language is most favorite one? Can we use Python for the develoment mobile apps? Most importantly, can we use python for animations? For example, sometimes we need to show some chemical reaction or similar thing in animated form.

If I talk about only my research field, then the main simulation packages are still being written and modified in Fortran 90. But I want to use latest compiler because most of the post processing programming is being carried out by the combination of both Fortran and Python. Besides, bash/shell scripts are used to execute such small packages as well. These are basically post processing scripts written in fortran and python to manipulate the data from the outputs of Main Simulation Package.
justinas
2016-04-04 06:20:01 UTC
Permalink
Post by Muhammad Ali
I start self learning Fortran from scratch to advanced level in minimum time.
Classical Fortran: Programming for Engineering and Scientific Applications
http://www.amazon.com/Classical-Fortran-Programming-Engineering-Applications/dp/1420059076/

For reference you can try
Professional Programmer's Guide to Fortran77
http://www.star.le.ac.uk/~cgp/prof77.html



Excerpt from Classical Fortran
Post by Muhammad Ali
Most old textbooks on Fortran programming tried to cover every statement
and feature of Fortran-66 or Fortran-77, and many new ones carry on that
tradition by discussing all aspects of Modern Fortran. To judge these
books by their covers, it must be important in marketing a programming
text that the name of the very latest language version appears explicitly
in the title, to reassure prospective buyers that they will be reading
about the most recent innovations. To judge these books by their
contents, it must be that the only authoritative reference is an
exhaustive language manual regurgitating this mornings revision of the
official standard.
But most programmers who write real engineering and scientific
applications in Fortran actually use only a tiny subset of the language,
carefully chosen from all the many features on offer. Reckless newcomers
are apt to try everything, but those who stay soon discover that only a
few statements are needed while most of the rest are confusing or
dangerous. It would be nice to believe that technology in general and
Fortran in particular evolve in a rational way that results in more or
less continuous improvement, but history seems to have other plans! New
versions of Fortran must be upward compatible, so that old programs and
old programming styles continue to work, and that means that when new
features are added none of the old ones are really taken out (though they
might be officially designated beneath contempt). Because of this the
language is full of lunatic ideas that seemed promising at the time they
were introduced, but which fortunately never caught on.
Successful Fortran users always turn out to be ruthlessly discriminating
about which language features they adopt. Not only do seasoned
programmers tend to use rather small working Fortran vocabularies; most
of them seem to use pretty much the same subset of statements. At first
this may be surprising, but perhaps it is just because there are only a
few ways to pick a small subset of Fortran that contains all the
functionality needed for engineering and scientific applications. As the
Fortran defined by the standards has grown over the years, so has this
common subset that people really use, but the subset changes much more
gradually, never includes everything, always includes extensions that are
widely available but have not yet been officially sanctioned, and pays no
homage to any particular version of the language standard. What most
people mean by Fortran is that common subset, so it is what most of this
book is about. To distinguish this living tongue from the desiccated
fiction of the standards documents, I call it Classical FORTRAN . To
teach the everyday speech of Fortran programmers and provide an effective
introduction to their computing culture, a textbook must first of all
recognize the existence of this. language and respect it in its own
right.
Richard Maine
2016-04-04 06:55:53 UTC
Permalink
Post by justinas
Post by Muhammad Ali
I start self learning Fortran from scratch to advanced level in minimum time.
Classical Fortran: Programming for Engineering and Scientific Applications
http://www.amazon.com/Classical-Fortran-Programming-Engineering-Applicat
ions/dp/1420059076/

I'll not enter into an argument about it, but I'll just note that many
people (myself for one, as is presumably obvious) consider the advice
given in the above book to be very poor. I really don't want to go into
why. Perhaps others here will.

Note that "classical Fortran" is just a term that author invented for
his personal style preferences (which lean heavily towards the past).
Among other things, he quite explicitly rejects paying much attention to
standards - any standards at all. I'd expect that spending too much time
on learning his particular idiosyncracies would slow rather than speed
your progress towards becoming an advanced programmer of the language.
--
Richard Maine
email: last name at domain . net
dimnain: summer-triangle
justinas
2016-04-04 09:33:06 UTC
Permalink
Post by Richard Maine
Among other things, he quite explicitly rejects paying much attention to
standards - any standards at all. I'd expect that spending too much time
on learning his particular idiosyncracies would slow rather than speed
your progress towards becoming an advanced programmer of the language.
I would prefer "INTEGER*4 I" anytime instead of standard
Post by Richard Maine
INTEGER I
or
Post by Richard Maine
use iso_c_binding
integer(c_int32_t) :: i
or
Post by Richard Maine
integer, parameter :: int_4 = selected_int_kind(9)
integer(kind=int_4) :: i
Especially if it's my first programming language.
Wolfgang Kilian
2016-04-04 10:09:19 UTC
Permalink
Post by justinas
Post by Richard Maine
Among other things, he quite explicitly rejects paying much attention to
standards - any standards at all. I'd expect that spending too much time
on learning his particular idiosyncracies would slow rather than speed
your progress towards becoming an advanced programmer of the language.
I would prefer "INTEGER*4 I" anytime instead of standard
Post by Richard Maine
INTEGER I
or
Post by Richard Maine
use iso_c_binding
integer(c_int32_t) :: i
or
Post by Richard Maine
integer, parameter :: int_4 = selected_int_kind(9)
integer(kind=int_4) :: i
Especially if it's my first programming language.
Heavens, no.

The OP didn't mention C interoperability at all. He didn't mention
storage association. (That might matter if working with legacy code.)
Or any other subtle point regarding integer representation. But he
hinted at programs running on different computers, such as under Windows
and Linux OS.

The standard, plain, simple, and portable version of an integer
declaration is

integer :: i

Default-kind integers will suffice 99.9% of the time. For writing
anything else, there must be a good reason.

Regarding real numbers, one has to learn about the pitfalls of
floating-point numerics ... yes, that's a learning curve. There are
lots of other pitfalls in Fortran, as in any other language that is
suitable for real programs.

-- Wolfgang
--
E-mail: ***@domain.de
Domain: yahoo
Stefano Zaghi
2016-04-04 07:49:31 UTC
Permalink
Post by justinas
Post by Muhammad Ali
I start self learning Fortran from scratch to advanced level in minimum time.
Classical Fortran: Programming for Engineering and Scientific Applications
http://www.amazon.com/Classical-Fortran-Programming-Engineering-Applications/dp/1420059076/
For reference you can try
Professional Programmer's Guide to Fortran77
http://www.star.le.ac.uk/~cgp/prof77.html
Dear justinas, I have not read these references, but they look somehow old. Also by the comment of Richard Maine, I guess that those books are out-dated.

To the OP I suggest to follow the hints of FortranFan: we are in 2016, new Fortraners should be "modern" (ambiguous term, but no better comes to me now) standards (std95+).

My best regards.
Clive Page
2016-04-04 09:38:19 UTC
Permalink
Post by justinas
Post by Muhammad Ali
I start self learning Fortran from scratch to advanced level in minimum time.
Classical Fortran: Programming for Engineering and Scientific Applications
http://www.amazon.com/Classical-Fortran-Programming-Engineering-Applications/dp/1420059076/
For reference you can try
Professional Programmer's Guide to Fortran77
http://www.star.le.ac.uk/~cgp/prof77.html
Absolutely do not follow this advice.

Fortran 77 is much harder to use than modern Fortran, and much more
error-prone. i am the author of the second of these texts and I can say
that it is no longer useful except as a historical relic. If people
keep recommending it I may have to remove it from my website (but
unfortunately there are a few other copies around, so it wouldn't do
much good).
--
Clive Page
Stansfield Temmelmeier
2016-04-04 13:43:45 UTC
Permalink
Post by Clive Page
Post by justinas
For reference you can try
Professional Programmer's Guide to Fortran77
http://www.star.le.ac.uk/~cgp/prof77.html
Absolutely do not follow this advice.
Fortran 77 is much harder to use than modern Fortran, and much more
error-prone. i am the author of the second of these texts and I can say
that it is no longer useful except as a historical relic. If people
keep recommending it I may have to remove it from my website (but
unfortunately there are a few other copies around, so it wouldn't do
much good).
Depends what you want to learn and why. For academic use of course you will
have some donated choice of compiler(s) with latest available standard
compliance. Metcalf is great reference. I didn't find it's particularly good
to learn from scratch. I think Chapman is better but there are many errors
and many things left out.

There are many voices here saying don't learn Fortran 77 etc. Two points.
One there is still enough F77 left running now maybe somebody has to learn
it for his job. It doesn't help if he learns F90/95 for this. And there is
increasing community of computer hobbyists and people are learning many old
languages. These old books are very important. If you remove this documentation
you will make this interesting and enjoyable hobby less. We are really using
these resources. Please don't delete them. VMS/VAX has excellent F77
compiler for hobbyist use. I am even working on FORTRAN IV now and it hurts
but it's still fun. We don't have enough books or manuals.

Stan
Paul Anton Letnes
2016-04-04 08:07:20 UTC
Permalink
Post by Muhammad Ali
Hello,
I am interested in Fortran programming, however, it will be my first serious attempt towards coding/simulation/programming. My back ground is Physics, no practical experience with programming languages.
I am focusing Fortran because in my research field, most of the simulation packages are written/compiled in Fortran.
So, this post is for the valuable suggestions from the experts that how can I start self learning Fortran from scratch to advanced level in minimum time. For this, please recommend fortran compiler, literature, text books, websites, video lectures, your personnel tips, etc. In addition, you may also add some extra suggestions for shell script writing as well. You may recommend for both Linux and Windows operating systems.
Looking for your posts.
Thank you.
I'll second all the advice of sticking to Modern Fortran standards; Fortran 95 and onwards. Really, it's a convenient and efficient language, unlike fortran 77, which has too many idiosyncracies to be relevant for new code, in my (limited compared to others here) personal and professional experience.

For shell scripting, I always consult Greg Wooledge's very thorough guide to bash programming. Bash is virtually always installed on Linux (and on windows it comes with git and cygwin), so that's the shell I'd recommend sticking to.
http://mywiki.wooledge.org/BashGuide

If you are learning programming for the very first time, I cannot overstate the importance of learning a more convenient language than Fortran. Please, do learn Fortran if it's useful to you, but it's a horrible, horrible first language. Personally, I'd follow the python tutorial here:
https://docs.python.org/3/tutorial/index.html
And install the anaconda python distribution for scientific programmers:
https://www.continuum.io/downloads
You will be much more productive writing python than Fortran, also professionally. Use Fortran only when performance *really* matters to you!

Best of luck,
Paul.
Gary Scott
2016-04-04 13:41:37 UTC
Permalink
Post by Paul Anton Letnes
Post by Muhammad Ali
Hello,
I am interested in Fortran programming, however, it will be my first serious attempt towards coding/simulation/programming. My back ground is Physics, no practical experience with programming languages.
I am focusing Fortran because in my research field, most of the simulation packages are written/compiled in Fortran.
So, this post is for the valuable suggestions from the experts that how can I start self learning Fortran from scratch to advanced level in minimum time. For this, please recommend fortran compiler, literature, text books, websites, video lectures, your personnel tips, etc. In addition, you may also add some extra suggestions for shell script writing as well. You may recommend for both Linux and Windows operating systems.
Looking for your posts.
Thank you.
I'll second all the advice of sticking to Modern Fortran standards; Fortran 95 and onwards. Really, it's a convenient and efficient language, unlike fortran 77, which has too many idiosyncracies to be relevant for new code, in my (limited compared to others here) personal and professional experience.
For shell scripting, I always consult Greg Wooledge's very thorough guide to bash programming. Bash is virtually always installed on Linux (and on windows it comes with git and cygwin), so that's the shell I'd recommend sticking to.
http://mywiki.wooledge.org/BashGuide
https://docs.python.org/3/tutorial/index.html
https://www.continuum.io/downloads
You will be much more productive writing python than Fortran, also professionally. Use Fortran only when performance *really* matters to you!
Best of luck,
Paul.
Yuck :) I personally find all of the unixy shells to be horrid
abominations. I much prefer REXX which is also a horrid abomination,
but the most fortran like horrid abomination.
Wolfgang Kilian
2016-04-04 09:16:24 UTC
Permalink
Post by Muhammad Ali
Hello,
I am interested in Fortran programming, however, it will be my first serious attempt towards coding/simulation/programming. My back ground is Physics, no practical experience with programming languages.
I am focusing Fortran because in my research field, most of the simulation packages are written/compiled in Fortran.
So, this post is for the valuable suggestions from the experts that how can I start self learning Fortran from scratch to advanced level in minimum time. For this, please recommend fortran compiler, literature, text books, websites, video lectures, your personnel tips, etc. In addition, you may also add some extra suggestions for shell script writing as well. You may recommend for both Linux and Windows operating systems.
Looking for your posts.
Thank you.
Since you're also asking about programming in general, a few additional
hints:

- learn to use the Make utility.
(At some point, you may want to extend this towards a portable build
environment such as autotools or Cmake.)

- for very simple scripts use the shell. If you need more, you'll
likely want to learn Python.
(Yes, that's another language ...)

- don't try to do a GUI for your programs. It'll be non-portable, and
outdated before it's even finished.

- once you start real coding, you'll benefit *a lot* from professional
programming techniques. You just have to know the essentials of the
programming language first. Learn about (a) test-driven development,
(b) version management, and (c) code design patterns. Your fellow
physicists might not even know why you're spending time on this, but it
really does pay off in the long run.

-- Wolfgang
--
E-mail: ***@domain.de
Domain: yahoo
Gary Scott
2016-04-04 13:44:56 UTC
Permalink
Post by Wolfgang Kilian
Post by Muhammad Ali
Hello,
I am interested in Fortran programming, however, it will be my first
serious attempt towards coding/simulation/programming. My back ground
is Physics, no practical experience with programming languages.
I am focusing Fortran because in my research field, most of the
simulation packages are written/compiled in Fortran.
So, this post is for the valuable suggestions from the experts that
how can I start self learning Fortran from scratch to advanced level
in minimum time. For this, please recommend fortran compiler,
literature, text books, websites, video lectures, your personnel tips,
etc. In addition, you may also add some extra suggestions for shell
script writing as well. You may recommend for both Linux and Windows
operating systems.
Looking for your posts.
Thank you.
Since you're also asking about programming in general, a few additional
- learn to use the Make utility.
(At some point, you may want to extend this towards a portable build
environment such as autotools or Cmake.)
- for very simple scripts use the shell. If you need more, you'll
likely want to learn Python.
(Yes, that's another language ...)
- don't try to do a GUI for your programs. It'll be non-portable, and
outdated before it's even finished.
Nobody would ever use any of my applications if I didn't tack a GUI onto
it. GINO is, at least using the restricted subset, cross platform
portable. It is by far the easiest GUI interface library to develop with.
Post by Wolfgang Kilian
- once you start real coding, you'll benefit *a lot* from professional
programming techniques. You just have to know the essentials of the
programming language first. Learn about (a) test-driven development,
(b) version management, and (c) code design patterns. Your fellow
physicists might not even know why you're spending time on this, but it
really does pay off in the long run.
-- Wolfgang
Wolfgang Kilian
2016-04-04 14:11:18 UTC
Permalink
Post by Gary Scott
Post by Wolfgang Kilian
Post by Muhammad Ali
Hello,
I am interested in Fortran programming, however, it will be my first
serious attempt towards coding/simulation/programming. My back ground
is Physics, no practical experience with programming languages.
I am focusing Fortran because in my research field, most of the
simulation packages are written/compiled in Fortran.
So, this post is for the valuable suggestions from the experts that
how can I start self learning Fortran from scratch to advanced level
in minimum time. For this, please recommend fortran compiler,
literature, text books, websites, video lectures, your personnel tips,
etc. In addition, you may also add some extra suggestions for shell
script writing as well. You may recommend for both Linux and Windows
operating systems.
Looking for your posts.
[accidentally sent to PM (sorry), reposting]
Post by Gary Scott
Post by Wolfgang Kilian
Post by Muhammad Ali
Thank you.
Since you're also asking about programming in general, a few additional
- learn to use the Make utility.
(At some point, you may want to extend this towards a portable build
environment such as autotools or Cmake.)
- for very simple scripts use the shell. If you need more, you'll
likely want to learn Python.
(Yes, that's another language ...)
- don't try to do a GUI for your programs. It'll be non-portable, and
outdated before it's even finished.
Nobody would ever use any of my applications if I didn't tack a GUI onto
it. GINO is, at least using the restricted subset, cross platform
portable. It is by far the easiest GUI interface library to develop with.
Yes but commercial - my users might be persuaded to buy a compiler, but
usually they rely on (cost-)free software, including gfortran. I guess
that's not untypical for research projects in academia.

I once tried Qt, but today, I'd rather choose a Javascript approach with
a client/server model under node.js. Works with Fortran, client even
runs on mobile. That framework is portable and unlikely to disappear
soon, but who knows what will be the favorite scheme in 10 years?
Fortran will stay ...

-- Wolfgang
--
E-mail: ***@domain.de
Domain: yahoo
Loading...