The Weirdest Language I've Ever Seen (I kinda love it...)

Поділитися
Вставка
  • Опубліковано 17 чер 2024
  • Everything about Dreamberd is beautiful. Todepond is a legend for this. And somehow DAN ABRAMOV IS INVOLVED??! Legendary.
    FOLLOW TODEPOND ‪@TodePond‬
    Source
    github.com/TodePond/DreamBerd
    Check out my Twitch, Twitter, Discord more at t3.gg
    S/O Ph4se0n3 for the awesome edit 🙏
  • Наука та технологія

КОМЕНТАРІ • 263

  • @ottergauze
    @ottergauze 15 днів тому +247

    Satire aside, ending a statement with a question mark to print debug information honestly is so sick as an idea

    • @fionnlanghans
      @fionnlanghans 14 днів тому +4

      var_dump()

    • @RenderingUser
      @RenderingUser 11 днів тому +9

      atleast rust has debug macro
      question mark is for resolving return type errors

    • @deanvangreunen6457
      @deanvangreunen6457 2 дні тому +2

      you could define a macro in c++ to replace any line ending with ?, #PreProcessors

    • @pixobit5882
      @pixobit5882 День тому

      ​@@fionnlanghansduh

  • @kylescomments6033
    @kylescomments6033 15 днів тому +267

    What says intuitive like realizing "union" is a keyword that defines a fUNctION

  • @jerondiovis6128
    @jerondiovis6128 15 днів тому +183

    31:16 "delete fun" is a thing that some languages just do by default.

  • @avi7278
    @avi7278 15 днів тому +240

    too many "duh"'s

    • @prashantjha73
      @prashantjha73 15 днів тому +31

      he said 'duh' 58 times.
      duh!!!

    • @corewwwi
      @corewwwi 15 днів тому +5

      [duh intensifies]

    • @akinoreh
      @akinoreh 15 днів тому +14

      I suggest they change true == duh, and false == huh

    • @arstneio
      @arstneio 15 днів тому +3

      @@prashantjha73duh i swear duh its so many more than duh 58 duh times duhhhhhhhhhh

    • @delusoire7125
      @delusoire7125 14 днів тому

      Duh

  • @AvanaVana
    @AvanaVana 15 днів тому +37

    16:00 I would make a habit of just using the keyword “unction” for all my functions, to heap blessings upon my code. This would also allow for some interesting usage of “on” as the function keyword before event handlers, “ui” before render functions in front end frameworks, and others…

  • @keenoogodlike
    @keenoogodlike 15 днів тому +89

    It's a top meme language. This language allow people to declare function "fuct".

    • @aDaily1222
      @aDaily1222 14 днів тому

      or just fuc

    • @michawhite7613
      @michawhite7613 8 днів тому +1

      also fucn

    • @lordender_kitty_official
      @lordender_kitty_official День тому

      @@michawhite7613 could you also use "nct" to make a function or would it have to be starting from the start of the word function?

    • @michawhite7613
      @michawhite7613 День тому

      @@lordender_kitty_official Yes that works too. Also "union" declares a function.

  • @Fupicat
    @Fupicat 15 днів тому +47

    I hate that I kinda like the significant whitespace for arithmetic. Also, for someone who's had to install and uninstall the gigabyte-big "Visual Studio Installer" multiple times just to get one or two things, the "DreamBerd installer installer" hits close to home!

  • @Daranix
    @Daranix 15 днів тому +37

    I like the question mark as "What the f* is this" operator

  • @huyen6784
    @huyen6784 15 днів тому +31

    Not enough "duh"'s

  • @thunder____
    @thunder____ 14 днів тому +15

    Gd Theo, when did you become the funniest UA-camr?
    Also, thank you for voicing a clear and firm stance on the rights of queer people. This is a scary time for lots of people, particularly transgender people, and I know the opinion of one person isn't make or break, but by collectively standing together and affirming that queer people deserve the same rights and respect as anybody, we can make the world a better place and I appreciate you doing your part.

  • @wlockuz4467
    @wlockuz4467 15 днів тому +20

    Nobody:
    Me calling all my functions "funion" because I can

  • @hyperkiko
    @hyperkiko 15 днів тому +57

    ah yes, todepond reaction video

  • @Interpause
    @Interpause 3 дні тому +6

    that const const const example was a mistake; now pi is permanently just 3 significant figures... that means we now need a pi2 with more significant figures....

  • @bnjmn21
    @bnjmn21 14 днів тому +11

    I love how the const const, const var, ..., is actually a thing in rust its just like this:
    let x: &mut str = ... //const const
    let x: & str = ... //const var
    let mut x: & str = ... //var const
    let mut x: &mut str = ... //var var

    • @avishjha4030
      @avishjha4030 14 днів тому +6

      You mixed up the first 2:
      const const - let x: &str
      const var - let x: &mut str
      var const - let mut x: &str
      var var - let mut x: &mut str

    • @wetfloo
      @wetfloo 8 днів тому +1

      it's a thing in C too with constant variables and pointers to mutable data and vice versa :з

  • @Tekay37
    @Tekay37 15 днів тому +44

    4:30 don't you think, 👍should be the boolean "True" and 👎should be the boolean "False"? It would be so much more international!

    • @COArSe_D1RTxxx
      @COArSe_D1RTxxx 15 днів тому

      In Brazil, a thumbs-up is equivalent to flipping someone off.

    • @tusharjain9701
      @tusharjain9701 14 днів тому +5

      It's just variable declaration. You can do for False also. Even use 🤔 for maybe 😂

  • @limbo3545
    @limbo3545 15 днів тому +6

    ngl some concepts are really interesting. Questionmark at the end, previous/next. I actually like that.

  • @StickySli
    @StickySli 15 днів тому +12

    const const const pi = 3.14!
    Nothing can change this!

  • @kisaragi-hiu
    @kisaragi-hiu 15 днів тому +9

    13:28 Common Lisp and Scheme (including Racket) and a bunch of other Lisps also have fractions. It's pretty nice.
    In Scheme and Racket, there is a distinction between exact and inexact numbers --- 1/3 is exact, and you can turn it into the floating point approximation with the function "exact->inexact" (as far as I remember).
    Racket's reference documentation about numbers is a pretty good read. An excerpt:
    "All numbers are complex numbers. Some of them are real numbers, and all of the real numbers that can be represented are also rational numbers, except for +inf.0 (positive infinity), +inf.f (single-precision variant, when enabled via `read-single-flonum`), -inf.0 (negative infinity), -inf.f (single-precision variant, when enabled), +nan.0 (not-a-number), and +nan.f (single-precision variant, when enabled). Among the rational numbers, some are integers, because `round` applied to the number produces the same number."

    • @slayvict
      @slayvict 14 днів тому

      Also c# has decimal type, that allow precise fraction arithmetic

  • @pablovaldes2397
    @pablovaldes2397 15 днів тому +85

    brainrot language

    • @bloozy85
      @bloozy85 15 днів тому +6

      const const const 3 = 3;
      3 = 3 // maybe?

    • @theunknown4834
      @theunknown4834 14 днів тому +6

      @@bloozy85 Use ! not ; Now you got the opposite of what you want :O

    • @bloozy85
      @bloozy85 14 днів тому

      @@theunknown4834 😂😂👍👍

    • @Nick12_45
      @Nick12_45 13 днів тому

      @@theunknown4834 i mean it still works for negative priority

  • @kettenbach
    @kettenbach 14 днів тому +7

    This was great! Got a really good laugh. Thanks 👍

  • @Kas-tle
    @Kas-tle 15 днів тому +11

    Lol it’s literally just the language that guy proposed in his talk about making the worst language

  • @jefferyosei101
    @jefferyosei101 15 днів тому +2

    This was so much fun to watch, Love it!

  • @arogueotaku
    @arogueotaku 15 днів тому +4

    I want the Theo "duh" sound byte as my morning alarm.

  • @ReneHartmann
    @ReneHartmann 15 днів тому +9

    As for 'when', Tcl has this feature in form of the 'watch' command.

  • @priyanshshah6905
    @priyanshshah6905 15 днів тому +11

    can someone give me a duh count

    • @avishjha4030
      @avishjha4030 14 днів тому +3

      Someone replied above, saying 58.

    • @SobTim-eu3xu
      @SobTim-eu3xu 23 години тому +1

      Also "obvious" count, please

  • @solonovamax
    @solonovamax 15 днів тому +5

    major props for the donation at the end

  • @patrickjreid
    @patrickjreid 14 днів тому +1

    This looks so cool. I have honestly been wondering why we are sticking so closely with JS and why there isn't an evolution in front end language. we have 1000's of back end languages and 1 front end language.

  • @shapelessed
    @shapelessed 15 днів тому +4

    The question mark is actually a really nice feature... Just type a character instead of having to set up debuggers and connections and ehat not in your IDE...

  • @abuzain859
    @abuzain859 2 дні тому

    @t3dotgg I am using Next.js 14 with the app router. In my main layout file, I am fetching user data using a server component and then sharing that data with a client component. I have a context provider that passes this data to the context, allowing me to easily access the user data across all client components on different pages.
    However, I am facing an issue: while I can easily access the user data from the context in client components on all pages, I need to access this data in a few server components on other pages as well. How can I achieve this? Should I use cookies on the server side for this, or is there a better approach?

  • @lengors7327
    @lengors7327 14 днів тому +2

    Take a shot everytime Theo says "duh" or "obviously"

  • @cherubin7th
    @cherubin7th 15 днів тому +5

    I am more hyped that a new Fortran is out!

  • @_tenshiro
    @_tenshiro 14 днів тому +2

    My broccoli brain is now a balloon

  • @Seedwreck
    @Seedwreck 7 днів тому +1

    "You could use their while instead"
    Uh
    Tail Call, recursion?

  • @TodePond
    @TodePond 15 днів тому +13

    this language looks stupid

    • @nimiugn
      @nimiugn 15 днів тому +2

      agreed. unironically funny tho thanks for this masterpiece!

    • @LiveErrors
      @LiveErrors 15 днів тому +2

      Yeah, a smart language would use frogs and not birds

  • @mikhail1099
    @mikhail1099 День тому

    The language is not even out yet, but all the jobs require 2+ years of commercial experience with it...

  • @miguelguthridge
    @miguelguthridge 9 днів тому +1

    I wish the "don't skip this section" section wasn't skipped. It's very important.

    • @CrushedAsian255
      @CrushedAsian255 5 днів тому

      ?

    • @CrushedAsian255
      @CrushedAsian255 5 днів тому

      If it’s important make a PR and add more exclamation marks to the statement? Idk I haven’t read it either

  • @orisphera
    @orisphera 7 днів тому

    5:17 Maybe some count as follows: 0, 1, the next one should be 2, but I ran out of them, so there are 2
    In C/C++:
    int i = 0;
    while (cats >> cur) ++i;
    You can use the for loop for 1-based counting, too. However, the variable would be incremented once more. So, if you move the declaration outside the loop, you get
    int i;
    for (i = 1; i

  • @barneylaurance1865
    @barneylaurance1865 3 дні тому +1

    One and a half bits isn't enough for a three-valued variable though. That would log2(3), approx 1.585 bits.

  • @gosnooky
    @gosnooky 14 днів тому +4

    If I use DreamBerd Enterprise Edition, do I need to use 'whilst' instead of 'when'?

  • @StickySli
    @StickySli 15 днів тому

    I could see negative indents being useful for conditionals that with "maybe" keyword to write functions with multipurposes, like if the variable is not maybe, process the code block below including negative and positive indents, but if it is maybe, parse only the negative indents.

  • @joshuathomasbird
    @joshuathomasbird 15 днів тому +3

    constconstconst writes a value to blockchain lol

    • @TimeLemur6
      @TimeLemur6 12 днів тому

      I thought that was const const const const?

  • @RandomGeometryDashStuff
    @RandomGeometryDashStuff 15 днів тому +2

    10:27 undefined is just property of window, you can do this: {const undefined='maybe';}

  • @playerguy2
    @playerguy2 21 годину тому

    10:58 Fine, then I will:
    In binary, the number of bits required to store a value that can take on up to N states is log2(N)
    and log2(2) = 1
    log2(4) = 2
    thus log2(3) must be 1,5 saving half a bit for other data. This is great for cache locality, allowing the developer to fit more data into the processor's cache and increasing performance of the app.
    Q.E.D.

  • @zeocamo
    @zeocamo 14 днів тому +1

    make a PR Theo, you got so many idea to make this a better language.

  • @CTimmerman
    @CTimmerman 14 днів тому +3

    Fuzzy keyword matching could be a thing.

  • @w1atrak1ng
    @w1atrak1ng 15 днів тому

    Enjoyed it too much XD

  • @SigmaTapion
    @SigmaTapion 14 днів тому

    The exporting thing, isn't that actually sort of what Java now does where you can define who can inherit a class? Or something like that

  • @godowskygodowsky1155
    @godowskygodowsky1155 3 дні тому

    13:26 Wolfram Mathematica defaults to fractions until you pass to a numerical function.

  • @PolyPenguinDev
    @PolyPenguinDev 8 годин тому

    the int array of digits got me

  • @__coder__gamer__india__
    @__coder__gamer__india__ День тому

    can u provide me the website link of all the programming lanugages that u show it in the first time

  • @graydhd8688
    @graydhd8688 14 днів тому +1

    TodePond is great, makes awesome videos

  • @lordender_kitty_official
    @lordender_kitty_official День тому

    as someone who calls functions methods, i would greatly appreciate if in this language, you could also use the same thing as the function keyword, but with method as well. so for instance, you could create a function using "meth" as a valid keyword.
    alternatively, it could be made so that in the case that "meth" is used, all numbers written within the function will instead be random and/or swapped with each other.

  • @benscherer7256
    @benscherer7256 13 днів тому

    Burp, please excuse my dear aunt sally
    Brackets > Parenthesis > exponents > mult/divide > add/substract
    The one thing i will never forget from 6th grade math class apparently.

  • @Anonymous-cw1hn
    @Anonymous-cw1hn 12 днів тому

    I can already see developers pulling their hair and jumping out of the window..
    Imagine dream bird becoming as popular as JavaScript

  • @Zaro2008
    @Zaro2008 4 дні тому

    The whole "const" and "var" idea is actually pretty good ngl

  • @tato-chip7612
    @tato-chip7612 14 днів тому +1

    did you know the best april fools jokes are not done on april first?

  • @joe-robin
    @joe-robin 14 днів тому

    I just saw the thumbnail.
    Did they think options are better

  • @joselmedrano
    @joselmedrano 14 днів тому

    Why is it that every time I search for web technologies on UA-cam that UA-cam insists on spamming with Theo's videos?

  • @sqivea
    @sqivea 14 днів тому

    Thank you for the video, it's a funny concept although I doubt this language is going to be practical. It's true that it kinda challenges the way we got used to code but the thing is there are reasons why we do a lot of things the way we do them. For instance, there are reasons why no language allows you to define lifetime duration for a variable: no code ever runs consistently, there's no telling how long a specific procedure will take on different cpus/systems/machines, even during different runs on the same machine; and if some piece of your code is dependent on a variable with a specific lifetime duration it may work one time and fail another time in the most unpredictable ways.
    There are also a lot of features that look curious but make no real use, like the ability to redefine 5 and make it become 4. There is absolutely no use case when allowing that could do anything helpful but it definitely makes it easier to "shoot your leg with a -gun- cannon". And that can be said for a lot of other features of the language.
    Anyways thanks for bringing it up

  • @fionnlanghans
    @fionnlanghans 14 днів тому +1

    My programming language actually implements floating-point numbers as fractions (pgcl)

  • @andrewkosenko2757
    @andrewkosenko2757 11 днів тому

    Imagine adding let to the equation

  • @andrew_ray
    @andrew_ray 10 днів тому

    13:27 Haskell has a boatload of built-in numeric types, including Rational (aka Ratio Integer), which is for "arbitrary-precision rational numbers." You can even have a Complex Rational without requiring any packages!

  • @lilyzheng2322
    @lilyzheng2322 14 днів тому

    everything is a string and a number

  • @AndrewMcDonald-g6j
    @AndrewMcDonald-g6j 3 дні тому

    DreamBird: 🫴 Variable variables, 🫳 Float array indexes. 😂Lol
    PHP: Can someone explain the joke?😦

  • @AAA-vq6lz
    @AAA-vq6lz 9 днів тому

    14:59
    jshell> String hi = new String(new byte[]{'h', 'e', 'l', 'l', 'o'});
    hi ==> "hello"
    jshell> String hello = "hello";
    hello ==> "hello"
    jshell> hi == hello
    $3 ==> false

  • @logalot
    @logalot 5 днів тому

    yoo my logo shows up because i was the second biggest contributor!

  • @solii01
    @solii01 15 днів тому

    the DreamBerd installer installer hits home

  • @benscherer7256
    @benscherer7256 13 днів тому

    Swift actually supports emoji in variable and method names i believe

  • @huxleyleigh4856
    @huxleyleigh4856 3 дні тому

    Ok but the programming language Uiua is totally different to C, JS and even DreamBerd it implements a bunch of nice things and is genuinely a really useful and fun language. (and it uses ? for debug)

  • @cerulity32k
    @cerulity32k 7 днів тому

    5:59 Here's how I think about it: It's not indexing, the possible indices for the list are now -1, 0, 0.5, and 1. Like Lua!

  • @5cover
    @5cover День тому

    Soo.. const const const makes the file where the constant is defined readonly in the editor?

  • @sailingspearo1074
    @sailingspearo1074 14 днів тому

    The new file tag seems a bit like Bamboo yaml spec "Document" tag... Its allready out there...

  • @yugiohsc
    @yugiohsc 7 годин тому

    I wonder what percent of random Word documents are valid DreamBerd

  • @jerondiovis6128
    @jerondiovis6128 15 днів тому +14

    This kind of videos needs its own special tag in title.
    So those who don't need their daily dose of sarcasm won't waste time clicking on it.

    • @RoflMcCopter
      @RoflMcCopter 14 днів тому +2

      It wouldn't be so bad if it wasn't so over the top. Sarcasm is fine, but it became annoying so quickly that I can't even finish the video lol

  • @lylyscuir
    @lylyscuir 15 днів тому +2

    LISPs like Common Lisp, Racket, and Clojure have native rationals. 13:38

  • @goldie3238
    @goldie3238 4 дні тому

    Parenthesis
    Exponent
    Multiplication
    Divison
    Addition
    Subtraction
    do not think multiplication comes before divison they are in the same step so for that you read left to right with the calculation of multiplication and division and the same is true for addition and subtraction, they are in the same step do left to right with the calculation.

  • @HeroOfHyla
    @HeroOfHyla 14 днів тому

    In Godot, a const Dictionary is immutable, unlike a const Object. I don't _want_ immutability, I just want to prevent reassignment. The "const const" syntax from DreamBerd sounds like it would be great to have.

  • @johnsmith8981
    @johnsmith8981 12 днів тому

    "loops are a complicated relic of archaic programming languages" reads a lot like "I don't want to spend the time to implement loops so deal with it" 🤣

  • @CodingPuff
    @CodingPuff 14 днів тому +1

    How do you keep a straight face while reading this 😂

  • @fotnite_
    @fotnite_ 4 дні тому

    This language is very promising, but the interpreter needs to be Blazingly Fast to consider using it.

  • @RoughB8
    @RoughB8 14 днів тому

    7:20 The lifetime of objects sounds like fun unexpected behavior between 'lifetime ended' and GC cleanup. Or should the interpreter check the time for each line which would be absurd to do lol

  • @RandomGeometryDashStuff
    @RandomGeometryDashStuff 15 днів тому +2

    13:28 python3 has fractions module

  • @RadioactiveBluePlatypus
    @RadioactiveBluePlatypus 2 дні тому

    Dude just casually threw 500 dollars at a charity on stream -unprompted- and I'm eternally thankful.
    Edit: actually very much prompted but whatever

  • @bearvarine
    @bearvarine 13 днів тому

    It is hard to form a proper response to this language. But 'laughable' comes to mind.

  • @BastianInukChristensen
    @BastianInukChristensen 15 днів тому

    I don't need to learn the actor model, when I can just make an actor

  • @eazystudio
    @eazystudio 14 днів тому

    No way setting a 20s timer for a variable would go wrong 👀👀

  • @sean_r
    @sean_r 14 днів тому

    the language that all gameclam gamea are written in

  • @SnowTheParrot
    @SnowTheParrot 14 днів тому +1

    Theo the fact that youre so obsessed with emogis as variables is wild. lol
    i mean i get that you like it. thats fine.
    but to say its "annoying" that a language doesnt support that is crazy.
    its a programimng language, youre not texting your bff lol
    love your content though, great video!

  • @JayBlooBird
    @JayBlooBird 14 днів тому

    “Duh” is starting to sound like a tick

  • @NoenD_io
    @NoenD_io 6 днів тому

    Todepond mentioned

  • @varhar3296
    @varhar3296 10 днів тому

    Great satire, lets learn from it, here's what i like:
    Declarations + but mixed var const is cursed, make use of numbers, so const3 instead of const const const, oh, and 'const' now means const2
    Functions + but not like this, let me assign const4 fn= function (const4 means its a part of the language now)
    Types + this helps support lexers, but allow it to restrict type, give me byte for int8 and Bigint for int300
    Time + sometimes the client has their clock wrong and it affects synchronization, so just fix it :)

  • @100timezcooler
    @100timezcooler 14 днів тому

    Ur sarcasm feels like sarcasm.

  • @pup4301
    @pup4301 15 днів тому

    Feels like rust and fortran had a baby. I like it.

  • @RapLyricalVideos
    @RapLyricalVideos 14 днів тому

    Theo nice you changed the title after you saw the comments? Lmao

  • @tempestalle
    @tempestalle 15 днів тому +1

    why are they still using print(scores[0])!
    instead of just scores[0]?

  • @felinedis
    @felinedis 14 днів тому

    Only 11 months late

  • @ThomasWSmith-wm5xn
    @ThomasWSmith-wm5xn 14 днів тому

    whoever owns this repo needs to be banished to the shadow realm.

  • @aimasea
    @aimasea 15 днів тому +2

    15:21 I would actually try DreamBerd just because of this lmao

  • @NithinJune
    @NithinJune 14 днів тому

    pov: you’re looking for the TodePond comment

  • @elagrion
    @elagrion 14 днів тому

    In Swift you can actually use emojis as variable names. Any unicode goes: cyrilic, chineese, etc.

    • @elagrion
      @elagrion 14 днів тому

      It can't start with numbers, though. Obviously ).