A Brief Introduction to Esoteric Programming Languages

  Рет қаралды 337,499

Hillel Wayne

Hillel Wayne

Күн бұрын

Пікірлер: 529
@hillelwayne3236
@hillelwayne3236 3 жыл бұрын
FAQ > Where's Malbolge? Malbolge is a very interesting esolang, with the goal of being "as hard as possible to write programs in." I left it out because I couldn't figure out how to cover it well. It makes a brief cameo at 0:59 (lower-left), and I say a bit about it at the companion site: hillelwayne.com/talks/esolangs/#diversity > Is Game of Life an esolang? GoL is a special case of a **cellular automata**, which has been the model for several esolangs (esolangs.org/wiki/Cellular_automaton). GoL is Turing complete, but it's not really a *language*. It's more of a language substrate. You can use GoL to create OCTA metapixels, and then wires, and then spaceship signals, and then logic gates, and then circuits... ...29 billion GoL cells later, you get Tetris. codegolf.stackexchange.com/questions/11880/build-a-working-game-of-tetris-in-conways-game-of-life > Is HolyC an esolang? Yeah probs > Is Minecraft Redstone an esolang? Yes! A lot of games have mechanisms you can use to build programs *inside* the game. Redstone is a good example, as are Factorio circuits and Baba is You blocks. There's no collective term for this category; I personally call them "game-emergent languages". The big challenge with studying them is that, well, you have to have the game! I've already given Factorio hundreds of hours of my life, I can't afford to download Minecraft, even if it's for "research". > You mispronounced "Piet". Piet Mondrian was a Dutch artist, so I'm using the Dutch pronunciation of Piet ("Peet"). > Where's the music from? Richard Whaling's instagram: instagram.com/p/BzVjW7LBv1K/. > Is that Ida Noyes? SCAV
@marly1017
@marly1017 3 жыл бұрын
SCAV
@Fr3AkFr3Ak
@Fr3AkFr3Ak 3 жыл бұрын
kkkkkk Man, I loved the video, it made me want to go back to programing, but the brightness is killing my eyes lkkkkkk
@Nerketur
@Nerketur 3 жыл бұрын
I was wondering if you'd showcase malboge. I've never attempted to program in it, but I've seen a few attempts to code golf with it.
@Eylrid
@Eylrid 3 жыл бұрын
"I've already given Factorio hundreds of hours of my life" Relatable
@killerbee.13
@killerbee.13 3 жыл бұрын
"I've already given Factorio hundreds of hours of my life" Ah, I remember when I was a Factorio newbie too. (Actually I have only a bit over a thousand hours in it so making this joke makes me a poseur lol)
@Badspot
@Badspot 3 жыл бұрын
1:24 "I've only made one esolang in my entire life" "I'm not part of the community" I think you're vastly overestimating how many programming languages the average person creates.
@SimGunther
@SimGunther 3 жыл бұрын
I think we all overestimate how many languages people have made, let alone languages with complete implementations that are worthy of production use. Congrats to Hillel! One day I make it to the club with them...
@hillelwayne3236
@hillelwayne3236 3 жыл бұрын
@@SimGunther > let alone languages with complete implementations that are worthy of production use. You are WAY overestimating my accomplishment, haha. It was a minor variant of Brainfuck I wrote as part of a cheeky FizzBuzz solution. Definitely not production usable :)
@rykehuss3435
@rykehuss3435 3 жыл бұрын
@@hillelwayne3236 Have you seen Ben Awad's video on FizzBuzz? Next level shit.
@andrewferguson6901
@andrewferguson6901 3 жыл бұрын
I've only forked a whole new language and regularly publish my research with high quality video slides. Dude you ARE the community, at least a solid part of it
@illyay1337
@illyay1337 3 жыл бұрын
I think creating one esolang and a youtube video on this subject definitely qualifies you to be in the community more than the 99% of us who have never done such a thing.
@oinkymomo
@oinkymomo 3 жыл бұрын
my favorite esolang is babalang, a decently usable language based on the syntax of puzzle game baba is you
@centdemeern1
@centdemeern1 3 жыл бұрын
Rocketrace is win
@weighttan3675
@weighttan3675 3 жыл бұрын
Me!?
@malusmundus-9605
@malusmundus-9605 3 жыл бұрын
I have to try this now
@cammobox
@cammobox 3 жыл бұрын
I mean it’s logically complete so… yeah? I guess it COULD work? I need to see someone do it
@hstubbs3
@hstubbs3 3 жыл бұрын
Define babalang: [noun] notice; alert; caution; sign; warning; announcement; Tagalog / Filipino word.
@TimwiTerby
@TimwiTerby 3 жыл бұрын
I am the original author of the “J and GolfScript suck all the fun out of golfing” post. I am not proud of it because I have since enjoyed golfing for reasons other than competing on character count. The posting was entirely borne out of a competitive mindset. I have since posted several answers in which I golfed in languages that are woefully unsuitable for golfing (mostly Unreadable). I would prefer to erase the posting from ever having existed, but I accept that it has historical value now. Amazing summary of the whole esolangs and codegolfing thing. Great video. Love it.
@hillelwayne3236
@hillelwayne3236 3 жыл бұрын
I think, even if you're not proud of the post, it captures well what a *lot* of people were thinking at the time (and still are!) about golflangs. There's an alternate history where the CGCC collectively decided to ban them, and I think it could have happened. Ultimately the site went a different way. I imagine if it banned golfscript we'd have seen a "schism" in the golfing community, with different competing sites.
@rivenroyce9923
@rivenroyce9923 3 жыл бұрын
That post standing and then this comment as a marker to your growth is pretty cool
@mrosskne
@mrosskne 3 жыл бұрын
You were right.
@dIancaster
@dIancaster 3 жыл бұрын
No, I think you had a point. Golfing is fun in any language, and if you want to golf well, your only option is to use an esolang now.
@mrosskne
@mrosskne 3 жыл бұрын
@@rivenroyce9923 What growth? He was right the first time.
@MultiCraftTube
@MultiCraftTube 3 жыл бұрын
At my first day of studying computer science at university, every new student got a bag with the name of an esolang written on it. They used it to asign us into introduction tutorial groups. It was the first time I heard of the strange concept of these languages. Mine was 'ArnoldC', a programming language completely consisting of Arnold Schwarzenegger quotes, coding in it is quite fun!
@irok1
@irok1 3 жыл бұрын
Dang
@MultiCraftTube
@MultiCraftTube 3 жыл бұрын
@@firephoenixgamers8590 RWTH Aachen, western Germany
@LoneWolf-wp9dn
@LoneWolf-wp9dn 3 жыл бұрын
What does "Get to the chopper!" do?
@baptistedelplanque8859
@baptistedelplanque8859 3 жыл бұрын
@@LoneWolf-wp9dn assign variable
@starbournehero771
@starbournehero771 3 жыл бұрын
@@baptistedelplanque8859 I'm literally laughing at how much sense that makes!
@lesfreresdelaquote1176
@lesfreresdelaquote1176 3 жыл бұрын
Brainfuck is not only Turing Complete, it is actually a PURE Turing machine... Turing defined his machine exactly along these lines. Brainfuck only provides a smart short formalism to handle it.
@thiesenf
@thiesenf 3 жыл бұрын
Brqainfuck is a language that can be compiled in a compiler writtten in Brainfuck.
@W1ngSMC
@W1ngSMC 3 жыл бұрын
@@thiesenf Any language that is Turing Complete can do that.
@MagicGonads
@MagicGonads 3 жыл бұрын
It isn't quite a turing machine since the state is encoded as the linear strip when a turing machine doesn't have that linear restriction (such as it does not need a looping construct, it just has state transitions that exist in cycles)
@lesfreresdelaquote1176
@lesfreresdelaquote1176 3 жыл бұрын
@@MagicGonads You are absolutly right. However, translating a Brainfuck program in a Turing machine is quite straightforward...
@supernova5434
@supernova5434 3 жыл бұрын
ah yes, enslaved turing
@MechanicalMooCow
@MechanicalMooCow 3 жыл бұрын
It's not lost on me that a person proficient in programming and music, who uses a esolang called Orca also has the surname Whaling.
@Lucaazade
@Lucaazade 3 жыл бұрын
His song also definitely sounded like a whale (my knowledge about this is limited to Finding Nemo)
@MeriaDuck
@MeriaDuck 3 жыл бұрын
The university pastor, in the nineties when my alma mater was still catholic, had the brilliant name John Hacking. Radboud universiteit Nijmegen, the Netherlands.
@CrystalLily1302
@CrystalLily1302 3 жыл бұрын
@@MeriaDuck Lol my boss at my coding job is named Jon Hacker
@ImXyper
@ImXyper 3 жыл бұрын
@@CrystalLily1302 suuure bro, defo real
@Dark_Peace
@Dark_Peace 3 жыл бұрын
@@CrystalLily1302 my Highschool music teacher's name was Mr Hoven. Almost Beethoven. One of my Latin teacher's first name was Virgile and french teacher's first name was François.
@purplenanite
@purplenanite 3 жыл бұрын
The performance of the shakespeare code must have been awesome
@hendrikd2113
@hendrikd2113 3 жыл бұрын
No, it had a polynomial runtime and used a lot of memory.
@Xarius
@Xarius 3 жыл бұрын
@@hendrikd2113 This comment is genius
@renerpho
@renerpho 3 жыл бұрын
@@hendrikd2113 You just broke me. Thanks!
@HazhMcMoor
@HazhMcMoor 3 жыл бұрын
As soon as you talk about using any language for code golf I knew that there'd be someone who make a custom compiler solely to solve that single problem in a single byte. Turn out it's even better.
@Gregzenegair
@Gregzenegair 3 жыл бұрын
My favorite esolang is Java, a pure Shakespirian language of beauty
@lightyagami1752
@lightyagami1752 3 жыл бұрын
Yes. Why say print when you can say System.out.println etc.
@himalpoudel7558
@himalpoudel7558 3 жыл бұрын
Lol
@want-diversecontent3887
@want-diversecontent3887 3 жыл бұрын
SPL.
@coachreenasharma
@coachreenasharma 3 жыл бұрын
Lmao
@karldamus5124
@karldamus5124 3 жыл бұрын
@@lightyagami1752 sout *TAB*
@satyrkrieg
@satyrkrieg 3 жыл бұрын
"Richard Whaling is an accomplished Orca programmer"
@seismicdna
@seismicdna 3 жыл бұрын
wow, great catch!
@strafeae4618
@strafeae4618 3 жыл бұрын
As a math guy I think my favorite esolang has got to be Fractran, which uses a list of fractions and a single input as the entire program. You basically multiply by each fraction in the list until it no longer gives an integer, which becomes the final output. Very fun to play around with and try to figure things out
@thelegend8570
@thelegend8570 3 жыл бұрын
I really hope someone's made a chef program that calculates pi, with source code that also functions as a recipe for a pie. (EDIT): Make it a recipe for a raspberry pie, then run the program on a raspberry pi for bonus points.
@guerra_dos_bichos
@guerra_dos_bichos 3 жыл бұрын
Does the pie need to taste good?
@Intelwinsbigly
@Intelwinsbigly 3 жыл бұрын
@@guerra_dos_bichos ofc it does. Needs to be for a rhubarb pie.
@thelegend8570
@thelegend8570 3 жыл бұрын
@@guerra_dos_bichos Preferably, but I would be happy with just "reasonably edible".
@Clumsyoof
@Clumsyoof 3 жыл бұрын
Someone call Gorden Ramsey,I want him to bake and critique the pie recipe
@cmyk8964
@cmyk8964 3 жыл бұрын
18:00-ish: Actually, one Unicode character is most likely not 1 byte. In UTF-8, non-ASCII characters take more space the higher the character’s code point is. Æ takes 2 bytes to store, making “ÆP” 3 bytes long. The file size is worse in UTF-16 (every character is 2 bytes, unless the char code is U+10000 or larger, which makes it 4 bytes) or UTF-32 (every character is 4 bytes).
@hillelwayne3236
@hillelwayne3236 3 жыл бұрын
Yup, that was the mistake I called out I made ~17:59. It's still two bytes, though, because it's not using unicode! From the companion: > I made two mistakes in the section on Jelly: > 1. In the talk I mistakenly said that it uses Unicode “to pack in more opcodes”. Most golfing challenges are scored on bytes, not characters, so a single two-byte Unicode character scores the same as two ASCII characters. Instead, Jelly uses a different encoding than ASCII pack in more useful characters. The byte 0000 0100 in ASCII is the End of Transmission signal, while in Jelly it’s ¥. Some golfing languages do use Unicode, but the main saving is in a better codepage. > 2. I said Æ was “is prime”, but it’s actually the prefix for 2-byte arithmetic functions. ÆP is “is prime”. So in the codepage they chose, Æ is still a single byte, and Dennis picked Æ because it was a good mnemonic for "arithmetic expressions".
@0LoneTech
@0LoneTech 3 жыл бұрын
Tongue in cheek pedantry: UTF-16 is not worse than UTF-8 if your characters are in the U+0800 to U+FFFF range (excluding U+D800 through U+DFFF). Those encode to three bytes in UTF-8 but two in UTF-16.
@chrisvinciguerra4128
@chrisvinciguerra4128 3 жыл бұрын
@@0LoneTech the beauty of UTF
@anidnmeno
@anidnmeno 3 жыл бұрын
OÆP got eem
@FlameRat_YehLon
@FlameRat_YehLon 3 жыл бұрын
If it involves tons of CJK characters, though, UTF-16 could be more space efficient than UTF-8, as most CJK characters could be stored using 2 bytes with UTF-16, but takes 3 bytes with UTF-8. While UTF-32 makes completely no sense yet since IIRC only codepoints up to 10FFFF was assigned at the moment.
@eth3792
@eth3792 3 жыл бұрын
I've seen a few videos on esoteric languages recently but this was the first one that went into any depth on golfing languages. As a very active member of CGSE back in its heyday (PPCG anyone?), having created at least one golfing language and several more general esolangs myself, I really appreciate all the research that went into this video and I feel it was very well explained. It brings me such joy to see an old esoteric hobby of mine being given this type of attention :)
@RolandTheJabberwocky
@RolandTheJabberwocky 3 жыл бұрын
I love how someone literally just made a "Fuck you I always win" golf script.
@503unavailable
@503unavailable 3 жыл бұрын
This is genuinely the most entertaining Video i've seen in months, and I have close to no coding knowledge. The absurd quirks of code golfing are just hillarious to me
@slmjkdbtl
@slmjkdbtl 3 жыл бұрын
golfscript is actually clean af, less computationally interesting but looks like a more accessible variant to guys like APL
@abdulmasaiev9024
@abdulmasaiev9024 3 жыл бұрын
0 bytes? Pfah. It still needs an interpreter which is some bytes. I can do better. What you need is just memory registers, and in fact specifically for the "is this a prime" question just one memory register capable of storing 1 bit of information, and by that I mean a physical piece of hardware, and that's it, you're done. Let's see how it works: "Is 2 a prime number?" - the memory register stores either a value that corresponds to true or false. If it's true, then hey, neat, it answered okay. If it's not, no biggie, just give it some time. After a while some cosmic rays or quantum fluctuations or somesuch will hit the register and flip the bit, and then it'll be giving the correct answer. It works the same for non-primes, too, with the correct/incorrect being reversed. With the requirements for correctness and time being as lax as they are, this should actually be good enough. 0 bytes for the program AND 0 bytes for the interpreter AND 0 bytes for the compiler.
@cobaltno51
@cobaltno51 3 жыл бұрын
it even gives the right solution to p=np if you observe the answer at the right time!
@elitebyte_
@elitebyte_ 3 жыл бұрын
@@cobaltno51 how
@cobaltno51
@cobaltno51 3 жыл бұрын
@@elitebyte_ lets say 1 in the memory register stands for p=np and 0 stands for p!=np. if one of those answers is true, the register will contain the right answer at some point in time, given that cosmic radiation will flip the register atleast once. if you happen to observe the register at the moment it contains the answer, you can observe it. of course causation and correlation differ in this case. seeing a truthy value in a random sequence may correlate with the answer 'true' to some question, but the question never caused said answer.
@markusklyver6277
@markusklyver6277 3 жыл бұрын
Technically that relies on the physical world to work.
@cobaltno51
@cobaltno51 3 жыл бұрын
@@markusklyver6277 so does every other program
@emielfy2988
@emielfy2988 3 жыл бұрын
I recently actually created my own esolang, and I'd like to introduce it to others, but I don't really know where to go with it. It definitely falls (imo) under the "computationally interesting" category
@hillelwayne3236
@hillelwayne3236 3 жыл бұрын
The best place to start would be the esolangs wiki (esolangs.org/wiki/Main_Page), because that'll give you a public place to document and talk about it, as well as get feedback from others. There's some overlap between 19th Byte regulars and esolangs enthusiasts; I'm sure if you asked in the chat channel, some people would be up for private convos and feedback. I suspect there's an esolangs discord somewhere, but I'm an Old who is afraid of discords
@Bratjuuc
@Bratjuuc 3 жыл бұрын
Can you please post a link here, under your comment? I would like to take a look, and I bet that I'm not the only one
@h-Films
@h-Films 3 жыл бұрын
v
@em.1633
@em.1633 3 жыл бұрын
You need to rename this away from what sounds like a lecture upload from a community college class! This is way too good a vid! "Writing code with Shakespeare and cake recipes: an intro to esoteric programming languages" Also, the algorithim sent me here, so here's hoping you're gonna see a lot more traffic. This is great!!!
@hillelwayne3236
@hillelwayne3236 3 жыл бұрын
So, while that's objectively a good idea, right now I'm hesitant because 1. The title is pretty long already, and I want to keep it relatively close to the title on the slides 2. (and this is the big one), I am DELIGHTED to know that it sounds like a boring lecture upload. I have a deep, deep fondness for that kind of sucker punch, where people are expecting something boring and are surprised when it's actually high quality. I know it's weird and kinda self-sabotaging; it just tickles the prankster in me. (This time it was unintentional, but I've also tried to play with that consciously too, like in this parody of clickfarm: www.hillelwayne.com/post/sudoku/)
@em.1633
@em.1633 3 жыл бұрын
@@hillelwayne3236 thanks for the response! can appreciate the sentiment, but I feel like that logic only works if you were a teacher, for example, with a captive audience. The thing about having a boring lecture title doesn't mean people get sucker punched, it means they don't click on it. I clicked on this thinking it was about *human* language, even, I couldn't tell from the title or photo that it was for people into computers at all.
@GDroidHacker
@GDroidHacker 3 жыл бұрын
When you said sucker punch, I thought of another KZbin channel with similar content: Sucker pinch. It's a similar lecture format, but his NES videos make me laugh every time!
@Gunbudder
@Gunbudder 3 жыл бұрын
i LOVE perl code golfing. i still remember the most useful program i wrote in perl, and its while()split;chomp; (or something like that). it makes use of a ton of implicit features of perl to read input from stdin and remove all whitespace, then blast it out to stdout. i loved the idea of writing useful code that uses no variables and looks like nonsense
@hahrhthuhrh3542
@hahrhthuhrh3542 3 жыл бұрын
I opened the video expecting an boring programming lecture but its actually an good humour presentation of one of the most interesting (and fun) subjects I've seen. I had no idea codegolfing was a thing and that Orca esolang is straight up mesmerizing
@gasparliboreiro4572
@gasparliboreiro4572 3 жыл бұрын
I think conway's game of life could count as an esoteric lenguage
@FlameRat_YehLon
@FlameRat_YehLon 3 жыл бұрын
Then maybe so does Minecraft and The Powder Toy.
@gasparliboreiro4572
@gasparliboreiro4572 3 жыл бұрын
@@FlameRat_YehLon I like where this is going
@karolbomba6704
@karolbomba6704 3 жыл бұрын
@@FlameRat_YehLon tpt, a name I havent heard in ages...
@wfd87
@wfd87 3 жыл бұрын
@@gasparliboreiro4572 Life itself is the ultimate esoteric programming language
@carloselfrancos7205
@carloselfrancos7205 3 жыл бұрын
I don't think so, GoL would be more of a virtual universe where you could build and program Turing machines, which then could execute programs in various (yet highly complex) languages. There are programs, there are programming languages, there are machines that run those, and there is the universe in which machines are built - game of life is such universe.
@mikaeels2691
@mikaeels2691 3 жыл бұрын
I've been messing around with Orca for a long time. I love music and programming so it really hit the spot for me
@pentelegomenon1175
@pentelegomenon1175 3 жыл бұрын
I think the code golfers complaining about golf-themed esolangs are just scared to acknowledge the obvious problem: if your challenges are too easily broken by comedic custom esolangs, then they are probably too simple. What if the challenge is to make a version of the game Sokoban, or a spreadsheet program? Then the people who try to break the challenge with custom esolangs might accidentally build a superior programming language.
@Miju001
@Miju001 3 жыл бұрын
MetaGolfScript still easily wins the golfing challenge in both cases, so that's not the issue. On the other hand, I think the problem of code golfing itself is somewhat ill-posed; and that adding outputs to the evaluation metric like the video mentions could be a step towards the solution
@Nerketur
@Nerketur 3 жыл бұрын
There's also the obvious issue (banned by the community) of creating a language specifically to solve a challenge in one byte. Like H, for example. Now, you have to use a language that existed before the challenge was created. If a newer version is made after the date of the challenge, by default it can't be used, but the older version still can.
@h-Films
@h-Films 3 жыл бұрын
@@Nerketur h
@crides0
@crides0 Жыл бұрын
The Python program at around 14:09 can be simplified even further: 1. you don't need a list comprehesion. you can use a generator comprehension, and when it's inside parentheses (from the function call), you don't need another pair of parentheses (so, remove the brackets, -2 bytes) 2. you could use python truthiness, making `x!=1` into `x-1`, and `x%i!=0` into just `x%i` (-4 bytes)
@scmiller
@scmiller 3 жыл бұрын
I did not expect to actually watch the whole video. Good job!
@MagicGonads
@MagicGonads 3 жыл бұрын
I think esolangs have a place in puzzle games quite often since they turn out to be turing complete (such as Opus Magnum, Baba Is You, 7 Billion Humans etc)
@rmt3589
@rmt3589 2 жыл бұрын
This is amazing and life-changing! Thank you so much!
@brazilian_orthodox
@brazilian_orthodox 3 жыл бұрын
You literally became the image of the community just by making the biggest video about it. Quality video-making content too!! Ur awesome keep it up!
@Golem642
@Golem642 3 жыл бұрын
This is underrated, please make more content like this
@noahthompson95
@noahthompson95 3 жыл бұрын
This showed up in my youtube recommended and was very interesting to watch! Great presentation, I had googled esolangs recently but didn't really understand much until I watched this video.
@WarLordN1k
@WarLordN1k 3 жыл бұрын
love this and hope you got top marks for this
@hillelwayne3236
@hillelwayne3236 3 жыл бұрын
Hah, thank you! It was actually a guest lecture for her class; I made a video because we had a 7 hour timezone difference and I didn't want to do a lecture at 2 AM
@mikaeels2691
@mikaeels2691 3 жыл бұрын
A geometry dash creator called Spu7nix made a programming language that would compile into GD triggers in a level. He used to make a Brainfuck interpreter inside the game. So would GD triggers also count as an esolang?
@hillelwayne3236
@hillelwayne3236 3 жыл бұрын
Yes!
@dshifter7
@dshifter7 3 жыл бұрын
People have taken GD's Esolang of Triggers so far that they've made entire games inside Geometry Dash! Examples are Mastergame by Serponge (and a bunch of his other works), there's a Tic-Tac-Toe game with an AI in GD, an entire Rubik's Cube that is randomly scrambled that you can solves, etc. Given enough time and groups, anything can be made with GD Triggers!
@Whelknarge
@Whelknarge 3 жыл бұрын
This is the conlanging of programming languages. Cool!
@filker0
@filker0 3 жыл бұрын
I wrote an interpreter for a variable length coding that packs the most common operation as 1 bit, the 3 as 4 bits, the next 16 as 8 bits, and the other operations following a similar pattern. It was not an esolang, instead it was intended to create bitstring programs that would be executed by a very simple FPGA based soft processor that I never created. It was based on compression techniques.
@JotakRTS
@JotakRTS 3 жыл бұрын
No idea how I got to this video as I am not a coder, but I found this marvellously interesting and fun to watch. Cheers! Love the video.
@esotericsean
@esotericsean 3 жыл бұрын
This is right up my alley.
@sebbes333
@sebbes333 3 жыл бұрын
*11:58** OWWWW!!!! My eyes!!! Fucking flash-bang!!!* (You could have had a gradient transition there! From black, through gray, to white, over like 10 seconds or so!)
@hillelwayne3236
@hillelwayne3236 3 жыл бұрын
Noted for next time I make a video! Which will probably be in 2025. I have no idea how people manage to regularly make videos
@Verde_Forest
@Verde_Forest Ай бұрын
@@hillelwayne3236heh, you have a few weeks before 2025! We didn’t forget :D
@sirreginaldfishingtonxvii6149
@sirreginaldfishingtonxvii6149 3 жыл бұрын
I'm no programmer, I only ever dabbled a bit in visual programming, but this is good stuff. Thanks for the content!
@MeriaDuck
@MeriaDuck 3 жыл бұрын
1:42 Intercal, at least the document, was quite brilliant; it was a parody on ALGOL68 which took itself quite seriously (for quite good reasons, ALGOL /ALGOL68 may be considered quite ahead of its time; but as a student and friend of the late C.H.A. Koster I'm probably biassed). Admittedly, Intercal is more than a bit horrific to work with and not as artistic as more contemporary esoteric languages. But in my opinion it had its place in history.
@v0ldy54
@v0ldy54 3 жыл бұрын
18:19 even before seeing that I was asking myself what's the point of Golf Scrips, the beauty of CG should be to "exploit" every nook, cranny and trick of a programming language and come up with the shortest code within that language, a procedure that also has an educational purpose if you're learning a language, comparing different languages is pointless.
@orbismworldbuilding8428
@orbismworldbuilding8428 3 жыл бұрын
Ok now this is what I've been looking for, this is what I've been looking for all this time
@dabbopabblo
@dabbopabblo 3 жыл бұрын
this is an amazing video
@trollbreeder2534
@trollbreeder2534 3 жыл бұрын
I made an esolang called Metastack where the program is made from an infinite line of stacks, wherein 2 of those stacks are special. (the command stack and the input stack) As the program is executed, it destroys itself. To loop it must copy from another stack. To conditionally jump it must swap the command stack with another stack. Yes, really. It traces its origins to Befunge which uses a stack to store data short-term, and i thought "what if we only had stacks to work with?" Its interpreter is made with ComputerCraft: Tweaked's integration of Lua. I haven't found an esolang that used a paradigm like this. If this is the first stack paradigm language (just like 2D paradigms of befunge), i'll be so happy. (i haven't proven it but i believe it may be turing complete according to esolang wiki on stacks) Reverse Cat î7?02=0÷i î6.?03=-21÷?04=0¶?08=-21÷\\ ?333î5.*48 ÿ ?333î5.*48 î6.?03=-21÷?04=0¶ î7?02=0÷i ?881\\
@hillelwayne3236
@hillelwayne3236 3 жыл бұрын
You may be interested in forth: en.wikipedia.org/wiki/Forth_(programming_language) Re proving TC, my usual way to do that is to either write a brainfuck interpreter or a Tag System (buttondown.email/hillelwayne/archive/vim-is-turing-complete/), both of which are a lot easier to wrangle than a pure Turing machine simulation. In your case, simulating a 2-stack PDA (en.wikipedia.org/wiki/Pushdown_automaton) is enough to prove TC.
@bonehelm
@bonehelm 2 жыл бұрын
One of my favs is PuzzleScript which has a web based tool for building simple 2d puzzle games. I consider it an esolang but is pretty fun to mess around in.
@presauced
@presauced Жыл бұрын
Idk man, doesn't sound like it.
@kodirovsshik
@kodirovsshik 3 жыл бұрын
I would like to see you uploading more in future ngl, I enjoyed the video a lot
@PerdroLuvas
@PerdroLuvas 3 жыл бұрын
Such a good video! Really got me into seeing how beautiful coding is. Hope you continue with the channel!
@noobian458
@noobian458 3 жыл бұрын
This was intensely interesting to watch, very well done
@heroesnz200
@heroesnz200 3 жыл бұрын
15:27 "its more important to shave a byte than to run in our lifetimes"
@leonponce8437
@leonponce8437 2 жыл бұрын
This makes me wanna take your friend' "Psychology of Programming" class!
@wolfboos
@wolfboos 3 жыл бұрын
I really liked this, truly makes you take a different look about what programming is.
@-prisems
@-prisems 2 жыл бұрын
Amazing video!
@aznashwan
@aznashwan 3 жыл бұрын
Absolutely amazing and insightful vid, an honest thank you for making it!
@djbioxic4023
@djbioxic4023 3 жыл бұрын
Excellent video. I love discussions of the history of programming languages. Keep it up!
@likethebookshop
@likethebookshop 3 жыл бұрын
I don't know how the algorithm knew that this was my jam, but holy shit this was cool.
@hallfiry
@hallfiry 3 жыл бұрын
Shakespeare can also be interpreted as a steganographic programming language, since it can be used to hide source code.
@narkash
@narkash 3 жыл бұрын
That's a violently American pronunciation of "Piet" you've got there.
@jaydenyamada2916
@jaydenyamada2916 3 жыл бұрын
A fun esolang is Rockstar by Dylan Beatte (I think that's how you spell his name). A language that uses power ballad lyrics for its code. It's glorious
@gabrote42
@gabrote42 3 жыл бұрын
7:05 This has to be my favourite one so far
@DeadCatX2
@DeadCatX2 3 жыл бұрын
Finding video game glitches is sometimes like a fancy Piet implementation. It can sometimes create full multimedia experiences with random colors and pixels and even sounds being generated as various processors attempt to interpret nonsense as instructions. Exploits then become intricate works of art. An easily searchable example on KZbin would be the Super Mario 3 Wrong Warp, but from the perspective of artwork, it is more interesting when things "go wrong", as that is when you get a cacophony of random sprites and gibberish pixels smeared all over the screen.
@xeridea
@xeridea 3 жыл бұрын
Fun fact. The game Conway's Game of Life is Turing complete.
@fussyboy2000
@fussyboy2000 3 жыл бұрын
There are implementations of Game of Life in Game of Life.
@xeridea
@xeridea 3 жыл бұрын
@@fussyboy2000 That's some next level stuff. I have written the game of life, and done small optimizations, but no where near what others have done. Also, the creations people have made with it are astounding, way above me to figure out.
@AndyAlex-dz6wf
@AndyAlex-dz6wf Жыл бұрын
- Sign in to KZbin - Drop a great video - Sign out GG my friend.
@theaureliasys6362
@theaureliasys6362 3 жыл бұрын
Will you make more videos? Because this was awesome.
@haksell5462
@haksell5462 2 жыл бұрын
make more content! you're amazing.
@ArthurRainbow
@ArthurRainbow 3 жыл бұрын
Thanks. I had no idea esolangs were used for more than just fun
@presauced
@presauced 3 жыл бұрын
This video is incredible, it realy is. Haven't watchd a video this entertaining in a while.
@presauced
@presauced 2 жыл бұрын
This comment is from 5 months ago and I do not know if the misspellings were intentional or not.
@MaceOjala
@MaceOjala 3 жыл бұрын
Thanks this was fun. I occasionally use ("use" ;)) Orca and found myself golfing, but this is totally next level haha. Thanks for the intro and drawing those trajectories between languages
@audiodiwhy2195
@audiodiwhy2195 3 жыл бұрын
Great video. Interesting!! I knew nothing about any of this. I figure this was a lot of work to create but please more vids.
@barmetler
@barmetler 3 жыл бұрын
One thing I don't understand about the FALSE program: After the line where the input is checked, we now have two copies of the same boolean on the stack. This is because we need the second one for the "else" part essentially. However, when f is executed, we now have our input, and then a boolean on top of that on the stack. Usually, you would use the backslash to swap those around, so shouldn't that part look like this?: ~[\f;!.\]? And also, the comparison to 8 would compare the boolean to 8, and not the input. Am I missing something? Edit: I am right (I think)! The example on the website of the guy that invented the programming language is incorrect (again, no guarantees)! The correct code would be: { factorial program in false! } [$1=~[$1-f;!*]?]f: { fac() in false } "calculate the factorial of [1..8]: " ß^ß'0-$$0>~\8>|$ "result: " ~[\f;!.\]? ["illegal input!"]?" " See the backslashes? They are needed to push the boolean down so that we can actually compare the number 8 to the input. Another edit: it seems like the backslashes got lost when pasting the code around for the website, and that makes sense since backslashes are the escape character for control characters.
@sjuvanet
@sjuvanet 3 жыл бұрын
really interesting stuff. code is art
@szymach
@szymach 3 жыл бұрын
That song by Richard hit's different/ Is there someplace I can listen to the full version? I have found a album on band camp but sadly this song wasn't there
@hillelwayne3236
@hillelwayne3236 3 жыл бұрын
Full piece is here: instagram.com/p/BzVjW7LBv1K/
@aaiieenn
@aaiieenn 3 жыл бұрын
I knew you would mention Orca! It's a really fun language and honestly so inspiring in making music. So far Shakespeare is my favorite because it's so ridiculous
@Uveryahi
@Uveryahi 3 жыл бұрын
I just stumble on this video. Man that was quite a ride! Golfing seems interesting :p thank you!
@rustkitty
@rustkitty 3 жыл бұрын
Is it really valid to call orca a programming language, as opposed to a musician tool similar to chiptune trackers and physical midi grid instruments like a Launchpad? Or perhaps those are programming languages to? What is a programming language? Sorry, got a bit philosophical there... Anyway, very interesting talk and a lot of good food for thought.
@Slingming
@Slingming 3 жыл бұрын
great video and I agree with the conclusion
@virkony
@virkony 3 жыл бұрын
Multicoding also used in other languages. E.g. type is one of the aspect you usually get. In Mercury you have modes and insts. It's just such languages usually use similar way to encode/represent that information as main code. But colorForth uses formatting as part of language and it is still generic language. If you think about how we have all that syntax highlighting in editors/IDEs trying to be in sync with how source code interpreted, it because mind blowing that colorForth solves that problem in its root cause since highlighting is a part of language.
@satorian7157
@satorian7157 3 жыл бұрын
Orca, nice! this is the kick in the pants I needed to actually go and start making stuff with it
@sebbes333
@sebbes333 3 жыл бұрын
0:54 What is that "language"(?) in the top left corner?
@hillelwayne3236
@hillelwayne3236 3 жыл бұрын
Folders: esolangs.org/wiki/Folders
@p1geon45
@p1geon45 3 жыл бұрын
most important piece if knowlege i got from this video, is that there is are languages called "Brainfuck, but every + is replaced with the bee movie script"
@TianyuQi
@TianyuQi 3 жыл бұрын
15:50 wait a minute reverse polish notation?
@pratiklondhe5167
@pratiklondhe5167 3 жыл бұрын
This was a really great video , I go interest in learning System Programming
@runforitman
@runforitman 3 жыл бұрын
yeah I agree i don't like golfscript or anything else like that I can make a zero byte script find all the primes because the compiler will generate a program that finds all primes whether you give it a file or not I think its like putting the golf tee in the hole and being impressed youre getting 0 strokes
@runforitman
@runforitman 3 жыл бұрын
oh lmao he then said something like it though more impressive
@jitumali9663
@jitumali9663 3 жыл бұрын
I am half time in the video and am enjoying it...
@elson2270
@elson2270 3 жыл бұрын
Such a informative video! Great job!
@uninteressant2151
@uninteressant2151 3 жыл бұрын
Thank you for that great video!
@ZSquaredPlusC
@ZSquaredPlusC 3 жыл бұрын
This is a really interesting video! Will you make more videos?
@mackexr
@mackexr 3 жыл бұрын
great vid cant believe it has so little views
@cedricvillani8502
@cedricvillani8502 3 жыл бұрын
13:48 you can just not use a high level language, which is always more efficient as long as you know what your intention is. Like using bitwise logical operators a05>>b010, anyway ^ or ~ not etc..
@CristiNeagu
@CristiNeagu 3 жыл бұрын
A bit of feedback: Please don't use white backgrounds for screen presentations. My retinas are on fire.
@Tigrou7777
@Tigrou7777 Жыл бұрын
I was hoping to see the example shown in the screenshot (for computing PI).
@PBlague
@PBlague 3 жыл бұрын
Why do you only have one video on your channel!? You make absolute gold content!
@hillelwayne3236
@hillelwayne3236 3 жыл бұрын
This was my first time making a video. I probably won't make another for a long time; it just took so much out of me to make. I'm much happier doing longform writing, which I put on www.hillelwayne.com. Warning: on the whole it's a lot more technical than this video. My main audience is software professionals, while this was for CS students.
@PBlague
@PBlague 3 жыл бұрын
@@hillelwayne3236 That's really interesting! You made an absolute masterpiece as your first video, Not many people can do that! Wish you a great day :)
@marckiezeender
@marckiezeender 2 жыл бұрын
14:10 you can remove the square brackets as well!
@unflexian
@unflexian Жыл бұрын
yeah 14:11 and replace !=0 with >0
@antonliakhovitch8306
@antonliakhovitch8306 3 жыл бұрын
What an intriguing talk! I did notice two minor errors: 1. You called the Brainfuck data pointer a "program counter". As far as I understand it, the program counter points to code, not data. 2. With unicode, one character != one byte. It sometimes does, but only when you're using the subset of characters that also exist in 7-byte ASCII.
@gustavgnoettgen
@gustavgnoettgen 3 жыл бұрын
I thought about how short programs could be or how graphic programing could look like but... wow i didn't know this whole genre existed!
@codywaller2840
@codywaller2840 3 жыл бұрын
My favorite esolang has to be HolyC. Not necessarily due to anything particular except the background of it, an absolutely fascinating story. Is it functional? If you want to talk to talk to God or make pictures of elephants, then yeah, other wise, not really. I’m sure most people here have heard of it, but if somehow you have not heard of Terry A Davis and his coding, give him a look up. Great video!
@fntthesmth423
@fntthesmth423 Жыл бұрын
"The Psychology of Programming" sounds like the coolest fucking class
@leonardofernandez6488
@leonardofernandez6488 3 жыл бұрын
This video is incredible. Thank you for it. But, what the heck happened at 20:26?
@suvetar
@suvetar Жыл бұрын
Thanks Hillel, a well balanced and informative article that could have gone many different ways, well done Sir! Might I pick your brain on another subject, being simply (LOL) so you see a cognate or conjugation between Eso's and DSL's? (Domain Specific Language)
Running "Hello World!" in 10 FORBIDDEN Programming Languages
18:07
The Worst Programming Language Ever - Mark Rendle - NDC Oslo 2021
1:00:41
NDC Conferences
Рет қаралды 1,3 МЛН
Что-что Мурсдей говорит? 💭 #симбочка #симба #мурсдей
00:19
Interview with Esoteric Language Academic 2024
8:49
Programmers are also human
Рет қаралды 220 М.
Optimizing with "Bad Code"
17:11
Kaze Emanuar
Рет қаралды 232 М.
"Hello, World" in 5 CURSED languages that no one should use
13:08
Dreams of Code
Рет қаралды 558 М.
God-Tier Developer Roadmap
16:42
Fireship
Рет қаралды 7 МЛН
One second to compute the largest Fibonacci number I can
25:55
Sheafification of G
Рет қаралды 468 М.
Harder Drive: Hard drives we didn't want or need
36:47
suckerpinch
Рет қаралды 1,7 МЛН
Piet!
7:05
Truttle1
Рет қаралды 46 М.
I made an entire OS that only runs Tetris
22:37
jdh
Рет қаралды 1,7 МЛН
C++ Super Optimization: 1000X Faster
15:33
Dave's Garage
Рет қаралды 334 М.
Programmer VS The Human Benchmark Test | Number Memory
17:47
Code Bullets Day Off
Рет қаралды 536 М.