The Perfect Programming Language

  Рет қаралды 383,412

ThePrimeTime

ThePrimeTime

Күн бұрын

Пікірлер: 649
@Robin_Goodfellow
@Robin_Goodfellow Жыл бұрын
My biggest takeaway from this parody is that new languages often have 3 or so really interesting, possibly useful features, but also about 30 completely deranged features that guarantee its failure
@SuperRedstoneman
@SuperRedstoneman Жыл бұрын
Programmers are nevrotic maniacs and the cursed stuff shown here proves it
@Oi-mj6dv
@Oi-mj6dv Жыл бұрын
Based
@SimGunther
@SimGunther Жыл бұрын
What were the useful features from DreamBerd: - Quantified lifetimes (by positive numbers, not by time) - Export into different files rather than import modules - Question marks at end of statement for automatic debug info - Regex to narrow down string values - when statements as an event signal The rest is just WHHAAAAA???
@SuperRedstoneman
@SuperRedstoneman Жыл бұрын
@SimGunther quantified lifetimes is more tedious than scope because you'd have to count lines exporting makes no sense because you'd have to switch file each time you want to pull a function from somewhere (auto imports wouldn't work anymore too) question marks doesn't look like the best solution but yeah easy debug sounds cool regex integrated in the language also sounds cool when is just another way to do events on variable modification writing it as when is confusing I think
@PoorlyMadeSweater
@PoorlyMadeSweater Жыл бұрын
lol, image the bugs from refactoring and not realizing there was some lifetime limited variable somewhere up above
@dzisonline
@dzisonline Жыл бұрын
"AI does not use AI. Instead, any incomplete code will be auto-emailed to Lu Wilson, who will get back to you with a completed line as soon as possible"
@rocstar3000
@rocstar3000 Жыл бұрын
Bro, I lost so much at it LMFAO
@TodePond
@TodePond Жыл бұрын
thanks for reviewing my language! but please could you please rename your channel to abide by our naming rules many thanks
@ThePrimeTimeagen
@ThePrimeTimeagen Жыл бұрын
I live my life one infringement at a time
@arg0x-
@arg0x- Жыл бұрын
DreamBerdegen
@QriousKoder
@QriousKoder Жыл бұрын
I mean he did mention DreamBerd :p
@lukekurlandski7653
@lukekurlandski7653 Жыл бұрын
HAHAHA
@RenderingUser
@RenderingUser Жыл бұрын
Oh It's you!! I was wondering why it looked familiar
@SimGunther
@SimGunther Жыл бұрын
A language that transcends languages in that it never once cared for the problems software engineers wanted to solve; however, it still has the cajones to say all this without ONCE mentioning "I took all the things"
@ThePrimeTimeagen
@ThePrimeTimeagen Жыл бұрын
precise accurate correct bestest
@Sam-dh7fr
@Sam-dh7fr Жыл бұрын
​@@ThePrimeTimeagenAlmost. It's COJONES
@nicdgonzalez
@nicdgonzalez Жыл бұрын
cajones means drawers
@miguelmahecha88
@miguelmahecha88 Жыл бұрын
@@nicdgonzalez It's been one month. He said what he said. The man has drawers.
@grape264
@grape264 9 ай бұрын
@@nicdgonzalez yea it was kinda funny reading cajones
@mathijsfrank9268
@mathijsfrank9268 Жыл бұрын
So loops are actually possible, just use 2 "reverse!"s and lrt the first one be a boolean that's false the first time you pass it.
@LiveErrors
@LiveErrors Жыл бұрын
and an itterative exit for the 2nd loop, problem of course is that the loop logic will have to work both ways round
@yjlom
@yjlom Жыл бұрын
//how to do it var var backwards: Bool = false if (backwards { reverse backwards = false else { do_stuff ( if (should_continue ( { backwards = true reverse
@danych2
@danych2 Жыл бұрын
they also can be done easy with signals: var var count = 0! when(count < 20) { //doStuff count++! }
@FastRomanianGypsies
@FastRomanianGypsies Жыл бұрын
That's not a loop. That's ping pong.
@kezzyhko
@kezzyhko Жыл бұрын
The questions is: if you use reverse! and the call a functi, will it start executing from the end?
@monkeypaisano2879
@monkeypaisano2879 Жыл бұрын
This was just so good; and that section on ownership? gold. pure gold.
@ThePrimeTimeagen
@ThePrimeTimeagen Жыл бұрын
nothing but the best
@matopuk123
@matopuk123 Жыл бұрын
yeah... "I use DreamBird btw"
@pashadia
@pashadia Жыл бұрын
I take it that "affects all users forever" also persists multiple invocations of the program, even if the actual declaration is changed. Who's the genius now, Tom?
@ThePrimeTimeagen
@ThePrimeTimeagen Жыл бұрын
agreed
@hfspace
@hfspace Жыл бұрын
indeed that is genius.
@256k_
@256k_ Жыл бұрын
the only way to change is is to change computers
@Manas-co8wl
@Manas-co8wl Жыл бұрын
You heard him, agreed is genius
@Niohimself
@Niohimself Жыл бұрын
"globally", as in, across the globe. Including all other computers and people coding on them.
@ThePrimeTimeagen
@ThePrimeTimeagen Жыл бұрын
I just learned the author has a YT channel!!!: www.youtube.com/@TodePond?sub_confirmation=1 CHECK AND SUBSCRIBE PLS
@noid3571
@noid3571 Жыл бұрын
I stumbled upon TodePond randomly a few days ago and I instantly subscribed! Underrated creator.
@ThePrimeTimeagen
@ThePrimeTimeagen Жыл бұрын
agreed
@sryx
@sryx Жыл бұрын
Their video "Define Define" is amazing :)
@Funcijej
@Funcijej Жыл бұрын
Java was made to be easy for parsing. This is the first technically unparsable language. God bless.
@ThePrimeTimeagen
@ThePrimeTimeagen Жыл бұрын
LL(Infinity) language
@kuhluhOG
@kuhluhOG Жыл бұрын
easy for parsing for computers not humans
@peterkerj7357
@peterkerj7357 11 ай бұрын
Isn't there some mathematical proif that perl is unparseable?
@lucaslinhares4071
@lucaslinhares4071 Жыл бұрын
better than javascript
@ЧингизНабиев-э2г
@ЧингизНабиев-э2г Жыл бұрын
To be fair, it's not that big of an accomplishment
@aquapendulum
@aquapendulum Жыл бұрын
Lifetime scoping by code line, terse debug print syntax with '?' line ending, whitespace-controlled order of execution, regex-constrained string, 'previous' keyword, native HTML templating are some legit cool features.
@nandoflorestan
@nandoflorestan Жыл бұрын
Python and JS also have lifetime scoping inasmuch as they have del and delete.
@CHR1SZ7
@CHR1SZ7 8 ай бұрын
The problem with regex-constrained string is that if you’re passing data from outside you can’t know at compile time whether the string is valid, and anything else should use something like an enum or a trait rather than a string anyway
@shanahjrsuping7344
@shanahjrsuping7344 Жыл бұрын
21:02 😂😂he missed the part about incomplete code being emailed to Lu Wilson. What a lanaguge!
@ThePrimeTimeagen
@ThePrimeTimeagen Жыл бұрын
dangit! i missed that? that is good
@hbobenicio
@hbobenicio Жыл бұрын
This is awesome! The sad part about it is that I actually had to write a parser for a real programming language which literally doesn't define the decimal separator for floats... it's actually an environment parameter so that every sysadmin can pick whatever they trip about (for example, regionalization reasons) and for the source code to be compilable it must conform to what the sysadmin dictates. Of course multiple environments on the same organization may have different values. this by definition then makes your code not portable between different regionalizations (or different-tast sysadmins). This idea is so perfect and awesome that I see why DreamBeard got the idea of the variable currency thingy... That language also has the "noop" instruction thingy too. It just uses another name for it, but whatever...
@underscore.
@underscore. Жыл бұрын
tf
@weakspirit_
@weakspirit_ 11 ай бұрын
this is perfect for a Halloween horror story
@lua_amaterasu
@lua_amaterasu Жыл бұрын
DreamBerd creator actually have an insanely good KZbin channel called TodePond
@ThePrimeTimeagen
@ThePrimeTimeagen Жыл бұрын
really?
@le_moski
@le_moski Жыл бұрын
​@@ThePrimeTimeagenyeah his vids are pretty chill, kinda trippy sometimes
@MarcCastellsBallesta
@MarcCastellsBallesta Жыл бұрын
Going there right now!
@ManiacalMobius
@ManiacalMobius Жыл бұрын
I haven't laughed this hard in a long time holy moly
@hsider
@hsider Жыл бұрын
Same here, this is funny as sh** 😂 got me on several occasions 😂😂
@AScribblingTurtle
@AScribblingTurtle Жыл бұрын
This language is ingenios! The Author must be a pupil of Tom.
@deado7282
@deado7282 Жыл бұрын
Can't compete with JDSL because TOM is a GENIUS!
@ThePrimeTimeagen
@ThePrimeTimeagen Жыл бұрын
well JDSL isn't just perfect, its divine
@Muaahaa
@Muaahaa Жыл бұрын
I used js `with` several years ago for a CodeWars kata that required you to calculate the area of the intersection of two circles but the kicker was that the solution needed to be under a small character limit. Never used or heard of it again since then (until now, ofc).
@HerrDoktorWeberMD
@HerrDoktorWeberMD 9 ай бұрын
I just randomly tripped over this channel while looking into stuff for a Rust software renderer project, I had no idea I'd wind up finding a channel that makes programming so genuinely entertaining. I'm still brand new to software development (learned Java in high school, didn't code at all for over 10 years, learned Rust 'cause it was shiny and new and now I'm coding a game from scratch) but it's so easy to be introduced to new concepts and dig up explanations for them while having a laugh on this channel. Subscribed.
@nekoill
@nekoill Жыл бұрын
This language is the best meme of 2023, oh my god 😸 Starting array indexing at -1 is just brilliant 😹
@GiovanniCKC
@GiovanniCKC Жыл бұрын
DreamBerd.... probably the best 20 minutes of my life right there lol. Absolutely fabulous.
@rumplstiltztinkerstein
@rumplstiltztinkerstein Жыл бұрын
Definitely the programming language of all time.
@amdenis
@amdenis Жыл бұрын
Not sure why so many people think Dreamberd is satire. I have been doing critical systems AI development for years, and I am going to port everything to Dreamberd! I see no downsides.
@oddmerlin9797
@oddmerlin9797 Жыл бұрын
who ever wrote the parser for this is a genius
@oddmerlin9797
@oddmerlin9797 Жыл бұрын
im also terrified of them
@zxuiji
@zxuiji Жыл бұрын
3:24, that one's not too bad an idea, for example that particular index 0.5 could mean "take 50% of element 0 and (100% - 50%) of element 1 and add them together, give me the result"
@Kycilak
@Kycilak Жыл бұрын
Ou could use different types of parantheses to use different interpolation. [] for linear, for spline and such XD
@wumwum42
@wumwum42 Жыл бұрын
The more I think about it, im starting to like the idea of reverse indentation. This might actually be easier to read than non-inverse ones. Though unless its automated probably pure hell when writing
@KayOScode
@KayOScode Жыл бұрын
You can legally do that in most languages, it’s just not considered good practice because it’s not clear which scope the code belongs to
@bujitself
@bujitself Жыл бұрын
@@KayOScode It is clear, just in negative
@KayOScode
@KayOScode Жыл бұрын
@@bujitself so then which indent does your code start at? If they’re all going backwards, maybe, but you’d have to write code starting in the middle of your monitor
@FlanGrande
@FlanGrande Жыл бұрын
@@KayOScode You start writing the code from inside out
@sidharthmanohar7951
@sidharthmanohar7951 Жыл бұрын
middle out?
@ShiloBuff
@ShiloBuff Жыл бұрын
As funny as this is, they are onto something with a "few" of these features. I would love a language that is truly perfect. Also, I love the idea of it being insanely flexible. Although it only sounds good in theory because in reality you want to be consistent as possible as a developer.
@TheFGrox
@TheFGrox Жыл бұрын
The "delete delete!" statement is the way to Nirvana. I've actually run that line in production when nothing has been left to delete. The customer complained that nothing was working anymore. They aren't aware that in reality that was the goal. The machine has reached a state of freedom from suffering and from restart as the weaving of activity of the processor had ceased. The empty state of the memory assigned to the program invites everyone to experience the state of non-state. The aversion against my work, the greed, and the ignorance don't let the customer appreciate the quenching of the activities of the worldly mind that lead to the liberation from samsara.
@ahmedkaram3829
@ahmedkaram3829 Жыл бұрын
wow i need ur twitrer acc to follow u
@TheFGrox
@TheFGrox Жыл бұрын
@@ahmedkaram3829 "delete twitter!". Let go of any worldly attachment.
@Kevinjimtheone
@Kevinjimtheone 5 ай бұрын
I honestly laughed so much with this one, that I had to pause multiple times to catch my breath. Absolutely incredible!
@eddyxide
@eddyxide Жыл бұрын
const const const gonna solve all my problems
@BozCoding
@BozCoding Жыл бұрын
I love the look and some of the concepts of this language, and they say that there's no loops, but 'reverse!' allows you do do loops :D so that's super neat.
@DFX2KX
@DFX2KX Жыл бұрын
indeed, and when() allows you to do loops as well.
@Renni-kg6vf
@Renni-kg6vf 9 ай бұрын
When is just a global do while loop...@@DFX2KX
@DreanPetruza
@DreanPetruza Жыл бұрын
10:25 PHP actually used this approach of no quotes string literal, in the first versions any token that wasn't a defined constant was assumed to be a string literal and was output verbatim.
@kallekula84
@kallekula84 Жыл бұрын
The Union inverse and the " ' hello world " ' tripple quote had me dying!! :D
@corlaez
@corlaez Жыл бұрын
Kotlin has with, extension functions and is working on context receivers which all build upon a similar concept as the JS with. And due to the strongly typed nature of Kotlin, it is actually a extremely useful set of features.
@CHR1SZ7
@CHR1SZ7 8 ай бұрын
In Scala they’ve had implicit parameters for ages and in the same way, it’s like the js “with” but because the language is strongly typed it’s a bit less insane because you can make it a lot more obvious what you’re going to get
@ahuman32478
@ahuman32478 Жыл бұрын
Didn't even notice that this video was 23 minutes long because I was too busy admiring what is arguably the highest-effort shitpost of all time
@ЧингизНабиев-э2г
@ЧингизНабиев-э2г Жыл бұрын
Prime, it's time to write a compiler for this piece of art ;D
@aaronspeedy7780
@aaronspeedy7780 Жыл бұрын
Someone is! The creator had a call with someone who was!
@CielMC
@CielMC Жыл бұрын
const const const is different from const const as it said, it will affect all users globally forever, so once you have declared a variable called, say foo, nobody else can declare that same foo again, it will all refer to the foo you declared
@Jmcgee1125
@Jmcgee1125 Жыл бұрын
1:41 Constant pointer to variable data and/or variable pointer to constant data is a C feature and is very nice. Sure, you can always cast the const out, but that's on you. 6:29 Nah, not really. It's a maintainability nightmare. For something that lasts literally 2 lines it's not so bad, but imagine it's 10, or 20. You go to change something in between and have to check everything up the function to see if a lifetime needs to be extended. If only we could explicitly specify when the end of lifetime should be at the closing point, maybe with some kind of stack frame or `free()` call. 9:20 "Yeah" "sure" "ok" "fine" "I guess" "WHAT" 13:59 T R U E 17:32 I actually want to see that `reverse` in a programming game like Exapunks. Looks fun.
@leovin00
@leovin00 Жыл бұрын
This video has been very informative. I learned about the “with” keyword in Javascript and am now terrified that such evil lurks among us
@axelfoley133
@axelfoley133 Жыл бұрын
The irony of Primeagen malfunctioning at the function section.
@wumwum42
@wumwum42 Жыл бұрын
*the ucin section
@BlazingMagpie
@BlazingMagpie Жыл бұрын
So, is DreamBerd Foundation owned by DreamBerd Foundation?
@wumwum42
@wumwum42 Жыл бұрын
No, but the DreamNotBird fundation is.
@zenshade2000
@zenshade2000 Жыл бұрын
Tears running down my checks through every minute of this. Almost as good as watching Spinal Tap the first time.
@PomuLeafEveryday
@PomuLeafEveryday Жыл бұрын
I know it's a parody, but that question mark debugging thing sounds actually useful. So does the forced garbage collection after a certain amount of lines.
@kellybmackenzie
@kellybmackenzie Жыл бұрын
The "-3 spaces are also allowed" broke me completely LOL, amazing 10/10
@RicardoSilva-hk2er
@RicardoSilva-hk2er Жыл бұрын
this language is the perfect example of wanting to "fuck around" with people but not wanting to be too obvious
@ZenonLite
@ZenonLite Жыл бұрын
finally, a language that gives c# a run for its money…
@envo2199
@envo2199 Жыл бұрын
what do you mean?
@olivierginiaux7466
@olivierginiaux7466 Жыл бұрын
C# is one of the best languages out there
@envo2199
@envo2199 Жыл бұрын
@@olivierginiaux7466 facts
@SimGunther
@SimGunther Жыл бұрын
It does give PHP a run for its $$$
@TheEkkas
@TheEkkas 8 ай бұрын
I'm halfway in and need a break to 'process' a bit, but some standouts for me so far : 1) Boolean = True/False/Maybe just quietly created quantum-computing-as-a-service, + 1.5bit storage efficiency in itself could change the storage landscape if SSD firmware starts using this... 2) Negative indentation: Image the possibilities of adding data or code in the previously unused negative spaces. Will it work for RTL languages/editors as well? 3) Numbers as variables: The ability to, with a one-liner, assign a value to a number, could be a watershed moment or very dangerous in the wrong hands. Giving developers the ability to reassign reality itself, raises ethical red flags. What if AI 'learn to code' with this!?!? 4) String interpolation: Has a 'see eye aye' vibe to it, I see the utility, but to include currency with a name raises some privacy eyebrows... PS: This is information overload for one video, it should have been a 3-part series.
@MarcCastellsBallesta
@MarcCastellsBallesta Жыл бұрын
Lol! I laughed so hard and so many times in this video! Thanks Prime and thanks DreamBird foundation!
@krunalakbari5432
@krunalakbari5432 Жыл бұрын
i can't take it anymore. how can one md file make me lough for 1 hour.
@ThePrimeTimeagen
@ThePrimeTimeagen Жыл бұрын
it just ... happens
@zhafran7076
@zhafran7076 Жыл бұрын
yea, using a floating numbers for indexing, it will be great
@legendrags
@legendrags 10 ай бұрын
When a language has extremely amazing features and still manages to disappoint...
@spicynoodle7419
@spicynoodle7419 Жыл бұрын
const void const* const foo = malloc(0) this can't be edited or reassigned they just moved all the consts to the front const const const foo = ...
@scottiedoesno
@scottiedoesno Жыл бұрын
This is top tier meming and I love it
@ThePrimeTimeagen
@ThePrimeTimeagen Жыл бұрын
agreed
@SelfCheckout
@SelfCheckout Жыл бұрын
WhenWillProgrammersStopMakingDecisionsForOurSocietyAndJustLeaveUsAloneAlsoHackerNewsIsAVileWebsite is such a great programming language
@zahawolfe
@zahawolfe Жыл бұрын
I haven’t laughed this hard over something programming related since college
@kevinkkirimii
@kevinkkirimii Жыл бұрын
With MAYBE boolean and WHEN keyword, this language set to work well in quantum computing.
@Thect
@Thect Жыл бұрын
Now the problem is, what should I learn for my FAANG interview, JDSL? or DreamBerd?
@garrettmandujano2996
@garrettmandujano2996 Жыл бұрын
Kinda reminds me of JDSL, where Tom put a “:)” after every statement
@Vegalith
@Vegalith 3 ай бұрын
0:52 My first programming language was a BASIC emulator for the Nintendo DS called “SmileBasic” (there’s a switch version available too!) and it had some cursed behavior, such as line breaks working as close parentheses, and ‘?’ being a substitute for print, so a hello world could look like: ?”Hello World It had a toggle for strict variable declarations, if disabled (the default behavior) you didn’t even have to declare a variable, you’d just use it [start of program] value = “Hello World ?value
@jvcmarc
@jvcmarc Жыл бұрын
Primeagen and TodePond crossover would be dope
@Lampe2020
@Lampe2020 8 ай бұрын
It's a bad idea to eat bread while watching a funny video, I just had to cough from all the laughing and spat a fountain of bread crumbs across my desk (the bread I eat is extremely hard, so it falls apart to crumbs when chewed instead of becoming a smooth paste), right at a bunch of cables where the crumbs disappeared between…
@GM-Aukrun
@GM-Aukrun 10 ай бұрын
Contributing: ' If you are an influencer, streamer, or content-creator... you must not skip this section during your read-through. Contributions are welcomed to DreamBerd 3! The most helpful way you can help is by donating to the Stonewall charity. This will help to prevent the DreamBerd 3 creator from losing their human rights, allowing maintenance of the project to continue. Note: The contributing guide also helps to shake off unwanted fans of the project.'
@isavenewspapers8890
@isavenewspapers8890 8 ай бұрын
@grmpf
@grmpf 7 ай бұрын
And he skipped over it…
@AndreGreeff
@AndreGreeff 4 ай бұрын
FYI: I just checked the DreamBerd repo now, and it's still growing... 169 commits in this video, 405 commits as of me writing this comment, of which the last was a mere 2 hours ago. lmao. this is just too good... >.< also, it's almost at 10k stars already...
@alphabasic1759
@alphabasic1759 Жыл бұрын
Someone was on LSD when they created this language.
@ThePrimeTimeagen
@ThePrimeTimeagen Жыл бұрын
likely
@gordahnculous
@gordahnculous Жыл бұрын
so glad i recommended this on the subreddit, knew this would be a fire language 🔥
@MasterHigure
@MasterHigure Жыл бұрын
Reminds me of "The Worst Programming Language Ever - Mark Rendle - NDC Oslo 2021", which is a great talk.
@freeideas
@freeideas 2 ай бұрын
"Type annotations don't do anything, but they help some people to feel more comfortable". Python.
@guillobuteler
@guillobuteler Жыл бұрын
I am so on board with this you guys. Got a really good perspective for it, to take it all the way. Thanks!
@TianyuQi
@TianyuQi Жыл бұрын
3:00 using the building analogy, the lowest floor is a basement, makes perfect sense(((
@hacktor_92
@hacktor_92 Жыл бұрын
thanks for showing me dreamberd language. now we're all rewriting our ENTIRE 12.5k+ projects in it
@kuklama0706
@kuklama0706 3 ай бұрын
I actually needed negative indexes in arrays to describe "previous, this, next" more naturally. Ended up casting negative index to byte and so using only 3 out of 255 array cells.
@IARRCSim
@IARRCSim Жыл бұрын
10:06 many Logo interpreters treat some values like strings even without quotes. print [hello world] works in FMSLogo. Don't confuse the brackets with quotes. The square brackets mean that it is a list. Without quotes, hello and world are separate elements of a list of strings so the string is expressed without any quotes, brackets, or anything else. You need to know more contextual information such as the fact it is in a data list to know the unquoted hello is a string vs a command or procedure call. It gets confusing since instruction lists are also often in square brackets and an unquoted string-ish looking value in an instruction list generally means a command or procedure name. A less troublesome but related part of the Logo language is that strings are indicated with only 1 quote generally, if a quote is needed at all. The quote marks the start of a string literal and is ended by the first whitespace after that quote. Some Logo interpreters support a more familiar notation where pairs of apostrophes wrap a string literal but that seems quite rare from the many Logo interpreters I read about.
@KvapuJanjalia
@KvapuJanjalia 8 ай бұрын
"any number of quotes you want" - that is an actual C# feature.
@xevento8682
@xevento8682 6 ай бұрын
3 State booleans would have to be stored in 1.58496250072 Bits. 2^1 is 2 (so a 2-state boolean can be stored in one bit) with 2 bits you can represent 4 states. To find the correct bits for 3 states we solve 2^x = 3, which is log_2(3) = 1.58496250072
@powerfist1340
@powerfist1340 9 ай бұрын
I have no idea how to code whatsoever, but youtube keeps recommending you to me and i find the content mildly entertaining.
@manawa3832
@manawa3832 Жыл бұрын
Lean 4 is as close to perfect as we have currently for the perfect language. But I love how every language "innovation" is just c or javascript with slightly different syntax. No new ways to prevent bugs or improve performance or increase productivity. Just a reskin of existing languages.
@MH_VOID
@MH_VOID Жыл бұрын
what's so good about it compared to e.g. Rust?
@manawa3832
@manawa3832 Жыл бұрын
@@MH_VOID Dependent types. Proper linear types and not just pseudo affine types in Rust. TCO for recursion. Leanest syntax I've seen in any language supporting this many features. A full blown theorem prover that works in conjunction with regular executing code. Tooling of lean 4 is heavily inspired by the great ecosystem that Rust enjoys. It's got a dependency manager similar to cargo and macros and code generators similar to many you would find in Rust. It's not ready for prime time and is an experimental step after lean 3. But the best thing about the language is that it develops from one version to the next with no backwards compatibility baggage of previous versions. They are trying to make a great language, not support the companies that pay for it and demand their legacy systems prevent the language from fixing old problems and throwing out old stuff. Thus it's a natural consequence that lean 5 will be a true evolution from what already is an excellent language.
@TheChillBison
@TheChillBison Жыл бұрын
This was the laugh I needed after two days of extremely stupid work that should have taken 10 seconds.
@demolazer
@demolazer Жыл бұрын
The exclamation point at the end of every line would annoy the hell out of me. I don't want my code to shout at me.
@michawhite7613
@michawhite7613 9 ай бұрын
5:42 I think they stole this feature from a programming language called Icon, which was a successor to the SNOBOL languages. I made a Rust library to implement a lot of Icon's features, but I still don't know how to handle this one
@TejAgarwal
@TejAgarwal 2 ай бұрын
This kind of humor sense is what keeps a true programmer single.
@Celastrous
@Celastrous Жыл бұрын
Todepond is the name of the authors YT channel by the way
@nanonkay5669
@nanonkay5669 Жыл бұрын
They need a way to make const const const variables constant
@WarrenBuffering-kj7us
@WarrenBuffering-kj7us Жыл бұрын
this is my favorite educational channel
@ThePrimeTimeagen
@ThePrimeTimeagen Жыл бұрын
are there other channels?
@WarrenBuffering-kj7us
@WarrenBuffering-kj7us Жыл бұрын
@@ThePrimeTimeagen no, this is only channel
@aloysiuskurnia7643
@aloysiuskurnia7643 Жыл бұрын
This language needs a wholeass probabilistic turing machine to be parsed
@shioli3927
@shioli3927 Жыл бұрын
The with thing is the same as kotlin use pretty much. It´s not that bad if you need to call a bajliion methods on a thing that isn´t a builder pattern that you got from another method call or method call chain. The only weird thing is that the javascript proposal seems to magically imply the variable to every function call in the block.
@vinci-g
@vinci-g Жыл бұрын
never laughed so hard at `const const 5 = 4!` LMAO
@erwinkonopka7071
@erwinkonopka7071 8 ай бұрын
I can commit so many programing war crimes with this. Also: I'm glad that Intercall's spirit lives on.
@11clocky
@11clocky 5 ай бұрын
Pretty much every section can be summarized as, “Huh, that’s kind of an interesting feature actually- oh godammit”
@JackDespero
@JackDespero 7 ай бұрын
"This is a language worse than JS!" Please, do not be this closed minded. You haven't even tried it yet and you are already making such bold statements.
@wcrb15
@wcrb15 Жыл бұрын
I really needed a good chuckle generator today. This was great.
@lilacdoe7945
@lilacdoe7945 6 ай бұрын
We need... Direct memory access + Automated memory sizing + Automated scope closure of functions + Declarative SQL-like commands + File based implicit object for access control + Public by default with automated pointer dereferencing + Manual overrides for explicit control of intrafile variables + Automated error reporting with caller, problem variable, threads, and current relevant state That is the perfect language and I call her Jnny. Making her is a pain in the ass. But it'd be worth it. Almost all object initializations could be handled by the serializer/deserializer before compilation.
@Renni-kg6vf
@Renni-kg6vf 9 ай бұрын
I can only imagine that const const const actually changes the dreamberd binary so that that variable is immutable over all dreamberd compiled files.
@dovos8572
@dovos8572 3 ай бұрын
godot actually has the "when" feature. you can do stuff like var maxHealth : int = 100 var health : int = 12 : set(value): health = clampi(value, 0 , maxHealth) this code basically means that the health will be clamped between 0 and maxHealth regardless to what you try to set it to, so health = 1000 will set health to 100 instead because maxHealth is 100
@the_cheese_cultist
@the_cheese_cultist 13 сағат бұрын
this is just a property with a custom setter. C# has this.
@G4GBill
@G4GBill Жыл бұрын
Imagine the spaghettis code you could write, it would be like spaghetti all chopped up.
@iliya-malecki
@iliya-malecki Жыл бұрын
with statement is literally just R but with less half-assed reflection that reading text of statements gives you. With both "with" and {...}.__text__ you will literally get the level of cursedness that R provides
@matthewgiallourakis7645
@matthewgiallourakis7645 11 ай бұрын
Kotlin is built around the concept of `with`. I love it.
@S1D94
@S1D94 7 ай бұрын
9:30 reminds me of VimL, where as long as an identifier is unique to a command you can type the smallest unique part (from left to right though). so for "function" you could do "func" or "fun" but not "union". I don't write VimL anymore.
@canadiannomad4088
@canadiannomad4088 Жыл бұрын
Now I want a transpiler to convert my rust code to this obviously superior language.
@TVfen
@TVfen Жыл бұрын
Ok, I have to admit, when you were making comments about the language and so on... I agreed with some of the comments, but disagreed with some of the other comments. Some things sounded kind of funny, but that was just it! Until ... the moment you enumerated the array indexes... "negative 1, zero, point five..." OMG I HAD HUGE LAUGH AT THAT!!! I really needed that!!!
Make Video Games
44:12
Pirate Software
Рет қаралды 1,3 МЛН
Unexpected Lessons I've Learned After 15 Years Of Coding
43:05
Theo - t3․gg
Рет қаралды 78 М.
Will A Guitar Boat Hold My Weight?
00:20
MrBeast
Рет қаралды 221 МЛН
GIANT Gummy Worm Pt.6 #shorts
00:46
Mr DegrEE
Рет қаралды 75 МЛН
Which One Is The Best - From Small To Giant #katebrush #shorts
00:17
MAXIMUM CRINGE Programming Language Tier List | Prime Reacts
22:45
ThePrimeTime
Рет қаралды 578 М.
Prime Reacts: From C to C++ to Rust to Haskell
40:54
ThePrimeTime
Рет қаралды 314 М.
Rust Absolutely Positively Sucks
20:15
ThePrimeTime
Рет қаралды 248 М.
Brain F**k in 100 Seconds | Prime Reacts:
6:28
ThePrimeTime
Рет қаралды 267 М.
Why You Should AVOID Linked Lists
14:12
ThePrimeTime
Рет қаралды 277 М.
Andrew Kelley   Practical Data Oriented Design (DoD)
46:40
ChimiChanga
Рет қаралды 104 М.
The Weirdest Language I've Ever Seen (I kinda love it...)
58:11
Theo - t3․gg
Рет қаралды 72 М.
Is Computer Science still worth it?
20:08
NeetCodeIO
Рет қаралды 217 М.
Prime React: Fast Inverse Square Root - A Quake III Algorithm
30:19
ThePrimeTime
Рет қаралды 165 М.
The purest coding style, where bugs are near impossible
10:25
Coderized
Рет қаралды 971 М.
Will A Guitar Boat Hold My Weight?
00:20
MrBeast
Рет қаралды 221 МЛН