New Gleam Just Dropped

Поділитися
Вставка
  • Опубліковано 4 лис 2024

КОМЕНТАРІ • 206

  • @lpil
    @lpil 5 місяців тому +194

    Wooo Gleam!!! Thanks for coving it

    • @AnthonyBullard
      @AnthonyBullard 5 місяців тому +13

      Louis mentioned. Gleam mentioned. My open PR mentioned 😅

    • @d_6963
      @d_6963 5 місяців тому +6

      The creator of the lang 😊. Gleam has the simplicity of Go with an functional paradigm. Love the use feature btw, it makes life simple.
      Still can't get nvim to go to definition on modules or imports. Can get over lay info. Any thoughts on what I'm doing wrong here? Works on vscode just fine

    • @lpil
      @lpil 5 місяців тому

      @@d_6963 You've probably installed the Mason package, which is broken. Uninstall it.

    • @jordangarside
      @jordangarside Місяць тому +1

      I feel like as a core formatter principle, your code should always result in the same format regardless of the path. If you want to use a different format i.e. always expanding pipes, then that should just be a formatter config flag. Otherwise you end up with code that looks different depending on who wrote it -- less desired for projects with many contributors.

    • @nyahhbinghi
      @nyahhbinghi 12 днів тому +1

      I am a gleamhead!

  • @annoorange123
    @annoorange123 5 місяців тому +78

    Classic prime: i dont understand why this feature exists
    Also prime 15 seconds later: this is the best feature ever

    • @XDarkGreyX
      @XDarkGreyX 5 місяців тому +7

      Relatable tho, right?

    • @fennecbesixdouze1794
      @fennecbesixdouze1794 Місяць тому

      @@XDarkGreyX No not really, it's immature, reactionary stupidity and something people should try to overcome.

    • @disgruntleddev
      @disgruntleddev Місяць тому

      ⁠@@fennecbesixdouze1794why. Going from not understanding the usefulness of a thing to knowing the usefulness and applications of it is immature and reactionary stupidity? So once I conclude something I don’t understand is useless I must stick to this conclusion regardless of the information given to me to change my outlook ? THAT would be childish

  • @user-hk3ej4hk7m
    @user-hk3ej4hk7m 5 місяців тому +51

    0:05 "if I had all the time on the world you're on my list" is what she told me too

  • @johnyepthomi892
    @johnyepthomi892 5 місяців тому +21

    I tried gleam when it first released and it I loved it. It’s clean and lean. Excited to try it again.

  • @SnowDaemon
    @SnowDaemon 5 місяців тому +110

    Louis as benevolent dictator > Language writers trying to please everybody of all styles

    • @matress-4-2323
      @matress-4-2323 5 місяців тому +6

      on a real note though, this guy actually does want to be a dictator in real life. for anyone curious take a look at his blog.

    • @SnowDaemon
      @SnowDaemon 5 місяців тому +23

      @@matress-4-2323 I've been keeping up with him for a while now, also im in his Discord.
      He's nice and has a great personality.
      Also, he's very inclusive and doesn't discriminate.
      Sounds like the opposite of a dictator to me.
      He's only dictator-ish when running his language, as he should be. That's why it's turning out so well and gaining populartity.
      He's not making the same mistakes as other language authors and trying to make Gleam the language that pleases everybody, because he understands that it will end up pleasing none.

    • @jswew12
      @jswew12 5 місяців тому +6

      @@matress-4-2323what in his blog suggests that?

    • @SnowDaemon
      @SnowDaemon 5 місяців тому +12

      @@jswew12 he doesnt even know. lol. he was just trolling

  • @josegabrielgruber
    @josegabrielgruber 5 місяців тому +4

    I agree, what finally helped me using neovim was to just use it vanilla.
    Then downloaded Kickstart for configuring a theme and installing neovim-tree.
    Then I started playing with LSP.
    But I always try to keep shortcuts vanilla, if I need a script to do something, I ignore it.
    Lots of research of how to do things, but, things are slowly working out

    • @jesustyronechrist2330
      @jesustyronechrist2330 5 місяців тому +2

      Best way to use Vim is to not and instead program on clay tablets.

  • @c4tubo
    @c4tubo 5 місяців тому +10

    Not yet sure about Gleam, but anything that brings more folks to the BEAM is good.

    • @theherk
      @theherk 4 місяці тому

      > All things serve the beam.

  • @felixw841
    @felixw841 5 місяців тому +6

    14:18 you might want to doublecheck your NotNil assertions. This can be a bit tricky in go. Because the receiver type here is `any`, if you pass a value of for example type `*int` with a value of `nil`, the `item == nil` expression will not be true because when passing `*int` as `any`, the actual thing being passed is something like a tuple the value itself (nil) and the type, which together is then not `nil`, hence the `item == nil` check will not catch it.
    You can do a proper nil--check in this case using reflection only for example like this:
    ```go
    import "reflect"
    func isNil(v any) bool {
    if v == nil {
    return true
    }
    rv := reflect.ValueOf(v)
    switch rv.Kind() {
    case reflect.Ptr, reflect.Interface, reflect.Slice, reflect.Map, reflect.Chan, reflect.Func:
    return rv.IsNil()
    default:
    return false
    }
    }
    ```

  • @i_Amazin_
    @i_Amazin_ 5 місяців тому +6

    "Flip take it out"
    Flip: lemme end this man's career

  • @brianm58
    @brianm58 5 місяців тому +1

    Looking into Gleam as a C# developer. I agree throw is bad. I now use Union/Option types in C# just to avoid propagating throw's from a try/catch. Try/catch is an expensive for an application. I'll have to dig a little deeper into negative space programming, never heard of it until now. My apps can't crash but I can return a 500 status code so I have objects like Error, Threw, Panic to signal to the developer that there's a mismatch in the application state.

  • @3年の上に石
    @3年の上に石 5 місяців тому +4

    Gleam 5 years experience on job list next year

  • @lukewood2662
    @lukewood2662 26 днів тому

    23:35 Prime really added "parseDeezNuts" to his stuff lol

  • @CaptTerrific
    @CaptTerrific 5 місяців тому +32

    The "butt as an avatar" bots wasted no time commenting!

  • @mskiptr
    @mskiptr 5 місяців тому +3

    Prime still haven't seen the light of the type system… You can absolutely make invalid states unrepresentable and that makes a lot of asserts just pointless.

  • @angeloceccato
    @angeloceccato 5 місяців тому +10

    It's me! Gia' como!
    being Italian it is so strange to me xD 😅

    • @303pix
      @303pix 5 місяців тому +1

      addirittura durante il 2 giugno! orgoglio!

  • @Filup
    @Filup 3 місяці тому

    I recently started learning rust, and a video on proper assertion etiquette would be awesome

  • @akis854
    @akis854 5 місяців тому +1

    I really like Gleam, has a such a nice Elm vibe, but built on a much better platform

  • @hasbucket
    @hasbucket 5 місяців тому +1

    Have you tried the LSP for Golangs "templ". Don't think you got the LSP to work in vim when you tested templ (in the video I saw).
    It is quite good!

  • @TurtleKwitty
    @TurtleKwitty 5 місяців тому +2

    Wanted to add to the "types should make these states unrepresentable" try doing that across FFI with c. If your language has FFI then you need an assert barrier to make the types respected but if you assume that what you get is valid then your types break down, so you still need asserts to enforce the static side of the types. And of course as prime is doing has a runtime component you need assert barriers there too obviously

    • @mskiptr
      @mskiptr 5 місяців тому +1

      Well, duh. If you're doing FFI you either have to check the assumptions at runtime, hope things will somehow work out™ or bring static analysis (and maybe even formal proofs) to the table.
      But this is not what people mean when they advise you to use types though.

  • @_bradleystrider
    @_bradleystrider 5 місяців тому

    language server issues were the main reason why i paused my gleam learning experience, very excited to get back into it

  • @caspera3193
    @caspera3193 5 місяців тому +1

    Looks nice, hope it will gain popularity and adoption

  • @JuliaOrtiz-ti6ku
    @JuliaOrtiz-ti6ku 4 дні тому

    Zig has the exact same problem, the compiler halts on the first error, and that makes the lsp kinda weird

  • @RoketGames
    @RoketGames 5 місяців тому

    My main issue with ruby is how bad it's LSP and tooling is. You are right that it makes an okay language feel bad.

  • @houneavireakpong9098
    @houneavireakpong9098 5 місяців тому +6

    Having no loops is wild

    • @giacomo_cavalieri
      @giacomo_cavalieri 5 місяців тому +16

      Oh yeah it definitely takes a bit of getting used to coming from other languages! Gleam’s Exercism track does a great job at helping you learn that if you’re interested

    • @user-uf4lf2bp8t
      @user-uf4lf2bp8t 5 місяців тому +7

      It is weird, but it does make a lot of sense without mutability and side effects, as you can't have an accumulator that you operate on for each iteration without mutability unless you use recursion

    • @AnthonyBullard
      @AnthonyBullard 5 місяців тому +5

      Giacomo the man himself in the comments. What a time to be alive

    • @giacomo_cavalieri
      @giacomo_cavalieri 5 місяців тому +8

      @@AnthonyBullard I had to figure out why people started nicknaming me Guyacomo 😂

    • @isodoubIet
      @isodoubIet 5 місяців тому +6

      pretty standard for functional languages.

  • @j_stach
    @j_stach 5 місяців тому +1

    Love the language, was initially turned off by the code of conduct, but it seems they changed it or maybe I misremembered it. Definitely will give it a try

  • @MarkMark
    @MarkMark 4 місяці тому +1

    Welcome to the beautiful world of let it crash. ; )

  • @SkinnyGeek_1010
    @SkinnyGeek_1010 5 місяців тому +1

    Gleam mentioned!

  • @hectobit
    @hectobit 5 місяців тому +1

    3:40 made me think of OCaml immediately

  • @rosehogenson1398
    @rosehogenson1398 5 місяців тому

    Asserts can be useful, but I think with good unit testing, asserts become a bit redundant

  • @nyahhbinghi
    @nyahhbinghi 3 місяці тому +1

    GLEAM LANG

  • @phewpow
    @phewpow 5 місяців тому +1

    is assert optimized away in a release version?

  • @TravisBerthelot
    @TravisBerthelot 5 місяців тому

    assert was always as good as Runtime Exceptions. It is nice to know that someone else other than Carmack knows this that is in pop culture.

    • @isodoubIet
      @isodoubIet 5 місяців тому

      Crashing the program on assert errors is the sort of thing that only works if you have zero users, however.

    • @TravisBerthelot
      @TravisBerthelot 5 місяців тому

      @@isodoubIet True and the same with Runtime Exceptions.

    • @isodoubIet
      @isodoubIet 5 місяців тому

      @@TravisBerthelot The difference is precisely that exceptions can be caught, which means you get to log the error and investigate it later, which makes the thing actually work. If you just crash, you may not even know _that_ there's something to investigate.

    • @TravisBerthelot
      @TravisBerthelot 5 місяців тому

      @@isodoubIet You don't catch runtime exceptions just other exceptions.

    • @isodoubIet
      @isodoubIet 5 місяців тому

      @@TravisBerthelot I have no idea what you're talking about, sorry.

  • @TheLucanicLord
    @TheLucanicLord 4 місяці тому

    on error resume.
    What could possibly go wrong?

  • @gamszguybaz3202
    @gamszguybaz3202 5 місяців тому

    Full yt video on panic and asserts would be nice.

  • @JoshuaMoreno
    @JoshuaMoreno 5 місяців тому +1

    Michael mentioned?

  • @ArathSin
    @ArathSin 5 місяців тому

    I like to fix one error at a time as well, but I've run into scenarios in the past where for example I need to ship a work project and I _know_ there are errors, but I don't know how many, or how complex, which makes it very hard to put an eta on a launch or even estimate how many resources you need to assign to a project.

  • @niamotullah99
    @niamotullah99 5 місяців тому +1

    C# on Linux feels so bad for necessary tooling as beginners

  • @meryplays8952
    @meryplays8952 5 місяців тому +1

    I hope you cover Crystal.

  • @andrewdunbar828
    @andrewdunbar828 5 місяців тому

    A very little job is better than no job. You'll be the most qualified one when the big jobs start to show up.

  • @Alex_Codes
    @Alex_Codes 5 місяців тому +2

    Morning crew rise up

    • @kyjo72682
      @kyjo72682 5 місяців тому

      it's 4PM here

    • @amogh708
      @amogh708 5 місяців тому

      @@kyjo72682 so drop down

  • @shurizzle
    @shurizzle 5 місяців тому +2

    Good language, nearly inexistent BEAM integration. I would love to see it improve in this direction.

  • @TheKennyWorld
    @TheKennyWorld 5 місяців тому +1

    I am curios how good is to compile Gleam to JS

    • @SoulExpension
      @SoulExpension 5 місяців тому

      Me too. The syntax changes closer to js, and they want to make it more uniform across targets. Gleam will probably never realize wasm, it's a different concept. The Gleam/erlang vm running can provide a backend itself, the js target just a "best match connector" on the front end. How could they possibly employ erlang concurrency as js? Probably not. It's a hard sell against wasm right now, yet Gleam makes a lot of sense to me for a backend postgres thing. A performance compare to Rust wasm on a backend would be cool.

  • @PurplProto
    @PurplProto 5 місяців тому

    Flip left it in, and for good reason. W take

  • @netteNz
    @netteNz 5 місяців тому +2

    pythonista way of thinking imo i like it

  • @theaiguy_
    @theaiguy_ 5 місяців тому +1

    Holy hell!

  • @zekiz774
    @zekiz774 16 днів тому

    Holy hell

  • @Alo-xs5qu
    @Alo-xs5qu 5 місяців тому

    FLIP WYA
    TAKE IT OUT!

  • @itsthesteve
    @itsthesteve 5 місяців тому

    18:50 npm install everything mentioned

  • @arthurfleischman
    @arthurfleischman 5 місяців тому

    BRAZIL MENTIONED

  • @G3rain1
    @G3rain1 5 місяців тому +1

    What if you are processing 1000 records and the 57th record is bad but all the others are good. Assert would stop all processing. Throw is much better in this situation. You can throw on the bad record, catch it and write out to a log, then go on happily processing the rest.

    • @jswew12
      @jswew12 5 місяців тому +4

      In this situation, in a paradigm that doesn’t use try catch, you would just process the error as it comes in, rather than nebulously accepting *some* error and moving on as is standard with Python and Javascript. So, in Golang, the function I call would return a value and an error value, so I would check the error value before continuing. In Gleam (and I think Rust) your error would be part of the type of the return value, so you would pattern match for the error variant and handle it there.

    • @G3rain1
      @G3rain1 5 місяців тому

      @@jswew12 Okay, but in most languages that have try/catch/throw, they don't have functions that automatically package up errors in a return for you, so you would need to use a try catch, and importantly NOT an assert. Prrime's assertion (no pun) that try/catch/throw is ALWAYS bad is just incorrect.

    • @TurtleKwitty
      @TurtleKwitty 5 місяців тому +1

      That means that error is not a breakdown of the fundamental truths of your system so an assert would not be used.

    • @isodoubIet
      @isodoubIet 5 місяців тому

      @@jswew12 The point is not on exceptions vs errors as values, where the main issues are on the development side (ergonomics, refactorability, explicitness, etc -- one may prefer different tradeoffs here), but rather on _crash the entire world on assert violation_ vs _discard the current work unit._ The former will work, but will be a miserable experience if you have more than zero users.

    • @isodoubIet
      @isodoubIet 5 місяців тому +1

      @@TurtleKwitty If the "fundamental truths of your system" break down in such a fundamental way that you can't even log the error and exit gracefully, you can't reliably crash the program, either.

  • @Seedwreck
    @Seedwreck 5 місяців тому +1

    Gleam was meh until it got popularity boom.

  • @takeiteasyeh
    @takeiteasyeh 5 місяців тому

    1 error at a time

  • @JLarky
    @JLarky 5 місяців тому

    8:25 this is how go fmt works, but not how prettier works, interesting to see Gleam choose to support a bit more complicated setup :)

  • @theblackquill5921
    @theblackquill5921 5 місяців тому +4

    like this comment to show love to ma homeboi giacomo

  • @0netom
    @0netom 5 місяців тому

    VERSION + 8 😂

  • @thingsiplay
    @thingsiplay 5 місяців тому

    How did people program before LSPs?

    • @notusingmyrealnamegoogle6232
      @notusingmyrealnamegoogle6232 5 місяців тому

      It’s just more typing and debugging

    • @thingsiplay
      @thingsiplay 5 місяців тому

      @@notusingmyrealnamegoogle6232 I know, but Primagen makes sound it like without an LSP its not possible to program. We had linter, formatter, debugger, tag files and such before too.

    • @infastin3795
      @infastin3795 5 місяців тому +1

      It's not that hard to program without LSP when you know the language and libraries being used.

    • @fallingintime
      @fallingintime 5 місяців тому

      Regex parsers?

    • @ultru3525
      @ultru3525 5 місяців тому +1

      For languages with a REPL: SLIME mode.

  • @platin2148
    @platin2148 5 місяців тому

    Hmm syntax already bad dunno in which state semantics is but doesn't look way better.

  • @TheCatmorte
    @TheCatmorte 5 місяців тому

    huge discussion around failfast strategy :)

  • @AdamS-lo9mr
    @AdamS-lo9mr 5 місяців тому

    Prime needs to slow down sometimes. He goes at 1000 mph all the time and sometimes its hard to follow.

  • @notangelmario
    @notangelmario 4 місяці тому

    it's actually upsetting me how he selects text from the second to second to last character in a word or paragraph

  • @thedoctor5478
    @thedoctor5478 5 місяців тому

    They took async out of zig tho

    • @ForeverZer0
      @ForeverZer0 5 місяців тому +1

      Up until about a decade ago when async/await became popular as a standard language feature, everyone had to roll their own. Might have to do that while we wait for Zig 1.0.

    • @thedoctor5478
      @thedoctor5478 5 місяців тому +1

      @@ForeverZer0 aint nobody got time fodat! Maybe somebody has come up with an event loop lib for zig already? Might be a fun project. Who with me?

    • @ForeverZer0
      @ForeverZer0 5 місяців тому

      @@thedoctor5478 Not me, lol, that is not a trivial task just to become obsolete when it gets implemented at the language/stdlib level. I will just do without async for now, and use threads where performance is a factor and I can benefit from parallelism.
      I would actually prefer if they went in the direction of Go-like channels instead of the async/await pattern. Function coloring is annoying.

    • @thedoctor5478
      @thedoctor5478 5 місяців тому

      @@ForeverZer0 def non-trivial. Coloring is the worst. You could make a lib that doesn't color though, and thinking on like Python, there are multiple async libs. Idk how channels actually work to say anything about them tho. For that matter, idk how async works so good under the hood. I know it relies on the OS to perform work while it yields to the event-loop queue but idk how one would go about constructing such a call for say, an http request without blocking the thread. Magic.
      I feel like the best ever would be something like that new python-like lang (I forget the name) that multithreads everything automatically + async at the same time without coloring. I have made some libs that take advantage of both those ideas simultaneously but they eat a lot of mem.

    • @ForeverZer0
      @ForeverZer0 5 місяців тому

      ​@@thedoctor5478 By "non-trivial", I mean it is complicated problem to solve even for people who *do* understand it well and are far more experienced doing it than me.
      I think the language is Mojo? From what little I understand about it, it is targeting a specific kind of workload (i.e. AI), and would be horrible for general-purpose stuff.

  • @TfYouLookinAt1
    @TfYouLookinAt1 5 місяців тому +3

    Skibbidy Tiolet

  • @EricLouisYoung
    @EricLouisYoung 5 місяців тому +1

    Targeting both the beam and javascript runtimes makes no sense. The main advantage of erlang/elixir IS THE BEAM; It has features that do not exist anywhere else, and can accurately be called a "business logic operating system". "Language" is mostly irrelevant today. I want to know the underlying paradigm that the code is driving at runtime. When attemping to target two separate underlying paradigms there will always be a huge nasty layer of accommodations/abstractions and confusion at the tooling/user level.

    • @Thorhian
      @Thorhian 5 місяців тому +1

      Maybe for front end integration, reverse uno on JavaScript which took over the server after being born in the front end?

    • @gladebulldog2660
      @gladebulldog2660 5 місяців тому

      Because there is “No nazi bullsh*t” … that’s why.

  • @notapplicable7292
    @notapplicable7292 5 місяців тому +4

    Zig's tooling is horrible

    • @desertfish74
      @desertfish74 5 місяців тому

      ?

    • @noredine
      @noredine 5 місяців тому +2

      Zig's at like 0.1, too early to complain about tooling

    • @Reydriel
      @Reydriel 5 місяців тому +2

      Zig is basically like in "Early Access" stage so that's not really surprising

  • @Alo-xs5qu
    @Alo-xs5qu 5 місяців тому +1

    Only x views in y minutes = bro fell off

  • @jordanwright3052
    @jordanwright3052 5 місяців тому

    Cool language, but it seems like becoming familiar with Erlang/Elixir and their ecosystems is a prerequisite. I don't want to do that.

    • @giacomo_cavalieri
      @giacomo_cavalieri 5 місяців тому +4

      Not at all! You’ll have a great experience even if you know zero erlang and just stick to pure Gleam. I for once know very little erlang and never needed it that much 😁

    • @tobeqz7065
      @tobeqz7065 5 місяців тому

      I wanted to parse eventsource streams from OpenAI and I instantly had to dive into erlang land which I don't know anything about. I love the language though, I'll wait for it to mature for a bit and dive back in

  • @natanloterio
    @natanloterio 4 місяці тому

    I love your videos about VIM and your other reactions, but you code like you're trying to hide what you're doing

  • @francisgeorge7639
    @francisgeorge7639 5 місяців тому +2

    Sounds a lot like modern Dart.

    • @coder_one
      @coder_one 5 місяців тому +1

      Don't be silly!

    • @AnthonyBullard
      @AnthonyBullard 5 місяців тому +3

      As someone who worked with the Dart team when I was at Google, and has contributed to Gleam - I can’t imagine in what way you could mean this.

    • @amogh708
      @amogh708 5 місяців тому +1

      Sounds like modern Ruby

    • @coder_one
      @coder_one 5 місяців тому

      @@amogh708 Ruby is focused on OOP, Gleam on FP. Syntax is also different (Elixir has kind of Ruby syntax, but not Gleam). So how can you even suggest that Gleam sounds like “modern” Ruby lol…

    • @francisgeorge7639
      @francisgeorge7639 5 місяців тому

      @@AnthonyBullard you must be very out of date.

  • @giacomo_cavalieri
    @giacomo_cavalieri 5 місяців тому +199

    Oh hey, that's me! I'm the Guy-a-como 🤌

    • @SnowDaemon
      @SnowDaemon 5 місяців тому +28

      gigachad coder with chef's kiss name.
      thanks for all you do in Gleam

    • @giacomo_cavalieri
      @giacomo_cavalieri 5 місяців тому +13

      @@SnowDaemon Thank you!! 🥹💕

    • @airkami
      @airkami 5 місяців тому +8

      You rock, Giac!

    • @giacomo_cavalieri
      @giacomo_cavalieri 5 місяців тому +5

      @@airkami aw you’re too kind!

    • @anupamchakrawarti1803
      @anupamchakrawarti1803 5 місяців тому +5

      JS: 8===D
      Gleam: 8==D
      Yours: 8=================D
      Appreciate all these QoL features!

  • @Jabberwockybird
    @Jabberwockybird 5 місяців тому +1

    I'm early, but not as early as the porn spam bots

  • @ikirachen
    @ikirachen 5 місяців тому

    tu parle frances :)

  • @curly35
    @curly35 5 місяців тому

    That is exactly like raising/throwing lol

    • @Jesse_Carl
      @Jesse_Carl 5 місяців тому +3

      I think the difference (that prime was talking about) is that a library might throw an exception as intended behavior. With these asserts, they are for when your program has reached an unrecoverable state, so a library should never crash with assert, and you don't get the problems that prime was worried about.

  • @barefeg
    @barefeg 5 місяців тому

    You can’t use the “if I had the time I’d try it” excuse anymore. You quit Netflix remember?

  • @gladebulldog2660
    @gladebulldog2660 5 місяців тому +1

    The name …. TheWokeagen

  • @nymez6968
    @nymez6968 5 місяців тому +5

    Gleam is this language where my No 1 question after checking out what it was about is „but why? What problem does this solve? What new thing does it bring to the table to justify its existence. Just being another „nice langauge“ isn‘t enough to see adoption.

    • @MrLOPIU22
      @MrLOPIU22 5 місяців тому +9

      its pink and woke so soy devs like it

    • @AnthonyBullard
      @AnthonyBullard 5 місяців тому

      A language can’t be woke. It solves a long standing problem in the BEAM ecosystem, which is type safety. That’s why it exists

    • @giacomo_cavalieri
      @giacomo_cavalieri 5 місяців тому +6

      I think it fits in this really nice category of very simple and productive functional language, with great attention to DX. Some people draw comparisons with go in this regard. Plus I find really cool that it can bring types to the BEAM and JS 😁
      If you’d like to give it a try I’d recommend the online tour

    • @d_6963
      @d_6963 5 місяців тому +3

      For me it is the built in actor model, that just opened so many doors of possibilities.

    • @smoked-old-fashioned-hh7lo
      @smoked-old-fashioned-hh7lo 5 місяців тому +7

      it's basically elixir with types. the community is extremely toxic though. the language itself is very nice.

  • @Dogo.R
    @Dogo.R 5 місяців тому +1

    Sadly its on erlang which gives you fault tolorance by default but only if your entire system is in erlang.
    Otherwise you need to use/create an external fault tolorance system, which then just causes small to medium problems with erlgang's own fault tolorance system.
    This just makes it annoying to transition to. Or causes you an extra downside if you want to use more than just erlang in your project.
    Id prefer more work on fault tolorance tools that are applicable to the real world than more work in the world of "if everyone uses erlang than we are fault tolorant". The entire world isnt using erlang and erlang isnt ideal for every application. So the main selling point of the vm is :/.

    • @ejenkins132
      @ejenkins132 5 місяців тому +3

      What external fault tolerance systems are you talking about? Just curious

    • @dandogamer
      @dandogamer 5 місяців тому

      Ah so if it runs on the JS runtime it's not fault tolerant. Makes sense tbh

    • @Dogo.R
      @Dogo.R 5 місяців тому +1

      @@ejenkins132 We currently use a custom solution at the program level. On the machine level we use our cloud's api (we use an unmanaged cloud) and health analytics. We also store state backups so servers can be resored to a previously working state on crash. While we dont use our own hardware I know there is some more recent research into the newer hardware functionality of direct writing to memory in order to combine multiple machines into a single compute cluster and deal with fault tolorance. Effectively like database replication and fault tolorance but at the machine memory level, see derecho for an example made for massive fault tolorant grinding through reletively contained functionality.

    • @Dogo.R
      @Dogo.R 5 місяців тому

      @@ejenkins132 We currently use a custom solution at the program level. On the machine level we use our cloud's api (we use an unmanaged cloud) and health analytics. We also store state backups so servers can be resored to a previously working state on crash. While we dont use our own hardware I know there is some more recent research into the newer hardware functionality of direct writing to memory in order to combine multiple machines into a single compute cluster and deal with fault tolorance. Effectively like database replication and fault tolorance but at the machine memory level, derecho is an example made for massive fault tolorant grinding through reletively contained functionality.

    • @Dogo.R
      @Dogo.R 5 місяців тому +1

      We currently use a custom solution at the program level. On the machine level we use our cloud's api (we use an unmanaged cloud) and health analytics. We also store state backups so servers can be resored to a previously working state on crash. While we dont use our own hardware I know there is some more recent research into the newer hardware functionality of direct writing to memory in order to combine multiple machines into a single compute cluster and deal with fault tolorance. Effectively like database replication and fault tolorance but at the machine memory level, derecho is an example made for massive fault tolorant grinding through reletively contained functionality.

  • @thurston04
    @thurston04 5 місяців тому +5

    My biggest issue with gleam is they go political right on their opening page. Real Rust foundation feeling.
    It's a language. Who cares?

    • @finndotbin
      @finndotbin 5 місяців тому +7

      what???? as in like not allowing discrimination within their community?how is that political?

    • @thurston04
      @thurston04 5 місяців тому +1

      @@finndotbin they go beyond that by stating mantras that are very controversial. Everyone agrees with disallowing discrimination.

    • @TurtleKwitty
      @TurtleKwitty 5 місяців тому +8

      @@thurston04 If you think that people having rights is controversial you clearly cant behave in a society wtf XD

    • @ForeverZer0
      @ForeverZer0 5 місяців тому +6

      @@TurtleKwitty Nobody thinks this, which is the same nonsense strawman retort we have all seen a thousand time.
      Regardless, it has nothing to do with a language for writing computer code. The language does not somehow work differently based on whether someone believes utmost in human rights, or wishes to exterminate all life on the planet. It is simply an odd place to broach the subject, like feeling compelled to state your sexual orientation while ordering fast-food. I understand that if you are part of an ideology who does this it might seem normal, but it comes across as bizarre for everyone else who correctly understands these subjects are unrelated to each other.

    • @TurtleKwitty
      @TurtleKwitty 5 місяців тому +3

      @@ForeverZer0 It's hilarious you think it's a straw man when that's literally all it is xD
      Doudou hilarious you think that a community around a programming language doesn't change whether it's only people that believe there should have rights or not XD

  • @gotoastal
    @gotoastal 5 місяців тому +5

    If your language only supports Discord for communication & MS GitHub for code/forums, you are a part of the problem for making software worse

    • @aDaily1222
      @aDaily1222 4 місяці тому

      discord is the best way to communicate today. 10000x better than mailing lists. lol. its real time, very efficient. and GitHub is just standard.
      stop looking for reasons to bitch

  • @technolung
    @technolung 5 місяців тому +1

    The political message on the homepage is unprofessional

  • @hakuna_matata_hakuna
    @hakuna_matata_hakuna 5 місяців тому

    V lsp is kinda 💩

  • @gardnmi
    @gardnmi 5 місяців тому +6

    Looked at the community and noped the f out

    • @VastCNC
      @VastCNC 5 місяців тому +3

      Why?

    • @MikeMedina805
      @MikeMedina805 5 місяців тому +15

      @@VastCNC Because the community is actively against Nazis and bigotry and that bothers this person

    • @owlmostdead9492
      @owlmostdead9492 5 місяців тому +1

      @@MikeMedina805 Because you're a bunch of extremists, just on the opposite site

    • @azizsafudin
      @azizsafudin 5 місяців тому +1

      @@MikeMedina805no, because they bring their agenda into where it doesn’t belong. Imagine if typescript espoused the same crap they do. No one would touch it.

    • @gardnmi
      @gardnmi 5 місяців тому +2

      @@MikeMedina805 What does actively being against Nazis even mean? Are they actively planning D-Day using Gleam?

  • @MrLOPIU22
    @MrLOPIU22 5 місяців тому +11

    too pink and too woke for my taste

    • @finndotbin
      @finndotbin 5 місяців тому +3

      how is it "woke?"

    • @finndotbin
      @finndotbin 5 місяців тому +8

      being afraid of the color pink is an AMAZING way to show your fragile masculinity.

    • @isodoubIet
      @isodoubIet 5 місяців тому +2

      @@finndotbin cringe

    • @ForeverZer0
      @ForeverZer0 5 місяців тому +2

      @@finndotbin I am afraid of the color light golden rod yellow, specifically #FAFAD2 in the RGB colorspace. What does this mean?

    • @beefeeb
      @beefeeb 5 місяців тому

      @@ForeverZer0 it means you're an idiot

  • @JamesJones-zt2yx
    @JamesJones-zt2yx 5 місяців тому +1

    /JYAcomo/. Sorry I don't know my IPA. Or listen to the late, great Dr. John sing "Iko Iko". BTW, you can't necessarily trust the dude who did that pronunciation video. He hung on to the "c" too long, and in Italian, like Japanese, doubled consonants make a difference. An Italian would spell what he said as "Giaccomo".

  • @frankelliott244
    @frankelliott244 4 місяці тому

    If divide by zero returns zero, this can’t be used for machine learning or statistics. It breaks the IEEE standard. In fact it breaks mathematics.