ALGOL?
Vložit
- čas přidán 16. 05. 2024
- It's the ALGOrithmic Language from 1958... except the version I use here is from 1960... It was the ancestor to most modern programming languages, and it was the first to implement the block statement. In this video, I write a couple programs with it.
VIDEO CHAPTERS:
0:00 Intro Animation (NOW WITH LIP SYNCING!!!)
1:03 What is ALGOL?
3:35 Hello World!
5:09 99 Bottles of Beer
6:35 Factorial
9:07 End
---
LINKS:
ALGOL on Wikipedia: en.wikipedia.org/wiki/ALGOL
ALGOL-60 Compiler: www.angelfire.com/biz/rhamini...
---
MUSIC USED:
"Artisan World" from Spyro the Dragon
"Pushing Onwards" from VVVVVV
"The Last Dungeon" from Wonder Boy - The Dragon's Trap
"Bumpsy Plains - Act 2" from Mario and Luigi: Bowser's Inside Story
Wii Shop Channel Theme - Věda a technologie
1:26 As a German, I think that was actually impressively close lol
Ja wenn man sich anhört was so manch anderer zusammenstammelt war das schon echt gut :)
Still wrong but close.
“And garbage!”
Lol, shots fired. 😂
Still can’t understand why people hate PHP 🤷
@@nickfla1 it's confusing for no reason and annoying
@@Me-da-Ghost it's only confusing if you're not bright lol
@@Me-da-Ghost Have you actually tried modern day php?
@@nickfla1 wdym
“In C for example..”
Proceeds to show C++ code
Nice, it was just as comfortable to write as php
Dug around in the manual.
"This may be done by using the pre-declared procedure
text(device,string)"
Digging further reveals "2.48 ALGOL fixed stream numbers" on line 1509
0 is a dummy device, 1 is basically the DOS equivalent of stdout, 2 I didn't understand, 3 is input... I think?, 4 is the same as 1 but without Ctrl+C, 5 has something to do with punch cards, 6 has to do with external devices, 7 is buffered console input with echo, 8 sets printer column, 9 is dummy (same as dev 0), 10 is directly to memory.
It also says devices 1-7 are system calls, and there are no BIOS calls, but yeah, they're basically streams
Cool. I guess thats why 0 did nothing.
It says that 2 is AUX in MSDOS. From what I can gather, AUX went to the COM port. (The port commonly used for things like mice and modems on early PCs)
@@AWriterWanderingOoh, I can think of some fun uses for that.
It was strange to watch Turttle1 video without those crazy screaming. Strange but pleasing.
I always wonder, why your characters are moving up and down all the time?
I thought it looked really awkward for them to be frozen still all the time
thought so
well true, but there is also variety of more natural moves :)
anyway, thanks for bringing us content about these uncommon languages :D
They're breathing
@@Truttle1 i like them, reminds me of paper mario characters!
i always assumed it was a nod to paper mario
I would **guess** that the `1` in `text(1, ...)` @4:35 means "standard out", while 0 means "standard in", and 2 means "standard error".
Yes exactly what I was going to comment.
@@sourabhchoure498 but then he used read(1) to input from the keyboard.
Those are the "streams" he mentioned in the video. (Though the true answer is what Dylan Turner said)
Manual lists the devices: 0 is null device, 1 is CON:, 2 is AUX:, 3 is LST:, etc. Each device reacts in its own way on input vs. output calls.
Discord: discord.gg/EKPBjjUc65
invalid invite btw
@@sourabhchoure498 should be fixed
@@Truttle1 yup, thanks sir. You are awesome!
Hey truttle I wanted to say congrats on 2k
Also OMG this 1080p 60frames is awesome
It's always been 1080p 60FPS
@@Truttle1 I only now started using it and damn your videos look beautiful
As far as mainframe ALGOL goes, the numbers with the input and output statements are used in the same way as device numbers in FORTRAN, and are defined externally to the program in the JCL's DD statements to associate the name (the number is a name) with a physical device like a tape drive or disk file. Interactive ALGOL had to be implemented differently for small machines and each one was unique; when it was only for batch mainframe processing it was easily portable with no rewriting needed.
7:56
Yes that is real.
Fun fact, 0 factorial is defined as 1 and there is even a generalized "factorial" function for real numbers
boy do i love the gamma function.
best function.
It works on complex numbers too.
1:26 for a non-native that was really good :o
Thx, Mr art critic
@@Truttle1 :D
You're welcome. Glad that the almighty algorithm recommended me your channel
"and garbage" lol!
Wonderful short on the language. So it's the big daddy of block statements! Exactly what I wanted to know (What did it improve, why is it famous).
Thank you!
I clicked one of your videos, and now I can't stop watching them all
1 is used in the procedure section of assembly code, entered right before your string is loaded into the register. That's why the 1 is there
0! = 1, so you can actually have the factorial recursion go down one step further. It would be faster to say if x < 2 then x! = 1, but 1! = 1(0!) is more recursionny!
that german was clooooose
This channel: "...and GarBaGE!!" (PHP)
Me: *Subscribe*
By the music you used I can tell you are of culture
could the 1 be the pipe that the data goes to? 1 being user, 2 being error, 3 being program input? (or something similar, maybe a different order)
OOOH YES THE MUSIC FROM VVVVVV
Keep making awesome videos!
Ok
As someone who's used Pascal, "integer procedure" just feels wrong.
Truttle confirmed for 2021
Oh god why did you use Eversion music I'm getting flashbacks
BEHIND YOU
that german bit was actually really good
the lego is too big to feel any pain...
Someone: "So, what does that do?"
Nobody:
Truttle1: "It does..."
"NOTHIIIIIIIIING!!!"
Wow this channel is really good
BIG Obfuscate smashing code block is gorgeous!
- Bur what is that "1" needed for (before "Hello, world!")
- NO IDEA, but without it it just DOESN'T WORK
Ahhhhhh!!!!!!!!!!!! Love it!!!!!!!!!!!!!!
- it prints one bottles instead of one bottle!
- who cares?...
- I do!
- and I really don't
Same in real world projects)
- did you mean rerusion... )))))))))))
you don't seem to realize how painful stepping on Legos is...
@@0bfuscate any sacrifice is worth OBFUSCATION - you know it better than anyone else.
Oh, it seems like I've commented from the other account) This is CMK)
Obfuscate, what I'm really happy with is your SIZE in this video in comparison to other characters. Now it trully feels like they are PUNY MORTALS. Btw you didn't seem to release new videos on your channel - did you think about creating your own esoteric language to checkmate that truttle ones and forever?
Also if she wants to make a video on YOUR esoteric lang you can ask her to buy copyrights first)
That “Program 0” music is terrifying
Why?
@@Truttle1 remember your eversion video?
@@MiMiBrokenbourgh yeah
Wait, is Algol (the star) just a misspelling of the Arabic al-ghul? That would explain why it's called the demon star, since a gh(o)ul is a type of demon!
Do Assembly please!
I guess argument 1, in I/O means filedirectory, terminal is 1 in assembler
2:07 wouldn't this just compare if two pointers are the same (which would always be false since you're creating a new char* in the if statement lol)
then again there is cout
C++ allows for operator overloading, which std::string takes advantage of to make comparing strings quicker and less verbose. One of the overloads for std::string == takes in a string literal as its right hand, so if we assume 'red' in the code snippet holds a std::string, then "red == "sus"" is just running a string compare behind the operator, and if the strings are equal, the == operator will return 0 or true, making the code valid.
why is my code not working
INTEGER x
FOR x := 0 STEP 1 UNTIL 100 DO
BEGIN
print(x)
END
What about Algol Gene? :-P
What about Prolog?
1:27 not bad! not bad at all!
The 1 in the text function specifies a stream, here is a list of streams:
stdin - /dev/stdin on unix: input from user, number 0
stdout - /dev/stdout on unix: output from program, number 1
stderr - /dev/stderr on unix: error output from program, number 2-3
Reminds me of BASIC.
VVVVVV!
pretty sure the number is a filedescriptor
Narrator: and garbage
Screen: PHP logo
Wordpresss:
I didn't realise Eidex was wearing glasses...
EDIT: In case you're not aware, 0! is defined to equal 1, so the factorial function should really check for equality with 0 instead of 1 :)
Yipee
2:08 bruh
2:10 BRUH
lol
mong
achung us lmao
*STOP POSTING ABOUT AMONG US*
@@B10KPlaysGames you're cringe
1:28 hey i study there
pronounced that university quite alright I would say
2:13 funny. thanks.
Better than Fortran 77 Malt Liquor!
I had to create a compiler for algol 60 in school, horrible story
2:08 GETOUTOFMYHEADGETOUTOFMYHEADGETOUTOFMYHEADGETOUTOFMYHEAD
You forgot Pascal
I'll do a Pascal video eventually
@@Truttle1 No, I think it was meant .. you forgot to mention Pascal as a direct descendant of ALGOL as well as Modula-2.
*2:13** Among us again?*
1:30 you could simply have said "ETHZ" it would have been fine
WAIT YOU KNOW TUX1?
you're that toki pona guy!
Actually, 0! is 1, not 0, despite the fact that 0*0 is 0.
It is that way because
3! = 3 * 2!
2! = 2 * 1!
1! = 1 * 0!
To make this work, 0! = 1.
0! = 0 * -1!
-1! = 0!/0
-1! = 1/0
That is why factorial is undefined for negative integers
2:11 sus
Try V++!
wait, did you refer to php as garbage? i like php :(((
zomg I found an endangered species in the comments
why
man that moment talking about the star was funny 👍👍👍
CARLSVENTURES PLZZZZZZZZZZZZ
LOL
0:51 hey dude, don't dunk on c-tail for being gay. hes living his best life and i support him
Wut???
@@Truttle1 ...my bad, my dude, i had this on while cleaning my room. and i THOUGHT i heard him get called a "fruit" but uh. he is being called a "blueberry" which is a) more specific and b) WAY more funny
sorry feel free to ignore this dumb comment, it was honestly just me being a complete dingus and you don't need to take it to heart at all lol
@@Truttle1 honestly i kinda want to delete this dumb comment now but i figured like i owed you an apology for mishearing something on my part (especially since i was like. several feet away listening on laptop speakers)
RED IS S U S
😂😂
Can you make a video about the first programming languege??
PS: it is called FORTRAN
At one point i could stand in a box full of legos and feel nothing, clearly i was a stupid kid who did not understand how surfaces work. 😂
Wow they really; like; semicolons;;;
lip syncjg