Anyway I eventually ended up with c. Recently I started playing with gfortran, but so much have leaked out of me I have been having a tough time of it. I expect this will help me a lot!
Edit: No functions ? OK, noticed it is handled under Subprograms. Seems there have been many changes.
Curly Brackets were horrible choice, because in civilized countries they were already used as ÄÖÅÜ - characters.
https://www.intel.com/content/www/us/en/developer/articles/r...
Last commit is 2 days ago.
If you need to update every two weeks, maybe the development process is wrong.
I was on a OpenCL Webminar panel, where Khronos folks said exactly the same thing.
Meanwhile, NVidia's investment into PGI compilers really paid itself out.
I do not think Fortran is dead though.
Do you like your initial value to be at index 1? Cool. Prefer to index arrays from 0 instead? Sure, go ahead.
How about an array with indexing symmetric around zero?
double precision :: arr(-100:100)
Beautiful!Your example across most of them is something like:
type
precision = array [-100..100] of double;And the language has some nasty pitfalls for users (and some nonportable cases due to bugs in some compilers) with non-default lower bounds. A simple assignment statement like A=B might change the bounds of A, but A=(B) and A(:)=B cannot. It’s best to avoid non-default lower bounds in general.
Interesting article.
readthenotes1•8mo ago
adrian_b•8mo ago
Fortran is the only surviving programming language older than that (first specification in 1954 and first implementation in 1956). Cobol is the only surviving programming language equally old with LISP and ALGOL, so that it has not been influenced by either of them. Thus now Fortran and Cobol are the only surviving programming languages from the era when only static memory allocation was used in programs, though their later versions have added most modern programming language features.
pjmlp•8mo ago
adrian_b•8mo ago
Moreover, it has been explicitly designed with the purpose of combining the best features of ALGOL, FORTRAN and COBOL. It has also added heap-based dynamic memory allocation like in LISP, but for deterministic behavior it has introduced the equivalent of "malloc" and "free", instead of using a garbage collector (manual memory allocation management is thus younger than both the use of garbage collectors and of reference counting, both of which have been in use since 1960).
Therefore PL/I is clearly a language derived from ALGOL and LISP, besides FORTRAN and COBOL. PL/I is also one of the 3 sources from which the C language has inherited, besides BCPL and ALGOL 68.
RPG (Report Program Generator, 1959) is indeed old, but it is a special-purpose programming language, like SQL, not a general-purpose programming language.
I have never encountered NEWP, but AFAIK it is a much more recent language, from the seventies.
While almost all general-purpose programming languages designed after 1960 have incorporated the features introduced by ALGOL and LISP, such as block structure with local variables dynamically-allocated in a stack, allowing reentrancy and recursivity, and also with heap-allocated variables without restrictions on the freeing order, there have also been various languages with limited purpose, which have been kept intentionally very simple, by omitting many of the features of standard programming languages. However for such more recent simplified languages, omitting features has been a design target, while in the languages from the fifties such features were missing not because they were not desired, but because it was not yet clear how to implement them.
pjmlp•8mo ago
As for the rest, I hardly consider 1960's languages, only a decade older than original ALGOL and LISP, when most knowledge sharing was only done via conferences, scientific papers, or people moving between universities and companies research labs that much different, in age and industry impact they contributed to.
On the other hand, we are still fighting to get mainstream systems programing as safer as those languages in late 1950's, early 1960's, allowed for.
Or as interactive as LISP for that matter, including the whole jump into debugger and redo kind of workflow.
johnisgood•8mo ago
- https://libgen.is/book/index.php?md5=47FDC7E85997AE8641E1A56...
- https://libgen.is/book/index.php?md5=DBB7CD9552330FE92F032F5...
- https://libgen.is/book/index.php?md5=A574CCCD425E4A8788AEC61...
- https://libgen.is/book/index.php?md5=366378CECB17B2D42286A32...
- https://libgen.is/book/index.php?md5=6881885F023742BB5C82D2E...
I hope this helps some, if interested.
timonoko•8mo ago