6 ms·
The article didn't say the reason for Fortran's renewed popularity. Anyone know why? Only thing I can think of is either due to AI/ML or robotic-y needs.
by RoyTyrell 6y ago
The article didn't say the reason for Fortran's renewed popularity. Anyone know why? Only thing I can think of is either due to AI/ML or robotic-y needs.
- Miner49er 6y agoI think it's popular in the high performance computing crowd.
- nonameiguess 6y agoI can't say for sure the reason, but I can say with confidence the use of Fortran never really went out of style, but many of the uses were confined to classified systems and edge type or disconnected systems. Heavy number crunching is a big deal in applications like satellite imagery processing, signals surveillance, targeting and navigation. Fortran never really stopped being king there, but a lot of the development wasn't exactly taking place on engineer's personal laptops or Internet connected systems at all, so queries for how to do stuff wasn't being captured by Tiobe metrics. The U.S. government has been making a huge push in the past decade to downgrade as much code as possible that doesn't need to be classified and push as much development as possible into fully unclassified environments to mitigate the cost of needing a fully cleared workforce. And network connectivity is generally increasing for systems that were not networked in the past. Trends like these could easily account for Fortran developers doing more work in the open where they can just use Google to get answers instead of checking proprietary and closed information sources.
- ghaff 6y agoAny sort of language popularity tally is at least somewhat suspect. People who do this sort of thing systematically try to use a variety of sources and have some sort of formal methodology. But, at the end of the day, you're dependent on public data sources. If development is taking place behind closed doors, questions aren't being asked on stackoverflow or Google, not many books are being purchased, etc. you're going to undercount relative to, say, Javascript.
- windock 6y agoMay I just express my gratitude for having this community. This answer is well articulated, and answers the question I had, in a form that is close to heart.
- Bostonian 6y agoMaybe Intel making its Fortran compilers for Windows and Linux has helped. Fortran Discourse https://fortran-lang.discourse.group/ https://fortran-lang.discourse.group/ is a recent, active discussion site, and Fortran-lang https://fortran-lang.org/ https://fortran-lang.org/ is a recent information hub. On GitHub the Fortran Programming Language group https://github.com/fortran-lang https://github.com/fortran-lang is active, creating a Fortran standard library and package manager. That said, although I'm a Fortran fan and programmer I doubt its relative popularity has truly jumped so much in 1 year.
- ChrisMarshallNY 6y agoI do know that FORTRAN is considered the fastest scientific computing language; beating out C++. I'm told that is because the standard libraries are so optimized. Also, there is a gigantic infrastructure of literature, algorithms and support for the language. It is also relatively easy for folks that don't code for a living to use. I wouldn't know, from experience. The last time I had anything to do with FORTRAN was in 1987, and I don't miss it one bit.
- DyslexicAtheist 6y agotook over a project that calculates the inbreeding-coefficient[1] on a platform for animal breeders. The product is used by breeding organization of endangered livestock (an Alpaca club in Ireland, a horse breeder in Belgium etc etc). My first reaction was WTF who decided on this technology. It was developed with some university professors focusing in veterinary geneology and so weren't aware that this isn't the right choice. When I asked them they were dead set on using this because apparently in their domain it is considered the go-to language for number-crunching. Idk if this is anecdotal or if there is a pattern but the feeling / takeaway I got was that some older academics would bring these things back because it's what they think is the right tool for the job. It was odd because most younger people I know who develop but don't consider themselves "developers" by trade would almost always resort to Python. [1] https://en.wikipedia.org/wiki/Coefficient_of_inbreeding https://en.wikipedia.org/wiki/Coefficient_of_inbreeding
- m_mueller 6y agoif the number crunching requirements are moderate (e.g. can be efficiently done in NumPy OR can be done <1min runtime in cPython interpreter and there are no real time requirements) it certainly is very questionable to go with Fortran. If the above isn't true, e.g. for some heavy physics calculations, Fortran is still a fine choice if you get the right people to maintain it. I'd choose it over C/C++ but would first have another look at Julia (esp. regarding its tooling maturity).
- milancurcic 6y agoAs I understand it, the TIOBE index is calculated based on search engine rankings. What I believe helped Fortran's ranking was our hard work on its web presence [1] (started April 2020), modern tooling [2] (started December 2019), and community building [3] (started May 2020). [1] https://fortran-lang.org/ https://fortran-lang.org/ [2] https://github.com/fortran-lang/ https://github.com/fortran-lang/ [3] https://fortran-lang.discourse.group/ https://fortran-lang.discourse.group/
- jillesvangurp 6y agoRight, I was wondering about the methodology. I think the yearly Stackoverflow surveys are a bit more reliable probably in terms of what people actually use. The latest one does not even include either Fortran or Groovy, both of which allegedly and randomly got a lot more popular according to the article. I don't think either of those things actually happened. https://insights.stackoverflow.com/survey/2020#most-popular-technologies https://insights.stackoverflow.com/survey/2020#most-popular-... Fortran competitor, Julia is included. That might just be bias of the Stackoverflow user base of course. But, I think it's a pretty widely used tool also for Fortran developers. At least there are plenty of questions tagged with that (11K, which is more than Julia's 8K). There recently was some HN post about Fortran, so I imagine that might have triggered a few searches.
- bachmeier 6y ago> Fortran's renewed popularity There's no way to know if a language is becoming more popular. You can only observe if a measure of language popularity is rising, falling, or staying the same. We're almost certainly observing the "measured" part as opposed to the "actual" part.
- enriquto 6y ago> The article didn't say the reason for Fortran's renewed popularity. Anyone know why? As a single data point, I'm more and more drawn towards Fortran lately. I never used it before this year, having done all of my work in various non-Fortran languages, mostly C, C++, Matlab/Octave, lua, python+numpy, and Julia. I'm quite fed-up with limitations with all of these languages, and it seems that Fortran has actually its shit together, at least for purely numerical computation (which is all I do and all I need).
- sidpatil 6y agoWhat are some examples of limitations you've run into with various non-Fortran languages?
- enriquto 6y agoNone of them seems "tailored" to the job of numerical computation (mostly linear algebra algorithms) like Fortran seems to be. C: it is mostly alright, especially since C99 with VLA and complex numbers. Yet the aliasing rules are a bit annoying, and multi-dimensional arrays, while possible, do not really feel natural. C++: an unholy clusterfuck... I almost ended crazy trying to use it properly. With extreme discipline maybe you can get to do some work with it. But not me. Octave: very beautiful language with a natural, concise notation for math. Excellent out-of-the-box support for sparse matrices. Shame that loops are so slow; needs a serious effort on a JIT. lua: my favorite general-purpose language. The luajit interpreter may be one of the fastest and easiest alternatives to Fortran. I wrote a matrix product using an explicit triple loop, and it multiplied huge matrices just slightly slower than an optimized blas. Extremely impressive! I'm very sad that the project is sort of "abandoned". python+numpy: My least favorite, but the one that I use the most... what can I say: this is a general-purpose language where you can sort of do math in it. But it is not a language tailored for math. The base language has natively strings and dictionaries (for which I have no use) but it doesn't have native multidimensional arrays of floats. I do not understand why the numeric computing community is shifting so much to python, it makes no sense in my eyes. Also, loops are insultingly slow. Julia: may be the best of the bunch, but launching the interpreter is excruciatingly slow, and it does not suit my usage. In the time that julia uses to compile a three-line program to plot "sin(x)", you can run one hundred times the Fortran compiler on the equivalent program (or simply call gnuplot). All in all, it keeps pretty much the promise of "matlab with fast loops", which is just what I need. But I feel that it's still a bit far from being there.
- atemerev 6y agoFortran = physics, and perhaps either civilian or military engineering.
- tibbydudeza 6y agoReally well debugged and proven numerical processing libraries like LINPACK ???.
- counters 6y agoThere's been some great, recent efforts to bring more "modern amenities" to the Fortran coding experience. For instance the Fortran Package Manager [1] aims to make it easier to bootstrap new applications leaning on established, extant code without spending all your time manually setting up the build targets and library linking details. I've also seen a confluence with the AI/ML communities. Some interesting applications of these tools to accelerate models used in weather, climate, chemistry, physics, and astrophysics require complex software interactions, usually running simultaneously with some multi-million line Fortran code base. There's been many interesting and clever marriages of classic HPC Fortran applications and novel, embedded AI/ML parameterizations. [1]: https://fpm.fortran-lang.org/ https://fpm.fortran-lang.org/