Season 3, Ep. 24 – TWiTH: Researchers run FORTRAN for the first time, with Girish Kumar, Technical Talent Advocate at Gun.io
If you’ve ever used an IF statement (and if you’re reading this, there’s almost a 100% chance you have), you can thank FORTRAN. Of course, you can thank it for plenty more, as Girish and Faith discuss in This Week in Tech History, celebrating the first time researchers ran a FORTRAN program.
Listen:
Transcript
(THE FRONTIER THEME PLAYS AND FADES OUT)
Faith (00:05):
Hey Girish. How’s it going? <Laugh>.
Girish (00:07):
Oh my god, I had a crazy day. There is a new law for European Union, so if you’re driving a UK car in Europe, you have to have a UK sticker on it. Traditionally, it used to be a GP sticker and after Brexit, it’s no longer valid. So I went to a mechanic to go and change the number plates and everything. Had a bunch of other issues with the car, too, so…
Faith (00:30):
Oh no <laugh>.
Girish (00:30):
I got the number plates changed, so I was driving back happily for this call, and then my number plate came loose, and it fell. So there was a…(Faith: No.) so I had to stop, went back to the guy. So, well…story…drama.
Faith (00:47):
Yikes. (Girish: Yeah, I know.) Wait, so is this…can you drive, I’ve always wondered this, can you drive a car from the UK if you take like, a ferry or something over to mainland Europe, and you just are on the opposite side of the car as everybody else, and that you just make it work?
Girish (01:05):
Yeah, it’s pretty common. People do that a lot. It’s part of the European driving thing. (Faith: No way <laugh>.) The only thing, it’s so weird, because if you’re driving in France, you’re on the other side, driving on the other side, (Faith: Right.) so it’s like you’re having a UK car driving in the U.S., ’cause U.S. and France drive on the same side. So it’s always like, interesting. So you’re on the right side of the car.
Faith (01:29):
Right. Yeah, I don’t think I would thrive in that scenario. I think I’d panic <laugh>.
Girish (01:37):
Yeah, I know. Funny thing about cars is that like, in the U.S., you guys don’t want to use any roundabouts, apparently, even though it saves a lot of lives. And like, you know, like, there was a study that came out and said like, “Hey, nearly like, fatalities can be reduced by 80%,” (Faith: Wow.) “by using roundabouts, rather than traffic lights.” In Europe, we are like, filled with roundabouts every nook and corner of the street. (Faith: Yeah.) You know, like there’s always a roundabout.
Faith (02:04):
Oh my gosh. Yeah, Americans are very resistant to most things that make sense, but particularly roundabouts, they tried to do several in my hometown, which is small. I mean, we’re talking like, maybe 10,000 people using, (Girish: Wow.) like, living in this town, really small. And people hated them so much that they started treating them as stop signs, and then they would just drive through the middle of the roundabout. (Girish: Wow.) Like, over where there should be like, a garden or something. (Girish: Yeah.) They’ve just like, basically created a road out of it.
Girish (02:37):
No way. (Faith: Yeah.) That’s crazy. I find it very interesting, ’cause I drive in the U.S., too. And when I did drive, and I find that very interesting how you guys have the stop sign, like, where you have to 100% stop, (Faith: Mm-hmm <affirmative>.) where that could be a roundabout, in my opinion, but I find people don’t take roundabouts really well. Some expert drivers do. Some people, they don’t know what to do. So it’s just like…
Faith (03:00):
Yes. Yeah, that happens. (Girish: Yeah.) I live in Nashville, and Nashville is like, just notoriously terrible for drivers, (Girish: Yeah.) because most people are not from here. A hundred new people move here every day, so we just have a lot of new folks. We have a lot of tourists, and a lot of the tourists who come to Nashville are coming from like, rural parts of America. (Girish: <Laugh>.) So you just put like, all those things together, and then you give them, I think we’ve got like, two roundabouts in town, and people lose their minds just like, (Girish: Wow.) absolutely. Anyway, jealous of that part. But yeah, the wrong side of the road, I don’t think I could do it. So…
Girish (03:41):
Yeah, for me, I love driving, so I can suck it up, I guess <laugh>.
Faith (03:45):
<Laugh>. Well, I’m glad you got your car stuff taken care of this morning. I know that kinda, for me at least, I will wait until the last moment, and it just like, withers and dies on my to-do list. So good on you for knocking it out.
Girish (04:01):
Here I am. I made it <laugh>.
Faith (04:02):
Yes, you made it. And this is a fun episode. I’m going to read a historical event that happened on this week in tech history. (RETRO SYNTHESIZER MUSIC PLAYS)
Announcer, via FORTRAN promotional video (04:11):
FORTRAN represents the most advanced coding system available today, and as a forerunner of a universal coding language towards which we are working. FORTRAN permits a user to write or <unintelligible> program a language which is closely related to that of mathematics.
Faith (04:32):
This week, the event is researchers run the first FORTRAN program. April 19th, 1957, researchers ran the first FORTRAN program, short for “formula translator”. I did not know that. FORTRAN allowed programmers to work in a high-level language, meaning it had a strong abstraction from the details of the computer, itself. So we’ll get into that, but it essentially means, you know, like, closer to natural language. So this is opposed to low-level, where functions and commands are more structurally similar to the processor. High-level languages are much more natural language-driven in nature than their predecessor. So FORTRAN has been used for over six decades in computationally intensive areas such as numerical weather prediction, I did not know that, finite element analysis, computational fluid dynamics, geophysics, computational physics, crystalography, dunno what that is, and computational chemistry. These are just like, side note, these are all subjects where if somebody studied them in college, I would be like, “Cool, cool. We’re not the same. We are not the same.” It is a popular language for high performing computing and is used for programs that benchmark and rank the world’s fastest supercomputers. (Girish: Yeah.) While FORTRAN has been the basis for other languages throughout the years, its own evolution has increased support for structured programming and processing of character-based data, array programming, modular programming and generic programming, high performance FORTRAN, object-oriented programming, concurrent programming, native parallel computing capabilities. (RETRO SYNTHESIZER MUSIC FADES OUT)
Girish (06:16):
That’s a lot of information <laugh>.
Faith (06:18):
It’s a lot of information, but we have, we have you here today, because you can speak to some of this, (Girish: Yeah.) and you can also speak to like, as far as I remember my time at Gun.io over the last five years, I think I’ve seen maybe like, one request for FORTRAN come through. What’s your take? Like, are you, are you seeing there…people still having an appetite for any sort of FORTRAN knowledge or skill?
Girish (06:48):
Yeah, FORTRAN is like, a really interesting, it has an interesting place right now, and in the world of tech at this moment, like 2023, mainly, because the way FORTRAN is built, it’s still one of the fastest performing programming languages in the world. (Faith: No way.) Yeah. Which means it’s faster than C++ right now, but it is…so there are people, especially scientists, who prefer FORTRAN, and they write code in FORTRAN and execute them in supercomputers, because of their calculations being too long. And it’s like, the best programming language to do high performance computing for scientists, very specifically around that area. So it has a lot of relevancy right now. The high-level is really cool, because like, being a scientist, you don’t wanna know all the algorithmic, you know, patterns and all that stuff. (Faith: Right.)
Girish (07:43):
All you wanted to think about is like, “Hey, can I execute my theories and like, in code, and can I get it done faster?” And they’re trying to choose FORTRAN, because of that reason, and there’s no other programming language that can compete to that. So if you’re a scientist, you probably understand why. But if you’re not a scientist, if you’re a straight up software engineer, you probably FORTRAN might not be as extensive as you would like. You know, if you look at Python, for example, Python would have a lot more libraries. You can play with ML AI tools, you can integrate the Chat GPT and all the new stuff, whereas FORTRAN is like, straight up code that you can run, and it’s super fast, and it can make use of all the CPU power in a supercomputer (Faith: Yeah.) to get the results you want. So I think the motor is very different for FORTRAN, but there is demand, and people still use it, and maybe not as a web developer, but definitely a scientist <laugh>.
Faith (08:38):
<Laugh>. I mean, it’s been 70 years, right? And we’ve had just incredible amounts of innovation, and I’m curious about your take about what it is about FORTRAN that has made it the benchmark for supercomputing. Is it the ease of use for scientists or just the raw speed? What do you think?
Girish (08:59):
Yeah, there are a couple of features. I think you mentioned them quite a lot. Like, you know, the fact that it is out of the box. In those years when it came out, programmers wrote code directly into missions, so you need to write. So think about missions, the way missions work at zeros and ones, right? So, and “yes” or “no” is the answer, is whether it’s exists or don’t exists. It’s like, it’s a binary. So when people have to write code, they have to think about that mindset, whether you do that. So when FORTRAN came out, it was the first high-level. So it converts your regular code like, you know, human readable format kinda stuff into code, which is assembly that runs on the supercomputer. But the way it’s built, it has its own strengths and weaknesses.
Girish (09:45):
The strengths are like, hey, it’s very opinionated. You can’t do a bunch of stuff. (Faith: Mmm <affirmative>.) Like, you know, you can’t do like, for example, pointers like, the way you use pointers in C++, pointers as a way to kinda hold memory and say, “Hey, keep a hold on that number while I come back to you, get back to you,” kind of thing. So there are a bunch of other techniques which we use today. FORTRAN is very, very opinionated and like, structured on that lens. So the way FORTRAN is built that way makes it very structured for anybody who writes an average code in FORTRAN tend to work faster than…you can use C++ and write a very rubbish code, and that could take a long time to execute. And it’s your fault, ’cause you’re driving the code wrong.
Girish (10:30):
Whereas, if you write in FORTRAN, there’s no way you can…that FORTRAN like, you know, the generator would let you continue writing the code like that, so it’ll stop you. (Faith: Mmm <affirmative>.) So basically, it’s very opinionated, and that’s how it’s run. So by nature of how you write your FORTRAN code executes very fast. So there is no other alternative as good as FORTRAN. FORTRAN had so many, iterations. There’s a, I read somewhere there is an active community of people who are trying to bring FORTRAN back to kinda like, to make it very current (Faith: Mmm <affirmative>.) and like, work today. So FORTRAN I think has that kind of leeway, and it runs parallell, and it has all these cool benefits of running its own way. It’s a very opinionated way of doing it. Nobody has done it better than FORTRAN, yet. So for what it does, it does the job really well, (Faith: Right.) and that’s why it’s really good.
Faith (11:21):
Yeah. It speaks to the value of finding a niche, right? (Girish: Yeah.) I mean, the other thing is, and you can tell me how true this is, but I believe that FORTRAN was kind of the impetus for the “if” statement, which now is like, it feels so basic to programming.
Girish (11:40):
Oh yeah.
Faith (11:41):
When we think about the “if” statement today, like, what do you think the effect of FORTRAN introducing the “if” statement has had on programming, as it exists today?
Girish (11:56):
I challenge any programmer to write a program without an “if” statement <laugh>.
Faith (12:01):
Even me. I mean, I can’t make a database (Girish: Yeah.) without an “if” statement.
Girish (12:07):
Yeah, exactly. Like there’s nothing in today’s conditions that programs a bunch of rules, right? And rules don’t exist if “if” doesn’t exist, right? (Faith: Right <laugh>.) So it’s like, pun intended, all right? So, but the thing is that like, “if” is such a valid like, statement to be asking when you’re writing a code and like, you know, you check bunch of rules, whether it’s true or false, again, comes back to the same thing like, the way programs thinks. It’s like, whether it’s true or false, you know? So if a condition is true, then proceed. If the condition is not true, don’t proceed. That kind of like, thought process has really like, been like, you know, driven into so many programming languages today. So you can never run anything without a condition in that sense.
Girish (12:53):
So it comes back to like, even if you would take a straight up calculator, like, mechanical calculators or whatever, they use something called AND gate and OR gates. AND gates are nothing, but if two statements are true, then proceed. OR gate is like, either one of the statements are true. So if you are learning basics of computer sciences, the AND gates and OR gates are the ones that drive the rule, and having statements in today’s programming languages is such an influential game that FORTRAN has actually set forth for. So you know, there’s nothing that kinda like, changes that, right? Like, it’s so cool. Kudos to the creator of FORTRAN, like, you know, John, I think John something, but that guy’s really cool, working for IBM, was too lazy to write mission-level code, wrote and created FORTRAN being such a cool tool. So it’s really fantastic.
Faith (13:46):
Yeah. And I have the same question for you, as it relates to natural language, right? Like, there’s some programming languages today where it almost feels like it’s not code, right? And of course that’s 70 years down the line, and there’s been a lot of innovation in the time between, but it’s safe to say that, progressively, we’ve built on the foundations that FORTRAN laid, as it relates to natural language and in programming languages. So I’m curious like, what’s your take on how FORTRAN kind of set the tone for the use of natural language and coding?
Girish (14:23):
Again, kudos to John for creating something like this, because it’s done a really good job, in the sense, like, you know, you open a bunch of creativity at that level, right? Like, when you are creating abstraction, like even for kids, right? When you have a stencil, it’s easier for them to be very creative and use the right colors and play with it. And entry to barrier is very low when there’s abstraction on the top. So making it as natural as possible helps all types of industries to depend on technology. And we see that a lot, even in Gun and in everywhere, right? Like, every single business would require technology. How are you getting doctors to write code? How are you getting, (Faith: Right.) you know, Faith to write code (Faith: <Laugh>.) and like, everybody else to write code? Like, so, you know, in order to do that, like, you need to create that level of natural language stuff, and the history proves it.
Girish (15:11):
Like, look at today’s popular programming language. Forget JavaScript, I know it’s taken number one, because of the popularity of it. Just below that is Python, and Python was fairly recent. But what is cool about Python, when it came out, is that, you know, it was super easy to learn, and anybody who understands basic logic, you don’t need to have any declarative stuff or anything like that. You can just write straight up Python code. It only takes a few days to learn Python and get coding, right? So it made it so easy that abstraction and having it so natural lets a lot of people write code. And because of that adoption today, Python has the most mass library support in the world. So a lot of people can use ML stuff or AI stuff (Faith: Mm-hmm <affirmative>.) out of the box, like, which historically hasn’t been possible.
Girish (15:57):
And this paves a new way for open source. A long, long time ago, maybe like 10 years ago or something like that, I worked with Python, and I used a bunch of open source software to predict a landslide modeling, which is kind of crazy. (Faith: Oh my gosh <laugh>.) Yeah, it’s kinda crazy. It’s not what I expected, but I helped out a physicist in a university kind of build this model, which he had an idea to. But the funny thing is that they used that software in Nepal during the earthquake. So, which was mad, and they helped, the software helped save people in the rescue, (Faith: Wow.) which was mad. Like, I was really humbled by that story myself. It’s like, wow, this is possible today, mainly because of the adoption. So the more abstract a programming language is, the more easy for anyone in the world to come and code it. (Faith: Mm-hmm <affirmative>.)
Girish (16:46):
And not only they can come and code it, they also can create open source software that makes the world of programming beautiful. Like, so you can pick and choose whatever you want, you know, and that’s revolutionary. And can you believe that it started from FORTRAN? (Faith: Right> <Laugh>.) You know, a guy…IBM wanted to make a way to easily write assembly code, kind of turned into like, today’s like foundation of how we write software, (Faith: Right.) and it’s only gonna get better and better. One day you’ll sit at your computer and just type bunch of things, and it’ll understand your spelling mistakes and everything and put it into codes. It’ll be the future, I assume like, but I don’t know how far that’ll be, but…
Faith (17:27):
I would say a few months. (Girish: <Laugh>.) I mean, you think about like CoPilot, right? Think about all of all of the, especially over the last few months, kind of AI components to coding that have been introduced. It’s, I think, within this year, <laugh> for sure.
Girish (17:44):
I love CoPilot. The fact that I just write first one letter or two letters of my program, it kind of fills the gap, (Faith: Right.) which makes no sense, because it has all the context it’s needed to kind of continue your work. (Faith: Right.) So it’s pretty crazy. I’m pretty impressed.
Faith (18:02):
Yeah. And you know, that speaks to, you talked about natural language kind of broadening access to programming, but it also deepens it, right? Like, it allows for much more computationally complex programs to run, (Girish: Yeah.) and that’s the foundation of where we are today, as it relates to AI and ML.
Girish (18:25):
Even if you think about the logic that goes into creating a complicated algorithm there is always a better way or a lean way to do something. Not necessarily everybody’s gonna touch upon it, but when you have that natural languaging, and there’s like, a translator in the middle, it’s to kind of intercept that natural language code into real mission code. That’s why it’s called Formula Translator translates the formula, right? (Faith: Mm-hmm <affirmative>.) So it’s like, a natural translator. So, and that reduces everybody, I mean, like, maybe like, put it this way, like, everybody’s gonna be very efficient writing regular natural language code into mission code. So you’re always going to get an efficient product at the end of the day. It’s crazy.
Faith (19:07):
Well, you’ve convinced me that the first language I’m gonna learn will be FORTRAN, (Girish: <Laugh>.) and I’m not a scientist. It’s probably gonna do nothing for me, usage-wise, but (Girish: Yeah.) it feels like a historic thing that I just need to know. So
Girish (19:22):
Yeah. It’s so funny. The extension for writing FORTRAN is “.f” files. Like, C++ is “.cc++”, you know, or “.cpp”. (Faith: Yeah.) It’s “.f”.
Faith (19:31):
Perfect. My first initial.
Girish (19:33):
Yeah, I know <laugh>.
Faith (19:34):
It’s made for me <laugh>. (Girish: Yeah.) Well, Girish, this has been so fun (Girish: Yeah.) and educational, and I appreciate you essentially being an encyclopedia on computational history. (Girish: Oh wow.) What an asset. And I’m also just stoked that your car is in a good place now to be on the <unintelligible>. (Girish: Oh yeah, me too.) So, good day all around. (THE FRONTIER THEME FADES IN)
Girish (19:56):
Yeah. Thank you so much. Yeah, I’m glad everything is better, and we are talking about TWiTH <spoken phonetically> <laugh>.
Faith (20:02):
Yeah. You’re like, “I’m in my happy place, talking about computers.” <Laugh>.
Girish (20:04):
Let’s talk about computers; we’ll be fine until I geek out and like, start writing code and showing you demos <laugh>.
Faith (20:10):
Next time, next time.
Girish (20:12):
Next time <laugh>.
Faith (20:12):
Thanks for listening to the Frontier podcast, powered by Gun.io. We drop two episodes per week, so if you like this episode, be sure to subscribe on your platform of choice, and come hang out with us again next week, and bring all your internet friends. If you have questions or recommendations, just shoot us a Twitter DM @theFrontierPod, and we’ll see you next week. (THE FRONTIER THEME ENDS)
Watch:
Interested in working with Gun.io? We specialize in helping engineers hire (and get hired by) the best minds in software development.