Modern fortran dialect is actually not so bad. It's actually pretty awesome and let you develop program that take advantage of distributed computing and gpu processing easily. Also, I don't think any mainstream languages these days have vector operations as good as what fortran currently have. But the old one is pretty horrible though, just like most other languages from 30 years ago when compared to modern languages. The things that annoy me the most when working with legacy fortran code a while ago (does not apply to modern fortran dialects):
- very terse and cryptic variable naming. Understandable since fortran 77 only allows variable to contains up to 6 characters. But it makes working with large codebase very painful.
- You had to use upper case only. It may not sounds a big deal, but you'll get tired of it eventually when working with lots of fortran code.
- Implicit typing: If your variable starts with i-n character, it will be treated as integer. Otherwise it's a float. You better not forgetting this one or terrible bugs will appears on your code.
- Source code fixed format: your source code must conform to this format or the compiler won't recognize it:
- only the first 72 chars get parsed;
- first 5 characters/columns of the line must be blank or contain numeric label
- if your code is not going to fit in one line, you can extend to the next line by marking it with a non-numeric character in the 6th columns. otherwise it should be blank.
I think there are more annoyances but those are the ones that I still remember to this day.