-
Notifications
You must be signed in to change notification settings - Fork 59
add Bader's draft about OOP in Fortran to the learning section #477
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
fc0ad07
add Bader's draft about OOP features in Fortran
nbehrnd 9c22024
explicitly credit Reinhold Bader as author
nbehrnd 86a8a6f
test Sphinx' tip environment
nbehrnd 6d94609
extend usage of admonitions
nbehrnd a44333a
adjust indentations to 2 spaces/level
nbehrnd 690fec9
revise usage of f90 code block fence label
nbehrnd 02650e3
redefine images as block level images
nbehrnd c92c71a
change Fortran keywords to lower-case letters
nbehrnd 9e9b663
add booklet to the index of the learning section
nbehrnd d29f638
split oop single page booklet into a multipage booklett
nbehrnd 1a4f74e
lightly lint the markdown file for eventual aesthetics
nbehrnd e82b0ad
Update source/learn/oop_features_in_fortran/object_based_programming_…
nbehrnd d8c2f1c
Update source/learn/oop_features_in_fortran/object_based_programming_…
nbehrnd 2e76637
Update performance_and_ease_of_use.md
nbehrnd bd2a65e
add missing f90 code fence labels
nbehrnd File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
# Putting Fortran’s object-related features to practical use | ||
|
||
:::{toctree} | ||
:maxdepth: 2 | ||
:hidden: | ||
Object-based programming techniques <object_based_programming_techniques> | ||
Object-oriented programming techniques <object_oriented_programming_techniques> | ||
Performance and ease of use <performance_and_ease_of_use> | ||
::: | ||
|
||
This article by the late Reinhold Bader (1966-2024) | ||
describes how advanced Fortran language features can be | ||
applied toward object-based and object-oriented programming techniques. | ||
These are, of course, to a significant extent a matter of taste, | ||
personal style and possibly overarching program design considerations, | ||
so should be taken with a pinch of salt. | ||
|
||
Language features from Fortran 95 and later will be used; those from | ||
Fortran 2003 and later will also be shortly described. They are | ||
explained in more detail in e.g., Metcalf, Reid, Cohen and Bader.[^mfe] | ||
See also [Fortran 95 language | ||
features](https://en.wikipedia.org/wiki/Fortran_95_language_features) for | ||
the language's fundamentals; the prerequisite for understanding this article | ||
is that features explained there are well understood. | ||
|
||
Boldface will be used where term definitions are introduced. They are | ||
additionally annotated by "(not a Fortran term)" or similar if the term | ||
is not used in the Fortran standard itself, but is in general use in the | ||
technical literature. | ||
|
||
Compilable and runnable example code is available from an external | ||
[Github repository](https://github.com/reinh-bader/object_fortran). | ||
|
||
[^mfe]: | ||
Metcalf, Michael; Reid, John; Cohen, Malcolm; Bader, Reinhold (2023). | ||
_Modern Fortran Explained._ Numerical Mathematics and Scientific Computation. | ||
Oxford University Press. | ||
[ISBN 978-0-19-887657-1](https://en.wikipedia.org/wiki/Special:BookSources/978-0-19-887657-1). |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.