Тёмный

I Tried The OLDEST Programming Language 

theunrealtarik
Подписаться 15 тыс.
Просмотров 259 тыс.
50% 1

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

Наука

Опубликовано:

 

19 янв 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 529   
@yogibarista2818
@yogibarista2818 4 месяца назад
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 4 месяца назад
That’s cool, I didn’t know punch cards ever supported more than Assembly.
@leopavlov7165
@leopavlov7165 4 месяца назад
​@@xWatexx COBOL is also 1 of the punch card languages
4 месяца назад
@@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 4 месяца назад
​​@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 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.
@minneelyyyy8923
@minneelyyyy8923 4 месяца назад
Dude accidentally made a 4 dimensional donut
@AetherStreamer
@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
@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
@CoolKoon
@CoolKoon 4 месяца назад
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 4 месяца назад
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 4 месяца назад
@@romannasuti25 neat!
@Dejavous9
@Dejavous9 4 месяца назад
Can confirm that old-head physicists use it today too
@christopheroliver148
@christopheroliver148 4 месяца назад
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 4 месяца назад
​@@christopheroliver148 To this day NASTRAN is still (arguably) the gold standard for FEI despite being FORTRAN software from the 60's.
@DaFrancc
@DaFrancc 4 месяца назад
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.
@tordjarv3802
@tordjarv3802 4 месяца назад
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 4 месяца назад
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 4 месяца назад
@@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 4 месяца назад
@@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 4 месяца назад
@@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 4 месяца назад
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.
@paulperry7091
@paulperry7091 4 месяца назад
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 3 месяца назад
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 26 дней назад
I studied art. Now I'm unemployed.
@HerbertLandei
@HerbertLandei 4 месяца назад
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 4 месяца назад
Imagine programming in brainf......
@susannerudolph8469
@susannerudolph8469 9 дней назад
_cough cough_ *c* _cough cough_
@lorenzomonacelli
@lorenzomonacelli 4 месяца назад
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 4 месяца назад
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 Месяц назад
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.
@drmonkeys852
@drmonkeys852 4 месяца назад
To fix the flickering there are more ANSI codes you can use: ESC[0;0H
@rw-xf4cb
@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.
@1ballad
@1ballad 4 месяца назад
This guy is the programmer version of martincitopants and I absolutely love it
@DarenC
@DarenC 4 месяца назад
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 4 месяца назад
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
@theunrealtarik
@theunrealtarik 4 месяца назад
ASSembly GO PRRRRRRRRRRR
@CoolestPossibleName
@CoolestPossibleName 4 месяца назад
By "GO" did you meant golang?
@Catterjeeo
@Catterjeeo 4 месяца назад
Everyone knows that manually wiring together a program is the oldest programming language:;)
@ltecheroffical
@ltecheroffical 4 месяца назад
@@Catterjeeo Nah, it's having a human manually interact with the users
@veaxvoid
@veaxvoid 4 месяца назад
ассембли донат вен?
@124k3_
@124k3_ 4 месяца назад
hmmmmmm... looks like i gotta incorporate your video making style into mine videos 😅
@Patterner
@Patterner 4 месяца назад
back in my math days i did a lot of FORTRAN. the libraries available were totally insane and brilliant.
@charliekahn4205
@charliekahn4205 4 месяца назад
MATLAB is sort of a port of an earlier FORTRAN library
@bazoo513
@bazoo513 4 месяца назад
And still are. what do you think is the source of all those numerical libs for, say Python.
@randomsnow6510
@randomsnow6510 4 месяца назад
fortran is used because it rights the fastest assembly for math problems
@JohnDlugosz
@JohnDlugosz 4 месяца назад
You mean "writes"? Actually, the fastest Fortran implementation right now is a Fotran-to-C++ translator!
@PRIMARYATIAS
@PRIMARYATIAS 4 месяца назад
@@JohnDlugoszNot when LLVM’s Flang will be out.
@vidal9747
@vidal9747 4 месяца назад
​@@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 4 месяца назад
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 4 месяца назад
@@tordjarv3802 You mean "moot".
@Misteribel
@Misteribel 4 месяца назад
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 4 месяца назад
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 4 месяца назад
​@@herrbonk3635 it's looking like Fortran 77 which is what he said he'd use.
@rdspam
@rdspam 4 месяца назад
0:36 “I know what you’re thinking. Assembly is the oldest…..”
@herrbonk3635
@herrbonk3635 4 месяца назад
@@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 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".
@DeuxisWasTaken
@DeuxisWasTaken 4 месяца назад
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
@pythonprojectsforwindows6795
@pythonprojectsforwindows6795 4 месяца назад
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.
@kodekent
@kodekent 4 месяца назад
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.
@TagetesAlkesta
@TagetesAlkesta 4 месяца назад
These videos are great. It’s like if martincitopants was an Eastern European software engineer
@AS-R-bx3zi
@AS-R-bx3zi 3 месяца назад
That what I was thinking too.
@MagnusOsterlund
@MagnusOsterlund 4 месяца назад
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.
@alexgregory5583
@alexgregory5583 4 месяца назад
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 4 месяца назад
Try, Matlab for computational physics. Fastest way to break my heart as a python enthusiast
@donwinston
@donwinston 4 месяца назад
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 4 месяца назад
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 3 месяца назад
awesome comment!
@josephbrandenburg4373
@josephbrandenburg4373 26 дней назад
Correction: it applies to the AI that will replace the youth before they get a chance 😭
@minoxs
@minoxs 4 месяца назад
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 4 месяца назад
Eh... you can't compare an interpreted language to a compiled one... there's your speed issue.
@xormak3935
@xormak3935 4 месяца назад
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 4 месяца назад
@@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 4 месяца назад
​@@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 3 месяца назад
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.
@roadrunner3563
@roadrunner3563 4 месяца назад
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 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
@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
@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.
@daskampffredchen9242
@daskampffredchen9242 4 месяца назад
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
@AndyFletcherX31
@AndyFletcherX31 4 месяца назад
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.
@len322
@len322 4 месяца назад
it's like playing an older version of minecraft and being like oh.. yeah.. can't place stairs upside down yet..
@luciferno4606
@luciferno4606 4 месяца назад
Love the video's you are the martincopants of programming and I am absolutely here for it keep it up
@_WindofChange
@_WindofChange 4 месяца назад
i found you after primetime reacted your video.....and now i love your vids more than his lol
@kensmith5694
@kensmith5694 4 месяца назад
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.
@caiocouto3450
@caiocouto3450 4 месяца назад
honestly, 7:35 this result was better than a simple torus. it's so psychedelic and artistic
@dylanmeeks54
@dylanmeeks54 4 месяца назад
Saw you on the primeagen. Love your work
@wzup23
@wzup23 4 месяца назад
Dude I can't even do what you did! You inspired me while having a good laugh! :D
@cauatavares6174
@cauatavares6174 4 месяца назад
continue with the good work, your content is awesome
@TzOk
@TzOk 4 месяца назад
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 4 месяца назад
"The reason behind declaring all the variables at the beginning has a good reason"
@TzOk
@TzOk 4 месяца назад
@@vibaj16 I must have been very tired when writing that. Thank you for noticing it - I've already corrected that.
@INT41O
@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.
@mario123abc
@mario123abc 3 месяца назад
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.
@Bunny99s
@Bunny99s 4 месяца назад
: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++.
@loopsmaster2192
@loopsmaster2192 3 месяца назад
Martin would be proud with this editing
@nobillismccaw7450
@nobillismccaw7450 4 месяца назад
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 4 месяца назад
GO NORTH EXAMINE DESK TAKE KEY
@georgkrahl56
@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
@tnspnk3 3 месяца назад
@@petewdev5591 KILL BIRD The little bird is now dead. (Unsaid, you just screwed yourself on completing the game).,
@johnmckown1267
@johnmckown1267 4 месяца назад
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.
@deadcatthinks6725
@deadcatthinks6725 4 месяца назад
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.
@markasiala6355
@markasiala6355 4 месяца назад
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).
@diobrando7642
@diobrando7642 4 месяца назад
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
@arzen9835
@arzen9835 Месяц назад
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
@davidgillies620
@davidgillies620 4 месяца назад
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.
@Mythilt
@Mythilt 4 месяца назад
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.
@seckinseckin3919
@seckinseckin3919 4 месяца назад
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...
@luissampaio2104
@luissampaio2104 4 месяца назад
I began learning Fortran last year, it's been quite pleasant to use it actually.
@presi3005
@presi3005 4 месяца назад
Great video! Nice work, martincinoapnts!
@MauroPanigada
@MauroPanigada 3 месяца назад
Fortran can handle quite well operations on matrices and vectors; the "direct" translation of the math stuffs into code could exploit those features.
@sybaseguru
@sybaseguru 4 месяца назад
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.
@ccppeter2617
@ccppeter2617 4 месяца назад
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
@Lgnno10125
@Lgnno10125 Месяц назад
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
@ssmith5048
@ssmith5048 4 месяца назад
still be best (along w c /c ++) for doing any serious calculations. Fortran rocks!
@Geenimetsuri
@Geenimetsuri 2 месяца назад
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.
@IbanNieto
@IbanNieto 4 месяца назад
Absolutely love this video!
@tombuster
@tombuster 4 месяца назад
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
@existantperson8624
@existantperson8624 4 месяца назад
song at 5:36 is The Toxic Avenger - Make this Right
@harryseldon362
@harryseldon362 3 месяца назад
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.
@goreldeeno
@goreldeeno 4 месяца назад
Martincitopants and Programming??? NOW THAT'S WHAT I'M TALKIN ABOUT 🔥 subbed
@FidosTeasers
@FidosTeasers 4 месяца назад
Instantly a sub, this channel is a gold mine.
@pelegsap
@pelegsap 2 месяца назад
The fact that there is a Fortran LSP implentation *and* a treesitter grammer is absolutely amazing to me. Not surprising - just amazing.
@holyordersoftheemperorsinq246
@holyordersoftheemperorsinq246 3 месяца назад
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.
@SSS-sz8mg
@SSS-sz8mg 4 месяца назад
What's your text editor? Is it some sort of vim? Thanks
@user-kb9kv7uc1y
@user-kb9kv7uc1y 4 месяца назад
Funny, entertaining, informative. Love it!
@colemoore5003
@colemoore5003 3 месяца назад
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.
@gengisbohx_
@gengisbohx_ 4 месяца назад
I can see some inspirations on a youtuber called martincitopants. you did an excelant video, it really captivates the brain.
@paladinfriend
@paladinfriend 3 месяца назад
I don't appreciate that you didn't actually talk about fortran and just your process of learning some other random thing
@fancypesto3647
@fancypesto3647 4 месяца назад
I am learning Fortran to simulate stellar evolution for my undergrad physics research, the language seems quite surprisingly still alive and well.
@General-Failure
@General-Failure 4 месяца назад
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.
@dtvjho
@dtvjho 4 месяца назад
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.
@jino139
@jino139 4 месяца назад
In my current state it is impossible for me to make that in ANY programming language
@oneofakind_tm
@oneofakind_tm 4 месяца назад
Same
@erikkonstas
@erikkonstas 4 месяца назад
Yeah, it involves physics...
@jarredallen
@jarredallen 4 месяца назад
fortran is still in use today in some industrial equipment mainly in power and manufacturing sectors.
@noturgokuxd
@noturgokuxd 4 месяца назад
3:45 donut has a whole in the center got me off guard ☠
@modolief
@modolief 4 месяца назад
omg, best youtube channel in the known multiverse, subbed
@richardbennett4365
@richardbennett4365 4 месяца назад
It even has package management now.
@ssmith5048
@ssmith5048 4 месяца назад
yeah and also oop support - neither necessarily good ideas... modern Fortran rocks , always be wary of bloated bs concepts being introduced...
@lucasgasparino6141
@lucasgasparino6141 4 месяца назад
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.
@h3li0p4us3
@h3li0p4us3 4 месяца назад
Good job dude love ur videos
@johnopalko5223
@johnopalko5223 3 месяца назад
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.
@Piupiumacher
@Piupiumacher Месяц назад
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.
@ronkarper6834
@ronkarper6834 4 месяца назад
FORTRAN is still used for NASA's Voyager probe, launched in 1977. The ground equipment, at least.
@Bijoux_DerWunderCatsen
@Bijoux_DerWunderCatsen 4 месяца назад
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.
@theMelvinShow
@theMelvinShow 4 месяца назад
So this channel is basically martincitopants but for coding. I‘ll take a large sub with extra cheese please
@lyagva
@lyagva 4 месяца назад
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!!!
@alfredoa334
@alfredoa334 4 месяца назад
I just have one thing to say: What a great video!!! Congratulations. Thank you very much.
@Someone-hm2ox
@Someone-hm2ox 3 месяца назад
i need to ask, do you get inspiration from MartincitoPants while making your videos?
@moha_kunX
@moha_kunX 3 месяца назад
Enjoyed the video, love from Morocco khoya
@Daniel_Zhu_a6f
@Daniel_Zhu_a6f 4 месяца назад
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 4 месяца назад
Both. Algol/Pascal/Matlab influence as well.
@Daniel_Zhu_a6f
@Daniel_Zhu_a6f 4 месяца назад
@@georgerogers1166 and what is the practical side?
@calebfuller4713
@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
@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.
@eldyj
@eldyj 4 месяца назад
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__ 4 месяца назад
yeah but Plankalkül wasn't widely used back then. It still kinda exists for historical reasons.
@NikolaiKostadinov-dc7jq
@NikolaiKostadinov-dc7jq Месяц назад
I wanted to ask why did you use the gfortran compiler instead of downloading it in visual studio?
@WilburJaywright
@WilburJaywright Месяц назад
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.
@DefaultFlame
@DefaultFlame 4 месяца назад
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
@pjm3005 3 месяца назад
" Legacy hardware and code used in some of the most vital parts of modern civilization.
@samarnagar9699
@samarnagar9699 4 месяца назад
Are you lao using the nvchad config by that Indonesian RU-vidr cause you wanted naye needed that transparent background but didn't know how to
@juanecoperu
@juanecoperu 4 месяца назад
Good work. I would like to see some go lang video. You couldn't put in on any tier in your previous video
@DocSineBell
@DocSineBell 4 месяца назад
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 4 месяца назад
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 4 месяца назад
@@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.
@krellin
@krellin 4 месяца назад
what did mac os do to you though?
@michaelcurry3795
@michaelcurry3795 4 месяца назад
"Fortran is the programming language" 🤣 "Assembly is the first programming language" 🤣 -Plankalkül❤
@Templarfreak
@Templarfreak 4 месяца назад
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
@arjix8738 4 месяца назад
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
@Templarfreak 4 месяца назад
@@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
@capdyn735 4 месяца назад
​@@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
@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.
Далее
10 weird algorithms
9:06
Просмотров 1,1 млн
How I Did This INSANE Trick 🤯📱🍬
00:10
Просмотров 3,6 млн
C++ Developer Learns Python
9:26
Просмотров 2,7 млн
God-Tier Developer Roadmap
16:42
Просмотров 6 млн
I Made PONG in ASSEMBLY
6:20
Просмотров 577
Factorio teaches you software engineering, seriously.
21:27
Top 10 Types of Software Developers
20:39
Просмотров 698 тыс.
A Modern Operating System in 1.44MBs
12:32
Просмотров 1 млн
Programming War Crimes | Prime Reacts
10:36
Просмотров 329 тыс.
Holographic transparent flexible LED panel.
0:20
Просмотров 3,4 млн