3 ms·
I think of Fortran as one of the most important half-dozen languages in use. But I think of computers as devices for computing things, rather than primarily for
by leephillips 5y ago
I think of Fortran as one of the most important half-dozen languages in use. But I think of computers as devices for computing things, rather than primarily for serving advertising over the web.
But I would’t use a Fortran web framework. It’s not well-suited to that.
Fortran is one of only two languages with a concise array syntax that’s used at the most demanding levels of high performance computing. The other is Julia.
- tasty_freeze 5y agoAPL?
- leephillips 5y agoIt's efficient and certainly has concise array syntax. But it's not actually used for high performance simulations. Nobody is running APL on petaflop machines to simulate galaxy mergers.
- mumblemumble 5y agoI could imagine using a Fortran Web framework when the goal is to build a monitoring console or API into a large Fortran project. In situations like that, the effort to make it so that you can build the Web-facing parts in a more Web-friendly language is often far greater than the effort to just build the bits you need in the main language.
- necheffa 5y agoAs someone who works professionally with large Fortran applications - the last thing you want to do is put Fortran anything on the web. Everything, and I do mean everything, is such a pain in the ass with Fortran. To the point where large scale applications are riddled with trivial overflow, race condition, and injection bugs because the language actively fights against doing things the right way.
- pklausler 5y agoFortran's array syntax isn't really all that common in HPC codes, in my experience. The initial implementations in the 90's weren't great, and then things got themselves into a death spiral of HPC codes avoiding features that weren't performance-portable and compiler vendors avoiding work on features that weren't essential to current HPC applications. (This has been a repeated pattern in Fortran since then, too, unfortunately. J3 invents something, often with flaws that go unnoticed until somebody tries to implement it; compilers don't invest in as-yet unused features, especially flawed ones; codes don't use them because they're not portable, or not performance-portable; repeat. DO CONCURRENT is the latest example -- J3 defined it as a serial construct and included semantics that can preclude parallelization...)