New Gleam Just Dropped

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ต.ค. 2024
  • Recorded live on twitch, GET IN
    Article
    gleam.run/news...
    By: Louis Pilfold | / louispilfold
    My Stream
    / theprimeagen
    Best Way To Support Me
    Become a backend engineer. Its my favorite site
    boot.dev/?prom...
    This is also the best way to support me is to support yourself becoming a better backend engineer.
    MY MAIN YT CHANNEL: Has well edited engineering videos
    / theprimeagen
    Discord
    / discord
    Have something for me to read or react to?: / theprimeagenreact
    Kinesis Advantage 360: bit.ly/Prime-K...
    Hey I am sponsored by Turso, an edge database. I think they are pretty neet. Give them a try for free and if you want you can get a decent amount off (the free tier is the best (better than planetscale or any other))
    turso.tech/dee...

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

  • @annoorange123
    @annoorange123 4 หลายเดือนก่อน +75

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

    • @XDarkGreyX
      @XDarkGreyX 4 หลายเดือนก่อน +7

      Relatable tho, right?

    • @fennecbesixdouze1794
      @fennecbesixdouze1794 27 วันที่ผ่านมา

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

    • @disgruntleddev
      @disgruntleddev 20 วันที่ผ่านมา

      ⁠@@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

  • @lpil
    @lpil 4 หลายเดือนก่อน +192

    Wooo Gleam!!! Thanks for coving it

    • @AnthonyBullard
      @AnthonyBullard 4 หลายเดือนก่อน +12

      Louis mentioned. Gleam mentioned. My open PR mentioned 😅

    • @d_6963
      @d_6963 4 หลายเดือนก่อน +5

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

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

    • @jordangarside
      @jordangarside 28 วันที่ผ่านมา

      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.

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

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

  • @SnowDaemon
    @SnowDaemon 4 หลายเดือนก่อน +108

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

    • @matress-4-2323
      @matress-4-2323 4 หลายเดือนก่อน +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 4 หลายเดือนก่อน +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 4 หลายเดือนก่อน +6

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

    • @SnowDaemon
      @SnowDaemon 4 หลายเดือนก่อน +12

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

  • @johnyepthomi892
    @johnyepthomi892 4 หลายเดือนก่อน +20

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

  • @c4tubo
    @c4tubo 4 หลายเดือนก่อน +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.

  • @i_Amazin_
    @i_Amazin_ 4 หลายเดือนก่อน +6

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

  • @felixw841
    @felixw841 4 หลายเดือนก่อน +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
    }
    }
    ```

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

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

  • @mskiptr
    @mskiptr 4 หลายเดือนก่อน +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.

  • @3年の上に石
    @3年の上に石 4 หลายเดือนก่อน +4

    Gleam 5 years experience on job list next year

  • @angeloceccato
    @angeloceccato 4 หลายเดือนก่อน +10

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

    • @303pix
      @303pix 4 หลายเดือนก่อน +1

      addirittura durante il 2 giugno! orgoglio!

  • @CaptTerrific
    @CaptTerrific 4 หลายเดือนก่อน +32

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

    • @SnowDaemon
      @SnowDaemon 4 หลายเดือนก่อน +7

      they loyal af

  • @Filup
    @Filup 2 หลายเดือนก่อน

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

  • @TurtleKwitty
    @TurtleKwitty 4 หลายเดือนก่อน +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 4 หลายเดือนก่อน +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.

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

    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.

  • @hasbucket
    @hasbucket 4 หลายเดือนก่อน +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!

  • @houneavireakpong9098
    @houneavireakpong9098 4 หลายเดือนก่อน +5

    Having no loops is wild

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

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

    • @giacomo_cavalieri
      @giacomo_cavalieri 4 หลายเดือนก่อน +8

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

    • @isodoubIet
      @isodoubIet 4 หลายเดือนก่อน +6

      pretty standard for functional languages.

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

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

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

  • @akis854
    @akis854 4 หลายเดือนก่อน +1

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

  • @hectobit
    @hectobit 4 หลายเดือนก่อน +1

    3:40 made me think of OCaml immediately

  • @niamotullah99
    @niamotullah99 4 หลายเดือนก่อน +1

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

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

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

  • @caspera3193
    @caspera3193 4 หลายเดือนก่อน +1

    Looks nice, hope it will gain popularity and adoption

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

    Full yt video on panic and asserts would be nice.

  • @MarkMark
    @MarkMark 4 หลายเดือนก่อน +1

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

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

    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.

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

    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.

  • @phewpow
    @phewpow 4 หลายเดือนก่อน +1

    is assert optimized away in a release version?

  • @JoshuaMoreno
    @JoshuaMoreno 4 หลายเดือนก่อน +1

    Michael mentioned?

  • @meryplays8952
    @meryplays8952 4 หลายเดือนก่อน +1

    I hope you cover Crystal.

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

    on error resume.
    What could possibly go wrong?

  • @SkinnyGeek_1010
    @SkinnyGeek_1010 4 หลายเดือนก่อน +1

    Gleam mentioned!

  • @TheKennyWorld
    @TheKennyWorld 4 หลายเดือนก่อน +1

    I am curios how good is to compile Gleam to JS

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

      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.

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

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

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

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

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

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

      @@isodoubIet True and the same with Runtime Exceptions.

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

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

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

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

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

  • @nettenzx739
    @nettenzx739 4 หลายเดือนก่อน +2

    pythonista way of thinking imo i like it

  • @shurizzle
    @shurizzle 4 หลายเดือนก่อน +2

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

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

      It has a good erlang ffi

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

    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 :)

  • @Alex_Codes
    @Alex_Codes 4 หลายเดือนก่อน +2

    Morning crew rise up

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

      it's 4PM here

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

      @@kyjo72682 so drop down

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

    like this comment to show love to ma homeboi giacomo

  • @theaiguy_
    @theaiguy_ 4 หลายเดือนก่อน +1

    Holy hell!

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

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

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

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

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

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

    18:50 npm install everything mentioned

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

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

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

      What was it?

  • @Alo-xs5qu
    @Alo-xs5qu 4 หลายเดือนก่อน

    FLIP WYA
    TAKE IT OUT!

  • @nyahhbinghi
    @nyahhbinghi 2 หลายเดือนก่อน

    GLEAM LANG

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

    1 error at a time

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

    They took async out of zig tho

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

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

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

      ​@@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.

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

    BRAZIL MENTIONED

  • @AdamS-lo9mr
    @AdamS-lo9mr 4 หลายเดือนก่อน

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

  • @Seedwreck
    @Seedwreck 4 หลายเดือนก่อน +1

    Gleam was meh until it got popularity boom.

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

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

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

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

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

    VERSION + 8 😂

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

    How did people program before LSPs?

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

      It’s just more typing and debugging

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

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

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

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

      Regex parsers?

    • @ultru3525
      @ultru3525 4 หลายเดือนก่อน +1

      For languages with a REPL: SLIME mode.

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

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

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

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

  • @Alo-xs5qu
    @Alo-xs5qu 4 หลายเดือนก่อน +1

    Only x views in y minutes = bro fell off

  • @Jabberwockybird
    @Jabberwockybird 4 หลายเดือนก่อน +1

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

  • @TfYouLookinAt1
    @TfYouLookinAt1 4 หลายเดือนก่อน +3

    Skibbidy Tiolet

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

    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.

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

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

  • @francisgeorge7639
    @francisgeorge7639 4 หลายเดือนก่อน +2

    Sounds a lot like modern Dart.

    • @coder_one
      @coder_one 4 หลายเดือนก่อน +1

      Don't be silly!

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

      Sounds like modern Ruby

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

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

      @@AnthonyBullard you must be very out of date.

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

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

      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

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

    Zig's tooling is horrible

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

      ?

    • @noredine
      @noredine 4 หลายเดือนก่อน +2

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

    • @Reydriel
      @Reydriel 4 หลายเดือนก่อน +2

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

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

    tu parle frances :)

  • @giacomo_cavalieri
    @giacomo_cavalieri 4 หลายเดือนก่อน +194

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

    • @SnowDaemon
      @SnowDaemon 4 หลายเดือนก่อน +28

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

    • @giacomo_cavalieri
      @giacomo_cavalieri 4 หลายเดือนก่อน +13

      @@SnowDaemon Thank you!! 🥹💕

    • @airkami
      @airkami 4 หลายเดือนก่อน +8

      You rock, Giac!

    • @giacomo_cavalieri
      @giacomo_cavalieri 4 หลายเดือนก่อน +5

      @@airkami aw you’re too kind!

    • @anupamchakrawarti1803
      @anupamchakrawarti1803 4 หลายเดือนก่อน +5

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

  • @gladebulldog2660
    @gladebulldog2660 4 หลายเดือนก่อน +1

    The name …. TheWokeagen

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

    That is exactly like raising/throwing lol

    • @Jesse_Carl
      @Jesse_Carl 4 หลายเดือนก่อน +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.

  • @nymez6968
    @nymez6968 4 หลายเดือนก่อน +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 4 หลายเดือนก่อน +9

      its pink and woke so soy devs like it

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

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

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

  • @gotoastal
    @gotoastal 4 หลายเดือนก่อน +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 3 หลายเดือนก่อน

      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

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

    too pink and too woke for my taste

    • @finndotbin
      @finndotbin 4 หลายเดือนก่อน +3

      how is it "woke?"

    • @finndotbin
      @finndotbin 4 หลายเดือนก่อน +8

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

    • @isodoubIet
      @isodoubIet 4 หลายเดือนก่อน +2

      @@finndotbin cringe

    • @ForeverZer0
      @ForeverZer0 4 หลายเดือนก่อน +2

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

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

      @@ForeverZer0 it means you're an idiot

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

    V lsp is kinda 💩

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

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

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

    • @thurston04
      @thurston04 4 หลายเดือนก่อน +1

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

    • @TurtleKwitty
      @TurtleKwitty 4 หลายเดือนก่อน +8

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

    • @ForeverZer0
      @ForeverZer0 4 หลายเดือนก่อน +5

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

  • @technolung
    @technolung 4 หลายเดือนก่อน +1

    The political message on the homepage is unprofessional

  • @gardnmi
    @gardnmi 4 หลายเดือนก่อน +6

    Looked at the community and noped the f out

    • @VastCNC
      @VastCNC 4 หลายเดือนก่อน +3

      Why?

    • @MikeMedina805
      @MikeMedina805 4 หลายเดือนก่อน +15

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

    • @owlmostdead9492
      @owlmostdead9492 4 หลายเดือนก่อน +1

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

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

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

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

    huge discussion around failfast strategy :)

  • @Dogo.R
    @Dogo.R 4 หลายเดือนก่อน +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 4 หลายเดือนก่อน +3

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

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

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

    • @Dogo.R
      @Dogo.R 4 หลายเดือนก่อน +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 4 หลายเดือนก่อน

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

  • @JamesJones-zt2yx
    @JamesJones-zt2yx 4 หลายเดือนก่อน +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".

    • @isodoubIet
      @isodoubIet 4 หลายเดือนก่อน +3

      /'dʒakomo/