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
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)
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.
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!
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!
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 :)
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... )))))))))))
@@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)
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!
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.
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
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
@@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)
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
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.
“In C for example..”
Proceeds to show C++ code
Nice, it was just as comfortable to write as php
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.
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
It was strange to watch Turttle1 video without those crazy screaming. Strange but pleasing.
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
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.
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.
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
Discord: discord.gg/EKPBjjUc65
invalid invite btw
@@sourabhchoure498 should be fixed
@@Truttle1 yup, thanks sir. You are awesome!
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!
7:56
Yes that is real.
I clicked one of your videos, and now I can't stop watching them all
"and garbage" lol!
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*
Keep making awesome videos!
Ok
Oh god why did you use Eversion music I'm getting flashbacks
BEHIND YOU
Algol continental drift
Wow this channel is really good
4:39 that 1 probably means standard output (not a file, for example).
Source: the file descriptor for stdout is 1 in many x86_64 systems
Someone: "So, what does that do?"
Nobody:
Truttle1: "It does..."
"NOTHIIIIIIIIING!!!"
OOOH YES THE MUSIC FROM VVVVVV
Truttle confirmed for 2021
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 :)
2:08 GETOUTOFMYHEADGETOUTOFMYHEADGETOUTOFMYHEADGETOUTOFMYHEAD
That “Program 0” music is terrifying
Why?
@@Truttle1 remember your eversion video?
@@MiMiBrokenbourgh yeah
why is my code not working
INTEGER x
FOR x := 0 STEP 1 UNTIL 100 DO
BEGIN
print(x)
END
By the music you used I can tell you are of culture
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)
2:08 bruh
2:10 BRUH
lol
mong
achung us lmao
*STOP POSTING ABOUT AMONG US*
@@B10KPlaysGames you're cringe
the lego is too big to feel any pain...
I guess argument 1, in I/O means filedirectory, terminal is 1 in assembler
2:13 funny. thanks.
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!
Hmm, Algol 60 is it similar to fortran 90/95
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)
that german bit was actually really good
Do Assembly please!
pretty sure the number is a filedescriptor
VVVVVV!
As someone who's used Pascal, "integer procedure" just feels wrong.
I had to create a compiler for algol 60 in school, horrible story
1:28 hey i study there
What about Prolog?
What about Algol Gene? :-P
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: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.
1:27 not bad! not bad at all!
Narrator: and garbage
Screen: PHP logo
Wordpresss:
wait, did you refer to php as garbage? i like php :(((
zomg I found an endangered species in the comments
why
*2:13** Among us again?*
Bro really talked about Algol and specifically forgot Pascal... Huh, that's surely a coincidence 🤔
1:30 you could simply have said "ETHZ" it would have been fine
pronounced that university quite alright I would say
Reminds me of BASIC.
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
2:11 sus
man that moment talking about the star was funny 👍👍👍
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
LOL
Try V++!
RED IS S U S
WAIT YOU KNOW TUX1?
you're that toki pona guy!
Yipee
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)
CARLSVENTURES PLZZZZZZZZZZZZ
Can you make a video about the first programming languege??
PS: it is called FORTRAN
Wow they really; like; semicolons;;;
😂😂
Better than Fortran 77 Malt Liquor!
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. 😂