I Tried The OLDEST Programming Language
Ғылым және технология
For absolutely no reason, I decided to learn and try coding in the oldest programming language in the planet and build something with it. I also explained the math behind the famous `donut.c` and implemented it in the language.
Twitter: x.com/theunrealtarik
Discord: / discord
For contact and business inquiries: txreqb2w.business@gmail.com
CODE: github.com/Txreq/fortunate-donut
liKE aND sUBSCrIbe
liKe AnD sUBScRiBe
LikE And SuBScrIBe
Пікірлер: 536
I recall writing in Fortran-66 on an IBM card-punch, taking my cards to be booked in for running, getting an error report the size of a box of fan-fold paper, and then having to debug it before trying again... you quickly learned to triple-check your code before submitting again, as carrying an error report of that size back to your cubicle was embarrassing, not to mention tiring.
@xWatexx
5 ай бұрын
That’s cool, I didn’t know punch cards ever supported more than Assembly.
@leopavlov7165
5 ай бұрын
@@xWatexx COBOL is also 1 of the punch card languages
5 ай бұрын
@@xWatexx Punch cards are just an input method, that has two obvious advantages over a keyboard: they are very fast (no human can hope to type that fast) and they have intrinsic memory (you could store your program on punch cards in a drawer somewhere, and input it into the computer whenever you needed). This was very convenient when computer storage was limited and you couldn't store your programs on a computer, so you had to input them every time you ran them. Being an input method, punch cards are language-agnostic, they are just a sequence of characters. How these characters are interpreted by the computer depends on the software running on the computer. If that software was a FORTRAN compiler, it expected correct FORTRAN code on the punch cards, etc.
@BboyKeny
5 ай бұрын
@They are language agnostic if you limit the line length to fit on the punch card. You can always add more lines by adding cards, but you can't make the cards wider.
@briancampbell179
4 ай бұрын
Ditto. I can't recall which version of Fortran we were using, but we used punched cards too. I also did a project for the university in Fortran on punched cards. It was in a huge box 300-400mm long. I was terrified of dropping it. What I find odd in this video was his use of lower case characters. Back in those days, upper case was the norm.
Fortran is still the preferred choice of many computational scientists, for example my nuclear physics colleagues use it almost exclusively with only some python and shell scripts sprinkled on top. It is a horrible mess and I hate working with it.
@latt.qcd9221
5 ай бұрын
I don't think you can really blame the "horrible mess" on Fortran, though. That has more to do with how physicists, unfortunately, tend to write spaghetti code that "just works." Part of that is likely due to years of modifications by different graduate students that were probably using Fortran for the first time when they made their contributions.
@tordjarv3802
5 ай бұрын
@@latt.qcd9221 Part is because of the language it self, Fortran has these "common" blocks wich allows you to share variables between subroutines. The problem is that you only need to include a subset of the variables in your common block (the compiler may or may not complain) which result in the fact that you one don't know how many variables a common block has. Furthermore, you can't know which subroutines uses your common block so you have no idea if one of the variables will change when you call a different subroutine. While what you say is true that many phycists write spaghetti code, Fortran makes spaghetticode easy to write and sometimes necessary.
@latt.qcd9221
5 ай бұрын
@@tordjarv3802 Common blocks? Are you talking Fortran 77? Fortran 90 replaced those with modules which are great to work with. Fortran 77 was definitely more frustrating to work with, but Fortran 90 on are substantial improvements that are nice to work with. I would agree, though, that Fortran can make spaghetti code easy to write. Not sure I'd say it's necessary, though, with Fortran 90 onward.
@tordjarv3802
5 ай бұрын
@@latt.qcd9221 Fortran 77 is still in use bro. There are some old guys who thinks that it is the only "real" programming language.
@alicewyan
5 ай бұрын
I inherited a g77 mess for my PhD, the problem wasn't fortran, the problem was the attitude of "don't bother to learn how to code properly, this spaghetti just works, add yours at the end" by the senior colleagues.
Actually you'd be surprised how insanely popular Fortran is in the meteorology world up to this day, all the models are written in Fortran for instance. Nice job on the code BTW :)
@romannasuti25
5 ай бұрын
Specifically, FORTRAN is one of the easier languages to do very efficient and scalable supercomputing with, as the language has built-in features that make parallelization of array and matrix operations far easier than, say, C. Plus, the weird constraints of FORTRAN allows for insane compiler optimizations that wouldn’t work reliably within C’s syntax. This is part of why Rust code can occasionally be faster than C: the compiler can safely make more assumptions, hence better optimizations.
@DarkerCry
5 ай бұрын
@@romannasuti25 neat!
@Dejavous9
5 ай бұрын
Can confirm that old-head physicists use it today too
@christopheroliver148
5 ай бұрын
I think the big reason is that there is a lot of battle tested numerical code in Fortran. I think that is partly a consequence of computers being used as an aid to engineering from some earliest days.
@romannasuti25
5 ай бұрын
@@christopheroliver148 To this day NASTRAN is still (arguably) the gold standard for FEI despite being FORTRAN software from the 60's.
Dude accidentally made a 4 dimensional donut
@AetherStreamer
3 ай бұрын
I remember that same donut animation for the terminal already done like 4 years before, but I see this individual explaining, between jokes, like he is creating the logic for it for the first time and inventing the wheel.
@lolatmyage
3 ай бұрын
@@AetherStreamer you literally see him bring up a guide like 3-4 times wtf you on about lol of course its not a new concept
Some advice on how to get rid of flickering: instead of clearing the console and printing, just move the cursor to the beginning and write over the previous image. Printing is a very slow operation so clearing and printing again is very noticeable, writing over the previous frame should do the trick.
I once helped a friend who studied physics to fix an app for laser optics, which was written in FORTRAN. Of course the process was somewhat lengthy because neither of us knew what we were doing, but to be honest, there are worse languages out there. Got later invited by him to a pretty cool non-linear laser optics demonstration at the university :D
@GlasiaVD23
4 ай бұрын
Imagine programming in brainf......
@susannerudolph8469
22 күн бұрын
_cough cough_ *c* _cough cough_
Fortran changed my life. As a child, I had always wanted to be a scientist. But,after I entered University in 1965, it wasn't long before i had to learn Fortran - which was so uncongenial that I eventually got a degree in politics and History of Philosophy, and ended up as a secondhand book dealer. Still go a few cards, and a copy of McCracken somewhere.
@franciscovarela7127
4 ай бұрын
I started in Political Science and History, wound up writing code for a living. Life is strange and takes us on journeys we never dreamed of. I loved the ride.
@josephbrandenburg4373
Ай бұрын
I studied art. Now I'm unemployed.
Actually Fortran90 is a very good language for math, it was the first to include the slice and array broadcast features, and it supports them out of the box.
@flippert0
5 ай бұрын
Had a course in FORTRAN 90, was quite interesting to see a different approach than C-style languages while still using a low-level language.
@ehsnils
Ай бұрын
I have dipped my toes into Fortran coding a bit on the later variants and I think it's actually a pretty good language that's underrated outside the science world. I can't help to think that languages like Python are creating the same level of programmers as Basic did in the 80's.
To fix the flickering there are more ANSI codes you can use: ESC[0;0H
@rw-xf4cb
4 ай бұрын
VT100 escape codes! All that's left of Digital Equipment Corporation oh VMS still lives with VSM Systems after it migrated from VAX to Alpha to Itanium to now X86_64 and survived Compq and HP.
Haha, nice. I started with Fortran in 1988, working for a company that wrote forecasting software running on a Prime minicomputer. We moved on to FTN77/386 soon after, writing DOS programs. Even started trying to write a Windows version in Fortran if you can believe it (Salford Software from Salford Uni had a library that kinda made it possible, called ClearWin). That wasn't the best way though so I persuaded my employers to let us use C instead, and that was the end of my Fortran life.
fortran is used because it rights the fastest assembly for math problems
@JohnDlugosz
5 ай бұрын
You mean "writes"? Actually, the fastest Fortran implementation right now is a Fotran-to-C++ translator!
@PRIMARYATIAS
5 ай бұрын
@@JohnDlugoszNot when LLVM’s Flang will be out.
@vidal9747
5 ай бұрын
@@JohnDlugoszFortran is pure pain when you're forced to write Fortran 77 for college. There are compiler bugs that will never be fixed. And I will not fix them because no one fucking uses Fortran 77
@tordjarv3802
5 ай бұрын
I have heard that from several sources; the problem is that I have never actually found any concrete evidence, just some handwavy arguments about cache efficiency which are mute after the introduction of the restrict keyword in C.
@JohnDlugosz
5 ай бұрын
@@tordjarv3802 You mean "moot".
This guy is the programmer version of martincitopants and I absolutely love it
0:22 It is not the oldest programming language. There are many predecessors, many low level languages of course, and higher level ones like IPL (became LISP), SpeedCo (became Fortran), the well known FLOW-MATIC (became COBOL), the famous Plankalkul from Zuse, commonly considered "oldest", Autocode (first compiled lang). However, it's the first widely used one and it's the oldest language that's still in popular use today, AFAIK.
@herrbonk3635
5 ай бұрын
Also, the syntax he's showing here seems to be Fortran90 from the late 1980s or early 1990s, not the original FORTRAN of 1956.
@michaelburggraf2822
5 ай бұрын
@@herrbonk3635 it's looking like Fortran 77 which is what he said he'd use.
@rdspam
5 ай бұрын
0:36 “I know what you’re thinking. Assembly is the oldest…..”
@herrbonk3635
5 ай бұрын
@@rdspam Machine code is much older than assembly. It took a while before the first assemblers were designed. Old computers didn't have memory enough for such luxury.
@typograf62
4 ай бұрын
I seem to remember a language called Math-Matic as a calculating language perhaps older than FORTRAN. One could argue that machine code is not a language. If anything each computer architecture had its own "way of expressing an algorithm". Og "way of expressing a core dump".
i love these videos, please keep making these not only is this video incredibly well put together, but its also insane what you accomplished in fortran
back in my math days i did a lot of FORTRAN. the libraries available were totally insane and brilliant.
@charliekahn4205
5 ай бұрын
MATLAB is sort of a port of an earlier FORTRAN library
@bazoo513
5 ай бұрын
And still are. what do you think is the source of all those numerical libs for, say Python.
ASSembly GO PRRRRRRRRRRR
@CoolestPossibleName
5 ай бұрын
By "GO" did you meant golang?
@Catterjeeo
5 ай бұрын
Everyone knows that manually wiring together a program is the oldest programming language:;)
@ltecheroffical
5 ай бұрын
@@Catterjeeo Nah, it's having a human manually interact with the users
@veaxvoid
5 ай бұрын
ассембли донат вен?
@124k3_
5 ай бұрын
hmmmmmm... looks like i gotta incorporate your video making style into mine videos 😅
At work I regularly work with old code written in FORTRAN IV (from 1962) and FORTRAN 77 for the nuclear industry. Really hard to understand the code with all the GOTO back and forth.
41 years ago, I was taught FORTRAN 77 on a CDC Cyber mainframe. scipy still uses FORTRAN 77 and I ported BERNOB to Python, an array of even Bernoulli numbers. I modified the program to return a Bernoulli number on demand instead of a list.
My friend was studying chemistry, I helped her set up a Fortran compiler as that's what some software for modelling molecules or arom interactions or something was written in. Apparently in the Fortran era scientists, professors and the like jumped on the opportunity to create software that makes their job easier and nobody up to now wants to deal with the task of rewriting it in something modern, so there's a big niche of heavy Fortran usage in scientific communities, while the rest of people usually associated with software dev every year scratch their heads about how the hell did Fortran make it to a fairly high position of most used languages again lol
Fortran is actually still used in a lot of places, because legacy code tends to stick around. I mean, my day job is with freaking object pascal. Oh also, Fortran was my first real programming experience in college... in 2016 lmao. It was for a physics class and eventually I switched to python to do some more complex things, but nothing ever beats the speed of Fortran.
@erikkonstas
5 ай бұрын
Eh... you can't compare an interpreted language to a compiled one... there's your speed issue.
@xormak3935
5 ай бұрын
Hell yeah. Had object pascal (Borland Delphi) as my first language in 2013 and used it for 3 years in an apprenticeship (Embarcadero Delphi). Something about how those languages enforce clean code and project structure just feels good.
@minoxs
5 ай бұрын
@@xormak3935 There is certainly a push towards making cleaner structures but... after years of using Delphi for backend development, I just... seen too much. It's harder to make ugly code when compared to stuff like JavaScript, but holy hell, when you have someone write some arcane curse, it sticks. Still to this day I see stuff like "PInt64(@pBuffer[nOffset])^ := SomeInt64" and other ungodly pointer hacks lol
@thesenamesaretaken
5 ай бұрын
@@erikkonstaspure Python sure but, more importantly, how would a numpy-based program perform compared to Fortran? As they say, the most effective way to use Python is to use the least Python possible.
@MauroPanigada
4 ай бұрын
latest Fortran std I know of, is labelled 2018 - it's young. Modern Fortran has interesting features (I wouldn't use it to make web services, or a GUI, though…). I bet there are new projects written in the language, not just legacy code to be maintained. Of course you won't see many of them in the wild, since the language is more suited for certain kind of tasks which aren't so common.
honestly, 7:35 this result was better than a simple torus. it's so psychedelic and artistic
These videos are great. It’s like if martincitopants was an Eastern European software engineer
@AS-R-bx3zi
3 ай бұрын
That what I was thinking too.
I actually used a FORTRAN style language in college in the early 60s ... it was called FORGO. A boot loader had to be read in on cards followed by the program on punched cards. The output was via punched cards that then had to be read into a printer that produced folded paper output. The computer was an IBM 1620 with a 10 meg hard drive the size of a washing machine. Later we had access to FORTRAN which had format flexibility. It's been a long journey to now with drives in the terabyte capacity, printer on my desk, direct input via keyboard and mouse, a monitor, and the internet. 60 years ... wonder what the next 60 years will bring but that belongs to the youth in the house of tomorrow a place I will not dwell in. Best wishes to all who will.
@KNRG04
3 ай бұрын
awesome comment!
@josephbrandenburg4373
Ай бұрын
Correction: it applies to the AI that will replace the youth before they get a chance 😭
There were a couple of languages before Fortran. Mostly Fortran blew them away. Several all went under names sort of like "autocode". You basically were telling them operation by operation what to do but it was portable between machines unlike assembly. BTW: On early computers, assembly was easy to learn.
Fortran was my first programming language, in 2016 lol. Computational physics is almost always done in Fortran or C, perhaps with some shell or python script wrappers.
@alexandred.4248
5 ай бұрын
Try, Matlab for computational physics. Fastest way to break my heart as a python enthusiast
Fortran was my first programming language. I was a mathematics major. Had to take an intro to programming class before taking numerical analysis. I loved it. Went on to do a bit of SLAM programming with it. (SLAM is used to construct simulations).
Fun to watch :) I think the question you ask towards the end about having to declare your variables at the top has to do with how compilers worked with punch-cards. You wanted to get them in there at the start to avoid going back later. Of course with modern machines this is not a problem, and so langugages evolved away from that.
Fortran is also one of the newest languages. Compilers are mostly up to date with the 2018 standard which has pretty full support for object orientation, interoperability with other languages, direct support for parallel processing, and nearly every feature people have complained about being missing.
@INT41O
3 ай бұрын
Fortran compilers also have a habit of pretending to support the newest features, but then produce horrible bugs if you use them in any way that is slightly more complicated than the example code.
@roadrunner3563
3 ай бұрын
All compilers adding new features have the same issues. Fortran is no worse, and more likely better because it tends to design the features better.
@INT41O
3 ай бұрын
@@roadrunner3563In my experience: No. I have never seen so many compiler bugs in another language. I use ifort and gfortran, and both have their own problems. Final subroutines, mixing associate and or block with openmp, syntax errors involving pointers leading to compiler crash, parameterized len, etc.
Love the video's you are the martincopants of programming and I am absolutely here for it keep it up
I remember some Fortran math libraries where they offset the indexes in arrays for a lot of operations. One slight error and you ended up reading or writing random bits of memory outside the array. The whole mess was almost impossible to debug.
The “Colossal Cave Adventure” (the first computer, text game) was written entirely in fortran, and it took in commands in English and processed them.
@petewdev5591
4 ай бұрын
GO NORTH EXAMINE DESK TAKE KEY
@georgkrahl56
4 ай бұрын
AFAIR it was an own "game language", realized in FORTRAN. So it internally processed things like 'if near water then...' and so on.
@tnspnk3
3 ай бұрын
@@petewdev5591 KILL BIRD The little bird is now dead. (Unsaid, you just screwed yourself on completing the game).,
I love how people use more or less the Style of Martincitopants (I am sure other before did similar styles but this strongly resembales his specifically) and apply it to so many fields
:D The best part for me was your explanation of a seg-fault "It's usually an error raised by your the hardware telling your system telling your software that you are trying to access restricted memory". That's actually the best summary I could think of :) ps: Pascal (my first programming language I learned in 1995) also required that you declare all your variables at the top of your method. Those languages were simply closer to the metal since local variables are allocates with the stackframe when you enter the method. So from a structural point of view it made sense. Not really in terms of usability. Pascal and Fortran also look quite similar at the first glance. Pascal also used many terms like program, integer, real, if...then, begin, end, repeat ... until, implementation, ... It was almost like writing english sentences. So I can see that Pascal was a lot inspired by fortran. Actually the chain seems to be Fortran --> Algol 58 --> Algol 60 --> Pascal (1970). I did a lot of Pascal and Delphi programming in the past. Though I can't really stand the syntax anymore ^^. I'm now used to C#, lua, js and C/C++.
song at 5:36 is The Toxic Avenger - Make this Right
@submariner_42
9 күн бұрын
I needed this thx
Fortran is the language of scientific experiments. It is a math-centric language. There is a good reason for declaring all the variables at the beginning of the code. Fortran uses a static memory allocation, so this makes it easier to manage all the storage space. Remember it was used with punch cards...
@vibaj16
4 ай бұрын
"The reason behind declaring all the variables at the beginning has a good reason"
@TzOk
4 ай бұрын
@@vibaj16 I must have been very tired when writing that. Thank you for noticing it - I've already corrected that.
@INT41O
3 ай бұрын
Dynamic memory allocation has been included in Fortran for ages. There is even automatic deallocation when a variable goes out of scope (when using "allocatable" instead of "pointer"). Some other features are also really nice, for example the lower bound of an array can be set to a custom value, not just the upper. However, overall the language is too verbose and a lot of boilerplate code is necessary if you want to code safely.
i found you after primetime reacted your video.....and now i love your vids more than his lol
continue with the good work, your content is awesome
In a coding class years ago we actually went below assembler - we used microcode, zeroes and ones to create the assembly instructions. Wild times, not.
Fortran and c are the only 2 general languges that can run on gpu with cuda... c++ can also run on gpu with omp but that's basicly it Fortran is still alive and well. Also as one of the fastest languges out there. If u r using numpy u r running fortran
@DocSineBell
5 ай бұрын
Yeah. Many fast numerical python packages are actually Fortran under the hood
@ramy8338
5 ай бұрын
Julia runs natively on a GPU
@nevokrien95
5 ай бұрын
@ramy8338 oh that's super cool!!! Dam thats like a really good reason to do data scince with it. Can u be clever about memory or are u stack with the gc?
FORTRAN is the oldest _commercially available_ language, not the oldest language per se. Autocode for the Manchester Mk 1 is probably the oldest language recognisable as such to modern eyes (it reads a bit like assembler). I was using Fortran 90 for real-world stuff towards the end of the last century, and there is such a huge codebase of highly optimised software in scientific computing that it's still popular.
Martin would be proud with this editing
My first computer language was Fortran II on an IBM 1620 in college. Only had a card reader/punch. Output was on cards. Had to take the cards to another machine to get the cards printed onto paper to hand in. Then threw the cards in the disposal bin.
3:45 donut has a whole in the center got me off guard ☠
it's like playing an older version of minecraft and being like oh.. yeah.. can't place stairs upside down yet..
still be best (along w c /c ++) for doing any serious calculations. Fortran rocks!
Great video! Nice work, martincinoapnts!
In my current state it is impossible for me to make that in ANY programming language
@oneofakind_tm
5 ай бұрын
Same
@erikkonstas
5 ай бұрын
Yeah, it involves physics...
I am a Fortran user, and at the moment in the field of computational mechanics it is still maybe the most used programming language. In Fortran standard 2018, it allows parallel programming directly in the code with coarrays.
It seems like you're rendering all faces of the donut and adding the resulting bounced light as a value of a pixel/character (as if the surface was semi-transparent), or one side of your donut had its normal vectors flipped... I'm not sure how that transaltes to your code and how it calculates light bounces or whatever else you need in order to get an image out of it, but basically it looks like the outside of the donut is transparent and the inside is what appears as the "rendered" result. The issue appears in the donut's syarting position and you can see that the hole and outside edge are lit in an unnatural way
Saw you on the primeagen. Love your work
Dude I can't even do what you did! You inspired me while having a good laugh! :D
I enrolled into uni last year and we're taught FORTRAN 77. Was pretty surprised when was asked to translate an old software for wind tunnel into C++ from diskettes. And also I learnes how useful the operators for tapes really are. Feel like an archaelogist
I did a lot fortran 90 code, like genetic algorithms, dynamical systems, monte carlo integrations, classical and quantum physics simulations on my physics department. For an old language, fortran is pretty good, and calculations are so, but so much faster than modern languages like python
Why Fortran is used to this day with the modern technologies: bc Fortran IS the backbone of the modern technologies. Example: many Python machine learning libraries are APIs for C programs (bc C is very efficient in manipulation of resources, particularly memory) that in turn call in Fortran programs that do hardcore linear algebra on the thousands of cores in the GPU and return the result. Fortran is the language that keeps supercomputers running and is, like many of the older languages, a direct and unforgiving language for people that know what they are doing.
The digital controls in jet engines (the FADEC) are coded using FORTRAN still, since making any changes to the existing code requires alone requires quite a lot of money to validate, much less change the coding language. That said, there are projects that are moving towards using C for the FADEC development, but its been over 10 years since I worked on such, and I have no idea where it is now.
Funny, entertaining, informative. Love it!
Instantly a sub, this channel is a gold mine.
We still use Fortran-code programs daily in our Institute of Seismology. It's fast and the matrix operations are trivial compared to e.g. C.
Autocode preceded Fortran by 5 years. It was devoloped at Manchester University and was the first compiled language. However the fact that Fortran is still active today is an indication of its flexibility and development. Funny how Python repeats the same mistake as early fortran with leading space dependency, something Fortran got rid of 50 years ago.
For processing of sequential data, fortran was very nice and the syntax wasn't unbearable. That said, I haven't used it in 20 years because our shop uses mainly SAS for statistical processing (with potential changes on the horizon towards open source).
It even has package management now.
@ssmith5048
5 ай бұрын
yeah and also oop support - neither necessarily good ideas... modern Fortran rocks , always be wary of bloated bs concepts being introduced...
Absolutely love this video!
Lots of the code used by physicists is legacy code written in fortran, they had to create a python module to emulate it at some point
I began learning Fortran last year, it's been quite pleasant to use it actually.
fortran is still in use today in some industrial equipment mainly in power and manufacturing sectors.
i liked your humor style, it made me laugh sometimes in your video.. im an computer engineer and when you say maybe you weren't smart enough to complete this job in the video i questioned my existential :)) .. good work keep go on bro...
Fortran can handle quite well operations on matrices and vectors; the "direct" translation of the math stuffs into code could exploit those features.
wow, Fortran 90 code looks kind of like Julia. or rather the other way around. it's interesting that some languages keep coming to ::Type and `end` keyword, is it an homage to Fortran? or is there some practical parsing-related consideration?
@georgerogers1166
5 ай бұрын
Both. Algol/Pascal/Matlab influence as well.
@Daniel_Zhu_a6f
5 ай бұрын
@@georgerogers1166 and what is the practical side?
@calebfuller4713
4 ай бұрын
Well, I notice that most programming languages tend to either follow the Fortran model or the C model to varying degrees, what with COBOL proving a bit of a dead end as far as influencing future languages. With Fortran-like languages, a new code statement is generally on a new line, and code blocks are delimited with a phrase like "end" or similar. This includes languages like BASIC, Julia, Pascal, and Python. Python takes this approach to the ultimate logical conclusion by actually using the indents themselves as code blocks, removing the need for an "end" type statement. Other Fortran-like influences include a generally more lax approach to variable typing, with implicit typing often being the case. The C-like languages such as Java, Rust, and Perl, all tend to use curly brackets { } to mark out code blocks, generally ignore spaces or new lines, and require a specific termination character for each statement, such as a semicolon. They also tend to be a lot stricter with variable typing and require explicit type declarations. IMHO Pascal manages to combine the worst of both worlds, with semicolons on the end of statements, explicit BEGIN and END; around every block, and a whole bunch of other pedantry. 😂 Personally I find Fortran and descendants like Python and Julia MUCH more pleasant and clean looking than the C model of curly brackets and semicolons everywhere. But to sum up the answer to your question, there needs to be SOME way to indicate a code block to the compiler or interpreter and "end" is as about as short and clear as you can get without brackets. Yes, Python is even cleaner, but FORTRAN was originally developed at a time when programmers usually didn't even USE indents in their code!
@Daniel_Zhu_a6f
4 ай бұрын
@@calebfuller4713 you forgot "one liner" languages (haskell, erlang, unison and related), where code mostly consists of definitions and expressions, with virtually no statements. and array languages, where everything is a hieroglyph. of course, there is also lisp, which has the one and only correct syntax.
Martincitopants and Programming??? NOW THAT'S WHAT I'M TALKIN ABOUT 🔥 subbed
I use to be a programmer for the VA Hospital and they used a version of the MUMPS programming language. It supports a database and strong string manipulation. An oddball language for sure, but a lot of fun.
I can see some inspirations on a youtuber called martincitopants. you did an excelant video, it really captivates the brain.
Good job dude love ur videos
The fact that there is a Fortran LSP implentation *and* a treesitter grammer is absolutely amazing to me. Not surprising - just amazing.
Enjoyed the video, love from Morocco khoya
omg, best youtube channel in the known multiverse, subbed
I am learning Fortran to simulate stellar evolution for my undergrad physics research, the language seems quite surprisingly still alive and well.
Bank of NY Mellon still relies on Fortran for sub-accounting (financials). Fortran remains big in mechanical engineering. A lot of thermodynamics code is in Fortran, as Fortran has better floating-point than gcc.
FORTRAN is still used for NASA's Voyager probe, launched in 1977. The ground equipment, at least.
I liked Fortran. It was the first programming class in the CS undergrad program I was in. I was in a test class using cutting edge DEC Vax system (1983). I had a C64 and already knew basic and assembler, but Fortran on that platform opened my eyes into what could be done. I didn't realize I had done the hard work already by learning assembler. I felt like it was my own little cheat code.
My customers in the insurance industry still use IBM Hosts and FORTRAN. Their code base has grown over several decades, and their in-house FORTRAN programmers not only maintain it, but routinely expand it. These customers also continue to train new FORTRAN programmers. It is not a glamorous job with "sexy" modern programming languages, but once people are hired, their job security is much better than commonly found in the software development sector.
FORTRAN was my very first programming language. I learned it in high school, way back in 1971. Today I program mainly in C but I still dabble in FORTRAN from time to time. It's a nice language for number crunching.
I can see tou inspiration from Good Ol' Martin. And this is really cool! Keep it up and maybe the greerest god of this universe will spot you!!!
So this channel is basically martincitopants but for coding. I‘ll take a large sub with extra cheese please
I don't appreciate that you didn't actually talk about fortran and just your process of learning some other random thing
Fortran programmer here. I do heavy scientific calculations and Fortran is very good on that. I also kinda love many aspects of it, especially after the updates of the recent years. Memory management is really cool.
@gabrielmourao2854
5 ай бұрын
Asking as someone that just learned Fortran as a word. What does it have that you think is better than c for doing calculations?
@DocSineBell
5 ай бұрын
@@gabrielmourao2854 I am by no means expert in C but - Fortran is literally "formula translator". It's made for that and it shows. It's very handy despite being low level, and it has a good syntax for that. Plus, it feels like you are in total control of what's happening. On the other hand, Fortran is terribile for everything else.
My grandma used to code in Fortran for a telephone service thing.
You can declare variables anywhere using a BLOCK. Fortran is a very large language compared to C, because it has also added many OOP features: e.g. BLOCK INTEGER :: res2 res2 = res1 + 1 END BLOCK
There's a good reason for Fortran to be popular with science and research: it's easy to construct mathematical expressions and it's well supported for HPC computing. It's also easy to learn when compared to C/C++. It's the language of our CFD SEM code , which we have ran on 100 A100s xD.
Some old digitalised nasa papers have fortran source code "attached" as scans, That is a very interesting to work with almost like a small time capsule.
I just have one thing to say: What a great video!!! Congratulations. Thank you very much.
My favorite channel now 😭😭
what about plankalkul? it's older than fortran, but i don't know if first version is ported to modern hardware, there is 2000s version which works definitely (there is java implementation from community)
@__gadonk__
5 ай бұрын
yeah but Plankalkül wasn't widely used back then. It still kinda exists for historical reasons.
I've just started watching the video, but my understanding is that FORTRAN's continued usage is based on two things. 1. Legacy hardware and code used in some of the most vital parts of modern civilization. 2. It's very stable and low level.
@pjm3005
3 ай бұрын
" Legacy hardware and code used in some of the most vital parts of modern civilization.
Very fun video again!
I'm a very new software engineer and the lab I work in was designed in the 70's entirely in Fortran. I've had the unfortunate opportunity to port most of it into C++ over the last 6 months, and yes, I can sympathize with your experience "forgetting how to do even simple things". Coming from a C++/Python background, Fortran seems to operate in an incredibly arcane and nebulous fashion- but it does have some beauty in its weird ways of doing simple things.
I learned how to code with Fortran. It was brilliant for simulating physical processes.
I'm physicist researcher and i use vasp a software written in fortran to simulate electrons in materials. It's the fastest actually thanks to fortran
love your videos from morocco bro❤💫
Fortran is still used daily in physics you know
i wonder if you're like one of the only people ever to make a (partially-functional) 3D rendering engine in Fortran, or at least solo anyway
@arjix8738
5 ай бұрын
people have that done that in plain assembly, remember roller coaster tycoon? I imagine a lot of university students have made a 3d ascii renderer in fortran
@Templarfreak
5 ай бұрын
@@arjix8738 assembly is a completely different beast, sure, but this is still pretty damn impressive given how primitive fortran is lol also RCT did not have 3D graphics in the traditional sense, it used 3D for logical purposes but not for rendering, all graphics were a rendered sprite
@capdyn735
5 ай бұрын
@@Templarfreak I recently learnt Fortran 2003, and it's a surprisingly advanced language. It has an object model, support for doing mathematical operations on entire arrays and a module system.
@Templarfreak
2 ай бұрын
@@capdyn735 it's advanced for its time, what i mostly mean by fortran being "primitive" is that it is 100% not meant to do something like this and doing so in something like Fortran is basically as close to reenacting the wild west of computing you can get without doing something like what arjx's suggested, of writing a 3D renderer purely in assembly, or in the oldest (non-punchcard versions) of LISP.