The Perfect Programming Language

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 มิ.ย. 2024
  • Recorded live on twitch, GET IN
    / theprimeagen
    Author: / todepond
    Author has a YT channel: / @todepond
    MY MAIN YT CHANNEL: Has well edited engineering videos
    / theprimeagen
    Discord
    / discord
    Have something for me to read or react to?: / theprimeagenreact
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 627

  • @Robin_Goodfellow
    @Robin_Goodfellow 11 หลายเดือนก่อน +1761

    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 11 หลายเดือนก่อน

      Programmers are nevrotic maniacs and the cursed stuff shown here proves it

    • @Oi-mj6dv
      @Oi-mj6dv 11 หลายเดือนก่อน +28

      Based

    • @SimGunther
      @SimGunther 11 หลายเดือนก่อน +97

      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 11 หลายเดือนก่อน +29

      @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

    • @needsloomis7164
      @needsloomis7164 11 หลายเดือนก่อน +34

      lol, image the bugs from refactoring and not realizing there was some lifetime limited variable somewhere up above

  • @dzisonline
    @dzisonline 11 หลายเดือนก่อน +733

    "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 10 หลายเดือนก่อน +44

      Bro, I lost so much at it LMFAO

  • @TodePond
    @TodePond 11 หลายเดือนก่อน +1873

    thanks for reviewing my language!
    but please could you please rename your channel to abide by our naming rules
    many thanks

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  11 หลายเดือนก่อน +666

      I live my life one infringement at a time

    • @arg0x-
      @arg0x- 11 หลายเดือนก่อน +194

      DreamBerdegen

    • @QriousKoder
      @QriousKoder 11 หลายเดือนก่อน +35

      I mean he did mention DreamBerd :p

    • @lukekurlandski7653
      @lukekurlandski7653 11 หลายเดือนก่อน +7

      HAHAHA

    • @RenderingUser
      @RenderingUser 11 หลายเดือนก่อน +20

      Oh
      It's you!!
      I was wondering why it looked familiar

  • @SimGunther
    @SimGunther 11 หลายเดือนก่อน +862

    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  11 หลายเดือนก่อน +137

      precise
      accurate
      correct
      bestest

    • @Sam-dh7fr
      @Sam-dh7fr 11 หลายเดือนก่อน +17

      ​@@ThePrimeTimeagenAlmost. It's COJONES

    • @nicdgonzalez
      @nicdgonzalez 11 หลายเดือนก่อน +14

      cajones means drawers

    • @miguelmahecha88
      @miguelmahecha88 10 หลายเดือนก่อน +12

      @@nicdgonzalez It's been one month.
      He said what he said. The man has drawers.

    • @grape264
      @grape264 5 หลายเดือนก่อน +1

      @@nicdgonzalez yea it was kinda funny reading cajones

  • @mathijsfrank9268
    @mathijsfrank9268 11 หลายเดือนก่อน +719

    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 11 หลายเดือนก่อน +34

      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 11 หลายเดือนก่อน +54

      //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 11 หลายเดือนก่อน +64

      they also can be done easy with signals:
      var var count = 0!
      when(count < 20) {
      //doStuff
      count++!
      }

    • @FastRomanianGypsies
      @FastRomanianGypsies 11 หลายเดือนก่อน +5

      That's not a loop. That's ping pong.

    • @kezzyhko
      @kezzyhko 11 หลายเดือนก่อน +15

      The questions is: if you use reverse! and the call a functi, will it start executing from the end?

  • @monkeypaisano2879
    @monkeypaisano2879 11 หลายเดือนก่อน +175

    This was just so good; and that section on ownership? gold. pure gold.

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  11 หลายเดือนก่อน +40

      nothing but the best

    • @matopuk123
      @matopuk123 10 หลายเดือนก่อน

      yeah... "I use DreamBird btw"

  • @pashadia
    @pashadia 11 หลายเดือนก่อน +370

    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  11 หลายเดือนก่อน +64

      agreed

    • @hfspace
      @hfspace 11 หลายเดือนก่อน +10

      indeed that is genius.

    • @256k_
      @256k_ 11 หลายเดือนก่อน +16

      the only way to change is is to change computers

    • @Manas-co8wl
      @Manas-co8wl 11 หลายเดือนก่อน +6

      You heard him, agreed is genius

    • @Niohimself
      @Niohimself 11 หลายเดือนก่อน +43

      "globally", as in, across the globe. Including all other computers and people coding on them.

  • @ThePrimeTimeagen
    @ThePrimeTimeagen  11 หลายเดือนก่อน +9

    I just learned the author has a YT channel!!!: www.youtube.com/@TodePond?sub_confirmation=1 CHECK AND SUBSCRIBE PLS

  • @noid3571
    @noid3571 11 หลายเดือนก่อน +143

    I stumbled upon TodePond randomly a few days ago and I instantly subscribed! Underrated creator.

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  11 หลายเดือนก่อน +41

      agreed

    • @sryx
      @sryx 11 หลายเดือนก่อน +10

      Their video "Define Define" is amazing :)

  • @Funcijej
    @Funcijej 11 หลายเดือนก่อน +110

    Java was made to be easy for parsing. This is the first technically unparsable language. God bless.

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  11 หลายเดือนก่อน +32

      LL(Infinity) language

    • @kuhluhOG
      @kuhluhOG 10 หลายเดือนก่อน +6

      easy for parsing for computers
      not humans

    • @peterkerj7357
      @peterkerj7357 7 หลายเดือนก่อน

      Isn't there some mathematical proif that perl is unparseable?

  • @NiloAhri
    @NiloAhri 11 หลายเดือนก่อน +44

    DreamBerd creator actually have an insanely good TH-cam channel called TodePond

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  11 หลายเดือนก่อน +18

      really?

    • @le_moski
      @le_moski 11 หลายเดือนก่อน +7

      ​@@ThePrimeTimeagenyeah his vids are pretty chill, kinda trippy sometimes

    • @MarcCastellsBallesta
      @MarcCastellsBallesta 9 หลายเดือนก่อน

      Going there right now!

  • @deado7282
    @deado7282 11 หลายเดือนก่อน +50

    Can't compete with JDSL because TOM is a GENIUS!

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  11 หลายเดือนก่อน +32

      well JDSL isn't just perfect, its divine

  • @aquapendulum
    @aquapendulum 11 หลายเดือนก่อน +29

    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 10 หลายเดือนก่อน

      Python and JS also have lifetime scoping inasmuch as they have del and delete.

    • @CHR1SZ7
      @CHR1SZ7 5 หลายเดือนก่อน

      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

  • @ManiacalMobius
    @ManiacalMobius 11 หลายเดือนก่อน +40

    I haven't laughed this hard in a long time holy moly

    • @hsider
      @hsider 11 หลายเดือนก่อน +6

      Same here, this is funny as sh** 😂 got me on several occasions 😂😂

  • @AScribblingTurtle
    @AScribblingTurtle 11 หลายเดือนก่อน +56

    This language is ingenios! The Author must be a pupil of Tom.

  • @hbobenicio
    @hbobenicio 11 หลายเดือนก่อน +71

    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. 9 หลายเดือนก่อน +2

      tf

    • @weakspirit_
      @weakspirit_ 8 หลายเดือนก่อน +1

      this is perfect for a Halloween horror story

  • @Muaahaa
    @Muaahaa 11 หลายเดือนก่อน +35

    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 5 หลายเดือนก่อน +5

    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.

  • @lucaslinhares4071
    @lucaslinhares4071 11 หลายเดือนก่อน +78

    better than javascript

    • @user-hh7kt4le3q
      @user-hh7kt4le3q 11 หลายเดือนก่อน +21

      To be fair, it's not that big of an accomplishment

  • @zxuiji
    @zxuiji 11 หลายเดือนก่อน +15

    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 11 หลายเดือนก่อน +7

      Ou could use different types of parantheses to use different interpolation. [] for linear, for spline and such XD

  • @shanahjrsuping7344
    @shanahjrsuping7344 11 หลายเดือนก่อน +15

    21:02 😂😂he missed the part about incomplete code being emailed to Lu Wilson. What a lanaguge!

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  11 หลายเดือนก่อน +5

      dangit! i missed that? that is good

  • @rumplstiltztinkerstein
    @rumplstiltztinkerstein 11 หลายเดือนก่อน +34

    Definitely the programming language of all time.

  • @nekoill
    @nekoill 11 หลายเดือนก่อน +13

    This language is the best meme of 2023, oh my god 😸
    Starting array indexing at -1 is just brilliant 😹

  • @GiovanniCKC
    @GiovanniCKC 11 หลายเดือนก่อน +13

    DreamBerd.... probably the best 20 minutes of my life right there lol. Absolutely fabulous.

  • @wumwum42
    @wumwum42 11 หลายเดือนก่อน +73

    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 11 หลายเดือนก่อน +13

      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 11 หลายเดือนก่อน +7

      @@KayOScode It is clear, just in negative

    • @KayOScode
      @KayOScode 11 หลายเดือนก่อน +10

      @@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 11 หลายเดือนก่อน +8

      @@KayOScode You start writing the code from inside out

    • @sidharthmanohar7951
      @sidharthmanohar7951 11 หลายเดือนก่อน +5

      middle out?

  • @guillobuteler
    @guillobuteler 11 หลายเดือนก่อน

    I am so on board with this you guys. Got a really good perspective for it, to take it all the way. Thanks!

  • @DreanPetruza
    @DreanPetruza 11 หลายเดือนก่อน +6

    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.

  • @oddmerlin9797
    @oddmerlin9797 11 หลายเดือนก่อน +2

    who ever wrote the parser for this is a genius

    • @oddmerlin9797
      @oddmerlin9797 11 หลายเดือนก่อน

      im also terrified of them

  • @ShiloBuff
    @ShiloBuff 11 หลายเดือนก่อน +11

    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 11 หลายเดือนก่อน +6

    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 11 หลายเดือนก่อน +1

      wow i need ur twitrer acc to follow u

    • @TheFGrox
      @TheFGrox 11 หลายเดือนก่อน

      @@ahmedkaram3829 "delete twitter!". Let go of any worldly attachment.

  • @leovin00
    @leovin00 11 หลายเดือนก่อน +2

    This video has been very informative. I learned about the “with” keyword in Javascript and am now terrified that such evil lurks among us

  • @corlaez
    @corlaez 11 หลายเดือนก่อน +7

    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 5 หลายเดือนก่อน +1

      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

  • @kallekula84
    @kallekula84 11 หลายเดือนก่อน +1

    The Union inverse and the " ' hello world " ' tripple quote had me dying!! :D

  • @BozCoding
    @BozCoding 11 หลายเดือนก่อน +7

    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 10 หลายเดือนก่อน +2

      indeed, and when() allows you to do loops as well.

    • @Renni-kg6vf
      @Renni-kg6vf 6 หลายเดือนก่อน

      When is just a global do while loop...@@DFX2KX

  • @gordahnculous
    @gordahnculous 11 หลายเดือนก่อน

    so glad i recommended this on the subreddit, knew this would be a fire language 🔥

  • @zenshade2000
    @zenshade2000 11 หลายเดือนก่อน +2

    Tears running down my checks through every minute of this. Almost as good as watching Spinal Tap the first time.

  • @wcrb15
    @wcrb15 11 หลายเดือนก่อน

    I really needed a good chuckle generator today. This was great.

  • @eddyxide
    @eddyxide 11 หลายเดือนก่อน +7

    const const const gonna solve all my problems

  • @user-hh7kt4le3q
    @user-hh7kt4le3q 11 หลายเดือนก่อน +4

    Prime, it's time to write a compiler for this piece of art ;D

    • @aaronspeedy7780
      @aaronspeedy7780 11 หลายเดือนก่อน

      Someone is! The creator had a call with someone who was!

  • @Kevinjimtheone
    @Kevinjimtheone 2 หลายเดือนก่อน +1

    I honestly laughed so much with this one, that I had to pause multiple times to catch my breath. Absolutely incredible!

  • @ahuman32478
    @ahuman32478 11 หลายเดือนก่อน +6

    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

  • @NoodleFlame
    @NoodleFlame 10 หลายเดือนก่อน

    The parser for the changes they made is actually pretty straight forward, they just add nothing but more headaches for the end user, I love it 🤣 In the case of strings with no quotes it would probably first look up keywords, functions, globals and then any locals stored in each pushed code block on the frame stack (ifs, for next etc, but also function scopes) so it could actually rule out everything else leaving only the possibility of a true valid quoteless string assignment.
    The tokeniser could potentially identify it as well, matching n characters ahead would handle any number of opening quotes, then you eat every character until you reach a closing quote and just check for matching closing count. For zero quoted strings if you did it at this stage you could lose the ability to invoke functions and some other possible runtime whackyness I hadn't considered with this goofy language. You can probably overcome all of that, a very crude way would be having multiple parsing stages. Anyway, once it has failed to match the token with any keywords, identifiers, funcions etc, it would just assume it has found a string literal token and the parser would handle that the same as every other string literal, quoted or otherwise.
    [edit] obviously this was written with recursive descent parsing in mind and its been a long time since I wrote my own languages, esoteric or otherwise.

  • @CielMC
    @CielMC 11 หลายเดือนก่อน +2

    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

  • @jwstolk
    @jwstolk 10 หลายเดือนก่อน

    Variable names starting with a number would be nice and the parser could probably handle that as long as the variable name contains at least one (or maybe two?) non-numerical letter, and valid numbers like 0xABCD and 123e6 are not allowed as variable name. You could then have variable names like 3D_point (or use variable name like: 1st, 2nd, 3rd, etc.)

  • @juandig
    @juandig 7 หลายเดือนก่อน

    Honestly the negative indentation is kinda cool so you can just indent back when the space is getting too little when nesting nests in nests so you can also make it wavey

  • @powerfist1340
    @powerfist1340 6 หลายเดือนก่อน

    I have no idea how to code whatsoever, but youtube keeps recommending you to me and i find the content mildly entertaining.

  • @shioli3927
    @shioli3927 11 หลายเดือนก่อน +2

    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.

  • @verb0ze
    @verb0ze 5 หลายเดือนก่อน

    Man, ive not laughed this hard at a vid in a while 😂. The rollercoaster of emotions! Kudos to the devs of dreamberd!

  • @Marxone
    @Marxone 11 หลายเดือนก่อน

    The question mark for debug is amazing.

  • @PomuLeafEveryday
    @PomuLeafEveryday 11 หลายเดือนก่อน +1

    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.

  • @Jmcgee1125
    @Jmcgee1125 11 หลายเดือนก่อน +1

    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.

  • @RicardoSilva-hk2er
    @RicardoSilva-hk2er 11 หลายเดือนก่อน +3

    this language is the perfect example of wanting to "fuck around" with people but not wanting to be too obvious

  • @jdp9994
    @jdp9994 6 หลายเดือนก่อน

    Made me laugh so hard, haven't laughed this hard in many months. Thank you for evaluating the Dreamberd language!

  • @mm_subhan
    @mm_subhan 11 หลายเดือนก่อน

    Implementing Loops with reverse wraspping the code block. Perfect!!!

  • @TheEkkas
    @TheEkkas 5 หลายเดือนก่อน

    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.

  • @Exilum
    @Exilum 8 หลายเดือนก่อน

    Honestly, I quite liked the when feature. Being able to subscribe to variable changes after the fact is somehow incredibly useful.
    In the end, I could see /0 returning undefined instead of an error being useful in some situations.
    But the rest is so damn funny it eclipses all of that.

  • @8ightfold
    @8ightfold 11 หลายเดือนก่อน

    I HAVE to make a compiler for this its genius

  • @jaysistar2711
    @jaysistar2711 5 หลายเดือนก่อน

    The effect of the `with()` feature in JavaScript is basically implied in all memeber functions of a C++ class or struct.

  • @Vegalith
    @Vegalith 2 วันที่ผ่านมา

    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

  • @krunalakbari5432
    @krunalakbari5432 11 หลายเดือนก่อน +2

    i can't take it anymore. how can one md file make me lough for 1 hour.

  • @kellybmackenzie
    @kellybmackenzie 11 หลายเดือนก่อน +1

    The "-3 spaces are also allowed" broke me completely LOL, amazing 10/10

  • @darylclarino5439
    @darylclarino5439 11 หลายเดือนก่อน

    Look at the test folder hahaha had a good chuckle

  • @josefaguilar2955
    @josefaguilar2955 11 หลายเดือนก่อน

    "with" in JS has always felt like the precursor to variable destructuring.

  • @garrettmandujano2996
    @garrettmandujano2996 11 หลายเดือนก่อน +1

    Kinda reminds me of JDSL, where Tom put a “:)” after every statement

  • @axelfoley133
    @axelfoley133 11 หลายเดือนก่อน +2

    The irony of Primeagen malfunctioning at the function section.

    • @wumwum42
      @wumwum42 11 หลายเดือนก่อน +2

      *the ucin section

  • @Renni-kg6vf
    @Renni-kg6vf 6 หลายเดือนก่อน

    I can only imagine that const const const actually changes the dreamberd binary so that that variable is immutable over all dreamberd compiled files.

  • @ninocraft1
    @ninocraft1 3 หลายเดือนก่อน

    im going to write a compiler for this

  • @zhafran7076
    @zhafran7076 11 หลายเดือนก่อน +1

    yea, using a floating numbers for indexing, it will be great

  • @MarcCastellsBallesta
    @MarcCastellsBallesta 9 หลายเดือนก่อน +2

    Lol! I laughed so hard and so many times in this video!
    Thanks Prime and thanks DreamBird foundation!

  • @callyral
    @callyral 6 หลายเดือนก่อน

    did not expect to see todepond here

  • @skaruts
    @skaruts 9 หลายเดือนก่อน +1

    TodePond is something else lol. Literally hilarious insanity in everything he does.

  • @S1D94
    @S1D94 3 หลายเดือนก่อน

    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.

  • @sinom
    @sinom 11 หลายเดือนก่อน

    the whole "const const" thing is basically like where you put the consts in pointers for c/cpp code

  • @dimaorols8143
    @dimaorols8143 11 หลายเดือนก่อน +1

    I would love for you to host a Netflix series about programming, Start simple. I'd pay for that.

  • @kevinkkirimii
    @kevinkkirimii 11 หลายเดือนก่อน +1

    With MAYBE boolean and WHEN keyword, this language set to work well in quantum computing.

  • @joaodiasconde
    @joaodiasconde 11 หลายเดือนก่อน

    Absolute banger of a language and video

  • @Thect
    @Thect 11 หลายเดือนก่อน +1

    Now the problem is, what should I learn for my FAANG interview, JDSL? or DreamBerd?

  • @BleachWizz
    @BleachWizz 4 หลายเดือนก่อน

    what? with exists in python and it's kinda cool there, you go:
    with (expression) as (var):
    ...code...
    then you can create a scope with a file opened or something like that.
    if this sintax were written like with (a = [1,2,3]) then a.toString(); then it would kinda work.
    I use with a lot to open files:
    1 with open(path, 'r') as f:
    2 ... f.read()
    3 the file is closed here
    I also had made classes that implemented with, it was used to build procedually an object then save it in memory at the end of the construction. Not necessary but very neat.

  • @ianweckhorst3200
    @ianweckhorst3200 6 หลายเดือนก่อน

    Oh okay, I think I realized what the const x3 does, lifetimes can’t be used and it can’t even be deleted, that is crazy

  • @matthewgiallourakis7645
    @matthewgiallourakis7645 8 หลายเดือนก่อน

    Kotlin is built around the concept of `with`. I love it.

  • @iliya-malecki
    @iliya-malecki 11 หลายเดือนก่อน

    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

  • @stanrock8015
    @stanrock8015 6 หลายเดือนก่อน

    I’ve know of dreamberd before seeing this but this has me rolling the whole time. Yes THE WHOLE TIME (doubtfire quote)

  • @scottiedoesno
    @scottiedoesno 11 หลายเดือนก่อน +3

    This is top tier meming and I love it

  • @technicalgaming4936
    @technicalgaming4936 11 หลายเดือนก่อน

    I have thought about it and you can maybe use reverse with the first one being conditional to create a loop

  • @henson2k
    @henson2k 6 หลายเดือนก่อน

    We, as a society, just not ready for this

  • @legendrags
    @legendrags 6 หลายเดือนก่อน +2

    When a language has extremely amazing features and still manages to disappoint...

  • @KvapuJanjalia
    @KvapuJanjalia 4 หลายเดือนก่อน

    "any number of quotes you want" - that is an actual C# feature.

  • @demolazer
    @demolazer 10 หลายเดือนก่อน

    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.

  • @zahawolfe
    @zahawolfe 11 หลายเดือนก่อน +2

    I haven’t laughed this hard over something programming related since college

  • @TianyuQi
    @TianyuQi 11 หลายเดือนก่อน

    3:00 using the building analogy, the lowest floor is a basement, makes perfect sense(((

  • @arkie87
    @arkie87 9 หลายเดือนก่อน

    Maybe I am missing how it works, but wouldnt the with keyword be fine if you had to specify a . before the variable you wanted to apply the with to? e.g.
    with ([1,2,3]){
    console.log(.toString())
    }
    Would that eliminate the context manager ambiguity?

  • @michawhite7613
    @michawhite7613 6 หลายเดือนก่อน

    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

  • @jgtb0pl
    @jgtb0pl 11 หลายเดือนก่อน

    3:23 I was so confused as to why 0.5 was the third position but then I remembered indexes start at 0.5

  • @hacktor_92
    @hacktor_92 10 หลายเดือนก่อน

    thanks for showing me dreamberd language. now we're all rewriting our ENTIRE 12.5k+ projects in it

  • @insertoyouroemail
    @insertoyouroemail 11 หลายเดือนก่อน

    Having a line print debug info? hmm nice. I'm going to spend a few minutes and make a macro for Scheme to get this feature for myself. *nonchalantly inspects fingernails*

  • @neociber24
    @neociber24 11 หลายเดือนก่อน

    I don't even had the courage to create a lexer for that

  • @curzon_ark5846
    @curzon_ark5846 11 หลายเดือนก่อน

    This video earned a subscription and a new language to force my students to learn for their final.

  • @canadiannomad2330
    @canadiannomad2330 11 หลายเดือนก่อน +1

    Now I want a transpiler to convert my rust code to this obviously superior language.

  • @markzuckerbread1865
    @markzuckerbread1865 11 หลายเดือนก่อน

    I think that the when statement is an element borrowed from reactive programming, although I'm not super sure about how that works.

  • @onekoff8480
    @onekoff8480 10 หลายเดือนก่อน

    7:45. Actually, maybe backwards indentation can be pretty comfortable to read, if you think about it. Well, if you have the time to do it. If you don't have the Java habit of naming your functions.