(no title)
theodorethomas | 2 years ago
A Fortran program that reads its input, calculates and finally writes out its output does not have to execute any particular instruction at all. As long as the answer is "AS IF" it had done the user-specified computation, the Fortran compiler has done its job. In between I/O, it submerges into the ineffable like a Cold War SSBN.
C is about the instruments, the players and the conductor, Fortran is about the music.
dTal|2 years ago
See "C is not a low-level language" - https://queue.acm.org/detail.cfm?id=3212479
theodorethomas|2 years ago
C, as an operating system implementation language, is trying to do something fundamentally different than Fortran.
You live by memory address, you die by memory address.
PhilipRoman|2 years ago
This would also be true for assembly, hardly a high level language
AnimalMuppet|2 years ago
I expect the hardware to handle cache coherency in that situation. What the compiler does should be irrelevant.
teleforce|2 years ago
Fun facts, Walter the original author of D language wrote his popular Empire game in Fortran [2]. Some of the ideas that make Fortran fast is incorporated into D language design and this makes D is as easy if not easier to optimize than Fortran [1].
[1]Numeric age for D: Mir GLAS is faster than OpenBLAS and Eigen:
http://blog.mir.dlang.io/glas/benchmark/openblas/2016/09/23/...
[2]A Talk With Computer Gaming Pioneer Walter Bright About Empire:
https://madned.substack.com/p/a-talk-with-computer-gaming-pi...
NikkiA|2 years ago
coliveira|2 years ago
mhh__|2 years ago
theodorethomas|2 years ago
https://news.ycombinator.com/item?id=30022022 How ISO C became unusable for operating systems development