Gleam v1 HAS BEEN RELEASED

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ต.ค. 2024
  • Recorded live on twitch, GET IN
    / theprimeagen
    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.
    Article link: gleam.run/news...
    By: Louis Pilfold | lo...
    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...

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

  • @ward7576
    @ward7576 6 หลายเดือนก่อน +260

    Recruiters already rubbing their hands before writing "Mandatory 5 year experience with Gleam programming language"

    • @AlemMemić
      @AlemMemić 6 หลายเดือนก่อน +12

      With 7 years total industry experience :D

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

      @@AlemMemić for junior salary :D

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

      I’m shocked anyones wanting specific Gleam experience at this point

  • @replikvltyoutube3727
    @replikvltyoutube3727 6 หลายเดือนก่อน +399

    Erlang mentioned

    • @tauiin
      @tauiin 6 หลายเดือนก่อน +19

      billons must BEAM

    • @Mempler
      @Mempler 6 หลายเดือนก่อน +3

      Err i dunno - lang

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

      The hard r too

    • @brunovettori8377
      @brunovettori8377 7 นาทีที่ผ่านมา

      Lets go

  • @jsonkody
    @jsonkody 6 หลายเดือนก่อน +508

    Erlang: "Hey Gleam, what is best in life?"
    Gleam: "To crush the OOP enemies, see their architectures crumble before you, and to hear the lamentations of their developers!"
    Erlang: "Very good!"

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

      Beautiful

    • @unknownbird6165
      @unknownbird6165 6 หลายเดือนก่อน +3

      Nice.

    • @Kane0123
      @Kane0123 6 หลายเดือนก่อน +1

      C# gang still here…

    • @Microphunktv-jb3kj
      @Microphunktv-jb3kj 6 หลายเดือนก่อน

      i also think todays languages need pkg repos and discovery by default alongside the t hings mentioned in 5:55

    • @noahpederson9816
      @noahpederson9816 6 หลายเดือนก่อน +3

      What's funny is OOP is *supposed* to be an implementation of actor patter with message passing...

  • @lpil
    @lpil 6 หลายเดือนก่อน +154

    Woo! Thanks pal!

    • @angeloceccato
      @angeloceccato 6 หลายเดือนก่อน +8

      Louis! Let's Prime writing Gleam. PLS!

    • @JLarky
      @JLarky 6 หลายเดือนก่อน +3

      Congrats :)

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

      big it up!

    • @costinel57
      @costinel57 6 หลายเดือนก่อน +9

      Loved your chat with Richard Feldman a while back, would *love* seeing you have one with prime too :)

    • @havokgames8297
      @havokgames8297 6 หลายเดือนก่อน +3

      @@costinel57 where is this Richard / Louis chat?!

  • @charmcli
    @charmcli 6 หลายเดือนก่อน +60

    Thanks for the shoutout 💖 We also love being able to build open source command line tooling full time. We're stoked to see more people giving terminals some love :)

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

      charm = based

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

      Question. As a new dev,
      Why do you guys use GO over Rust.

  •  6 หลายเดือนก่อน +15

    No, people who educate actually want education to be free, but they still want to be rewarded. It should be free in the sense that someone else pays for it. Not in the sense that educators work for free.

  • @footnuke
    @footnuke 6 หลายเดือนก่อน +77

    one of the things I like most about Prime's videos is that he doesn't fall into the trap of "everything new/stuff I don't know about is all garbage." There are so many people who constantly talk about how bad everything is, whereas Prime genuinely makes me feel hyped to code.

    • @XDarkGreyX
      @XDarkGreyX 6 หลายเดือนก่อน +1

      He based

    • @mikkelens
      @mikkelens 6 หลายเดือนก่อน +1

      I just wish he didn't spread misinformation/misconceptions about the rust trademarks in like every single video/stream

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

      ​@@mikkelens?

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

      @@ahmedifhaam7266 it seems he's started getting over it, but I've been watching him less so I wouldn't know for sure.
      The rust trademark thing was only subject to scrutiny because rust is such a darling open source project. The Rust Foundation is not at all some uniquely corporate entity in the programming language ecosystem. The 'scandal' was that an unfinished piece of legal jargon was a little restrictive with the use of a trade mark, not too dissimilar to how all other trademarks already work even in programming languages.
      People (like Prime) blew a fuss about it because they wanted to have a reason to feel or be justified in feeling skeptical or different in their view of rust in general.

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

      @@mikkelens ?

  • @hank9th
    @hank9th 6 หลายเดือนก่อน +85

    10 - Louis Pilford is the most benevolent dictator a language could have. Would love to see him on the stream.

    • @nyahhbinghi
      @nyahhbinghi 6 หลายเดือนก่อน +1

      yes!

  • @NostraDavid2
    @NostraDavid2 6 หลายเดือนก่อน +27

    When Prime said "use Currying" he meant "use a Closure". I was so freaking confused. Prime should learn some proper FP.

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

      Maybe he was just confused, but I feel he never learned proper FP, which makes thing confusing whenever he's referring to FP concepts being used in multi-paradigm languages.

    • @mikkelens
      @mikkelens 6 หลายเดือนก่อน +1

      It confused me a lot, he was basically just talking about using a higher order function. What is currying actually, to be specific? I feel like I don't even know what it means

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

      @@NostraDavid2 As ignorant as I am, I think the purpose of currying is pretty similar to closures: access values initialised somewhere else.
      That’s what Prime meant in the example he was making about avoiding to add obscure properties to a function.
      What he shows actually IS currying.

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

      ​@@mikkelens currying, like partials, is a way to pre-feed a value to a function.
      Can’t link you here the stack overflow answer /a/51253347

    • @nyahhbinghi
      @nyahhbinghi 6 หลายเดือนก่อน +1

      currying and closures are related...you are binding data to data, etc

  • @jly_dev
    @jly_dev 6 หลายเดือนก่อน +85

    Gleam is so cool:
    - simple (small surface area like go)
    - benefits of beam (scalability, soft real time, leverage elixir/erlang)
    - rust paradigms (result/option, pattern matching)

    • @sfulibarri
      @sfulibarri 6 หลายเดือนก่อน +37

      Rust has those paradigms, they are not 'rust paradigms'. Not too mention that erlang's pattern matching is more powerful than rust's by a long shot.

    • @eileennoonan771
      @eileennoonan771 6 หลายเดือนก่อน +3

      It really is everything I want

    • @jly_dev
      @jly_dev 6 หลายเดือนก่อน +15

      @@sfulibarriI say "rust" because that is the predominant target audience of this channel, I am aware that other languages have those monads and pattern matching

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

      Why do you like result/option? It is a horrible horrible feature!

    • @RegrinderAlert
      @RegrinderAlert 6 หลายเดือนก่อน +21

      @@oleksiistri8429nice ragebait

  • @oxidant5
    @oxidant5 6 หลายเดือนก่อน +44

    Btw Gleam compiler is written in Rust

    • @nyahhbinghi
      @nyahhbinghi 6 หลายเดือนก่อน +3

      yes, good choice. Building a compiler with the language you're writing is not impossible but sounds like a bad idea.

    • @oxidant5
      @oxidant5 6 หลายเดือนก่อน +5

      @@nyahhbinghi it's called bootstrapping

    • @nyahhbinghi
      @nyahhbinghi 6 หลายเดือนก่อน +1

      @@oxidant5 yes you can do it, I understand, but I think it's a good choice not to :)

    • @oxidant5
      @oxidant5 6 หลายเดือนก่อน +1

      @@nyahhbinghi why you think so?

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

      Probably they will change in the future or simply let it be; if it works, it works.

  • @Sel178
    @Sel178 6 หลายเดือนก่อน +30

    Gleam is super nice. I have one small production program written in gleam and it was such a joy to make it.

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

      link to it please

  • @Murderbits
    @Murderbits 6 หลายเดือนก่อน +92

    prime: GLEAM IS FINALLY HERE
    Prime: I dunno what gleam is

  • @SkinnyGeek_1010
    @SkinnyGeek_1010 6 หลายเดือนก่อน +63

    We got a Gleam mention!

  • @OnFireByte
    @OnFireByte 6 หลายเดือนก่อน +14

    BEAM based functional language with C style syntax and statically typed. Can't ask more than that

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

    I see a lot of ppl complaining about _another_ lang but if im being honest this actually seems like a pretty useful language

  • @petrvorlicek3643
    @petrvorlicek3643 6 หลายเดือนก่อน +35

    That's one pink language... I am in!

  • @jsonkody
    @jsonkody 6 หลายเดือนก่อน +31

    Elixir mentioned ._.

  • @havokgames8297
    @havokgames8297 6 หลายเดือนก่อน +41

    Gleam is a genuinely beautifully designed language. If they can get a "killer" app like Phoenix working, then I would likely choose it over many other languages.

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

      i was about to say that all the newer languagesa just re-create Express lol.. or Laravel

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

      @@Microphunktv-jb3kj yes but Phoenix compared to Rails is night and day better

  • @tmthyha
    @tmthyha 6 หลายเดือนก่อน +20

    Lack of tooling is why Crystal hasn't caught on imo. I want to use it but a lot of very basic QoL stuff is missing and doesn't even seem to be on the roadmap.

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

      no, crystal hasn't caught on bc there really isn't that many people wanting to use ruby let alone a language that's very close to ruby syntax wise but that's compiled
      it's just a niche language for a niche audience

    • @tmthyha
      @tmthyha 6 หลายเดือนก่อน +7

      @@FlanPoirot it hasn't caught on amongst people who absolutely do want that, is what I mean. I felt that went without saying, but there is always someone who needs it spelled out.

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

    please do the gleam tour, it took me like 40 minutes

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

      link to gleam tour

  • @hunterxvov4ik
    @hunterxvov4ik 6 หลายเดือนก่อน +52

    ok time to reset the counter. again.

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

      good call! we were at 11:59pm but back at 11:01pm

  • @y00t00b3r
    @y00t00b3r 6 หลายเดือนก่อน +21

    I'm kinda unclear to me whether or not Prime knows what "currying" means or not...

    • @stevenhe3462
      @stevenhe3462 6 หลายเดือนก่อน +1

      He doesn't.

    • @sullivan3503
      @sullivan3503 6 หลายเดือนก่อน +5

      The example he gave was currying... A function that takes one parameter and then returns another function is exactly what currying is.

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

      It's a very spicy line of code, right?

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

      @@sullivan3503 Not really, technically. Check out Wikipedia.

  • @fuzzy-02
    @fuzzy-02 6 หลายเดือนก่อน +15

    Who waits to see what kind of -agen we getting at the video end? Lmao, they get me excited.

    • @herrpez
      @herrpez 6 หลายเดือนก่อน +8

      I do not envy your life.

    • @adnan37h
      @adnan37h 6 หลายเดือนก่อน +9

      @@herrpez I’m sorry you had to leave this reply

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

      @@adnan37h I chose to.

  • @syhol-io
    @syhol-io 6 หลายเดือนก่อน +17

    The "use" feature is really reeeally nice. Please do more videos on Gleam

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

      The same thing is available in scala

    • @syhol-io
      @syhol-io 6 หลายเดือนก่อน +1

      @@azizsafudin nice! It looks like scalas "use" works like pythons "with" and JavaScripts "using". Where as Gleams "use" works like Kokas "with", enabling many dynamic patterns by letting the user function control when (0-*) to call the rest of the code in the current scope.

  • @bmno.4565
    @bmno.4565 6 หลายเดือนก่อน +36

    Erlang's VM is so underrated.

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

      Why? Is it fast or something compare to CLR/JVM?

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

      @@quachhengtony7651 great for high-concurrent application, especially for server + high fault torrerent

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

      @@quachhengtony7651 Speed is not really the impressive part of BEAM, and the JIT is actually slightly slower than both CLR and JVM, but where it beats them is introspection capabilities, insane IPC (meaning you can run it on multiple nodes and have them share scheduler) and the scheduler being second to none when it comes to resilience in concurrent systems at scale.

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

      ​@@quachhengtony7651 It's got some crazy concurrency features.

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

      @@quachhengtony7651 Heard it's really good with parallelization. Don't know the details though.

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

    Old Rust also used the functional (no clue what that arrow is called ngl) assignment operator.

  • @MrEnsiferum77
    @MrEnsiferum77 6 หลายเดือนก่อน +3

    Looks like Rust, but fixed.

  • @TminusDoom
    @TminusDoom 6 หลายเดือนก่อน +26

    Most languages start out simple and straightforward don't they?

    • @personal-stream-studio
      @personal-stream-studio 6 หลายเดือนก่อน +4

      No. I don't think so. For example, Mojo with theirs SIMD stuff. And functional languages with their monads, parenthesis and exotic patterns.
      And what about JavaScript?)) Yeah, it was kinda simple but it is not straightforward. Same thing I could say about CMake, VimScript

    • @TminusDoom
      @TminusDoom 6 หลายเดือนก่อน +1

      @@personal-stream-studio Yeah, you're right that they don't end up being simple and straightforward.
      I guess what I meant was, I don't believe anyone sets out making a new language without that being the intention.
      The only reason I see to make a new language is that someone thinks they can do something more simple or straightforward than one of the other 100 billion languages.

    • @C4CH3S
      @C4CH3S 6 หลายเดือนก่อน +3

      @@TminusDoomLook at go. still at 25 keywords, everything slightly complicated is in the stdlib, and some edge cases are made by the go team but not even in the stdlib (like the text or cases package) writing Go feels like i'm forced to do it the idiomatic way by how constrained it is, and that's good. it's been more than a decade and the language is about as simple as when it came out, with exception of generics maybe.
      compare that to Rust, which has an insane amount of features every update. I doubt their original idea was to be like Go simplicity wise.
      stuff like java which has about 10 ways of making an array and 5 ways of concatenating two strings together, if they had the Go philosophy like gleam also has, you wouldn't have those things. there is a method for literally anything you can think about on every type.
      gleam aims to be like Go, and if they do it like Go did in the last decade, I believe they can achieve their goal. for example, gleam doesn't even have a for loop, looping is strictly done with recursion.

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

      sort of.
      but Louis is guaranteeing not to make breaking changes or add unncessary "features".
      no other language creator made that promise.

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

    I've used gleam for the past 3 days and can confirm it's very easy to learn (even without knowing any preexisting functional languages)

  • @LoneIgadzra
    @LoneIgadzra 6 หลายเดือนก่อน +3

    Really excited about Gleam, but what you need to understand is that Erlang is OTP: A completely unique way of writing systems. Gleam is exciting for BEAM, but it has wrappers for very little of OTP so far.

  • @met0xff00
    @met0xff00 6 หลายเดือนก่อน +5

    That is really a great sales pitch. Till now I always thought "ok unfortunately almost no one is using Elixir anymore, will be even worse with Gleam".
    But after hearing that... ;)

    • @pdgiddie
      @pdgiddie 6 หลายเดือนก่อน +1

      What makes you think noone is using Elixir? As a full-time Elixir dev I'd say it seems to be gaining interest as awareness grows.
      Also really interested in Gleam, though.

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

      @@pdgiddie well, a couple years ago I saw it mentioned in job ads here and there, articles were floating around etc.
      But the last years haven't seen anything anymore. Some I know who switched their stuff to Go.
      The little I played around with it I really liked it though. It was definitely my favorite from the bunch I tried at that time (I wrote some toy things in a handful of languages I didn't know, including Clojure, Julia, Go, F#)

  • @angeloceccato
    @angeloceccato 6 หลายเดือนก่อน +9

    Zig is a super language, but lsp is not a primary focus for them

    • @FlanPoirot
      @FlanPoirot 6 หลายเดือนก่อน +3

      not a primary focus **at the moment**. they've made it clear that they will only work on those things after the language itself is further along, anyone that has hung around enough on the zig discourse channels knows that zls will eventually die as zig will have it's own autocompletion server in the compiler itself (they won't be using the LSP as their protocol)

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

      Their main Lsp contributor died some time ago. 😢, probably because of that.

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

      No, Zig is shit because no concept of trait/interface

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

      @@egorsozonov7425 that's the dumbest shit I've heard
      interfaces are nice but they're not a complete requirement, Zig is a C replacement which is a language that doesn't have those either, you just get data do soemthing and maybe return data. it's a different style of programming.
      if you were to give an argument for why zig sucks I'd think it would be more valid if you spoke about comptime's complexity and how it makes making good tooling harder. also there's a lot of inconsistency in the stdlib and the conventions used in the language rn.
      also the language is not even 1.0, it could completely change under ur feet, so unless you're very much into it and willing to contribute I'd advise u to keep out for now

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

    I think Gleam is written in Rust 🦀

    • @blacktipe9922
      @blacktipe9922 6 หลายเดือนก่อน +1

      it has been rewritten from erlang to rust, you are right yes

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

    I'm not a fun of currying because it adds a significant amount of "distance" from the caller to the "actual logic". A syntax like retry(3, fn) is much better, and if you want multiple functions to retry the same amount of times, just use a variable:
    retry3 = retry(3)
    res = retry3(fn)
    vs
    let times = 3;
    res = retry(times, fn)

  • @DanielCouper-vf5zh
    @DanielCouper-vf5zh 6 หลายเดือนก่อน +1

    Am i missing something obvious here, or is the language missing almost everything that makes Erlang/Elixir interesting? It looks very basic. I remember looking at it about 5 years, when it was kinda interesting, then it seemed to die. Then it's reappeared sans any mention of the core OTP features that make Erlang/Elixir useful. Is that a deliberate decision so as to not scare off newcomers? Because if so that seems like it'll mean creating actually useful libraries is goig to involve using features most people won't then be aware of (and therefore isn't going to happen). Or is it that the compile-to-{JS|WASM} bit is the more important part (in which case it's a semi-functional coffeescript/reason/etc)?

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

      It appears that the hype is centred around the so called “rust community”, who are cheering this on, because it’s written in rust, and uses some rust syntax.
      Proof of this will be when the all-inclusive RESF dive in and post defensive remarks for daring to question their cult.
      No otp support built in .. for a beam language, that’s pretty useless indeed.

  • @taylorallred6208
    @taylorallred6208 6 หลายเดือนก่อน +3

    I got super into Elixir a while back but then got disenchanted by the macro magic and dynamic types. Gleam might just bring me back to the beam.

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

      yes that's right!

  • @chris-pee
    @chris-pee 6 หลายเดือนก่อน +1

    While the tooling seems nice based on what's in the article, the fact that it's a transpiled language without any sourcemaps support confuses me. Neither the Erlang, nor the JS target support debugging it seems? Proper debugging is not a nice-to-have.

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

    I think I might like this. So far I prefer simplicity over anything else (I have a strong grug mindset), and the guy who made the language seems to get it

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

    Haven't watched the vid yet. My ick with Gleam is division by 0 returns 0, because 'no runtime exceptions' for operations, except assert.

  • @F.a797
    @F.a797 6 หลายเดือนก่อน +7

    Gleam actually mentioned!

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

    And Gleam build tools are written in Rust

  • @YumanoidPontifex
    @YumanoidPontifex 6 หลายเดือนก่อน +1

    "strong desire to have only one way of doing things" - easy brag when you're at the v1 stage in the timeline :D. let's see how well that goes when you're at v5 :)

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

    of all modern PLs gleam has the perfect syntax. If it would be great if we could compile to native.

  • @mkvalor
    @mkvalor 6 หลายเดือนก่อน +3

    "...we will also avoid language bloat." Ha. Haha. Hahahahahahhahahahaaaa...
    We shall see.

  • @sadaros95
    @sadaros95 6 หลายเดือนก่อน +3

    For that last part, information should be free, education deserves compensation

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

    Why should we use Gleam over Elixir?

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

      static typing - obvious

  • @eitanseri-levi2169
    @eitanseri-levi2169 6 หลายเดือนก่อน +6

    The rust safe overflow “bug” has been around since 2015 btw

    • @dan-bz7dz
      @dan-bz7dz 6 หลายเดือนก่อน

      How come they didn't notice?

    • @eitanseri-levi2169
      @eitanseri-levi2169 6 หลายเดือนก่อน

      @@dan-bz7dz they noticed, there’s been a open GitHub issue for this as of 2015. Fixing it is extremely difficult, I’m not even sure the rust team wants to/can fix this issue

    • @samuelfalk8438
      @samuelfalk8438 6 หลายเดือนก่อน +1

      @@dan-bz7dz It's been recognized since 2015. However, it can't be fixed until the new trait solver is implemented (pretty sure)

  • @ktxed
    @ktxed 6 หลายเดือนก่อน +7

    programming languages nowadays: rehashing ideas from the 80s

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

    Tried to build the binary but it failed due to some rustup rustc version issue. Guess gleam aint for me.

    • @ReyLamurin
      @ReyLamurin 6 หลายเดือนก่อน +1

      Installation issues here too. Bummer.

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

      @@ReyLamurinmine just fixed itself, so i don't know maybe they made an update either on their end or on my OS end.

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

    24:30 This was just a proposal and didnt got applied. The current rules are much more open that what you're describing

  • @fortwentiblazeit4177
    @fortwentiblazeit4177 6 หลายเดือนก่อน +1

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

    I hope 10 years from now someone write a book tittle "JS all the way down"

  • @NoahSteckley
    @NoahSteckley 6 หลายเดือนก่อน +1

    Just make a language that leans heavily into LSP’s and nesting static types, and you’ll have a delightful, effective, quick language. Need to stop thinking of the language as the language, and see the person-editor-LSP-language-ecosystem conglomerate as the language.
    Make a language that makes it easy and involuntary for library writers to make intuitive, documented libraries. Like Rust’s doc comment compilation testing. Rust falls short of this cause you can just go nesting things willy nilly, like TypeScript…
    Basically I want TypeScript with errors and values and an underlying runtime that’s not crap

  • @filippavlovic18
    @filippavlovic18 6 หลายเดือนก่อน +3

    4:50 its monad, is this the new greatest programming language? Kapp

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

    rust lifetime bug was there before NLL appeared, so it's not new release faults

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

    Elixir has no concurrency model, Elixir uses Erlang's concurrency model, by the fact of running on top of BEAM, the Erlang VM

    • @nyahhbinghi
      @nyahhbinghi 6 หลายเดือนก่อน +1

      true

  • @rezzubs
    @rezzubs 6 หลายเดือนก่อน +1

    Could someone tell me what's so good about gopls? Prime is always saying it's good but not why he likes it specifically. I haven't used go much but from what I've seen, rust-analyzer seems much more capable.
    Also, gleam looks pretty cool!

  • @DavidBonelo
    @DavidBonelo 6 หลายเดือนก่อน +1

    Nice, now that it's ready for production I'm going to apply to a job asking for 10 years of experience writing Gleam, thanks haha

  • @h.hristov
    @h.hristov 6 หลายเดือนก่อน +1

    Why does it have to be so political?

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

    zig mentioned

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

    Lets go! I love gleam sm, glad to see the coverage!

  • @nyahhbinghi
    @nyahhbinghi 6 หลายเดือนก่อน +1

    Just like TS -> JS, I believe the incremental compiler for Gleam will be super fast

  • @jhonny6382
    @jhonny6382 6 หลายเดือนก่อน +13

    Gleam feels like the child of go and rust

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

      Syntax-wise, rust is definitely close. But what are the go-like components that exist in gleam? I haven't found any

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

      @@detaaditya6237 in the sintax I don't see any, I see them in the philosophy of the language

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

      it's the targetted runtime (BEAM) not just the language

  • @RandomGeometryDashStuff
    @RandomGeometryDashStuff 6 หลายเดือนก่อน +1

    12:18 isn't that what `static` keyword is for (properties on functions)?

  • @balduin_b4334
    @balduin_b4334 6 หลายเดือนก่อน +1

    it is what it is agen is very based

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

    This video made me laugh like crazy. Thanks for your content Prime :D

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

    Re: 16:00 - This is what the `static` keyword is sugar for. A property on the constructor function.

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

      The caveat is that you then have to use the `new` keyword to access the non-static methods. I created a WooCommerce API client that had an interface like this:
      interface Products extends Methods {
      (id: number): {
      Variations: Variations
      }
      Attributes: ProductAttributes
      }
      interface ProductAttributes extends Methods {
      (id: number): {
      Terms: Terms
      }
      }
      /* Terms & Variations look much like the above */
      interface Methods {
      retrieve: (id: I) => Promise
      /* other methods */
      delete: (id: I) => Promise
      }
      This would mean that I can make a DELETE request to the `/products/1` endpoint like this:
      `await Products.delete(1)`
      make a GET request to `/products/2/variations/3` with
      `await Products(2).Variations.retrieve(3)`
      and make another GET request to `/products/attributes/4/terms/5` with
      `await Products.Attributes(4).Terms.retrieve(5)`
      To use static methods, that last one would look like `await (new Products.Attributes(4)).Terms.retrieve(5)` which just feels weird. (I suppose one could argue that the pattern I created does too, but 🤷)

  • @LeChuck.x17
    @LeChuck.x17 6 หลายเดือนก่อน +1

    Honestly... I don't give a shit about Gleam 😅

  • @Jerler91
    @Jerler91 6 หลายเดือนก่อน +1

    Give Lucy a saxophone and everything will be ok. Lol

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

    Finally, Gleam Coding!

  • @astral6749
    @astral6749 6 หลายเดือนก่อน +1

    15:23 omg that's disgusting

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

    15:20 Oh hey, you can do that in Lua!
    >a = { bar = 69 }
    >setmetatable(a, { __call = function() return 42 end } )
    >a()
    42
    >a.bar
    69
    :)

  • @IndigoTeddy
    @IndigoTeddy 6 หลายเดือนก่อน +3

    Next vid is probably gonna be about a company needing someone with 10 years of experience in Gleam, which isn't even a week old yet :Kappa:

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

    4:18 That doesn't look like the assignment variable but the stream operator in C++. Notice how it can be reversed to stream out the response or an error.

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

      "use x " is just pattern matching syntax, nothing related to

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

      @@OnFireByte IOMonad just sounds like the functional version of streaming.

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

      @@TJackson736 it's more like the functional version of async/await

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

    How is V vaporwave/a scam? I'm probably missing some context on this, but the language seemed fine to me last I checked.

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

    I got really excited seeing this but then instantly realized that it will take years for this language to get any level of relevance to the point of doing it full time, if it even survives. Even though it's a good language, it's incredibly hard to replace existing tools, ex. even ones as bad as Python.

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

    Is this the new grift. Making new languages but publishing what they intend to do but haven't actually done it yet.
    Hmmmm. My bad. It's this Rust based?

  • @TheNewton
    @TheNewton 6 หลายเดือนก่อน +1

    Can Gleam almost be called a Tooling first language?

    • @chris-pee
      @chris-pee 6 หลายเดือนก่อน

      Without sourcemaps? Not really, imo

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

      not currently. its mainly a web app language for now. that is their focus , but plan to add tooling features once they get the web experience where they want it

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

    in gleam, division by zero is defined as zero. Don't buy the hype folks, this is just a clown language...

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

    Why are you always selecting text like (?

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

    the lisp mascot though

  • @JorgetePanete
    @JorgetePanete 6 หลายเดือนก่อน +1

    to me, if let and let else in Rust are overhead features

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

    Gleam is the most promising language that exists today IMO

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

      go to their website and scroll down, it's like rust community but taken to its extreme (very political for no reason)

    • @syhol-io
      @syhol-io 6 หลายเดือนก่อน +1

      ​@@FlanPoirot yeah I know. I'm saying this purely from a language design point of view. I also find the package management a bit janky.

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

      Actually looking at the language, I fail to see how that is. It’s just another language with its specialties, limitations, idiosyncrasies, etc. Take a look at the syntax. It’s just differently odd compared to Rust and no more intuitive to grok when you get to useful code.
      Well, the politics while declaiming politics is a relatively new thing in the software engineering, but it’s certainly not “promising”, just contradictory and divisive. Not that that makes it different from Rust.
      Well, everyone needs their toys. I’m sure there enough programmers who like pink stars to keep this language going for a while.

    • @syhol-io
      @syhol-io 6 หลายเดือนก่อน

      @@keoghanwhimsically2268 limitations are a good thing, else every language would have goto. And it won't be fit for every use case, but what language is? I also don't think it has any original ideas, but it cherry picks features, abstractions, and syntax in such a good way that the result is an absolute joy. I'm not going to convince anyone in a TH-cam comment, but I could probably write a blog post about this.

  • @VoxelPrismatic
    @VoxelPrismatic 6 หลายเดือนก่อน +5

    I'm not touching gleam with a 10ft pole. I don't need my language to tell me what political beliefs I need to believe to use it.

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  6 หลายเดือนก่อน +1

      I don't know about this, isn't that rust?

    • @keoghanwhimsically2268
      @keoghanwhimsically2268 6 หลายเดือนก่อน +3

      “Black lives matter. Trans rights are human rights. No nazi bullsh*t.”
      Uhuh. If you have to spell it out unironically, on your home page, you definitely don’t mean what most people would think those words to mean.

    • @VoxelPrismatic
      @VoxelPrismatic 6 หลายเดือนก่อน +3

      @ThePrimeTimeagen go to the website, the link isn't posting

    • @SuperHeroINTJ
      @SuperHeroINTJ 6 หลายเดือนก่อน +1

      Can we agree that a programming language pushing a political agenda is bad?

    • @aDaily1222
      @aDaily1222 3 หลายเดือนก่อน +1

      since when is “Black lives matter. Trans rights are human rights. No nazi bullsh*t” a bad thing?
      they dont say you have to be a Dem/Rep/Etc. theyre just saying that if you come in with a Nazi attitude (an attitude that most people thing is sick), then you wont be accepted. the only people who would take offense to this are Nazis. @keoghanwhimsically2268

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

    The language seems cool but they didn't show real world examples like connecting to a database or validating data

  • @Lynxiro
    @Lynxiro 6 หลายเดือนก่อน +1

    As a Go enjoyer Gleam seems pretty interesting. At some point I'd want to learn a simple functional langusge that fills the needs Go does not really cover e.g. UI stuff.

    • @WilsonSilva90
      @WilsonSilva90 6 หลายเดือนก่อน +1

      I'd say that Gleam is the simplest functional language out there. You can grasp all concepts in a few hours.

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

      Don’t think it’s going to help in your case. Go is great for building small and efficient binaries for multiple platforms
      This one is specifically for building apps that run on the BEAM. Very different kettle of fish

  • @astral6749
    @astral6749 6 หลายเดือนก่อน +1

    Their mascot looks like it's seen the most gruesome thing in the world.

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

      they fixed it :) it's now a starfish that doesn't look like a butthole haha

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

    Any language that doesn't come with a VERY solid stdlib is going to be DOA. Compiler, formatter, package manager, and language servers aren't even minimums, they're just part of a language these days. I don't think you should get points for having what makes your language usable in the first place worked out at 1.0, more that you should get laughed at as a project if you don't. No one wants to reinvent HTTP servers, or date handling for the 9001st time, so relying on a brand new community to build up a stdlib for a brand new language in 2024, or thinking you can take your time building it out as the language's maintainer after 1.0 is just dumb imo... No one will remember this exists in a month.

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

    Seems cool but I'm not seeing any single feature that makes it worthwhile to stray from Elixir, other than maybe types, which are coming to Elixir too. The latter has a vibrant and welcoming community, all the advantages of the BEAM, more than a decade of improvements and fixes, a clean syntax, and the most loved libraries and frameworks around... IDK, I'm happy for all Gleamlins, but it's just not compelling enough for me.

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

    15:45 "Do you really want attaching properties to functions" It's not "attaching" properties to "functions", it's "functions are objects" and "objects can have properties", same with arrays or anything else that's considered an object in JavaScript. And I think this is a kind of consistency that makes sense and is desirable. Because you don't need to learn a bunch of rules or bunch of rule exceptions, you learn "things are objects, and objects have properties" and you're done. Then you might counter but in JavaScript setting properties on an array-object sort of throws off the iteration, and I reply: that's because JavaScript is cursed in many ways with many (useless) exceptions due to its sloppy inception, hence proving my point about consistency and learning exceptions. Spoons can be used to eat soup, ice cream, but also to catapult things across a room. Sharpen one end, and it's a shiv, sharpen the other and it's an eye destroying torture device. Just because the last uses are possible we're not banning spoons, we're persecuting _people misusing spoons in that way_.

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

    My biggest concerns for Gleam vs Elixir so far is a good REPL and some macro feature. Runtime debugging is a strong feature for Elixir. It also compiles straight to BEAM bytecode. Gleam has some way to go to catch up with all that excellent tooling. But I _do_ like the Gleam foundation more than Elixir, especially the lack of `nil`. (I'm a full-time Elixir dev.)

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

    11:36 I think javascript is less hard to read than c++ because there is less syntax (you know `array._isDefault = true` is assignment, now you only need to figure out how assignment to arrays works) and the many ways to solve problem use similar syntax features (I mean things like, addition, subtraction, multiplication, bitwise or, function declaration, class declaration, function literal…) but combine them differently

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

    I can't help but feel far too much time is spent stroking beards over pretty design, what is "right," etc... There are too many people who think it's cool to come to the table and try and legitimize themselves by dumping on languages and preaching their current fleeting philosophy as opposed to just making code.

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

    My favorite piece of javascript code to show java developers back in the day was this:
    function a () { function b () { return a;} return b;}
    This lets you do a()()()()()()()()()() as many parens as you want.

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

    Gealm the truth

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

    I love how Prime understands that bringing X new features to a language (such as Rust or TypeScript) becomes a major issue with time. I hope that they manage to keep Gleam as simple as it's today.

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

    Gleam is influenced by the grates of grate programming designers Even C. (Elm author).

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

    rust is going perl! :D There is more than one way of doing things!

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

    Don't we have enough programming languages by now....😂😂😂😂