I Tried The OLDEST Programming Language

  Рет қаралды 299,212

theunrealtarik

theunrealtarik

6 ай бұрын

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

Пікірлер: 583
@yogibarista2818
@yogibarista2818 6 ай бұрын
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
@xWatexx 6 ай бұрын
That’s cool, I didn’t know punch cards ever supported more than Assembly.
@leopavlov7165
@leopavlov7165 6 ай бұрын
​@@xWatexx COBOL is also 1 of the punch card languages
6 ай бұрын
@@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
@BboyKeny 6 ай бұрын
​​@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
@briancampbell179 6 ай бұрын
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.
@minneelyyyy8923
@minneelyyyy8923 6 ай бұрын
Dude accidentally made a 4 dimensional donut
@AetherStreamer
@AetherStreamer 4 ай бұрын
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
@lolatmyage 4 ай бұрын
@@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
@nonplayercharacter21
@nonplayercharacter21 16 сағат бұрын
Because time is the 4th dimension and the object is moving through time lol
@tordjarv3802
@tordjarv3802 6 ай бұрын
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
@latt.qcd9221 6 ай бұрын
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
@tordjarv3802 6 ай бұрын
@@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
@latt.qcd9221 6 ай бұрын
@@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
@tordjarv3802 6 ай бұрын
@@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
@alicewyan 6 ай бұрын
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.
@CoolKoon
@CoolKoon 6 ай бұрын
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
@romannasuti25 6 ай бұрын
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
@DarkerCry 6 ай бұрын
@@romannasuti25 neat!
@Dejavous9
@Dejavous9 6 ай бұрын
Can confirm that old-head physicists use it today too
@christopheroliver148
@christopheroliver148 6 ай бұрын
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
@romannasuti25 6 ай бұрын
​@@christopheroliver148 To this day NASTRAN is still (arguably) the gold standard for FEI despite being FORTRAN software from the 60's.
@DaFrancc
@DaFrancc 6 ай бұрын
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.
@paulperry7091
@paulperry7091 6 ай бұрын
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
@franciscovarela7127 5 ай бұрын
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
@josephbrandenburg4373 2 ай бұрын
I studied art. Now I'm unemployed.
@HerbertLandei
@HerbertLandei 6 ай бұрын
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
@GlasiaVD23 5 ай бұрын
Imagine programming in brainf......
@susannerudolph8469
@susannerudolph8469 Ай бұрын
_cough cough_ *c* _cough cough_
@drmonkeys852
@drmonkeys852 6 ай бұрын
To fix the flickering there are more ANSI codes you can use: ESC[0;0H
@rw-xf4cb
@rw-xf4cb 5 ай бұрын
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.
@starpawsy
@starpawsy 29 күн бұрын
If you are on a Unix system, the CORRECT way to do that is to use high level commands. It looks like your terminal type is vt100 or similar. The correct way to use high level commands is to use "tput" terminal-put with appropriate arguments. ESC[0;0H is "postion cursor position at (0,0)" which is generated by the command: tput cup 0 0 ESC[H is "send cursor home (ie, 0,0) without clearing the screen" which is generated by the command: tput chome ESC[?25l is "make the cursor invisible": tput civis ESC[2J is screen clear: tput clear Note that if you use a newer emulation package from vt100, such as vt220 or vt340, you get more commands. You can do things like clear the screen and choose whether that does a cursor home or not. Mind you I havent dont this since 2004 so I am working from memory here LOL. Embedded raw escape sequences within your program like that is very very bad practice. It ties your program to work on only one terminal type.
@lorenzomonacelli
@lorenzomonacelli 6 ай бұрын
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
@flippert0 6 ай бұрын
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
@ehsnils 3 ай бұрын
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.
@1ballad
@1ballad 6 ай бұрын
This guy is the programmer version of martincitopants and I absolutely love it
@DarenC
@DarenC 6 ай бұрын
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.
@crckrbrrs
@crckrbrrs 6 ай бұрын
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
@randomsnow6510
@randomsnow6510 6 ай бұрын
fortran is used because it rights the fastest assembly for math problems
@JohnDlugosz
@JohnDlugosz 6 ай бұрын
You mean "writes"? Actually, the fastest Fortran implementation right now is a Fotran-to-C++ translator!
@PRIMARYATIAS
@PRIMARYATIAS 6 ай бұрын
@@JohnDlugoszNot when LLVM’s Flang will be out.
@vidal9747
@vidal9747 6 ай бұрын
​@@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
@tordjarv3802 6 ай бұрын
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
@JohnDlugosz 6 ай бұрын
@@tordjarv3802 You mean "moot".
@Geenimetsuri
@Geenimetsuri 4 ай бұрын
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.
@theunrealtarik
@theunrealtarik 6 ай бұрын
ASSembly GO PRRRRRRRRRRR
@CoolestPossibleName
@CoolestPossibleName 6 ай бұрын
By "GO" did you meant golang?
@Catterjeeo
@Catterjeeo 6 ай бұрын
Everyone knows that manually wiring together a program is the oldest programming language:;)
@ltecheroffical
@ltecheroffical 6 ай бұрын
@@Catterjeeo Nah, it's having a human manually interact with the users
@veaxvoid
@veaxvoid 6 ай бұрын
ассембли донат вен?
@124k3_
@124k3_ 6 ай бұрын
hmmmmmm... looks like i gotta incorporate your video making style into mine videos 😅
@Patterner
@Patterner 6 ай бұрын
back in my math days i did a lot of FORTRAN. the libraries available were totally insane and brilliant.
@charliekahn4205
@charliekahn4205 6 ай бұрын
MATLAB is sort of a port of an earlier FORTRAN library
@bazoo513
@bazoo513 6 ай бұрын
And still are. what do you think is the source of all those numerical libs for, say Python.
@kodekent
@kodekent 6 ай бұрын
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.
@MagnusOsterlund
@MagnusOsterlund 6 ай бұрын
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.
@Misteribel
@Misteribel 6 ай бұрын
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
@herrbonk3635 6 ай бұрын
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
@michaelburggraf2822 6 ай бұрын
​@@herrbonk3635 it's looking like Fortran 77 which is what he said he'd use.
@rdspam
@rdspam 6 ай бұрын
0:36 “I know what you’re thinking. Assembly is the oldest…..”
@herrbonk3635
@herrbonk3635 6 ай бұрын
@@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
@typograf62 6 ай бұрын
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".
@minoxs
@minoxs 6 ай бұрын
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
@erikkonstas 6 ай бұрын
Eh... you can't compare an interpreted language to a compiled one... there's your speed issue.
@xormak3935
@xormak3935 6 ай бұрын
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
@minoxs 6 ай бұрын
@@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
@thesenamesaretaken 6 ай бұрын
​@@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
@MauroPanigada 5 ай бұрын
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.
@DeuxisWasTaken
@DeuxisWasTaken 6 ай бұрын
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
@saarza9991
@saarza9991 Ай бұрын
True😂
@pythonprojectsforwindows6795
@pythonprojectsforwindows6795 6 ай бұрын
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.
@alexgregory5583
@alexgregory5583 6 ай бұрын
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
@alexandred.4248 6 ай бұрын
Try, Matlab for computational physics. Fastest way to break my heart as a python enthusiast
@donwinston
@donwinston 6 ай бұрын
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).
@brianmurphy4702
@brianmurphy4702 6 ай бұрын
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
@KNRG04 4 ай бұрын
awesome comment!
@josephbrandenburg4373
@josephbrandenburg4373 2 ай бұрын
Correction: it applies to the AI that will replace the youth before they get a chance 😭
@saarza9991
@saarza9991 Ай бұрын
​@@josephbrandenburg4373 what're your qualifications?
@saarza9991
@saarza9991 Ай бұрын
​@@josephbrandenburg4373 are you, by any chance, a prompt engineer?
@luciferno4606
@luciferno4606 6 ай бұрын
Love the video's you are the martincopants of programming and I am absolutely here for it keep it up
@roadrunner3563
@roadrunner3563 6 ай бұрын
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
@INT41O 5 ай бұрын
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
@roadrunner3563 5 ай бұрын
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
@INT41O 5 ай бұрын
@@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.
@caiocouto3450
@caiocouto3450 6 ай бұрын
honestly, 7:35 this result was better than a simple torus. it's so psychedelic and artistic
@TagetesAlkesta
@TagetesAlkesta 6 ай бұрын
These videos are great. It’s like if martincitopants was an Eastern European software engineer
@AS-R-bx3zi
@AS-R-bx3zi 5 ай бұрын
That what I was thinking too.
@l-o-f-i-b-o-i
@l-o-f-i-b-o-i 6 ай бұрын
i found you after primetime reacted your video.....and now i love your vids more than his lol
@Bunny99s
@Bunny99s 6 ай бұрын
: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++.
@AndyFletcherX31
@AndyFletcherX31 6 ай бұрын
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.
@dylanmeeks54
@dylanmeeks54 6 ай бұрын
Saw you on the primeagen. Love your work
@cauatavares6174
@cauatavares6174 6 ай бұрын
continue with the good work, your content is awesome
@kensmith5694
@kensmith5694 6 ай бұрын
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.
@TzOk
@TzOk 6 ай бұрын
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
@vibaj16 5 ай бұрын
"The reason behind declaring all the variables at the beginning has a good reason"
@TzOk
@TzOk 5 ай бұрын
@@vibaj16 I must have been very tired when writing that. Thank you for noticing it - I've already corrected that.
@INT41O
@INT41O 5 ай бұрын
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.
@FidosTeasers
@FidosTeasers 6 ай бұрын
Instantly a sub, this channel is a gold mine.
@nobillismccaw7450
@nobillismccaw7450 6 ай бұрын
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
@petewdev5591 6 ай бұрын
GO NORTH EXAMINE DESK TAKE KEY
@georgkrahl56
@georgkrahl56 5 ай бұрын
AFAIR it was an own "game language", realized in FORTRAN. So it internally processed things like 'if near water then...' and so on.
@tnspnk3
@tnspnk3 4 ай бұрын
@@petewdev5591 KILL BIRD The little bird is now dead. (Unsaid, you just screwed yourself on completing the game).,
@TheMathues123
@TheMathues123 10 күн бұрын
i really love these videos types, turns funny to learn hard things.
@johnmckown1267
@johnmckown1267 6 ай бұрын
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.
@wzup23
@wzup23 6 ай бұрын
Dude I can't even do what you did! You inspired me while having a good laugh! :D
@deadcatthinks6725
@deadcatthinks6725 5 ай бұрын
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.
@seckinseckin3919
@seckinseckin3919 6 ай бұрын
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...
@loopsmaster2192
@loopsmaster2192 4 ай бұрын
Martin would be proud with this editing
@mario123abc
@mario123abc 4 ай бұрын
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.
@user-kb9kv7uc1y
@user-kb9kv7uc1y 6 ай бұрын
Funny, entertaining, informative. Love it!
@presi3005
@presi3005 6 ай бұрын
Great video! Nice work, martincinoapnts!
@Mythilt
@Mythilt 6 ай бұрын
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.
@hedde1-vx6pz
@hedde1-vx6pz 2 күн бұрын
love your video's. keep it up!
@markasiala6355
@markasiala6355 6 ай бұрын
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).
@IbanNieto
@IbanNieto 6 ай бұрын
Absolutely love this video!
@gengisbohx_
@gengisbohx_ 6 ай бұрын
I can see some inspirations on a youtuber called martincitopants. you did an excelant video, it really captivates the brain.
@ssmith5048
@ssmith5048 6 ай бұрын
still be best (along w c /c ++) for doing any serious calculations. Fortran rocks!
@arzen9835
@arzen9835 3 ай бұрын
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
@theMelvinShow
@theMelvinShow 6 ай бұрын
So this channel is basically martincitopants but for coding. I‘ll take a large sub with extra cheese please
@len322
@len322 6 ай бұрын
it's like playing an older version of minecraft and being like oh.. yeah.. can't place stairs upside down yet..
@harryseldon362
@harryseldon362 4 ай бұрын
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.
@davidgillies620
@davidgillies620 6 ай бұрын
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.
@MauroPanigada
@MauroPanigada 5 ай бұрын
Fortran can handle quite well operations on matrices and vectors; the "direct" translation of the math stuffs into code could exploit those features.
@h3li0p4us3
@h3li0p4us3 6 ай бұрын
Good job dude love ur videos
@ccppeter2617
@ccppeter2617 6 ай бұрын
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
@moha_kunX
@moha_kunX 5 ай бұрын
Enjoyed the video, love from Morocco khoya
@luissampaio2104
@luissampaio2104 6 ай бұрын
I began learning Fortran last year, it's been quite pleasant to use it actually.
@modolief
@modolief 6 ай бұрын
omg, best youtube channel in the known multiverse, subbed
@lyagva
@lyagva 6 ай бұрын
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!!!
@jarredallen
@jarredallen 5 ай бұрын
fortran is still in use today in some industrial equipment mainly in power and manufacturing sectors.
@pelegsap
@pelegsap 3 ай бұрын
The fact that there is a Fortran LSP implentation *and* a treesitter grammer is absolutely amazing to me. Not surprising - just amazing.
@existantperson8624
@existantperson8624 6 ай бұрын
song at 5:36 is The Toxic Avenger - Make this Right
@submariner_42
@submariner_42 Ай бұрын
I needed this thx
@noturgokuxd
@noturgokuxd 6 ай бұрын
3:45 donut has a whole in the center got me off guard ☠
@Lgnno10125
@Lgnno10125 3 ай бұрын
Were you inspired by martincitopants any? Some of thd editing is a bit similar. All the same, your stuff is great! Keeo up the amazing work man
@sybaseguru
@sybaseguru 6 ай бұрын
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.
@evdrie1939
@evdrie1939 2 ай бұрын
blud, i'm literally watching this at 2am turn on dark mode! (I think I got an epilepsy attack or something 4:58). the vid was fun tho... keep up the good work
@Goalgurus7
@Goalgurus7 5 ай бұрын
love your videos from morocco bro❤💫
@diobrando7642
@diobrando7642 6 ай бұрын
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
@Daniel_Zhu_a6f
@Daniel_Zhu_a6f 6 ай бұрын
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
@georgerogers1166 6 ай бұрын
Both. Algol/Pascal/Matlab influence as well.
@Daniel_Zhu_a6f
@Daniel_Zhu_a6f 6 ай бұрын
@@georgerogers1166 and what is the practical side?
@calebfuller4713
@calebfuller4713 6 ай бұрын
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
@Daniel_Zhu_a6f 6 ай бұрын
@@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.
@DocSineBell
@DocSineBell 6 ай бұрын
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
@gabrielmourao2854 6 ай бұрын
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
@DocSineBell 6 ай бұрын
@@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.
@dtvjho
@dtvjho 5 ай бұрын
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.
@juanecoperu
@juanecoperu 6 ай бұрын
Good work. I would like to see some go lang video. You couldn't put in on any tier in your previous video
@jino139
@jino139 6 ай бұрын
In my current state it is impossible for me to make that in ANY programming language
@oarabilekoore
@oarabilekoore 6 ай бұрын
Same
@erikkonstas
@erikkonstas 6 ай бұрын
Yeah, it involves physics...
@lucasgasparino6141
@lucasgasparino6141 5 ай бұрын
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.
@fancypesto3647
@fancypesto3647 5 ай бұрын
I am learning Fortran to simulate stellar evolution for my undergrad physics research, the language seems quite surprisingly still alive and well.
@ronkarper6834
@ronkarper6834 6 ай бұрын
FORTRAN is still used for NASA's Voyager probe, launched in 1977. The ground equipment, at least.
@Bijoux_DerWunderCatsen
@Bijoux_DerWunderCatsen 6 ай бұрын
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.
@SSS-sz8mg
@SSS-sz8mg 6 ай бұрын
What's your text editor? Is it some sort of vim? Thanks
@General-Failure
@General-Failure 6 ай бұрын
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.
@WilburJaywright
@WilburJaywright 2 ай бұрын
I read about Fortran for a research paper. Then I had a .F file for some reason on my computer. Imagine my surprise when Windows Explorer 10 not only recognized the extension as Fortran source (it wasn’t but the extension entry was in there), but when I double clicked it Windows _tried to run it._ 😂 Bro, the ole’ boi’s still kicking after all this time! 😊 TYJ that was fun.
@norbertlabonne7280
@norbertlabonne7280 5 ай бұрын
Very fun video again!
@nevokrien95
@nevokrien95 6 ай бұрын
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
@DocSineBell 6 ай бұрын
Yeah. Many fast numerical python packages are actually Fortran under the hood
@ramy8338
@ramy8338 6 ай бұрын
Julia runs natively on a GPU
@nevokrien95
@nevokrien95 6 ай бұрын
@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?
@user-not-identified
@user-not-identified 6 ай бұрын
My grandma used to code in Fortran for a telephone service thing.
@johnopalko5223
@johnopalko5223 4 ай бұрын
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.
@richardbennett4365
@richardbennett4365 6 ай бұрын
It even has package management now.
@ssmith5048
@ssmith5048 6 ай бұрын
yeah and also oop support - neither necessarily good ideas... modern Fortran rocks , always be wary of bloated bs concepts being introduced...
@bobina6879
@bobina6879 Ай бұрын
My favorite channel now 😭😭
@IndividualBean
@IndividualBean 5 ай бұрын
As a fan of coding and the Australian rainbow frog man, this channel speaks to me
@Piupiumacher
@Piupiumacher 3 ай бұрын
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.
@alfredoa334
@alfredoa334 5 ай бұрын
I just have one thing to say: What a great video!!! Congratulations. Thank you very much.
@paladinfriend
@paladinfriend 4 ай бұрын
I don't appreciate that you didn't actually talk about fortran and just your process of learning some other random thing
@flixyflow6695
@flixyflow6695 5 ай бұрын
Good work!
@eldyj
@eldyj 6 ай бұрын
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__
@__gadonk__ 6 ай бұрын
yeah but Plankalkül wasn't widely used back then. It still kinda exists for historical reasons.
@colemoore5003
@colemoore5003 4 ай бұрын
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.
@kiendra
@kiendra 4 ай бұрын
2:37 My last 4 braincells in chem class trying to hold on but it didn't even matter just to watch you go H
Running "Hello World!" in 10 FORBIDDEN Programming Languages
18:07
I Made an AI with just Redstone!
17:23
mattbatwings
Рет қаралды 860 М.
Inside Out Babies (Inside Out Animation)
00:21
FASH
Рет қаралды 23 МЛН
Can A Seed Grow In Your Nose? 🤔
00:33
Zack D. Films
Рет қаралды 27 МЛН
Son ❤️ #shorts by Leisi Show
00:41
Leisi Show
Рет қаралды 4,4 МЛН
Mom's Unique Approach to Teaching Kids Hygiene #shorts
00:16
Fabiosa Stories
Рет қаралды 37 МЛН
C++ Developer Learns Python
9:26
PolyMars
Рет қаралды 2,7 МЛН
I Switched To Windows 7
14:19
theunrealtarik
Рет қаралды 155 М.
Factorio teaches you software engineering, seriously.
21:27
Tony Zhu
Рет қаралды 1,5 МЛН
The Art of Linux CLIs
8:35
Mults
Рет қаралды 146 М.
God-Tier Developer Roadmap
16:42
Fireship
Рет қаралды 7 МЛН
What Is The Most Complicated Lock Pattern?
27:29
Dr. Zye
Рет қаралды 1,5 МЛН
How programmers flex on each other
6:20
Fireship
Рет қаралды 2,3 МЛН
How One Line of Code Almost Blew Up the Internet
13:47
Kevin Fang
Рет қаралды 2 МЛН
The Clever Way to Count Tanks - Numberphile
16:45
Numberphile
Рет қаралды 563 М.
One second to compute the largest Fibonacci number I can
25:55
Sheafification of G
Рет қаралды 210 М.
تجربة أغرب توصيلة شحن ضد القطع تماما
0:56
صدام العزي
Рет қаралды 63 МЛН
Looks very comfortable. #leddisplay #ledscreen #ledwall #eagerled
0:19
LED Screen Factory-EagerLED
Рет қаралды 11 МЛН
Bluetooth connected successfully 💯💯
0:16
Blue ice Comedy
Рет қаралды 1,3 МЛН
АЙФОН 20 С ФУНКЦИЕЙ ВИДЕНИЯ ОГНЯ
0:59
КиноХост
Рет қаралды 1,2 МЛН