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

  • @yogibarista2818
    @yogibarista28185 ай бұрын

    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

    5 ай бұрын

    That’s cool, I didn’t know punch cards ever supported more than Assembly.

  • @leopavlov7165

    @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

    @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

    @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.

  • @tordjarv3802
    @tordjarv38025 ай бұрын

    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

    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

    @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

    @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

    @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

    @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.

  • @CoolKoon
    @CoolKoon5 ай бұрын

    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

    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

    @DarkerCry

    5 ай бұрын

    @@romannasuti25 neat!

  • @Dejavous9

    @Dejavous9

    5 ай бұрын

    Can confirm that old-head physicists use it today too

  • @christopheroliver148

    @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

    @romannasuti25

    5 ай бұрын

    ​@@christopheroliver148 To this day NASTRAN is still (arguably) the gold standard for FEI despite being FORTRAN software from the 60's.

  • @minneelyyyy8923
    @minneelyyyy89235 ай бұрын

    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

  • @DaFrancc
    @DaFrancc5 ай бұрын

    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.

  • @HerbertLandei
    @HerbertLandei5 ай бұрын

    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

    22 күн бұрын

    _cough cough_ *c* _cough cough_

  • @paulperry7091
    @paulperry70915 ай бұрын

    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

    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

    @josephbrandenburg4373

    Ай бұрын

    I studied art. Now I'm unemployed.

  • @lorenzomonacelli
    @lorenzomonacelli5 ай бұрын

    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

    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

    @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
    @drmonkeys8525 ай бұрын

    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.

  • @DarenC
    @DarenC5 ай бұрын

    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.

  • @randomsnow6510
    @randomsnow65105 ай бұрын

    fortran is used because it rights the fastest assembly for math problems

  • @JohnDlugosz

    @JohnDlugosz

    5 ай бұрын

    You mean "writes"? Actually, the fastest Fortran implementation right now is a Fotran-to-C++ translator!

  • @PRIMARYATIAS

    @PRIMARYATIAS

    5 ай бұрын

    @@JohnDlugoszNot when LLVM’s Flang will be out.

  • @vidal9747

    @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

    @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

    @JohnDlugosz

    5 ай бұрын

    @@tordjarv3802 You mean "moot".

  • @1ballad
    @1ballad5 ай бұрын

    This guy is the programmer version of martincitopants and I absolutely love it

  • @Misteribel
    @Misteribel5 ай бұрын

    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

    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

    @michaelburggraf2822

    5 ай бұрын

    ​@@herrbonk3635 it's looking like Fortran 77 which is what he said he'd use.

  • @rdspam

    @rdspam

    5 ай бұрын

    0:36 “I know what you’re thinking. Assembly is the oldest…..”

  • @herrbonk3635

    @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

    @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".

  • @crckrbrrs
    @crckrbrrs5 ай бұрын

    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

  • @Patterner
    @Patterner5 ай бұрын

    back in my math days i did a lot of FORTRAN. the libraries available were totally insane and brilliant.

  • @charliekahn4205

    @charliekahn4205

    5 ай бұрын

    MATLAB is sort of a port of an earlier FORTRAN library

  • @bazoo513

    @bazoo513

    5 ай бұрын

    And still are. what do you think is the source of all those numerical libs for, say Python.

  • @theunrealtarik
    @theunrealtarik5 ай бұрын

    ASSembly GO PRRRRRRRRRRR

  • @CoolestPossibleName

    @CoolestPossibleName

    5 ай бұрын

    By "GO" did you meant golang?

  • @Catterjeeo

    @Catterjeeo

    5 ай бұрын

    Everyone knows that manually wiring together a program is the oldest programming language:;)

  • @ltecheroffical

    @ltecheroffical

    5 ай бұрын

    @@Catterjeeo Nah, it's having a human manually interact with the users

  • @veaxvoid

    @veaxvoid

    5 ай бұрын

    ассембли донат вен?

  • @124k3_

    @124k3_

    5 ай бұрын

    hmmmmmm... looks like i gotta incorporate your video making style into mine videos 😅

  • @MagnusOsterlund
    @MagnusOsterlund5 ай бұрын

    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.

  • @pythonprojectsforwindows6795
    @pythonprojectsforwindows67955 ай бұрын

    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.

  • @DeuxisWasTaken
    @DeuxisWasTaken5 ай бұрын

    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

  • @minoxs
    @minoxs5 ай бұрын

    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

    5 ай бұрын

    Eh... you can't compare an interpreted language to a compiled one... there's your speed issue.

  • @xormak3935

    @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

    @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

    @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

    @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.

  • @caiocouto3450
    @caiocouto34505 ай бұрын

    honestly, 7:35 this result was better than a simple torus. it's so psychedelic and artistic

  • @TagetesAlkesta
    @TagetesAlkesta5 ай бұрын

    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.

  • @brianmurphy4702
    @brianmurphy47025 ай бұрын

    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

    Ай бұрын

    Correction: it applies to the AI that will replace the youth before they get a chance 😭

  • @kensmith5694
    @kensmith56945 ай бұрын

    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.

  • @alexgregory5583
    @alexgregory55835 ай бұрын

    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

    5 ай бұрын

    Try, Matlab for computational physics. Fastest way to break my heart as a python enthusiast

  • @donwinston
    @donwinston5 ай бұрын

    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).

  • @kodekent
    @kodekent5 ай бұрын

    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.

  • @roadrunner3563
    @roadrunner35634 ай бұрын

    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.

  • @luciferno4606
    @luciferno46065 ай бұрын

    Love the video's you are the martincopants of programming and I am absolutely here for it keep it up

  • @AndyFletcherX31
    @AndyFletcherX315 ай бұрын

    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.

  • @nobillismccaw7450
    @nobillismccaw74504 ай бұрын

    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).,

  • @daskampffredchen9242
    @daskampffredchen92424 ай бұрын

    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

  • @Bunny99s
    @Bunny99s5 ай бұрын

    :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++.

  • @existantperson8624
    @existantperson86245 ай бұрын

    song at 5:36 is The Toxic Avenger - Make this Right

  • @submariner_42

    @submariner_42

    9 күн бұрын

    I needed this thx

  • @TzOk
    @TzOk5 ай бұрын

    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.

  • @_WindofChange
    @_WindofChange5 ай бұрын

    i found you after primetime reacted your video.....and now i love your vids more than his lol

  • @cauatavares6174
    @cauatavares61745 ай бұрын

    continue with the good work, your content is awesome

  • @deadcatthinks6725
    @deadcatthinks67254 ай бұрын

    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.

  • @nevokrien95
    @nevokrien955 ай бұрын

    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

    5 ай бұрын

    Yeah. Many fast numerical python packages are actually Fortran under the hood

  • @ramy8338

    @ramy8338

    5 ай бұрын

    Julia runs natively on a GPU

  • @nevokrien95

    @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?

  • @davidgillies620
    @davidgillies6205 ай бұрын

    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.

  • @loopsmaster2192
    @loopsmaster21923 ай бұрын

    Martin would be proud with this editing

  • @johnmckown1267
    @johnmckown12675 ай бұрын

    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.

  • @noturgokuxd
    @noturgokuxd5 ай бұрын

    3:45 donut has a whole in the center got me off guard ☠

  • @len322
    @len3225 ай бұрын

    it's like playing an older version of minecraft and being like oh.. yeah.. can't place stairs upside down yet..

  • @ssmith5048
    @ssmith50485 ай бұрын

    still be best (along w c /c ++) for doing any serious calculations. Fortran rocks!

  • @presi3005
    @presi30055 ай бұрын

    Great video! Nice work, martincinoapnts!

  • @jino139
    @jino1395 ай бұрын

    In my current state it is impossible for me to make that in ANY programming language

  • @oneofakind_tm

    @oneofakind_tm

    5 ай бұрын

    Same

  • @erikkonstas

    @erikkonstas

    5 ай бұрын

    Yeah, it involves physics...

  • @mario123abc
    @mario123abc3 ай бұрын

    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.

  • @tombuster
    @tombuster4 ай бұрын

    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

  • @dylanmeeks54
    @dylanmeeks545 ай бұрын

    Saw you on the primeagen. Love your work

  • @wzup23
    @wzup235 ай бұрын

    Dude I can't even do what you did! You inspired me while having a good laugh! :D

  • @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

  • @ccppeter2617
    @ccppeter26175 ай бұрын

    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

  • @holyordersoftheemperorsinq246
    @holyordersoftheemperorsinq2463 ай бұрын

    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.

  • @Mythilt
    @Mythilt5 ай бұрын

    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.

  • @user-kb9kv7uc1y
    @user-kb9kv7uc1y5 ай бұрын

    Funny, entertaining, informative. Love it!

  • @FidosTeasers
    @FidosTeasers5 ай бұрын

    Instantly a sub, this channel is a gold mine.

  • @Geenimetsuri
    @Geenimetsuri2 ай бұрын

    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.

  • @sybaseguru
    @sybaseguru4 ай бұрын

    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.

  • @markasiala6355
    @markasiala63555 ай бұрын

    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).

  • @richardbennett4365
    @richardbennett43655 ай бұрын

    It even has package management now.

  • @ssmith5048

    @ssmith5048

    5 ай бұрын

    yeah and also oop support - neither necessarily good ideas... modern Fortran rocks , always be wary of bloated bs concepts being introduced...

  • @IbanNieto
    @IbanNieto5 ай бұрын

    Absolutely love this video!

  • @diobrando7642
    @diobrando76425 ай бұрын

    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

  • @luissampaio2104
    @luissampaio21044 ай бұрын

    I began learning Fortran last year, it's been quite pleasant to use it actually.

  • @jarredallen
    @jarredallen4 ай бұрын

    fortran is still in use today in some industrial equipment mainly in power and manufacturing sectors.

  • @seckinseckin3919
    @seckinseckin39195 ай бұрын

    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...

  • @MauroPanigada
    @MauroPanigada4 ай бұрын

    Fortran can handle quite well operations on matrices and vectors; the "direct" translation of the math stuffs into code could exploit those features.

  • @Daniel_Zhu_a6f
    @Daniel_Zhu_a6f5 ай бұрын

    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

    5 ай бұрын

    Both. Algol/Pascal/Matlab influence as well.

  • @Daniel_Zhu_a6f

    @Daniel_Zhu_a6f

    5 ай бұрын

    @@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.

  • @goreldeeno
    @goreldeeno5 ай бұрын

    Martincitopants and Programming??? NOW THAT'S WHAT I'M TALKIN ABOUT 🔥 subbed

  • @harryseldon362
    @harryseldon3623 ай бұрын

    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.

  • @gengisbohx_
    @gengisbohx_5 ай бұрын

    I can see some inspirations on a youtuber called martincitopants. you did an excelant video, it really captivates the brain.

  • @h3li0p4us3
    @h3li0p4us35 ай бұрын

    Good job dude love ur videos

  • @pelegsap
    @pelegsap2 ай бұрын

    The fact that there is a Fortran LSP implentation *and* a treesitter grammer is absolutely amazing to me. Not surprising - just amazing.

  • @moha_kunX
    @moha_kunX3 ай бұрын

    Enjoyed the video, love from Morocco khoya

  • @modolief
    @modolief5 ай бұрын

    omg, best youtube channel in the known multiverse, subbed

  • @fancypesto3647
    @fancypesto36474 ай бұрын

    I am learning Fortran to simulate stellar evolution for my undergrad physics research, the language seems quite surprisingly still alive and well.

  • @dtvjho
    @dtvjho4 ай бұрын

    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.

  • @ronkarper6834
    @ronkarper68345 ай бұрын

    FORTRAN is still used for NASA's Voyager probe, launched in 1977. The ground equipment, at least.

  • @Bijoux_DerWunderCatsen
    @Bijoux_DerWunderCatsen4 ай бұрын

    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.

  • @General-Failure
    @General-Failure5 ай бұрын

    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.

  • @johnopalko5223
    @johnopalko52233 ай бұрын

    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.

  • @lyagva
    @lyagva4 ай бұрын

    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!!!

  • @theMelvinShow
    @theMelvinShow4 ай бұрын

    So this channel is basically martincitopants but for coding. I‘ll take a large sub with extra cheese please

  • @paladinfriend
    @paladinfriend3 ай бұрын

    I don't appreciate that you didn't actually talk about fortran and just your process of learning some other random thing

  • @DocSineBell
    @DocSineBell5 ай бұрын

    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

    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

    @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.

  • @user-not-identified
    @user-not-identified4 ай бұрын

    My grandma used to code in Fortran for a telephone service thing.

  • @pavfrang
    @pavfrang4 ай бұрын

    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

  • @lucasgasparino6141
    @lucasgasparino61414 ай бұрын

    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.

  • @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.

  • @alfredoa334
    @alfredoa3344 ай бұрын

    I just have one thing to say: What a great video!!! Congratulations. Thank you very much.

  • @bobina6879
    @bobina687912 күн бұрын

    My favorite channel now 😭😭

  • @eldyj
    @eldyj5 ай бұрын

    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__

    5 ай бұрын

    yeah but Plankalkül wasn't widely used back then. It still kinda exists for historical reasons.

  • @DefaultFlame
    @DefaultFlame5 ай бұрын

    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.

  • @norbertlabonne7280
    @norbertlabonne72804 ай бұрын

    Very fun video again!

  • @colemoore5003
    @colemoore50033 ай бұрын

    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.

  • @andrewballr
    @andrewballr4 ай бұрын

    I learned how to code with Fortran. It was brilliant for simulating physical processes.

  • @mionome501
    @mionome501Ай бұрын

    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

  • @Goalgurus7
    @Goalgurus74 ай бұрын

    love your videos from morocco bro❤💫

  • @vandarkholme4745
    @vandarkholme47455 ай бұрын

    Fortran is still used daily in physics you know

  • @Templarfreak
    @Templarfreak5 ай бұрын

    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

    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

    @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

    @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

    @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.

Келесі