4 ms·
What's wrong with FORTRAN?
by donkeybeer 1y ago
What's wrong with FORTRAN?
- pklausler 1y agoIt’s hard to actually define what Fortran means. There’s features in the standard that are not portable, and many portable features that are not standard. It’s kind of a mess, and getting worse.
- spauldo 1y agoFORTRAN means what it's always meant. The standard is a guide for the implementor. The user needs to code to the implementation. It's a different way of thinking about languages than most people usually do, but it's been true for FORTRAN since the 1950s and is true to some extent of every language with multiple implementations today.
- antonvs 1y agoThe same kinds of things that are wrong with all languages originally designed more than 50 years ago (75 years in Fortran's case) and that have accreted features since then. You end up with long-term fads like class-based object orientation embedded in the language, and that inhibits them evolving towards more principled designs. C++ is in a similar situation. All of these languages are Turing complete. So ultimately, if you're happy writing code in some language and don't want to change, that's your choice. But the reason Fortran or C or C++ isn't many people's first choice for new projects are closely related to the reasons I've mentioned. There will always be people who want to stick to what they know, but it's not only science that advances one funeral at a time.
- donkeybeer 1y ago>You end up with long-term fads like class-based object orientation embedded in the language, and that inhibits them evolving towards more principled designs. And what makes you think today's "principled designs" won't get the boot a few years down the line too? These things are cyclical and rarely based on any real mathematical reasoning.
- donkeybeer 1y agoIt's also not about sticking to what I already know for me. I don't currently know FORTRAN but wish to learn FORTRAN. There are more factors to language use than design pattern fads. Like efficiency for example, which almost any modern garbage collected or managed language cannot meet beyond a certain level. And that usually gets worse the more "powerful abstractions" one adds. I want to learn FORTRAN because I have been told it has real benefits in terms of ergonomics for efficient code, ie normal looking FORTRAN code is faster than normal looking C/C++/Rust. Efficiency is a real, concrete and measurable quantity. It is not subject to the fad of the day.
- theodorethomas 1y agoIt is not suited to cases where the machine state is experienced by the user at all times (games, hardware-control, real-time transactions). It is very suited to cases where the machine is expected to act like a SSBN, disappearing from view until a large floating-point calculation is ready.