Software > Software

Is Fortran extinct?

(1/2) > >>

Today I was my first day of my "Programing Basics" course at the University of Hawaii. One of the languages the prof mention we'll be learning is Fortran which he says is commonly used in engineering.

I've heard Fortran is pretty ancient so I was wondering if it's still a standard in engineering or if my class is a bit outdated.

Anyone use Fortran on a daily basis?

For microcontroller programming I use C and for Windows programming C#/C++. As far as I know, these are main languages going alongside Java.

It's still used in research, albeit I don't write completely new programs in it.  It continues to be updated, as well.  So no, not extinct.  Just different...

For scientific computing, especially numerical analysis, there are still some very large packages and systems that use FORTRAN. These are the kinds of systems where you provide parameters in, the system crunches numbers (sometimes for a long time,) and then results in the form of other numbers come out. Batch computing, on server-type computers. Weather prediction, mechanical analysis, simulated nuclear bombs, that kind of thing.

I would be very surprised if any signficiant new development is done in FORTRAN these days. Also, FORTRAN sucks at string/text processing, or real-time processing, or interfacing to any kind of modern devices, so unless you're specifically into the scientific computing part, you should probably only do minimum effort to pass the exam on that particular language :-)

The sweet spot for embedded development (code that runs inside engines, motion control, etc) is C, with some amount of C++.
The sweet spot for applications that interface with users is somewhere between Java, C#, and Visual Basic, but C++ is also used.
The sweet spot for web pages is Javascript.
The sweet spot for servers that back web pages is somewhere in the Ruby, PHP, Python space, with an also-ran by Java and C#.
The sweet spot for complex systems with to-the-metal performance requirements is C++.
The sweet spot for complex, distributed systems is Erlang, with also-rans by Java and C++.

If you learn Java, C++ and Javascript (which is a very different language from Java) then you will be very well prepared for actual software engineering in the world. After that, the ability to pick up and use other languages quickly is actually more important than any particular language. And if you want the current nerd darling language that just might become the next big thing, try Haskell :-)

Good stuff! I find myself wanting to do a lot of micro controller programing so I think C++ is a good place to start.

The other language we cover is class is "Scilab" which seems to be another numerical computing type language. I think its more of an education tool than a real world language, but I could be totally off.


[0] Message Index

[#] Next page

Go to full version