14 ms·
I would love it if these projects were accompanied by a little blog post stating who the person is, why they decided to do it etc. for projects where it is obvi
by projectramo 10y ago
I would love it if these projects were accompanied by a little blog post stating who the person is, why they decided to do it etc. for projects where it is obviously a labor of love.
Especially because of the effort it would take to get this working on a "dead" language. Like who are you? How did you decide to work on this for the pure joy of it? Why not Cobol? Why a web framework?
- chejazi 10y agoSome digging uncovered mapmeld's appreciation for the Fortran community on Github https://medium.com/@mapmeld/fortran-culture-on-github-a257dd595061 https://medium.com/@mapmeld/fortran-culture-on-github-a257dd...
- noobermin 10y ago>It could be about scientific coders’ culture versus web developers like me. That's basically it. Scientific programmers are from a different era and a different culture.
- pbowyer 10y agoAlso, their focus is more on what they can do with the code, not the code as an end in itself. When discussing pull requests and changes, having less ego involved makes a big difference.
- cjslep 10y ago> "dead" language In the world of traditional engineering, you will still encounter senior PE's that pump out Fortran. Luckily, it usually isn't fixed form. Also revisiting older projects can also mean visiting Fortran, and sometimes that can be fixed form (looking at you, wind hazard modelling of tornadic winds for nuclear powerplants).
- sanarothe 10y agoI love it I'm imagining a sixty year old dude, revered by all around him, who spend the last forty honing his fixed-form Fortran skills. Young engineers gather around him just to marvel at this masterpiece: https://www.youtube.com/watch?v=_DTpQ4Kk2wA https://www.youtube.com/watch?v=_DTpQ4Kk2wA
- bigger_cheese 10y agoWe have a heap of heat and mass transfer simulation code at my work written in Fortran. It is heavily used in the world of fluid dynamics.
- sspiff 10y agoAs far as I know, Fortran is not a dead language, but is actively used in the scientific computing & mathematics niche.
- sevenless 10y agoI would guess compiled Fortran accounts for the majority of processor cycles on supercomputers worldwide, given how common it is in applications modeling weather, fluid mechanics, nuclear physics and quantum chemistry.
- inlineint 10y agoYes, NumPy depends on BLAS/LAPACK libraries which are written on Fortran. In turn TensorFlow and Theano which used for implementation of most state of the art deep neural networks depend on NumPy, so Fortran is still alive and gearing such modern research.
- marmaduke 10y agoAll of this is wrong. Numpy does not depend on fortran code and TF and theano implement their arithmetic without fortran code.
- shepardrtc 10y agoFrom http://docs.scipy.org/doc/numpy/user/building.html http://docs.scipy.org/doc/numpy/user/building.html > Various NumPy modules use FORTRAN 77 libraries
- inlineint 10y ago$ pip show tensorflow theano Name: tensorflow Version: 0.7.1 ... Requires: six, protobuf, wheel, numpy --- Name: Theano Version: 0.8.2 ... Requires: six, scipy, numpy You are right that arithmetic in both of them is not written on Fortran, but the packages do use NumPy as you can see in the pip output.
- mapmeld 10y agoI'm Nick and I'm usually a full-stack JS developer. Fortran is something foundational to languages we use today, and my professors and parents would talk about it, but I didn't even know what it looked like. I noticed recently that Fortran repos on GitHub accept nearly every pull request (https://medium.com/@mapmeld/fortran-culture-on-github-a257dd595061 https://medium.com/@mapmeld/fortran-culture-on-github-a257dd...). One day I wondered if there was a Fortran server, did some Googling, and found a tutorial from 8-10 years ago (http://flibs.sourceforge.net/fortran-fastcgi-nginx.html http://flibs.sourceforge.net/fortran-fastcgi-nginx.html). I started out updating the tutorial, requesting some missing files and missing instructions from the authors (almost every Fortran info on the web assumes that you already know how to compile and run your program). Once I was halfway down the rabbit hole, updating this tutorial, it felt right to keep it going
- nickpsecurity 10y agoGreat job! Reason being is I had those same tutorials that I used in language debates. Someone would eventually claim you couldn't do modern apps with (insert "ancient" language). So, I cited Fortran on FastCGI or COBOL on Cogs. Reactions are usually silence or serious revision to points being made. Yours is a nice improvement. If you want to add to the prank, then maybe do a modern-style app or clone of popular one that would definitely delight people. Relatively small app to not take too much time. Offer them a link to the source in case they want to check it out. Let them find out it's Fortran on thdir own. Observe the reactions while recording the best ones. ;)
- projectramo 10y agoVery nice. How long did it take you?
- mapmeld 10y agoI only started looking into it two weeks ago, so setting aside some time here and there on a few weekends, sending emails when it wasn't working. Main challenge was how to go beyond the original tutorial, without getting too deep in the weeds with Fortran
- 10y ago
- m_sahaf 10y agoI used to think, like you, that Fortran is a dead language. Later I learned that it's still used in SciPy[1] (and I believe NumPy, but can't find a reference). [1] https://www.scipy.org/scipylib/faq.html#how-can-scipy-be-fast-if-it-is-written-in-an-interpreted-language-like-python https://www.scipy.org/scipylib/faq.html#how-can-scipy-be-fas...
- amelius 10y agoLAPACK [1] is written in Fortran. It is still heavily used in scientific computing. And to be honest, I don't know if there are good alternatives for it in other languages (except for CLAPACK, which is just a transpiled version of LAPACK in C). [1] http://www.netlib.org/lapack/ http://www.netlib.org/lapack/
- jofer 10y agoNumpy specifically doesn't require Fortran. (That was the reason for the original separation of numpy and scipy.) Numpy will compile f2py (to allow running fortran code in python) and I think it uses the Fortran lapack bindings in some cases if a Fortran compiler is present. However, both of those are optional. Numpy deliberately avoids requiring Fortran in any way. Scipy, however, uses quite a bit of Fortran in addition to C and requires a Fortran compiler to build. At any rate, as you noted, it's hardly dead. Modern Fortran is a domain-specific language, for the most part, but it's quite popular within that domain (scientific computing and HPC).
- chubot 10y agoIt's also used heavily in R itself and in many R packages. In fact some people go as far as to say R is a wrapper around Fortran libraries. So yeah Fortran is not dead by any means. Tons of people are using it every day, but perhaps not writing code in it. Just like your OS and browser are written in C/C++ but your applications might not be.
- jb1991 10y agoFortran is actually still in major widespread use, particularly in the scientific and engineering fields. This is partly because it has unparalleled speed in some domains, better even than C or C++.
- fhood 10y agoFortran is ubiquitous in ocean and atmospheric modeling. I believe this is the case for all earth sciences.
- yeowMeng 10y agoEspecially Fortran in a unix MPI cluster.
- theophrastus 10y agoI have a buddy at US Fish and Wildlife where they do river flow modeling with Fortran routines from the seventies formerly compiled on Windows machines. He was finding it increasingly difficult to get his all-powerful shadowy IT division to install a compliant MS Fortran compiler, and linux (somehow deemed governmentally untenable?) was out of the question. So i helped him get his ~2000 Fortran lines into C/C++. woowee... but did i see some hairy spaghetti code. A favorite maneuver was to jump out of a loop, change the loop counter on a subroutine branch, and jump back into the middle of the loop.
- hughw 10y agoChange the loop counter? That's supposed to be impossible in Fortran, isn't it? Maybe that's a language extension?
- theophrastus 10y agoThis was from code originally from about 1978ish, which compiled on a Microsoft Fortran compiler from the 2000s. It looked something like (without indents): DO I=1,10000 ... IF (QQQ .LT. RIX70) THEN CALL IXNARF( I, J, R1, R7, XL23 ) GOTO 23 ... END IF 111 CONTINUE ... END IXNARF could change 'I' (because Fortran 77 passed arguments by reference not value) and sometime after line (er... "card") 23 it might jump back into the loop at 111. oh and there was like three comments in the whole several thousand lines, including my favorite at the top of one of the main loops: C CHUGGA CHUGGA CHUGGA
- api 10y agoFortran is not a dead language. It's got a strong stable niche in science and engineering.
- projectramo 10y agoI put the "dead" in quotes! My freshman year I asked my professor why we had to do this one program in Fortran, and after that response, I will never refer to Fortran as "dead" without quotes.
- andrepd 10y agoFortran is still in widespread use in scientific and numeric computing. It's far from "dead".
- mswetcunt 10y agohttps://youtu.be/EZa6Nv1KH7Ihttps://youtu.be/EZa6Nv1KH7Ihttps://youtu.be/EZa6Nv1KH7Ihttps://youtu.be/EZa6Nv1KH7Ihttps://youtu.be/EZa6Nv1KH7I https://youtu.be/EZa6Nv1KH7Ihttps://youtu.be/EZa6Nv1KH7Ihttp...
- deleted 10y ago[deleted]
- rlcarino 10y agoHello, I wrote the 'fortran+fastcgi+nginx' thingy. It has evolved into https://github.com/rlcarino/heeds https://github.com/rlcarino/heeds. Production live runs (and a little blog post about it) may be found at http://heeds.csu.edu.ph http://heeds.csu.edu.ph. Some students from a university connect to the runs with their Android phones without cell data cost via Facebook's Free Basics which is available in that part of the world. Usage instructions for students are in the FAQ of https://www.facebook.com/groups/csuheeds/ https://www.facebook.com/groups/csuheeds/. Why do it? Somebody pays for it. Ric Carino