FORTRAN in 100 Seconds

  Переглядів 1,183,733

Fireship

Fireship

Рік тому

Fortran is the world's first high-level procedural programming language developed at IBM in the 1950's. It made programming accessible to the average human and is still used today for scientific computing.
#science #programming #100secondsofcode
🔗 Resources
Fortran Docs fortranwiki.org/fortran/show/...
Fortran History www.ibm.com/ibm/history/ibm10...
Assembly in 100 Seconds • Assembly Language in 1...
C in 100 Seconds • C in 100 Seconds
📚 Chapters
🔥 Get More Content - Upgrade to PRO
Upgrade to Fireship PRO at fireship.io/pro
Use code lORhwXd2 for 25% off your first payment.
🎨 My Editor Settings
- Atom One Dark
- vscode-icons
- Fira Code Font
🔖 Topics Covered
- History of Programming Languages
- When was Fortran invented?
- Who created Fortran
- Is Fortran still used?
- Fortran basics tutorial
- What is Fortran used for?

КОМЕНТАРІ: 1 900
@Alimenteocerebro
@Alimenteocerebro Рік тому
I was not expecting the code to be so clean and simple.
@saulaxel
@saulaxel Рік тому
Fortran 95 is highly different from older standards.
@nonadqs
@nonadqs Рік тому
Hello fellow Brazilian.
@SebastianLopez-nh1rr
@SebastianLopez-nh1rr Рік тому
It’s awesome
@cucen24601
@cucen24601 Рік тому
@@saulaxel Then again, Fortran77 isn't that awful to look at, except for that 72 character limits. edit: 80->72, thanks to Vincent Goudreault
@Maxdrive1993
@Maxdrive1993 Рік тому
I wish RPG II and III look as good
@Kim_Miller
@Kim_Miller Рік тому
I started learning Fortran in 1968, my first year at university studying electrical engineering. Walking around campus with stacks of cards was the top nerdy status symbol - other than drinking. A year later we headed to a lecture and found the TV set up in front showing the moon landing. No lecture that day as we watched the whole broadcast. And then we found out that the moon landing mission was written with Fortran. It put us all among the stars for that moment.
@KameraShy
@KameraShy Рік тому
And you were a Super Nerd if you carried the long box of cards emblazoned with a Big Blue IBM logo. BTDT. 1969. But pity the poor schlub who tripped and spilled the box of cards which he had neglected to sequence.
@rorysparshott4223
@rorysparshott4223 Рік тому
I first started learning Fortran in 2011, my first year at university
@johnfranchina84
@johnfranchina84 Рік тому
Leant FORTRAN for my electrical/electronics engineering degree Down Under back in the 70’s. Used a stack of punch cards and handed them over to be executed. If one card was wrong, the execution was aborted and panic to fix the card, resubmit and hope that it would execute in term for handing in the assignment. Even then it was a cool language.
@ignacewinfield1439
@ignacewinfield1439 Рік тому
I thought it was coded with machine language program hardwired on the memory … I remember one guy told the story of debugging among the printed 1s and 0s
@stevefuller2755
@stevefuller2755 Рік тому
And a big stack of fan folded green bar.
@prince_of_devils
@prince_of_devils Рік тому
Punch cards had an 80 column limit, which is why many programmers still use the same limit in their text editors. The reason why we always use 'i' as the variable in a for loop also comes from Fortran. Because of the 80 character limit, code had to be as small as possible, and since 'i' was the first (implicit) integer available, that was used.
@apuji7555
@apuji7555 Рік тому
Interesting, I thought it was from summation notation in math
@Pesthuf
@Pesthuf Рік тому
I didn't know that, thanks
@stanislavpinchuk1173
@stanislavpinchuk1173 Рік тому
Doesn’t the namesake of i variable come from “iterator” or “index”?
@lawrencedoliveiro9104
@lawrencedoliveiro9104 Рік тому
Statements were not limited to the length of a single line. FORTRAN had continuation capabilities (put any character other than blank or “0” in column 6) since the beginning.
@U20E0
@U20E0 Рік тому
@@apuji7555 that’s where the implicit int came from, probably.
@coachafella
@coachafella Рік тому
First programming language I learned many decades ago. Discovered I had a knack for it, diverted my studies from electronics to software. Was the beginning of a long and prosperous career. Very grateful for that course.
@justinecooper9575
@justinecooper9575 Рік тому
Mostly the same here. After I took a Fortran 4 course I switched from math to computer science.
@gr8dvd
@gr8dvd 8 місяців тому
Took a much more circuitous route to software development, initially coding in Fortran for applications in architecture/urban planning, then computer mapping in urban/environmental planning eventually software development for all kinda clients.
@bluenetmarketing
@bluenetmarketing 8 місяців тому
The same thing happened for me, except I came from chemistry to computers.
@occamraiser
@occamraiser 8 місяців тому
I had 10 years of wonderful career as a SW engineer, till I moved to the management dark-side. (because there were no old software engineers in 1995 I assumed you had to move into management..... I didn't realise that it was just because the whole industry was only 20 years old). Management is not as much fun as being paid to write software.
@BrianKrahmer
@BrianKrahmer 8 місяців тому
my story almost exactly the same as well. really i learned basic first, pascal second, then had to take fortran as one of my first classes at college. at the same time i picked up hacking, learning C, and the rest was history!
@sebastiangudino9377
@sebastiangudino9377 Рік тому
Cool to see Fireship showcasing the hot new technologies. Surely this one will blow up soon
@ancrobot8399
@ancrobot8399 Рік тому
Sub to Ancrobot if u like fireship's edits
@user-wc1sm8cj8s
@user-wc1sm8cj8s Рік тому
LOL
@abubalo
@abubalo Рік тому
I have no doubt.
@alexradu1921
@alexradu1921 Рік тому
well in case of a nuclear winter we will go back to origins, so indeed it will be popular again
@not_herobrine3752
@not_herobrine3752 Рік тому
where the punch cards at
@StephanWahlen
@StephanWahlen Рік тому
My dad was a convinced Fortran user for 30+ years. He did use it to perform FFTs on gigantic complex number matrices and solve huge complex differential equations for his job. They performed cutting-edge radar imagery with a language that was invented 50 years ago! At almost real time! Now he's happily retired and all i learned at uni is matlab and java :(
@gary9821
@gary9821 Рік тому
This is one of the key reasons Fortran is still around, I think. You could build your whole scientific career building on the programming you did at the start. You could keep adding to it, expanding the science and math and libraries from colleagues, add more modern features to the code, etc. You could add parallelism (with OpenMP and OpenACC and coarrays). You could just keep building and building and building applications to support the science. Your code ran fast, and as compilers and hardware improved, even your old code ran faster. There aren't a lot of programming environments where this could stay true for decades, and the careers of those that followed after you.
@davidfraser2946
@davidfraser2946 Рік тому
That was my dad also, but with sonar.
@janisir4529
@janisir4529 Рік тому
That sounds like a use case that would be sped up a lot with gpu acceleration.
@teobalao8252
@teobalao8252 Рік тому
true, you can also use GPU acceleration with fortran. I did this in my thesis in mechanical engineering
@MrEnsiferum77
@MrEnsiferum77 Рік тому
We just living in poisoned IT community, everyone tries to look smarter. I'm sick and tired of how is progressing IT in recent years. We hardly solve hard problems, but we talk about how we need clean code without comments inside, for stupid app of 10K lines of code, maybe less.
@bruceharms5511
@bruceharms5511 Рік тому
Fortran was my first language. One correction, programmers wrote their code out on paper. Data entry operators then typed it onto punch cards. Loved this by-the-way, brought back so many memories.
@soaringvulture
@soaringvulture 9 місяців тому
Well I guess I was both a programmer and a data entry operator. I wrote code on paper and then went down to the basement to type it onto cards.
@stephenlee5929
@stephenlee5929 8 місяців тому
My first code I wrote on paper (not coding sheets) then took cards and marked the numbers/columns to be punched out using a soft (b2) pencil. These cards were then passed through a mark sense punch.
@stevefrandsen7897
@stevefrandsen7897 Місяць тому
And we did desk checking
@seansingh4421
@seansingh4421 Місяць тому
My professor for the numerical methods from ChemE class also had a big fondness for fortran, however he would often say that “It would be against geneva conventions if I make you learn fortran instead of excel/vba/matlab these days”
@joelinpa185
@joelinpa185 Рік тому
I programmed in Fortran 77 back in the early 1980s. It was my favorite language until I got a job programming in C. I still have fond memories of my days with Fortran on a DEC VAX 11/780.
@danielmichalski94
@danielmichalski94 11 місяців тому
I dig out a few days ago from trash bin book called "Numerical Recipes Fortran" published by Cambridge Press from 1989 - it is based on Fortran 77. I'm reading it just 4fun and i'm quite shocked how clean and simple this language is.
@jstrandquist
@jstrandquist Рік тому
As someone who has actually had to use Fortran for physics research, I appreciate this greatly. It's old, weird, and creaky, but at least it has a relatively small keyword list and none of those obnoxious semicolons.
@mememyself4793
@mememyself4793 Рік тому
Wow, can I ask you a question? Do you use it in simulations? Why don't you use C or C++ , is the difference in performance and speed so huge to not use C/C ++.
@quettle
@quettle Рік тому
@@mememyself4793 arrays are a bit more easy to work with in Fortran. And scientific computing is mostly array stuff
@alexscriba6075
@alexscriba6075 Рік тому
@@quettle huh that’s actually quite interesting
@Klayperson
@Klayperson Рік тому
Have you tried Julia tho
@mememyself4793
@mememyself4793 Рік тому
@@quettle thank you for the reply. So it's about easiness, arrays and the absence of semicolons. I got it now, thank you.
@daniel-wood
@daniel-wood Рік тому
Definitely did not expect this one. Gave me flashbacks to my first year scientific computing class, where I had to code everything in Fortran
@srotoswinipaul2341
@srotoswinipaul2341 Рік тому
oh wow which year was it? do they still use that??
@lightningblender
@lightningblender Рік тому
I‘m from Germany btw and we were taught C in my 2nd year.
@srotoswinipaul2341
@srotoswinipaul2341 Рік тому
@Neo JF relatively not a backward country I guess but its great to learn this too!
@dylanh333
@dylanh333 Рік тому
@@lightningblender C, despite its age, is still a very good language to learn, especially in university, because it forces you to get a better understanding of how things like memory management work at a lower level, whereas other languages like Java and Python abstract a lot of that away.
@maxwellbowman4084
@maxwellbowman4084 Рік тому
I took a “computational physics” class where we used Fortran. In 2016.
@billbeverly2864
@billbeverly2864 Рік тому
I am retired from an Aerospace company, and back in the early 80's I was as assigned to JPL (Jet Propulsion Lab) and the ground software was all written in VAX/VMS FORTRAN. I spent 14 years working there mostly in FORTRAN then in Ada (an ungodly language). Other programmers wanted to work in c and c++, but when layoffs hit, they kept us FORTRAN people because no one else wanted to do it.
@occamraiser
@occamraiser 8 місяців тому
I was brought up on 8 and 16 bit Assemblers, PASCAL, BASIC, FORTRAN and PLM (+ the crimes against humanity that are COBOL and LISP), consequently I despise c and c++ they have no practical advantages for competent engineers who know their job and want to write efficient code. Not that I am biased in any way OFC
@donmoore7785
@donmoore7785 7 місяців тому
I worked at GE Aerospace and programmed also in VAX/VMS FORTRAN. One unit I worked in that had more hardcore software programmers working on a project used Ada - but I never had the pleasure.
@thomasfarrell5396
@thomasfarrell5396 5 місяців тому
ADA was sexy but my one true love was FORTRAN since I learned it on engineering course 1977ish,
@FasterPATH
@FasterPATH 2 місяці тому
NICE!!!
@DaveTexas
@DaveTexas Рік тому
Man, this brings back memories. I had an Apple II - after I got tired of my Radio Shack TRS-80. I just did BASIC on those, though, taking my high school’s very early computer science class. I didn’t learn FORTRAN until college. We spent a lot of hours in the engineering computer labs working on our programs. I’d bring my coffeemaker with me and we’d sit at those computers until the middle of the night. The world sure has changed in 40 years. Now, we carry our computers with us everywhere and use them to order coffee...
@pavfrang
@pavfrang Рік тому
It is also a full OOP language. Classes, whole array operations and operator overloading are among the most favorite features of Fortran. [For negative responders: criticizing older versions such as FORTRAN 77, is the equivalent of criticizing pre-ANSI C, which is not quite normal. Do not criticize unless you know what you are talking about: just check the features of the latest version of the language: Fortran 2018. Computer scientists and electrical engineers were never taught (modern) Fortran; Fortran was used mainly by mechanical and aerospace engineers. That's the only reason that you do not know it. Fortran is best for a single thing: fast calculations, nothing more.]
@StefanoBorini
@StefanoBorini Рік тому
true, and in some aspects of its OOP it's actually more flexible than C++
@cucen24601
@cucen24601 Рік тому
Only for later versions of Fortran. Scientific computing still uses Fortran77 a lot. Edit in response to the edit of the original comment: This comment was not a criticism nor a negative response, and I do know about the decent features of Fortran 2003 and forth. I do love them, but in practice I don't get to use them because nobody in my field uses those. The sole reason I had to mention Fortran77 is that it is still being used very widely in some fields, and might give people the wrong impression (who might have to work on F77 someday) that Fortran of any version being used is OOP. Also, comparing Fortran77 (still used widely) to pre-ANSI C (rarely used unless you have ancient computer) is somewhat ridiculous, and your overall attitude in your edit is unnecessarily hostile and assumes a lot about the comments.
@failgun
@failgun Рік тому
@@cucen24601 wow, it wasn't quite that bad, but the chemical physics codebase I used to develop in was nearly all F90/F95 so no OOP to speak of. I'm so glad I got to help rewrite that package in C++ later on...
@cucen24601
@cucen24601 Рік тому
@@failgun Maybe astrophysicists are a bit more conservative (or lazy).
@randomuser5237
@randomuser5237 Рік тому
Fortran was invented at least 30-40 years before OOP was even on anyone's mind. It's complete bullcrap calling it a full OOP language. It's a later add-on and no one who actually use Fortran cares about it or OOP in general. It's like when an 80 year old grandpa tries to wear denims and leather jackets to look cool. It's just embarassing for everyone involved.
@PhilipSmolen
@PhilipSmolen Рік тому
I took a FORTRAN class in college in the 90's. Even back then my professor asked "Why are you here?" He knew FORTRAN from when it was necessary, and he wanted us to use things that were more modern.
@josephcro2138
@josephcro2138 Рік тому
Why are you here? Just to suffer?
@petemoss3160
@petemoss3160 Рік тому
@@josephcro2138 isn't that what we all signed up for on Earth?
@josephcro2138
@josephcro2138 Рік тому
@@petemoss3160 it's a meme reference
@darksecret965
@darksecret965 Рік тому
@@josephcro2138 I think he knows that
@VirtualVolition
@VirtualVolition Рік тому
For whatever reason, the state unemployment system where I live still uses fortran. When the pandemic started this was a problem since it wasn't designed to handle the volume of applicants. What did they do? They begged for retired developers to come work FOR FREE and fix it. Insisting that modern developers would never be able to understand Fortran lmao. Based on this video, I'm pretty sure you could have a modern C programmer figure out fortran in a shortish amount of time. But they knew what they were doing, they got the free labor lol
@0bsy96
@0bsy96 Рік тому
This is the language that I got taught in my second semester of electrical engineering back in 2014, this is how I learned the fundamentals of programming and why it was so easy for me to grasp programming with newer languages now that I'm self learning to switch careers.
@strayling1
@strayling1 Рік тому
Yes, more please. Modern languages owe a lot more to FORTRAN than it's given credit for. A fun one is in the development of those optimising compilers you mentioned, where trying to develop a good FORTRAN compiler led to all sorts of ways to design better languages.
@ropoxdev
@ropoxdev Рік тому
Fireship in 100 seconds next please. (Also the real first)
@ABHAY-hu9kw
@ABHAY-hu9kw Рік тому
Yes please
@ropoxdev
@ropoxdev Рік тому
It’d be fun 🤩
@astroid-ws4py
@astroid-ws4py Рік тому
Many of python's most popular machine learning/artificial intelligence/scientfic computing libraries rely on Fortran code, Also the current standard is actually Fortran 2018, And there are two great compilers currently in the works, the official LLVM one named Flang, And another one named LFortran which aims to execute Fortran code interactively as well as being able to compile it.
@amineawadabed
@amineawadabed Рік тому
Also gfortran
@monochr0m
@monochr0m Рік тому
What scientific computing library relies on Fortran?
@MarkEichin
@MarkEichin Рік тому
@@monochr0m Among others, "the time-critical loops [in SciPY] are usually implemented in C, C++, or Fortran"
@astroid-ws4py
@astroid-ws4py Рік тому
@@monochr0m numpy used to contain fortran code.
@Migoyan
@Migoyan Рік тому
@@monochr0m cause Fortran is fast for numerical operations. It used to be even faster on array operation than C before C added restrict keyword that disable aliasing. The reason why it's so fast is because when it was invented when many scientist believed that compilers produced slower code than manually written assembly code. So the compiler had to produce very optimized code in order to prove itself.
@javimm77
@javimm77 Рік тому
I worked as a professional Fortran programmer from 2015 to early 2019 and I really loved the language. We used the Fortran 90/95 standard and the code was quite modularized and clear. We also used some 2003 features. The original code was from the mid 90's, but we were allowed to use modern features. The code was very easy to follow, not like people would think a Fortran program looks like. I've seen ancient F77 code that is a pain to read, but I've also seen C and C++ code that was way uglier than a well designed F90 program. I work as a strictly C++ developer now, and I've seen some ugly C++ code. I guess it's just a matter of who is the developer more than the language used. Fortran 2003 is a very nice language to use, but as its origin is so old and it's used for high speed computations so it's very different to modern languages. I really enjoyed working with Fortran, and besides that, it was the first programming language I learned at university.
@wach9191
@wach9191 Рік тому
What exactly Fortran is used for in this age?
@vincentgoudreault9662
@vincentgoudreault9662 Рік тому
@@wach9191 Atmospheric simulation models, computational fluid dynamics, mechanical stress finite difference package, aircraft performance models. Things that work, need to compute fast, and should not be messed with. If you do not know where it is used, that probably means that you are not among those who know how to use it.
@WielkiKaleson
@WielkiKaleson Рік тому
A lot of fortran code is ancient. And follows ancient rules / programming style / prejudice (like: subroutines are slow, goto is fast).
@andresmartinezramos7513
@andresmartinezramos7513 Рік тому
@@wach9191 I've used it mostly for computational fluid dynamics, finite element method and weird math involving very large matrices but with simple computations.
@bsvenss2
@bsvenss2 Рік тому
I programmed Fortran on VAX/VMS many years ago and we did verify the assembly code generated (Aircraft Industry). Sometimes we coded directly in assembler. We did some tests and came to the conclusion that you only gained about 6% - 10% performance by coding assembly code directly vs in Fortran. It was so optimized.
@allenjenkins7947
@allenjenkins7947 Рік тому
Nevertheless, one of my work colleagues decided that the VMS Fortran compiler was not efficient enough, do he spent two years writing his own. Meanwhile, the rest of us had finished the project that he was supposed to be working with us on.😂
@jameslarosa2396
@jameslarosa2396 Рік тому
@@allenjenkins7947 Oh yeah, I also worked with those sort of guys.
@holger_p
@holger_p 11 місяців тому
No, it's more the reverse. You could not do much more than in assembler. As less complexity you can handle, as less need or possibility is there to optimize anything. A foreach-loop you can optimize (to a for loop) , a for loop you cannot.
@mr.norris3840
@mr.norris3840 Рік тому
I think this would be a great point to introduce OpenMP (and later on MPI). OpenMP works great with both C and FORTRAN
@thalescarl1589
@thalescarl1589 Рік тому
Great suggestion
@redpillsatori3020
@redpillsatori3020 Рік тому
I would love not only to see a full tutorial, but some examples of modern use cases and projects would be nice as well.
@philipwakeling2777
@philipwakeling2777 Рік тому
I started engineering school in 1972. FORTRAN IV was my first exposure to high level programming. It ran on the university’s DEC PDP10. It’s still a pretty friendly language.
@gr8dvd
@gr8dvd 8 місяців тому
Architecture 1971, Fortran 4 too. Felt really proud/smart learning it as a non-CS student ‘til this video… ONLY 100s to cover all aspects of the language. 😀
@justafnaffan2.016
@justafnaffan2.016 Рік тому
I literally searched this up back when I first found your channel and series; this is exactly what I was waiting for
@oliverlyon8461
@oliverlyon8461 Рік тому
I would personally love to see more Fortran. Fortran was the second language I ever used after learning C.
@Greebstreebling
@Greebstreebling Рік тому
This is a very good overview of Fortran. I was one of those average humans. I worked at AERE Harwell in the early 70's and saw the transition from punched cards, paper tape and teletypes to Visual Display Units (VDU). With punched cards the program turnaround time from punching the cards to getting your results returned was three days. So I was explaining to my son that you couldn't really build a spreadsheet app in the days of punched cards. Imagine - change the contents of cell C3 and wait for a few days to get the results :) On the other hand, calculating the Swarzchild radius of a black hole was a cinch.
@MathaGoram
@MathaGoram Рік тому
... and our team contributed sparse matrix routines to the Harwell library during that period.
@VitorMartinsAugusto
@VitorMartinsAugusto Рік тому
Great video! Incredible how Fortran is presented in 100 seconds. Need to look for more of these videos.
@jbsheds
@jbsheds Рік тому
Great video, as always, loving these short history lessons
@spaceshuttle8332
@spaceshuttle8332 Рік тому
YES please. A full tutorial would be awesome, especially for those of us in engineering
@DaivG
@DaivG Рік тому
My first programming language. Interesting to see it being explained here after not seeing or using it in so long.
@NealB123
@NealB123 Рік тому
Good memories. I never used it in the real world but I took a couple of Fortran classes in college and really enjoyed them. The computer lab was open 24x7 and I usually went around midnight when it was mostly empty to do my programming. The good ol' days.
@csil2863
@csil2863 Рік тому
I learned more about FORTRAN in 100 seconds than I learned in a semester from an engineering professor. I subsequently learned C from a computer science class and programming made sense thereafter.
@myhumblebeginnings
@myhumblebeginnings Рік тому
One card represents 1 line of code. WOW. Programmers back then must be so sharp in thinking and seeing. They cant afford mistakes after punching 100 cards.
@joost00719
@joost00719 Рік тому
Imagine reformatting the code from tabs to spaces
@aaronclair4489
@aaronclair4489 Рік тому
I suppose you would first write out your entire program in a lab notebook that belonged to the company back in those days. Probably got a senior colleague to review it before punching the cards.
@maxdemian6312
@maxdemian6312 Рік тому
I think Donald Knuth once said something about this
@ericbwertz
@ericbwertz Рік тому
no need for gym memberships when you had punchcards
@Banom7a
@Banom7a Рік тому
they made a tape to patch up the hole that they wrongly punch, hence the word "patch" to fix the software
@SammYLightfooD
@SammYLightfooD Рік тому
This series is so great, please continue it. And maybe you want to create a video playlist "... in 100 seconds", cheers.
@ForgottenMachines
@ForgottenMachines Рік тому
Yes! I would like to see a full tutorial, thank you for this! The best 100 seconds I've spent all year, perhaps!
@chrisalexthomas
@chrisalexthomas Рік тому
I do like these little videos on obscure languages. Keep up the good work mate!
@alfonsoortizavila4373
@alfonsoortizavila4373 Рік тому
Thanks man! I'm currently learning Fortran and I appreciate all the help!!
@jurrifire1450
@jurrifire1450 8 місяців тому
i also want to learn Fortran whould you please tell me either it is easy to learn or not?
@lucasgasparino6141
@lucasgasparino6141 Рік тому
Was waiting for this one, thanks!!! Out of curiosity, the latest Fortran standard is 2018, which introduced a lot of OOP related stuff, so grandpa can still pack a mighty punch! It's also pretty good at gpu computing, interfacing well with CUDA and openacc, so i recommend giving it a try if you're trying to code a fast numerical kernel :)
@robertholtz
@robertholtz Рік тому
The loop gag is brilliant. Bravo. 👏
@paca_bill4863
@paca_bill4863 Рік тому
Wow, does this bring back memories. We had Fortran training in high school in the mid-70's, thanks to equipment donations and computer time donated by a major chemical manufacturer in our town. We had keypunch machines installed in the classroom, the card batches would be sent over to the manufacturer's computer center at night, and we would have the runs of our programs back in the morning.
@fionnbracken
@fionnbracken Рік тому
Had to use it for a scientific computing module before. It may be old but it has a solid foundation, and has nice features for working with arrays, which is what makes it great for linear algebra. It's quite simple too with not a lot of keywords. Overall I liked it, but don't have much use for it outside of that niche.
@Lucretia9000
@Lucretia9000 Рік тому
As a non user, what are those array features?
@fionnbracken
@fionnbracken Рік тому
@@Lucretia9000 it has whole array arithmetic, so if you wanted to multiply two 2D arrays element-wise, instead of having do i=1,n do j=1,n a(i, j) = b(i, j) * c(i, j) end do end do You can write a = b * c This means in a lot of cases, the code you write looks like the math you want to implement, hence the name formula translator.
@eventhisidistaken
@eventhisidistaken Рік тому
@@fionnbracken IMHO, this is not a good reason to choose FORTRAN over c++, where you can do the exact same thing syntactically with operator overloading, and for which off the shelf libraries already exist that do this.
@fionnbracken
@fionnbracken Рік тому
@@eventhisidistaken sure, but that's just adding complexity, with fortran it's built right into the language, no effort required. In general, c++ is a lot more complex, which means it can useful for more things. But for linear algebra, fortran's simplicity is a nice feature.
@eventhisidistaken
@eventhisidistaken Рік тому
@@fionnbracken If you're multiplying matrices, you are probably also in need of a full up linear algebra package. At that point a library is a library whether in c or fortran. c++ is only more complex, if you're a fortran programmer who never learned it. FORTRAN was complex when you first learned it too.
@MiguelRamosLIve
@MiguelRamosLIve Рік тому
Ahhh! Such memories. My dad was the Head of the Computer Department of a major governmental body in the 1960's. He taught me binary numbers when I was 6 and how to program in Fortran when I was 10.
@MrWaalkman
@MrWaalkman Рік тому
It was my first language. :)
@aranthos
@aranthos Рік тому
Dude this series is insane … amazing, really Amazing work
@SavageDarknessGames
@SavageDarknessGames 11 місяців тому
Love these short explainers. Not enough information to get good at the language, but enough to destigmatize people who are scared of "more difficult" development.
@BrunoJuliao7
@BrunoJuliao7 Рік тому
Yes, please! Full tutorial would be awesome! 😇
@latt.qcd9221
@latt.qcd9221 Рік тому
If you wanted to obtain a result from a subroutine, you need to specify the "intent" of the variable you declare. So, for instance, if you wanted to pass two integers and return their sum, you could have something like, subroutine addition(sum, a, b) implicit none integer, intent(in) :: a, b integer, intent(out) :: sum sum = a + b end subroutine Then, if you can call that subroutine in your program as, program myMath implicit none integer :: sum call addition(sum,1,2) end program myMath and it will set the variable "sum" equal to 3.
@unstable8968
@unstable8968 Рік тому
That reminds me of pl/sql, where procedures have IN, OUT and IN OUT parameters, which work the same way you explained (in addition to IN OUT).
@lawrencedoliveiro9104
@lawrencedoliveiro9104 Рік тому
Why do you need the word “call”? Why not just have that line as addition(sum, 1, 2) as in other languages? Because there are no reserved words in FORTRAN!
@ruther4336
@ruther4336 Рік тому
You don't need to specify the intent of the variable, the variable will be modified anyways
@JamesThunes
@JamesThunes Рік тому
@@ruther4336 to add a bit more information, you don't need to add intent to your variables, but if you *do*, the compiler can perform a bit of checking to ensure that you're not using the variable in an unexpected way. It'll complain if you define a variable as intent(in) but modify it in the subroutine.
@randomuser5237
@randomuser5237 Рік тому
latt.qcd92 He said that the subroutine does not "return" a value (instead modifies the passed argument) which is correct. He's aware of the intent attribute as in his example the parameter had intent (inout) meaning it already has a value and can be modified. IMO the addition is a bad example for using subroutines as a pure function is much better suited for this purpose.
@JonBeeee
@JonBeeee Рік тому
I love these in 100 seconds videos thank you for your work
@JohnSmith-of2gu
@JohnSmith-of2gu Рік тому
Whole video is a clean and simple introduction, nice work!
@sudhanshumemane
@sudhanshumemane Рік тому
I definitely love to see a full Fortran tutorial, please make it happen Jeff 👐🏻
@mentasuavesuave01
@mentasuavesuave01 Рік тому
Please don't is dead
@8koi139
@8koi139 Рік тому
lmao same
@latt.qcd9221
@latt.qcd9221 Рік тому
@@mentasuavesuave01 Not in science, it isn't.
@mentasuavesuave01
@mentasuavesuave01 Рік тому
@@latt.qcd9221 Matlab or R.
@Migoyan
@Migoyan Рік тому
@@mentasuavesuave01 Fortran is far from dead
@lewismassie
@lewismassie Рік тому
I learnt Fortran 77 at uni a few years back. My dad, who studied comp sci in the 80s, also learned Fortran 77. When asked why we still use it, the lecturer said it compiles extremely efficiently compared to other languages. I actually rather liked it as a language, though I was unable to get a compiler working on my own machine once the course was over and have since not used it for some years. (though I do believe I still have the code I wrote)
@lawrencedoliveiro9104
@lawrencedoliveiro9104 Рік тому
I learned it from a book called “The Compleat Cybernaut”. The bio said the author was working in some city (might have been Liverpool) as a blacksmith. She must have led an interesting life ... I devoured that book over a weekend. But in those days, I had no access to an actual computer -- not for another three years.
@vincentgoudreault9662
@vincentgoudreault9662 Рік тому
Get yourself GCC. The GFortran compiler is pretty good.
@lewismassie
@lewismassie Рік тому
@@vincentgoudreault9662 I have actually gotten it installed since I made the original comment. Have yet to figure out exactly what to do with it yet
@vincentgoudreault9662
@vincentgoudreault9662 Рік тому
@@lewismassie Writing and compiling programs, perhaps?
@STEVEBURTON99
@STEVEBURTON99 Рік тому
YES, thank you, I would love to see a full tutorial. I'm not sure it's worth your time to create it, but I would definitely watch it if you did. Thanks for the summaring work that you're doing.
@islandmonusvi
@islandmonusvi Рік тому
Thx for this trip down memory lane…wrote my first program for IBM360@UCSC in ‘74. It was for hyperbolic functions describing Laminar Shear trajectories on a Lifting Body
@gusslx
@gusslx Рік тому
Wow they're really creating JS frameworks like crazy but this one seems promising! Full tutorial please
@eliassaf9192
@eliassaf9192 Рік тому
Modern Fortran is by far the best choice for number crunching. We use it all the time because it is light weight, simple, clean, and sometimes even faster than C (especially if you know how to code efficiently, and how arrays are handled in Fortran). Not to mention that Coarray Fortran allows us to program to run scripts in parallel.
@davidwuhrer6704
@davidwuhrer6704 Рік тому
I was hoping someone would mention the parallelism in Fortran. It's a relatively recent addition, but one many other - even more "modern" - languages lack. And most languages that do have it make it awkward to use. (I always liked how easy and natural parallel processing is in bash.) The video didn't mention it, maybe because most existing Fortran codebases don't support it, but I think it should have been mentioned anyway.
@felenov
@felenov Рік тому
Currently working with someone on a project that uses Fortran. Some really interesting functionality this thing has.
@OldDogNewTrick
@OldDogNewTrick Рік тому
Fortran was my second computer language. The first was Easycoder for the Honeywell H200 mainframe. I started working for Honeywell back in '65 as a field engineer. I taught myself Fortran out of curiousity. Wondered how a computer without floating point number capability could do floating point arithmetic. Wrote a mortgage amortization program to test out the idea. It worked and has served me well over the years.
@MathaGoram
@MathaGoram Рік тому
Yeah, duplicated Weizenbaum's Eliza on several machines. That is why the whole ChatGPT banter (by casual users) brings a smile to my face about Weizenbaum's admonishment.
@nickfinch8182
@nickfinch8182 Рік тому
Great video! I’m working with a group of researchers modeling heat transfer and fluid flow. All of our codes are FORTRAN codes, so it was nice to see this one come up. It’s not the most modern or practical language by any means, but man is it computationally powerful.
@abdjahdoiahdoai
@abdjahdoiahdoai Рік тому
Is there any reasons other than legacy reason to use Fortran code? Why not like C++ or Julia
@igorthelight
@igorthelight Рік тому
@@abdjahdoiahdoai Plain "C" would be a smarter idea ;-) * Julia needs a VM - RAM and CPU cycles wasted on a weak hardware. * C++ has OOP - potential RAM and CPU cycles wasted on a weak hardware.
@JamesThunes
@JamesThunes Рік тому
@@abdjahdoiahdoai two more reasons to use Fortran: it's *very* easy to work with multidimensional arrays, and if you're using Fortran you probably have a legacy application with 30, 40, or even 50 years of development behind it. Writing that from scratch in a more modern language is not feasible (and with recent Fortran versions, not really needed).
@lawrencedoliveiro9104
@lawrencedoliveiro9104 Рік тому
Python has the NumPy engine for operating efficiently on large multidimensional arrays, including sparse ones. With custom operator overloads, you can express complex manipulations in a single line of code.
@nickfinch8182
@nickfinch8182 Рік тому
@@JamesThunes basically this. This code has been developed over the last 30 years and has had extensive verification with experimental results from not only the literature, but also production manufacturing use. Since this is a coupled heat transfer and fluid flow code, multidimensional arrays are the norm, rather than the exception.
@UliTroyo
@UliTroyo Рік тому
You know what Jeff, you got me. I *do* want to watch a full tutorial about Fortran.
@hartzogLovesScience
@hartzogLovesScience Рік тому
You did a good job describing Fortran.
@allenjenkins7947
@allenjenkins7947 Рік тому
Although I was formally taught Algol and Basic, most of the programming that I did during my working life in scientific research and development was in Fortran. Very easy to pick up if you already know one high-level language. I adapted to Pascal fairly easily because of its similarity to Algol. By the time C and C++ came along, I had moved on to system management, so I never got to do any serious programming in C.
@bobtnailer
@bobtnailer Рік тому
Back in the dark ages, I learned Fortran before learning Pascal. I was a big-time geek, so I loved coding with both of them!
@sanderdejong66
@sanderdejong66 Рік тому
I started my career as a professional programmer with Fortran 77. At Uni I had done most of my programming in (Turbo)Pascal, switching to Fortran 77 was a big step backwards. I have never learned to love it.
@jimdevilbiss9125
@jimdevilbiss9125 8 місяців тому
I learned and used Fortran on cards in the mid 1960s in electronic engineering classes. Wow it really made work much easier. Straight forward.
@MrDaskon
@MrDaskon Рік тому
Full tutorial? Yes please! Never really had a chance to do even a little fortran.
@foxmccloud8960
@foxmccloud8960 Рік тому
Also a full tutorial would be awesome!
@hrivera4201
@hrivera4201 Рік тому
wwwcdf.pd.infn.it/localdoc/f77_sun.pdf Sun Microsystem FORTRAN 77 Reference manual.
@JohnTurner313
@JohnTurner313 Рік тому
My #2 after COBOL. I learned both on punch cards. Love this! Thanks for the memories!
@mikesmith6838
@mikesmith6838 Рік тому
Ah yes! Probably a similar trajectory that I had: Basic -> Pascal -> COBOL -> IEF -> Visual Basic -> Delphi -> REXX -> C++ -> Python. So many similar structures. You might be interested in knowing that Delphi could have easily been named "Visual Pascal," because that was the language used in it!
@cyberherbalist
@cyberherbalist 11 місяців тому
WOW! Cool! Gosh this takes me back. Fortran was my first programming language back in 1971, in high school. And I definitely remember the punch tape we created on the punch-tape machine so it could be taken to the local university to be run on their mainframes! My last programming language before I retired was C#. In between was BASIC, COBOL, IBM Assembly, JCL, Pascal, Modula-2, T-SQL, and Visual Basic. Those were the days, my friend.
@Wandering_Horse
@Wandering_Horse Рік тому
How interesting, I have just recently taken an interest in Fortan and installed the compiler on my linux box and wrote my first hello world program. Would love to see a longer length tutorial video. Very cool. 👍🏼
@Carltoffel
@Carltoffel Рік тому
Hi, nice to hear you want to try Fortran. If you require any further assistance, come over to our fortran-lang discourse group. :)
@The_Oldguy
@The_Oldguy Рік тому
Fortran was the "Spreadsheet" of the 60's, 70's and into the 80's. Lotus 123 wasn't out yet nor was Excel. In the beginning Fortran was limited to only 76 Characters (the last 4 positions on the Punch Card was for the sequence number, to sort the deck if you dropped it). Between Fortan, BAL and COBOL there was much that couldn't be done in Data Processing in the "Old Days". Fortan is how we got a man on the moon.
@keithmclean4283
@keithmclean4283 8 місяців тому
Loved FORTRAN and loathed COBOL.
@The_Oldguy
@The_Oldguy 7 місяців тому
Me too! FORTRAN IV all the way!@@keithmclean4283
@bobsemrau5311
@bobsemrau5311 7 місяців тому
When I learned Fortran 66 in college in the 70s columns 1-5 were for line numbers (labels), column 6 if non-blank meant this card was a continuation of the last card, code was in columns 7 - 72, and columns 73 through 80 were an optional sequence counter for the card sorter. Also, a "C" in column 1 meant that the card was a comment card.
@The_Oldguy
@The_Oldguy 7 місяців тому
Don't forget RPG, PLI, GCOS and also IBM JCL, Burroughs MCP, GE OCS control languages. 🤩
@keithmclean4283
@keithmclean4283 7 місяців тому
@@The_Oldguy Yep...... had a crack at PL1, ALGOL and even LISP at University. But somehow Fortran just seems cleaner. That might just be because I made a good living out of it for 12 years.
@genericyoutubechannel2601
@genericyoutubechannel2601 Рік тому
I would pay for a FORTRAN tutorial, and I'm pretty committed to learning as much as I can WITHOUT spending money. This is really interesting.
@antoniocampen
@antoniocampen Рік тому
i learned fortran this year in university (upm madrid), its still used sometimes in aerospace engineering
@arthurwatts1680
@arthurwatts1680 Рік тому
Cool. Even when I had no particular interest in a language beyond what I needed for uni or work, it was interesting to discover new things. REXX was the first interpreted language I discovered and that led me to Perl - the rest is a fairly well trodden path. Thanks for the vid
@potsto804
@potsto804 Рік тому
Great video! Could you do APL in 100 seconds, it's quite an overlooked programming language but very interesting
@not_herobrine3752
@not_herobrine3752 Рік тому
(he needs to buy the keyboard first)
@ericbwertz
@ericbwertz Рік тому
@@not_herobrine3752 No need for a display since it's a write-only language
@lawrencedoliveiro9104
@lawrencedoliveiro9104 Рік тому
Dijkstra called APL “the language of tomorrow to solve the problems of yesterday”.
@U20E0
@U20E0 Рік тому
computer runes
@LowestofheDead
@LowestofheDead Рік тому
Most algorithms implemented in APL could fit in a tweet
@stickoutofthemud
@stickoutofthemud Рік тому
My father said he was programming in Fortran for 15 years before he truly understood it, and for 25 before he truly saw the beauty of it. You can thank him for the fact that your electric clocks all run on time.
@baneblackguard584
@baneblackguard584 Рік тому
so it's HIS fault !!!
@stickoutofthemud
@stickoutofthemud Рік тому
@@baneblackguard584 Prolly 🤣
@jslonisch
@jslonisch Рік тому
I was lucky enough to be of the generation that got taught Fortran in high school applied math class. What a great introduction to general computing that was for someone that went on to be an engineer not a programmer.
@666peacelove3
@666peacelove3 Рік тому
Thank you much for this clean concise content
@MauriceL2006
@MauriceL2006 Рік тому
It is so nice finally the language I am using daily got covered! 😇 I always wonder if it has become a legacy...
@theshermantanker7043
@theshermantanker7043 Рік тому
Ah Fortran, the only language that was ever capable of butting heads with C
@mastershooter64
@mastershooter64 Рік тому
half the time it's even faster than C!
@theshermantanker7043
@theshermantanker7043 Рік тому
​@@mastershooter64 Indeed
@nightowl1on1
@nightowl1on1 Рік тому
man that brought back memory's of fortran77 in the old days thanks for sharing :)
@SilntObsvr
@SilntObsvr Рік тому
Wow. I typed a few thousand lines of my own FORTRAN 77 and WATFIV code on IBM 029 keypunches (and, for a very short time, with a line editor from a terminal) starting in 1978. This video did a remarkable job of covering the language, including features that didn't exist in FORTRAN IV, FORTRAN 77, or WATFIV. And yes, my jobs were submitted to a mainframe that filled a raised-floor, Halon extinguisher protected, heavily cooled room and included two or three 60 MB hard disk drives each the size of a top-loading washing machine, as well as nine-track tape drives straight out of 1960s science fiction movies. Ironically, I could have watched this video on a belt-clip portable computing device with thousands of times the data storage and computing capability of that (even then) outmoded IBM 370 (though instead of my Pixel 7, I watched it on my home-built, Linux operated desktop computer). I think it got lost/tossed in my last move, but I used to have a pin-feed paper print of the FORTRAN source code for the original Colossal Cave Adventure game, the grandfather of Zork! and all those other text command adventures that were so big before computer graphics got good enough and fast enough to play in video.
@quint9
@quint9 Рік тому
Would love to see a full tutorial!
@Olderthanyoda420
@Olderthanyoda420 Рік тому
This video brings memories of sheer pain and joy at the same time. I started programming with Fortran95 in 2014, it was a necessary module for my Theoretical Physics degree. This was the hardest part of that whole degree, it almost made me cry on daily basis. Errors made very little sense, language was old, any material worth reading was pre-1990s, and asking for help online was almost pointless. It almost made me quit physics and programming. Almost 8 years later now, and I work as a software developer. Fortran 95 made me learn the fundamentals of programming in such a difficult way, that no coding related task has ever felt difficult since. I am almost grateful to this language.
@lordmikethegreat
@lordmikethegreat Рік тому
Yes, I would like to see a full tutorial. Thanks for asking!
@deantiquisetnovis
@deantiquisetnovis 4 місяці тому
Brings back memories! Back in the 80s I got a Sharp MZ80k which had loadable operating systems on cassette tapes. I had tapes for BASIC, FORTH and FORTRAN. It was so cool to learn those different languages. And I became a developer after finishing high school.
@marlboro9tibike
@marlboro9tibike Рік тому
It can do loops, you just need to feed it with a punchcard over and over and over Dave.
@richdobbs6595
@richdobbs6595 Рік тому
Believe it or not, I was programming in Fortran in 2014! By then, it was a decent object oriented language.
@pascalcoole2725
@pascalcoole2725 Рік тому
Thanks. It is real long time ago i did FORTRAN still learned something new about it.
@paulschneider4480
@paulschneider4480 8 місяців тому
My first programming job was for an operational system written in FORTRAN on an HA pair of PDP-11/44 running RSX-11M. The year was 1993. You can run into very old systems sometimes.
@zakariasahmane1132
@zakariasahmane1132 Рік тому
It's funny how Fireship just made Fortran interesting for me, while my university teacher litterally made me sleep and made it look too difficult.
@igorthelight
@igorthelight Рік тому
A talented teacher vs "I will have my salary tomorrow..." one ;-)
@sandipanhazra5510
@sandipanhazra5510 Рік тому
Which university are you in?
@science_trip
@science_trip Рік тому
teachers are paid even if you are watching them even if you are not watching them. UKpostsrs and instructors of online platforms needs to make things interesting to make you watch the next video or course
@igorthelight
@igorthelight Рік тому
@@science_trip True! That's why I like UKposts much more than just some offline courses ;-)
@physicalnerd2739
@physicalnerd2739 Рік тому
I would love to see a 100 seconds video to Open Source licenses!
@bluenetmarketing
@bluenetmarketing 8 місяців тому
I programmed in Fortran in 1971. It is a beautiful and useful language.
@za.hydrohydro8794
@za.hydrohydro8794 Рік тому
I appreciate it. A lot of people seem to forget that fortran ist still actively used and developed. I was teached to program in Fortran just a few years ago since it's still the most efficient language for math heavy programs. Fortran is a bit clunky, but I appreciate the neat code.
@kickthesky
@kickthesky Рік тому
My mom got her start in the computer industry in the 1970s as a keypunch operator punching in Fortran code. She learned enough from punching the cards in to actually write code herself and after a few years she learned COBOL and became even more valuable. I followed in her footsteps and worked as a programmer for well over 20 years.
@universecode1101
@universecode1101 Рік тому
APPLE II 4 KB RAM History❤ WOW Thanks Jeff
@TranscendentBen
@TranscendentBen Рік тому
That's what the very first models came with, but that was quickly changed to 16K. By the time of the FORTRAN compiler (which had the same requirements and ran under the UCSD Pascal system), you needed a "full" 64K to compile it.
@stanyurynets6258
@stanyurynets6258 Рік тому
My dad told me he used Fortran for his dissertation thesis. I remember messing with punch cards when I was like 7 years old (i'm 42 now... you do the math) and it was the most awesome thing ever! Thank you for a nice and clean overview of this tech! It was hot stuff back then!
@youcefmoulla1828
@youcefmoulla1828 Рік тому
Finally, my first programming language
@rickwightman2366
@rickwightman2366 Рік тому
Fortran was/IS an awesome language . Nothing complicated, and very effective for procedural programming. Rumour is that PrimeOS (the OS for Prime computers) was written in Fortran.
@thecompanioncube4211
@thecompanioncube4211 Рік тому
What's a Prime computer?
@rickwightman2366
@rickwightman2366 Рік тому
@@thecompanioncube4211 Here's a history: en.wikipedia.org/wiki/Prime_Computer
@rickwightman2366
@rickwightman2366 Рік тому
@@thecompanioncube4211 Here's a good synopsis: en.wikipedia.org/wiki/Prime_Computer
@GH-oi2jf
@GH-oi2jf Рік тому
I think it was Pr1me Computer.
@francishunt562
@francishunt562 6 місяців тому
My university had a Prime mainframe back in the early 1980's. Compiling a long COBOL program took so long, you could go and get a coffee and it would still be working on it when you got back.
@leoMC4384
@leoMC4384 Рік тому
I had a high school friend who is an engineer now. He works for this company and I remember he told me that they started back on the 80s and the entire core of their system still runs or Fortran. It's like COBOL, old but still reliable.
@colofthedead6101
@colofthedead6101 Рік тому
Brings back some memories. My first job out of university in 1992 was to maintain an old Fortran program that produced printed cartographic maps (similar to Google Maps). As part of the first major enhancement, I rewrote it in C++. I'd tutored Fortran to engineering students at Uni and didn't want to touch it again...
@silkworm6861
@silkworm6861 Рік тому
I work a lot with a Fortran 77 code. It's absolutely a mess of a program, almost impossible to debug with GO TO statements all over the place. But I highly respect the people who made science work before out modern software tools were invented.
@cucen24601
@cucen24601 Рік тому
GOTO statements and 6 empty spaces (or line numbers) are painful, but Fortran 77 has some sort of beauty in it. Looking at a single .for file containing 10K lines to be compiled with a single fort77 command will convince you that they should be preserved as UNESCO Memory of the World.
@meson2439
@meson2439 Рік тому
@@cucen24601 I often found fixed format fortran code to be incredibly convenient, especially if you are using vim. In other modern IDE's however, this is horrifying.
Cassandra in 100 Seconds
2:26
Fireship
Переглядів 873 тис.
Punch Card Programming - Computerphile
14:55
Computerphile
Переглядів 867 тис.
ISSEI funny story😂😂😂Strange World | Magic Lips💋
00:36
ISSEI / いっせい
Переглядів 87 млн
😨Новая Война в GTA 5 Online #shorts
00:40
King Dm
Переглядів 1,7 млн
Best OS for programming? Mac vs Windows vs Linux debate settled
8:41
God-Tier Developer Roadmap
16:42
Fireship
Переглядів 6 млн
Haskell in 100 Seconds
2:30
Fireship
Переглядів 817 тис.
10 regrets of experienced programmers
8:16
Fireship
Переглядів 741 тис.
Dear Game Developers, Stop Messing This Up!
22:19
Jonas Tyroller
Переглядів 668 тис.
100+ Computer Science Concepts Explained
13:08
Fireship
Переглядів 2,3 млн
The IBM 1401 compiles and runs FORTRAN II
23:41
CuriousMarc
Переглядів 1,2 млн
1964 IBM 029 Keypunch Card Punching Demonstration
6:01
CuriousMarc
Переглядів 330 тис.
Computers Can Predict When You're Going to Die… Here's How
13:33
how Google writes gorgeous C++
7:40
Low Level Learning
Переглядів 724 тис.
САМЫЙ дешевый ПК с OZON на RTX 4070
16:16
Мой Компьютер
Переглядів 100 тис.
iPhone - телефон для нищебродов?!
0:53
ÉЖИ АКСЁНОВ
Переглядів 3,8 млн
M4 iPad Pro Impressions: Well This is Awkward
12:51
Marques Brownlee
Переглядів 5 млн
Broken Flex Repair #technology #mobilerepair
0:50
ideal institute aligarh
Переглядів 1,7 млн
Why spend $10.000 on a flashlight when these are $200🗿
0:12
NIGHTOPERATOR
Переглядів 17 млн