4 ms·
> I always feel like mainframes are off in some weird parallel universe. Well they are. These things are built for a specific audience and it so happens that t
by m_mueller 12y ago
> I always feel like mainframes are off in some weird parallel universe.
Well they are. These things are built for a specific audience and it so happens that they are still willing to spend money on this, otherwise it wouldn't be made, especially not by IBM that is otherwise quick to disband business units that don't make heaps of money.
In my research I'm using an even older language: Fortran. Believe it or not, but in a field that is less narrow and specific than you would think[1], there's still no real replacement for (modern) Fortran.
[1] numeric applications that need to get close to the hardware's peak performance, written in a higher level language than C that is usable by non-CS-graduates.
- deleted 12y ago[deleted]
- gaadd33 12y agoTo be fair, anyone who uses numpy or scipy ends up using Fortran even if they don't know it. A lot of scientific libraries have been ultra optimized for Fortran. I'm sure optimized libraries could be written in any language, however the vast number of researchers have decided that Fortran is by far more accurate and faster (for these libraries) so they go with that.
- m_mueller 12y ago> optimized libraries could be written in any language Well, at least in anything that has really performant compilers. That's currently true for C, Fortran and Assembly, to some extent also C++. Between the first three, Fortran is by far the easiest to use for numerics - its syntax is in fact not much more difficult than Matlab. It's clunky in anything but numerical code (such as when you try to create a nice API or when you try to have generic methods), but at the end it still wins.
- rl9 12y agoIt's not just learnability. In some cases, Fortran can be considered to be faster than C since it can apply something like -fno-strict-alisasing by default. Not to mention that most compilers have OpenMP suport built-in. Also, there's the tons of heavily-optimized Fortran math libraries that make it easy to take advantage of big machines and big clusters. Those scientists that are still using Fortran after all these years know what they're doing. It's not that they're ignorant of new technoglogy. A well-informed and open-minded CS person would probably end up using Fortran for these use cases, too.
- m_mueller 12y ago> It's not just learnability. In some cases, Fortran can be considered to be faster than C since it can apply something like -fno-strict-alisasing by default. Yes. In my experience, you can make C as fast as Fortran, but it will be a lot more work (and you need more knowledge about the machine). Fortran's defaults are very strong when it comes to crunching numbers as quickly as possible. Multidimensional arrays with Matlab-like slicing and operations, implemented as performant as possible, is enough reason alone to stay with Fortran. > Those scientists that are still using Fortran after all these years know what they're doing. It's not that they're ignorant of new technoglogy. A well-informed and open-minded CS person would probably end up using Fortran for these use cases, too. Well, I'm sort of coming out of CS (computer engineering with focus on software) and I'm using it, so there ;)
- Normati 12y agoI always wonder why you can't just add a library to another language to get most of the features of somebody else's favorite language. If not a library, couldn't any other language add matlab style matrices and end up being as good as it, fortran, etc? Do we really need a whole different language with a whole different set of arbitrary rules just so a few features are easier or faster?
- qznc 12y agoSure. That is what you get e.g. with NumPy in Python. However, as you already said you only get "most" of it. The remaining niche is still large enough that Fortran has lots of users. http://www.numpy.org/ http://www.numpy.org/
- dagw 12y agocouldn't any other language add matlab style matrices and end up being as good as it, fortran, etc? In theory, sure. In practice a bunch of languages have tried and yet Fortran is still the king.
- ch_123 12y agoOne disadvantage of libraries is that the compiler treats them as regular code. If something is baked into the language, the compiler and run time (if any) can reason about particular operations and optimize them.