13 ms·
Fortran.io – a Fortran Web Framework
- Pandabob 7y agoAh, Fortran, how I miss you. Unfortunately it seems like the last commit to this project is from three years ago.
- harikb 7y agoI think you meant to say 1. Zero open issues :o 2. Code is stable - no recent fixes :P 3. Not even the mighty spectre and meltdown demanded a fix PS: I am sure this is meant as a parody to make fun of other frameworks.
- JackRabbitSlim 7y agoThat's how python's Flask framework started too https://lucumr.pocoo.org/2010/4/3/april-1st-post-mortem/ https://lucumr.pocoo.org/2010/4/3/april-1st-post-mortem/
- mapmeld 7y agoI did get a patch some time ago which was really well-written. Almost all pull requests to serious Fortran projects (mostly OpenBLAS) get merged in. I wrote about it here: https://medium.com/@mapmeld/fortran-culture-on-github-a257dd595061 https://medium.com/@mapmeld/fortran-culture-on-github-a257dd...
- breck 7y agoInteresting! Fun game too.
- deleted 7y ago[deleted]
- dx87 7y agoAlso see COBOL on Cogs, http://www.coboloncogs.org/INDEX.HTM http://www.coboloncogs.org/INDEX.HTM
- icen 7y agoAnd Intercal on Interstates: http://intercaloninterstates.org/ http://intercaloninterstates.org/
- lcnmrn 7y agoPascal web framework?
- unnouinceput 7y agoOxygen
- analognoise 7y agoYou joke, but a JavaScript backend was added to Freepascal last year. https://wiki.freepascal.org/pas2js https://wiki.freepascal.org/pas2js
- kreetx 7y agoThis thread brings up a lot of interesting stuff (Fortran soon in LLVM earlier, too).
- pjmlp 7y agoDelphi has had one since early 2000, with all the goodies, including MVC and services support.
- anta40 7y agoThere a few, e.g: http://www.fastplaz.com/ http://www.fastplaz.com/ https://github.com/risoflora/brookframework https://github.com/risoflora/brookframework
- Scarblac 7y agoThere is also a hilarious SQL on Rails video but I'm on my phone and don't have the link right now.
- 7y ago
- praptak 7y agoJust about time. Cobol has had one since when, a decade?
- capableweb 7y agoCOBOL-ON-COGS (http://www.coboloncogs.org/HOME.HTM http://www.coboloncogs.org/HOME.HTM) was one, but also https://github.com/azac/cobol-on-wheelchair https://github.com/azac/cobol-on-wheelchair
- cmroanirgo 7y agoI saw the reference to Ubuntu 14 and thought "what the?" Then I noticed the code hasn't been updated in 3yrs. One question answered but the bigger one remains: Why do we (meaning: me, I) gauge a project by it's recentness? I've written plenty of LOC that are structurally sound that I've not needed to touch up/ improve upon... And as a FORTRAN project you can be pretty sure updates can be glacial but still very viable. Love the idea.
- omaranto 7y agoI gauge projects based on recentness: recent for me suggests it's likely buggy, unoptimized and with an unstable interface. Is that what you meant?
- playing_colours 7y agoWow, it is a great time to join Fortran hype: https://www.manning.com/books/modern-fortran https://www.manning.com/books/modern-fortran !
- fizixer 7y ago> .. Fortran 90 ... Peasants. FORTRAN-77 is the real Fortran.
- greglindahl 7y agoFortran 77 has a lot of luxuries compared to FORTRAN IV, I have to say.
- mring33621 7y agoParadise! We had to wake up a half an hour before we went to bed to use FRTRN 0.1, with punch cards made from rolled-up, discarded newspapers!
- jedimastert 7y ago> We had to wake up a half an hour before we went to bed I love it
- lmkg 7y agoIn case you're not aware, it's a riff on an old Monty Python skit (RIP Terry Jones). An absolute classic, that one. https://www.youtube.com/watch?v=ue7wM0QC5LE https://www.youtube.com/watch?v=ue7wM0QC5LE
- dang 7y agoI was surprised to learn that it predates Monty Python: https://en.wikipedia.org/wiki/Four_Yorkshiremen_sketch https://en.wikipedia.org/wiki/Four_Yorkshiremen_sketch https://www.youtube.com/watch?v=_nL6isGPhzk https://www.youtube.com/watch?v=_nL6isGPhzk
- UncleSlacky 7y agoI can write Fortran in any language!
- tus88 7y ago> Fortran never left us... it runs our mainframes today. What? That's where you lost me.
- ironmagma 7y agoIIRC, FORTRAN is used heavily in the LINPACK/LAPACK libraries which are further used in higher level libraries such as numpy. So it’s likely true that it still sees use in control software running trains, banks, air traffic control, etc.
- deleted 7y ago[deleted]
- colechristensen 7y agoIt is still heavily used for numerical code in various places, especially aerospace (to avoid reverifying code with new languages or just to ensure new work can be accurately compared with old work) There's even a CUDA compiler. As I understand it, lack of pointers makes it possible for fortran compilers to parallelize code quite well.
- ironmagma 7y agoFortran does have pointers, though. [1] Maybe they are just not common for most math operations on matrices? [1] http://www.personal.psu.edu/jhm/f90/lectures/42.html http://www.personal.psu.edu/jhm/f90/lectures/42.html
- angus-g 7y agoMultidimensional arrays are first-class in Fortran, so there's no need to use pointers there. There are some rules around pointers and subarrays that I expect make any possible aliasing undefined behaviour.
- colechristensen 7y agoIt has things called pointers, but they are significantly different than pointers in C. They can't return memory addresses and so there's no pointer arithmetic or other difficult to optimize actions. And after writing a significant amount of fortran 90 code I didn't even know the feature existed...
- runawaybottle 7y agoLet’s all get good at Fortran in 3 Months get those cushy six figure salary jobs those Fortran devs make building web apps, sounds easy enough.
- realbarack 7y agobrb starting my venture-backed FORTRAN coding school
- myrryr 7y agoYou joke, but a lot of places are still looking for Fortran devs.
- runawaybottle 7y agoLink me The Who’s hiring Fortran devs please, I’m slightly bored of React.
- mindcrime 7y agoI'm not jumping on the Fortran bandwagon until it runs natively in the browser! No transpiling to Javascript or any other such monkey business either. I want a browser with true Fortran support built right in.
- didip 7y agoThe more I look at Fortran, the more I appreciate its beauty. I think some of its infamy is unjustified.
- acqq 7y agoMy contribution to an example of something done right in the first FORTRAN and then done wrong many times afterwards: "The March of Progress > * 1956: Fortran I: > PRINT 1, X > 1 FORMAT (F10.2) * 1980: C printf("%10.2f", x); * 1988: C++ cout << setw(10) << setprecision(2) << showpoint << x; * 1996: Java java.text.NumberFormat formatter = java.text.NumberFormat.getNumberInstance(); formatter.setMinimumFractionDigits(2); formatter.setMaximumFractionDigits(2); String s = formatter.format(x); for (int i = s.length(); i < 10; i++) System.out.print(' '); System.out.print(s); * 2004: Java System.out.printf("%10.2f", x); * 2008: Scala and Groovy printf("%10.2f", x) " The reference and the details (2012): https://news.ycombinator.com/item?id=3964475 https://news.ycombinator.com/item?id=3964475
- nwallin 7y agoIn my work life, I have a problem where I have to interface with a stringly typed API. For instance, characters 20-25 in a 400 byte string are a floating point number. No it's not a good API but I don't make decisions. So you need a six character float. "12" is wrong because it's two characters, also "12<four spaces>" is invalid. "1.2e01" is wrong compared to "12.000" because it has (many) more significant digits. ".00001" is wrong compared to "1.2e-5". I don't know how to solve this problem. printf doesn't cut it. It simply can't specify an exact number of characters.
- BeeOnRope 7y agoYou could try: %06.*g for width 6 down to 1. I believe this will always find an answer, and the one with the largest number of significant digits. For example: void format(double val, int width, char* buf) { for (int w = width; w > 0; w--) { int count = sprintf(buf, "%06.*g", w, val); if (count == width) return; } } "Working" example (unsafe, exits on failure, etc): https://godbolt.org/z/WiaPkT https://godbolt.org/z/WiaPkT Note that you can't represent negative values equal or below -1e-100 since those take 7 characters.
- zohvek 7y agoEvery day we drift further from god.
- aswanson 7y agolol. Perfect articulation of something I couldnt verbalize.
- DoofusOfDeath 7y agoI'm not picking on your metaphor, but I don't understand it either. Mind elaborating?
- unnouinceput 7y agoIt's a meme, not a metaphor. Though you can argue that a meme is at its core a metaphor, in this case you're better off trying to understand this specific meme, it's quite funny.
- tasty_freeze 7y agoIt isn't meant literally. It is another way of saying that using FORTRAN for this kind of work is unholy. And of course "unholy" is itself a metaphor for something which should not be allowed.
- reggieband 7y agoDrifting further from god is a metaphor for moving closer to hell. He is implying that developing for the web using FORTRAN is moving us closer to existing in hell.
- pizza 7y agohttps://knowyourmeme.com/memes/everyday-we-stray-further-from-gods-light https://knowyourmeme.com/memes/everyday-we-stray-further-fro...
- akerro 7y agohttps://github.com/azac/cobol-on-wheelchair https://github.com/azac/cobol-on-wheelchair
- gdecaso 7y agoWhy?
- aswanson 7y agoBecause there's nothing harder to stop than an idea who's time has come to pass.
- rafaelvasco 7y agoThe coolest named language ever. Forth is cool too :)
- erk__ 7y agoI just hoped it was a website for formula translations
- pavlov 7y agoSure, translating formulas is cool and all, but where's the framework that lets me use PL/1 on OS/2 to build Web 3.0 apps?
- 6gvONxR4sf7o 7y agoFortran actually isn't a static language. It's evolved over time. The last significant revision according to wikipedia is just over a year old. The beauty and horror of it probably depends which era of it you're looking at.
- aidenn0 7y agoIn the late 90s I remember a saying roughly "I don't know what language scientists will be using in 20 years, but it will probably be named Fortran"
- dlivingston 7y agoAs someone professionally involved with computational physics / geophysics, I can vouch that Fortran is still heavily used in these domains. EDIT: for a modern, relatively new and highly-used scientific codebase that uses Fortran90 exclusively, see PFLOTRAN: https://bitbucket.org/pflotran/pflotran/src/master/ https://bitbucket.org/pflotran/pflotran/src/master/
- retrovm 7y agoRelated saying: a scientist can write a FORTRAN program in any language.
- airstrike 7y agoThat is witty on so many levels I'm simply in awe
- leephillips 7y agoThe quote is from Tony Hoare, winner of the 1980 Turing Award, in 1982. https://arstechnica.com/science/2014/05/scientific-computings-future-can-any-coding-language-top-a-1950s-behemoth/ https://arstechnica.com/science/2014/05/scientific-computing...
- the_af 7y agoI also like the saying "you can write FORTRAN in any language".
- mring33621 7y agoFinally! I can't wait to be part of the first GenX college coding projects as a service (GXCCPAAS) unicorn!
- 0xdead 7y agoIt's about time we had another fad.
- telegrammae 7y agoI wouldn't care if this weren't a .io site. But now I am intrigued by how cool this looks.
- velcrovan 7y agoLooks vulnerable to SQL injection attacks. (https://fortran.io/static/model.html https://fortran.io/static/model.html)
- jaywalk 7y agoI held out hope that maybe there was some sort of special treatment for that parameter. But then I looked at the source and... nope, it's just slapped on the end of the command.
- mapmeld 7y agoI couldn't remember, but checked - I am replacing ' with _ in the actual code https://github.com/mapmeld/fortran-machine/blob/master/marsupial.f90#L43 https://github.com/mapmeld/fortran-machine/blob/master/marsu...
- lotyrin 7y agoGenerating an SQL string with any input from the user is not accepted best practice, even if that were a sufficient way to achieve it (I suspect it would disallow a parameter string to contain a legitimate, escaped ' character). Generally, it is recommended that you create a prepared statement entirely from static SQL string(s) (no user input) and then bind parameters into it, such that there is no possibility for any user input to be parsed as SQL: https://www.sqlite.org/c3ref/stmt.html https://www.sqlite.org/c3ref/stmt.html
- sm4rk0 7y agoYou can report it here https://github.com/mapmeld/fortran-machine/issues https://github.com/mapmeld/fortran-machine/issues
- uncle_j 7y agoIf they've haven't got that right I would be sceptical what other insecurities are present.
- 7y ago
- yingw787 7y agoGoogle has this thing called “Testing on the Toilet” where they post factoids about Google’s codebase and best practices. I read one and it said FORTRAN is a highly secure language (or there haven’t been any security vulnerabilities found in the language in a while). Devil’s advocate for not writing FORTRAN off completely at first sight.
- xz0r 7y agoWhy do they even do it in the first place?
- Stratoscope 7y agoAre you asking why Google has Testing on the Toilet? Captive audience.
- tyrust 7y agoNote that Fortran on the Flusher last year's April 1st edition of Testing on the Toilet.
- umvi 7y agoOr is it just because no one uses it? Apple used to run ad campaigns about how Macs were immune to viruses and therefore highly secure. Turns out enough people just weren't using Mac, and viruses started popping up once it went mainstream.
- favorited 7y agoIt's definitely not a dead language – a new Fortran front-end has recently been accepted into the LLVM project, joining Clang. So LLVM's only in-tree supported languages (excluding the various IRs) will be C, C++, Objective-C, and Fortran. It had been scheduled for merge into the LLVM monorepo 2 days ago, but has been delayed pending some additional architecture review.
- throwaway2048 7y agoLots of number crunching code relies on Fortran libraries even today. Install numpy, it will pull in Fortran stuff.
- mywittyname 7y agoI don't work on it directly, but the code base where I work has lots of Fortran. I'm pretty sure they've been trying to migrate away from it since the early 90s, yet it's still there. Fortran has an amazing amount of staying power.
- jofer 7y agoNumpy actually explicitly doesn't need fortran. It will use some fortran lapack libraries for optimizations if they're present, but it doesn't depend on fortran at all. Scipy is a different story. The need for a fortran compiler was a big part of the original rationale for the divide of numpy and scipy when they replaced numeric. Numpy was meant to be the lighweight/core version of things, and scipy was the full-fledged environment. (I think numpy was even scipy-min, or scipy-core, or something along those lines for a bit.) A key differentiator for what when into numpy vs scipy was whether or not it needed a fortran compiler. That's still true today -- numpy explicitly doesn't depend on anything fortran related, and anything that uses it is optional. (I'm not authortative on any of this, I'm just someone who's been doing scientific computing in python (and fortran) since the numeric days.) On a different note, modern fortran (e.g. F90 and above) is actually a really nice scientific software language. It's _still_ really hard to beat, and modern fortran is pretty maintainable and easy to read in addition to being performant. I've dealt with highly optimized fortran codebases and highly optimized C codebases for the same scientific tasks. The fortran ones were usually a lot easier to read, more maintainable, and were still faster. Fortran is not really a general purpose language, but if you're doing lots of number crunching on large arrays, it's damned nice.
- alpb 7y agoIt seems the home page is down (sub-pages are working) and I coincidentally visited this site several months ago and it wasn't working back in the day either.
- kreetx 7y agoDid it _ever_ work?
- benburleson 7y agoIf the website is already dead, is that a bad sign?
- for1nner 7y agoIt's a feature.
- coldcode 7y agoI thought maybe 502 Bad Gateway was the web framework.
- filmgirlcw 7y agoIt would be accurate in this case!
- dexcs 7y agoIn German we call that a Luftkurort. Google it.
- anderspitman 7y agoPerfect security.
- papito 7y agoBut why?
- quangv 7y ago502... Bad Gateway
- devy 7y agoGetting a standard Nginx error "502 Bad Gateway nginx/1.10.3 (Ubuntu)". Are they slashdotted[1]? [1]: https://en.wikipedia.org/wiki/Slashdot_effect https://en.wikipedia.org/wiki/Slashdot_effect
- spiralganglion 7y agoI opened it and instantly thought — "Ohhhh, you got me!"
- filmgirlcw 7y agoLegitimately, I wish it was intentional. In fact, I think the maintainer should make it intentional).
- liamdiprose 7y agoYeah, the site owner said he's been slashdotted in an IRC channel.
- jascii 7y agoIn the meantime: https://web.archive.org/web/20200122182203/https://fortran.io/ https://web.archive.org/web/20200122182203/https://fortran.i...
- colinprince 7y agoThe static link works for me[1] The default https://fortran.io/ https://fortran.io/ not so much. 1. https://fortran.io/static/index.html https://fortran.io/static/index.html
- gregoriol 7y agoThat seems like a good demonstration of what the framework can do
- mapmeld 7y agoBack online! Sorry just saw this
- yayajacky 7y agoNew York server serving static files? Gotta put that static site on cdn!
- 0xff00ffee 7y agoI'd like to hear some thoughts as to why one would choose FORTRAN over R, JMP, Excel, Python... other than for fun or familiarity?
- nickelcitymario 7y agoI would argue that fun and familiarity at 95% of the reasons why anyone chooses any framework. I don't know Fortran, so I won't use this. But as a dedicated ruby enthusiast, I won't be throwing stones either ;)
- walshemj 7y agoSpeed and for MP / cluster computing where there are fortran extensions.
- goatlover 7y agoAdd Julia to the list. But if you're thinking of using Fortran, then Excel is likely the wrong tool for the job. Fortran is usually used for heavy duty number crunching and supercomputing simulations. Or in this case, web sites???
- krapp 7y agoNo one would choose it. This is a terrible idea. No one asked for this. No one wanted this. No one needed this, yet here it is. Like some many-angled Lovecraftian horror, it spites reality, sanity and common sense merely by existing.
- TheRealKing 7y agoThere are people who want it. Those who know the value of each language.
- chuckleMuscle 7y agoVery different use-cases. All the other languages you've mentioned are great for statistical analysis and plotting but are quite slow - for R and Python by virtue of being interpreted rather than compiled. I dont know about the others. Fortran is often used in academia for intensive number crunching and parallelized code to run on computing clusters with 10s or 100s of cores. I work with some people who run hydrodynamics sims using a code written in FORTRAN. Their workflow is to pull data from these sims into Python scripts for subsequent analysis. It's just a different tool for a different job. People talk about C++ and FORTRAN being competitors, and there the difference might have something to do with familiarity.
- omarhaneef 7y agoI refuse to jump on every shiny new framework and language.
- nickelcitymario 7y agoThe framework may be new, but the language? 1957 was a long time ago
- rhizome31 7y agoThat was the joke, I think :)
- omarhaneef 7y agoYou're obviously in the pocket of big Fortran.
- LameRubberDucky 7y agoYou win the internet for today. Brilliant.
- quickthrower2 7y agoThese Boomers with their new languages.
- 867-5309 7y agoI store all of my private keys on punched tape..
- crtlaltdel 7y agoi think only half of this would be shiny ;)
- pletnes 7y agoIt’s Stainless Fortran (TM)
- 7y ago
- stockkid 7y agoHeads up to op-the website is giving 502 bad gateway.
- exabrial 7y agoIrrelevant, can't do serverless and no support for MongoDB.
- sktrdie 7y agoFor a while the site returned 502 Bad Gateway. I literally thought that was the whole point and upvoted for appreciative sarcasm... until the link started actually working.
- fortran77 7y agoAnd _none_ of the code is in "unsafe" blocks so the author won't be bullied.
- palae 7y agoI honestly am not too sure why there is so much derision regarding Fortran (ageism?). A lot of people don't seem to realize the importance this language still has in scientific computing.
- rossdavidh 7y agoFortran is absolutely still an important language...for scientific computing. Not my first choice for a web framework. Although, I don't guess it's any worse than wanting to use your client-side scripting language for your server, or you database query language.
- greglindahl 7y agoSeems that many CS folks don't think much of Fortran because their programming languages survey course professor made fun of Fortran 77. Fortran has moved on, even if you professor hasn't.
- ken 7y agoThe opposite, in fact. My professor talked about the amazing things he did with Fortran. Then I had to learn it in order to find the bugs. I'd never use it by choice. I know of 4 major languages created in the 1950's: Lisp, Algol, Fortran, and Cobol. Lisp and Algol were brilliantly designed, years ahead of their time, and have inspired nearly every programming language since then. Fortran and Cobol not only look like evolutionary dead ends in hindsight, but they weren't pleasant to use even when they were popular. There's a reason we still see Lisp posts on HN almost every day, and very rarely Fortran posts.
- greglindahl 7y agoYou seem to be exhibiting the problem I describe -- Fortran 2018 is not the same as Fortran 77.
- theflyinghorse 7y agoI actually started softly clapping after reading the title without even realizing it. I too wish to be able to make a framework from a language like fortran, one day I might be good enough or motivated enough.
- the_af 7y agoI think it's highly appropriate for a Fortran framework to give installation instructions for Ubuntu 14.04 :)
- LameRubberDucky 7y agoIs this the new Zawinski law? No programming language is complete until someone builds a web framework with it.
- Stratoscope 7y agoShould have been called Fortran on Freeways.
- ainar-g 7y agoFortran On Fighter-Jets
- greglindahl 7y agoSuper-sonic fighter jets probably were designed using a lot of Fortran.
- 7thaccount 7y agoFor sure, but their avionics software is written in Ada or C++.
- greglindahl 7y agoAnd that's relevant, because... ?
- 7thaccount 7y agoHow is it not? Someone said something about fighter jets being written in Fortran. Someone corrected them saying they aren't, but they are modeled using Fortran. I tried to add to the conversation by saying what they were written in assuming that would also be of interest to the person who made the original comment. I'm sorry this has perturbed you.
- greglindahl 7y agoAh. Thanks for the explanation.
- 7thaccount 7y ago
- rhabarba 7y agoI'd like to have a COBOL one. COBOL on Cogs is too "micro" for me.
- dang 7y agoA thread from 2016: https://news.ycombinator.com/item?id=13226174 https://news.ycombinator.com/item?id=13226174
- guessmyname 7y agoHere’s an IDE for FORTRAN [1] if anyone is interested to write some programs in it. > A modern Fortran development environment for Microsoft Windows, Apple macOS, and GNU/Linux systems. It was quite interesting to read the list of available features [2]. [1] https://simplyfortran.com/ https://simplyfortran.com/ [2] https://simplyfortran.com/features/ https://simplyfortran.com/features/
- PrintStar 7y agoThanks for a shout-out to Simply Fortran! I'm the primary developer behind it (had to finally create an account to reply...), and we're always trying to improve the development environment.
- 7thaccount 7y agoODBC? :) surely someone else needs to hit a SQL db without having a script hit the DB and pipe the data to your Fortran app?
- LoreleiPenn 7y agoWow. This sounds intense and interesting. However I will stick to C++ but it is great to see power languages up and ready for new generations of hardware, software and people.
- greglindahl 7y agoOnce nice thing about Fortran's evolution is that when you lag behind the bleeding edge, you make fewer mistakes. If you like C++ that's great; you might notice that everyone else doesn't agree that it's the future.
- FpUser 7y agoC/C++ will be most likely used for many many decades ahead.
- greglindahl 7y agoYes? So will Cobol. So will Latin! I suspect discussing design choices might be more interesting than a popularity comparison.
- FpUser 7y agoFunny that you should mention it. To me it looks like web development is mostly driven by fashion rather then practical choices. Also I suspect that unless something radically good comes out (I do not consider Rust, Go and likes to be the case) C and C++ will stay very active, including new development. I actually do hope that this happens but so far no real candidate.
- etxm 7y agoCue a cacophony of “were migrating to FORTRAN.”
- mootzville 7y agoThis is neat. I'd like to see some CUDA code sprinkled in eventually...very interesting possibilities
- spinlock 7y agoMy favorite web framework is still Bash on Balls but I like to see that Frotran has entered the game.
- deleted 7y ago[deleted]
- throaway1990 7y agoNow I can write dank front ends to my awesome monte-carlo simulations!
- beardedman 7y agoWebsite is down. Ironically.
- enahs-sf 7y agoThe physicists have gone too far.
- biolurker1 7y agoJust because? Why not spend all these coding months to help humanity somehow
- SiempreViernes 7y agoThe wanted to do something the liked in their free time I guess?