Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "fortran"
You start new job and take over huge codebase without tests and documentation.
It turns out programming language is custom language made by previous developer who was the only one maintaining project.
There is no source version control.
Language runs in vm developed in Fortran.
No one cared to this day cause everything was working.
Project is critical for multi billion dollar corporation that sells medical equipment that keep people alive.
You can’t test your code on real devices only on virtual ones that were made using same custom language but you can’t find source code for it.
Previous developer accidentally died before you were hired.
You signed contract with penalties that will ruin your life.
Your first task is to add “small” feature.
Good luck !14
WRITE IN C ('LET IT BE')
When I find my code in tons of trouble,
Friends and colleagues come to me,
Speaking words of wisdom:
"Write in C."
As the deadline fast approaches,
And bugs are all that I can see,
Somewhere, someone whispers:
"Write in C."
Write in C, Write in C,
Write in C, oh, Write in C.
LOGO's dead and buried,
Write in C.
I used to write a lot of FORTRAN,
For science it worked flawlessly.
Try using it for graphics!
Write in C.
If you've just spent nearly 30 hours,
Debugging some assembly,
Soon you will be glad to
Write in C.
Write in C, Write in C,
Write in C, yeah, Write in C.
BASIC's not the answer.
Write in C.
Write in C, Write in C
Write in C, oh, Write in C.
Pascal won't quite cut it.
Write in C.7
I've got a mini stroke today. My project ended and I got delegated elsewhere.
"It's going to be fine, it's c++, you will find yourself there"
Suspicious, it's a project everybody was staying out of as hard as they can. But hey, it's cool, how bad can it be? what can go wrong with that?
Reality was brutal, project that uses Boost C++ as framework and bjam as builder. Builds with a decent dose of luck, and only under special circumstances, only under one specific version of compiler. No docs, quartet of the code is in Fortran, just to use ancient lisp part which was second qarter. The most senior Dev around does not have idea how it all works. Also everything is inside one enormous try/catch block. Because of the reasons.
That's how people end up with severe alcoholism and meth addiction.8
A is for Assembly, a wizard's spell
B is for Bootstrap, so bland and the same. And also for Brainf*ck, will blow you away
C is for COBOL, your grandad knows that
D is for daemon, your server knows what
E is for Express.js, you node what is coming
F is for FORTRAN, which is perferct for sciencing
G is for GNU which is GNU not UNIX
H is for Haskell using functional units
I is for Intance, An action of Object
J is for Java plays with them Always
K is for Kotlin, Android's new toy
L is for Lisp, scheming a ploy
M is for Matlab, who knows how it works
N is for Node a bloatware of code
O is for Objective Pascal, you did not expect that
P is for programming, we all love to do that
Q is for Queries, A database is made
R is for R, statistics are great
S is for Selenium, you have to test that
S is for Smalltalk, let's make it all brief
T is for Turing Test, how human is this?
U is for Unix, build with all talents
V is for Visual Studio, built with all laments
W is for Web, lets build something cool
X is for XHTML, remember all that?
Y is for Y2K, I'm tired as f*ck
Z is for Zip, let's zip is all now.
Get yourself coffee and back to the grind.8
My dad showed me one of his old notebooks from like 1980 or something and it was all handwritten FORTRAN stuff he used to do. Wow... We've come a long way.5
I'm working on the project with the weirdest combination of technologies ever:
Vue.js on the frontend, FORTRAN 77 on the backend. :D
(Plus a thin Spring MVC layer that converts the f77 routines into REST API)6
Ooh this is good.
At my first job, i was hired as a c++ developer. The task seemed easy enough, it was a research and the previous developer died, leaving behind a lot of documentation and some legacy fortran code. Now you might not know, but fortran can be really easily converted to c, and then refactored to c++.
Fine, time to read the docs. The research was on pollen levels, cant really tell more. Mostly advanced maths. I dug through 500+ pages of algebra just to realize, theres no way this would ever work. Okay dont panic, im a data analyst, i can handle this.
Lets take a look at the fortran code, maybe that makes more sense. Turns out it had nothing to do with the task. It looped through some external data i couldnt find anywhere and thats it. Yay.
So i exported everything we had to a csv file, wrote a java program to apply linefit with linear regression and filter out the bad records. After that i spent 2 days in a hot server room, hoping that the old intel xeon wouldnt break down from sending java outputs directly to haskell, but it held on its own.1
Once in college I was walking around campus when I noticed that one of the classes were still teaching Fortran to their students as an introductory programming language.16
My university has a course "Higher Programming Languages for Engineers".
The language you actually learn there?
Technically they are right and Fortran continues to have quite an importance in the field of numeric simulations, but still. The name is pretty misleading.4
Programming Languages are Like Cars:
Assembler: A formula I race car. Very fast but difficult to drive and maintain.
FORTRAN II: A Model T Ford. Once it was the king of the road.
FORTRAN IV: A Model A Ford.
FORTRAN 77: a six-cylinder Ford Fairlane with standard transmission and no seat belts.
COBOL: A delivery van. It's bulky and ugly but it does the work.
BASIC: A second-hand Rambler with a rebuilt engine and patched upholstery. Your dad bought it for you to learn to drive. You'll ditch it as soon as you can afford a new one.
PL/I: A Cadillac convertible with automatic transmission, a two-tone paint job, white-wall tires, chrome exhaust pipes, and fuzzy dice hanging in the windshield.
C++: A black Firebird, the all macho car. Comes with optional seatbelt (lint) and optional fuzz buster (escape to assembler).
ALGOL 60: An Austin Mini. Boy that's a small car.
ALGOL 68: An Aston Martin. An impressive car but not just anyone can drive it.
Pascal: A Volkswagon Beetle. It's small but sturdy. Was once popular with intellectual types.
liSP: An electric car. It's simple but slow. Seat belts are not available.
PROLOG/LUCID: Prototype concept cars.
FORTH: A go-cart.
LOGO: A kiddie's replica of a Rolls Royce. Comes with a real engine and a working horn.
APL: A double-decker bus. It takes rows and columns of passengers to the same place all at the same time but it drives only in reverse and is instrumented in Greek.
Ada: An army-green Mercedes-Benz staff car. Power steering, power brakes, and automatic transmission are standard. No other colors or options are available. If it's good enough for generals, it's good enough for you.
Java: All-terrain very slow vehicle.11
As a full stack C# developer who prefers backend: 1000% this
If you know Fortran and are familiar with fluid dynamics, NASA has a challenge out for people to optimize some of their Fortran code.12
"We have this Fortran code that should be translated in that Matlab software, is there a system or a compiler to do that?"
"Yes, that is called a Programmer"9
When your PM or boss says they used to program back in the day in FORTRAN and haven't done shit since.
I love python, but I hate dealing with python dependencies, especially on Windows.
I was tinkering and researching with neural networks, so I wanted to try out pybrain. I wrote my project, with pybrain installed via pip, and tried to build it.
Oh, what's that? Pybrain doesn't work with python 3? Well I'll download the version that's supposed to. Oh, that version has a deprecated numpy api? Let me just install those other resources. Oh, that requires a broken module that has no publicly available source?
Let's try python 2. Oh, now that's working, I just need to export environment variables for some "bls source". Some quick Google searching and the only solution that would work is building a bunch of cywgin modules by hand. That's fine, I have an ubuntu partition.
An hour later I'm compiling FORTRAN dependencies on Ubuntu.
Coding time: 1 hour
Dependency time: 3 hours6
What the fuck is Django doing other than trying to act like a Fortran developer rewriting Rails in a different language.1
My best was my first - Dr Aston. Taught me Fortran.
The 1st ever essay I wrote on programming was littered with references to "and-sign". Prof calmly pointed out its called an "ampersand".1
coworker: you know, if you dedicate your life to mastering cobol and fortran you could just make money working on medical software
me: yes because I'd love to be a martyr for tech2
So now I’m working with this code that is roughly documented because ”variable names are self-explanatory”.
Yeah, you just forgot that FORTRAN does not support utf-8 variable names...
Why utf-8? Because then if I see:
real :: 座標(3)
I would understand that you mean ”zahyō”, the usual 3D position array ”r(3)”, but no, I need to deal with:
real :: zah(3)
Hahaha ahah ahaha ahha haha ha :') does saying that its a solo project and throwing me into a team of incompetent researchers count? Does specifying a python-ish stack and giving me c++ and fortran code count? Does not fucking paying me until i threatened to leave the job and delete everything i wrote for them count? Does speaking to 9billion people to get the same job as fulltime because i spent 8 hours working for them anyway count?
So I'm finally doing the job I was hired to do 2 years ago, with the promise of working 1.5 years ago, and scheduled to work 1 year ago as the project slips about a 1.25 years.
The project is on it's 3.5th year of a 3 year plan and based on the architecture of the project, the project architect started a degree in software architecture 4 years ago. In Latin. When his first language was Japanese and his second was Indian English while this was a US company. And his entire degree was in Lisp, PHP, and html, this project is in C#, and his professional background is in Fortran.
This is a man who is no longer on the project, not allowed to contribute or talk to us about the project, and what little documentation he left us is in Swahili translated from Korean via Google translate from the second year Korean language major exchange student from Russia who got really into meth and Telenovelas.
It is every version of MV* without the M and with every definition of * including some he made up and some that have only been proven to exist via machine learning algorithm written in SQL statements.
This project represents an implementation of the presentation tier of an n-tier application, yet attempts to reimplement the other n-1 tiers in html5 and the dreams of children.
The new lead is a former engineer that couldn't begin coding until he figured out how to map all of his variables to his former cars and girlfriends inclusively and learned his management skills from the big book of micro managers and that one time everyone else in the office was sick but the intern. Who now has a girlfriend whom he works 200 feet from so he isn't 100% thinking with his largest head. At least from observation.
Yet, I still can't bring myself to go be with the whales/become an accountant.
I should have studied for my math exam, but now I can program a terminal calculator in FORTRAN77
Apply a Fortran code patch on a Gould SEL via a Mod 40 TTY terminal, which is essentially an electric typewriter connected to the computer. No graphics display. Once you hit enter on a line, that was it. If you fat-fingered something, you got to start over. We've come a long way, Baby!
I'm using fucking Fortran 77 and Perl
The government needs to start funding nuclear or I will beat a bitch
Back in the day my dad had this Fortran book he was studying at the time. I had just learned reading but and remember looking at the funny book and wondering why I can't understand anything. Still have that book as a fond reminder =D
My dad noticed me trying to read it and got me this funny BASIC for kids. At the same time we got our first computer. At that you couldn't buy games. Usually the books had the source that you had to type in and compile.
So this funny BASIC book with funny pictures had the source for moonlander... And man was I hooked. Next came the "monkeys throwing bananas" =D
Back in the day everyone was also on the dark side. Prompt was always white on black ;)1
Know what really grinds my gears?
People who refer to "ajax" as though it's a separate programming language, instead of what it is, which is an old shitty method in an old shitty library. What I do enjoy is people thinking it's dish soap. That will *never* not be funny to me.
1. *generic job description*...5 years experience. Desired skills: HTML, Foundation, PHP, Ajax, Fortran, Assembly, Tagalog, smoke signals.
2. Someone in "marketing": "Do you know Ajax?"
3. Jackass in a coffee shop who uses moustache wax: "I'm an ajax programmer. Yeah I've heard of [any recent band], like twenty years ago. They suck."
Go die, and take ajax with you.2
What fo you think, is it still a good idea to learn fortran in order to learn programming concepts?
I don't know what else would be nice...
I only had experience with shell scripting, which is rather functional.
Other languages i considered were dlang, c#, go and rust.
I have no explict application, which bothers me a lot.3
Entropy wins. More useless accumulated historical nonsense in each programming language. Complex software stacks impossible to reach the bottom. However C and C++ still there possibly even some Cobol and Fortran zombies. And we devs still writing our ifs and loops for that kind of legacy stuff.
My first computer exposure was on a mainframe (CDC Cyber 180). My university in Kerala, India had a collaboration with the Indian defence organisation DRDO. The operating system was something called NOS/VE, though as I remember it could run some Unix version virtually. I had Fortran 77 programs to be developed as part of the course. (finite element methods). As I remember, the machine had built in routines for the same. Screen was a green on dark terminal conected to the thing. No windowing or graphics.
Today kids have more powerful machines at home (or in their pockets). The famous computing power law be praised.
The team using the tool that I was managing just stopped using it and when asked my boss what should I do he just gave me a specification document and told me that I had two months and a visual studio license.
Before that I had only used fortran on my graduation.
My dad used to code some software in Fortran, Basic and C, so he's proud and happy to be able to show me the work he has done in the past.
My mom thinks I'll be rich someday.
My brother and sister wants me to code some games.
My girlfriends wants me to teach her.3
Does anyone know where B, D language, Haskell, Scala, COBOL, Fortran and other unfamous languages are used? I know that Scala and Haskell are functional programming language but I don't know where it is useful and COBOL was used in US army but I never hear about them.3
Whenever I laugh about these engineers who can only 'code' in Matlab...
Whenever I hear people consider configuring (of stuff like WordPress or RGB-Keyboard-Lights etc.) as 'programming'...
I wonder, if I'm just like the 'Real Programmers' back in 1983 who truly considered Fortran or Assembly to be much more superior than Pascal and someone who coded in the latter or even used a simple OS like UNIX couldn't get accepted as a programmer.
Found that old article about "Real Programmers".
It's worth a read.
Just consider someone writing modern computer programs without libraries, ifs, for loops and only gotos by hand from top to bottom...
Some day I want to start some modern project everyone else would do in some random modern scripting language and hack it down in assembly just for fun and to tell people, I did it. So I could call myself a Real Programmer too.2