Val - The Rust Killer | Prime Reacts

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ส.ค. 2023
  • Recorded live on twitch, GET IN
    / theprimeagen
    Article: thenewstack.io/meet-val-a-new...
    Written by: Loraine Lawson | / lorainelawson
    MY MAIN YT CHANNEL: Has well edited engineering videos
    / theprimeagen
    Discord
    / discord
    Have something for me to read or react to?: / theprimeagenreact
  • วิทยาศาสตร์และเทคโนโลยี

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

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

    I'm going to start another new language, and I'm going to call it "Work" because it'll just work. Also because it'll truly mess with HR trying to express "5 years of $LANG experience"

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

      "We expect you to be proficient in Work, with at least 5+ years experience with Work environment and tools, and you must love Work not for the salary but just to have the opportunity to do more Work."

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

      That's how Rockstar programming language was born

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

      @@ivanjermakov Oh you mean PHP?

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

      inb4 "5 years of WORKLANG experience"

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

      This is the kind of shit my old boss would say unironically

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

    We've moved from JS frameworks coming out every month to llvm languages coming out every month.

    • @heruhday
      @heruhday 5 หลายเดือนก่อน +2

      Thanks llvm😂..

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

      hhhhhhh

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

    We went from "C++ is dead" to "this new language will replace C++" really fast, huh

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

      things happen

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

      ⁠​⁠@@bbourbakiEvery single language makes this exact same argument. C++ doesn't provide some magical level of control. You sound like the guy who writes game engines in ASM because C or C++ "doesn't provide nearly enough control". It's not a control == better thing. It's an I like this language thing. You're making up BS objective reasoning to replace the subjective reality. Some may choose C++ because a game engine they want needs it, so they are somewhat forced (or some other reason), this is fine, but don't make up other BS to justify it.

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

      ​@@bbourbakiI once worked on a project that used ANSI C for networking. The language gave us direct control over the incoming bytes, pointer casting, endianness, etc. I think it would have been more of a headache in a higher level language that obscures these details. I have also worked on porting ML projects between Python, Java, and C++ for proofs of concept, enterprise backend, and embedded systems, respectively. There's a reason each use case calls for a different language.

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

      @@bbourbaki "require level of control" NO, you don't require that level of control (maybe your ego does, but the problem you are solving doesn't). Programming languages are abstractions.
      Why don't you create your own hardware, instruction set and program it in hex code if you need that much control...
      What are we now ? manually moving electrons using our minds because we're control freaks ? grow up !
      C++ is full of bullshit, that bullshit is expensive as hell, and the language is so complex with the only purpose of making everything hard to master. Its not for control, it actually causes lack of control, its for job security or ego or reputation or some bullshit that has no technical merit and doesn't really matter as an engineering feature, but programmers are still human, aren't they ?... so that's basically narcissism.

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

      TLDR; C++ control is about ego.

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

    Language are going to be like Linux distros. The tree branches

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

      I use NixOS btw

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

      @@nomoredarts8918 Come back when you use Arch

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

      brb
      gonna go create a language called branch

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

      ​@@nomoredarts8918that's the way

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

      They already come with package managers now.

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

    We'll soon need 5 years of Val experience in order to get a job

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

      Soon? Bet you that some AI has already printed it

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

      Classic

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

      By then we'll need 8 years of experience

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

      Already put it on my resume, right after my 10 YoE as senior prompt engineer.

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

      ​@@Rakkoonn😂😂

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

    The idea of value semantics is to do away with pointers (and pointer-like things). Like in Java for instance if you declare a class you'll secretly be passing around a pointer to every object, which means (as the article says) you're never quite sure if you're the only one mutating a value. Rust is very much _not_ this; the whole idea of the borrow checker is to be able to pass references around in a way that's provably safe at compile time. You need another language to do this because if you just do away with references and don't do anything else you have potentially killed performance in other ways and/or made your life harder by removing the ability to use reference semantics where it is useful.
    Val is a very interesting project precisely because value semantics are the better default than references everywhere and it makes the code much easier to reason about. When you first write a Rust program and just slapping .clone() everywhere, you're acknowledging that. But in Rust that will incur a performance penalty. The whole idea is to be able to write the easy code full of clones but do away with the performance overhead.

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

      yeah, agreed

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

      ps: haskell ain't it either; with haskell you get the benefits of values but in haskell everything is immutable (at least notionally), and that introduces a ton of overhead.

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

      How can clones ever be performant? Either you'll spend cycles copying megabytes of data on every function call, or have cache misses if you use tree structures to keep the data static and only store changes.
      Or am I missing something?

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

      What I'm confused about is how do you keep value semantics without copying?

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

      Shadow data

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

    protip: skip secondary articles unless the primary source is lacking; Val's site answers most questions.

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

    OMG, due to how many language killers we now have - programming might be dead 😵

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

      That's the opposite of "dead." That's a lot of engineers thinking of different and potentially better ways to do things with code. Nothing could be more alive.

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

      @@eksortso that`s a joke, bro 😉

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

      @@axotellix Even with the emoji, it seemed too sincere.

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

      True, nocode is all the rage and went from English to INI to CSV to XML to JSON to JSONP to YAML to TOML to English it seems.

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

      Okay , i guess back to chicken farm.

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

    Imagine someone asks what programming languages do you know and the guy says "Val, Vale, and Vala".

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

      Valhalla

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

      wow

    • @emptydata-xf7ps
      @emptydata-xf7ps 11 หลายเดือนก่อน +25

      ** ”V, Val, Vale, and Vala”

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

      С C ++ C# D

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

      Lets add verse to that list for good measure.

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

    Finally someone is putting Rust out of its misery.

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

      just put it down already

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

      ​@@ThePrimeTimeagenwasn't rust supposed to be the 1000 year language to rule them all?

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

      @@switchblade6226 Non-programmers have infected it.

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

      all the best engineers i know love rust lmao

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

      @@kidmosey show me an objectively better language for building a web browser as a baseline

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

    I appreciate the honesty more than anything. What i mean by this is you've helped make it safe for all programmers, including experienced ones to say out loud, "i just don't get it."
    Often in this industry, this is used to shame or mock. You do so from a place of curiosity and learning. This approach is healthy and i hope all of our next generation programmers are watching.

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

    You're awsome man, going through some heavy stuff on my life, your videos sheer me up a lot.
    Thanks Prime.

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

    Val: "I'm compiled ahead of time to machine code"
    Prime: "we just call that compiled"
    *Java has left the chat*

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

      poor java

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

      A virtual machine is still a machine, right, eh?

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

    With each passing day as an engineer -- rather than finding more answers to my questions I tend to find more questions to my questions.

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

    It is very bold to say the language replaces C++/Rust. Not because of how complete and robust C++/Rust are to begin with, but because of how different Val is. I suspect that she didn't really mean it replaces C++/Rust, but rather it replaces a lot of the pitfalls of higher level languages that have people running to Rust/C++ for the performance gains.

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

    Glad we finally got some clarity on the difference between MVS and MVS

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

    Thank you for linking the article

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

    can’t wait for the first val foundation drama

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

    I hear "new alternative to C++, Rust" and am immediately very happy. We don't have enough of those. What I wouldn't give for a language that easily allows to do the same things as C but has a syntax closer to Rust / OCaml, generics, matches and type sums.
    Let's watch the video to see which boxes this one ticks haha

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

    This is why I'm still invested in C++, because it's a language that isn't going anywhere. There's too many languages coming out that claim to kill Rust, or C or [insert language]. I'm almost 40, and I've witnessed language hype for over 20 years, yet it's still the same players running the game. Jumping on the cool-kid bandwagon will likely leave you stranded with a flat tyer in the middle of the nowhere.

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

    8:15 Yup, that's how things should be done. Always be more restrictive by default, and in order to allow more, you have to add more code.
    That has been my philosophy since I'm using Rust. Or when I think about it, even before I started using Rust.
    I defned some language for stories, where you can define something like this:
    a -> b | c -> d
    Which means "Scene a first, then either scene b or c, then scene d"
    And if you defined "a -> b & c -> d", it means the same, but "both, scene b AND c"
    But when you define both of these at once, always the less restrictive variant is used, which means, after a comes b AND c, but d only needs b OR c to be finished.
    Not exactly the same, but probably similar.

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

    11:30 actually NASA codes like this to ensure they get fewer bugs. I forget which video I watched, might've been LowLevelLearning but was pretty cool how careful they are in their code.

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

      they also put hard limits on all loops
      no recursion btw, recursion is hard
      etc etc

    • @AI-xi4jk
      @AI-xi4jk 11 หลายเดือนก่อน

      I read some article that they had very disciplined C coding.

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

      aircraft code, and I assume other safety related code, doesn't allocate

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

    thanks for converting me to neovim! i actually enjoy editing code now!

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

    7:47 perfectly readable font size for even at 240p - u got my like

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

    Brilliant end! I totally resonate, I only understood that it’s something to do with mutable value semantics 😅

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

    I have been writing C++ for 20 years. Every year there has been a language poised to dethrone C++, it has rarely been the same languages two years in a row, but there has always been one. I suspect there will be a language poised to dethrone C++ for the next 20 year as well.

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

    I literally typed out this comment, "i crave new programming languages as fast as we get new javascript frameworks."
    but then you made the joke in the video. 😂

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

    ahh man, I just started learning Rust. Now I need to start again with Val...

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

    FYI it is possible to create an array type that makes all inner properties readonly, one of the good things of typescript it is that it is very customizable

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

      Doesn't "as const" do just that?

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

    New programing languages are javascript frameworks of the present.

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

    All these new languages are also "Systems" programming languages. Why doesn't someone make the new High level "Javascript" killer? That's something I'd be excited for.

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

      lua?

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

      ​@@ThePrimeTimeagen wait, can I use Lua on frontend that is not compiling to JavaScript?

    • @Alex-kb2ws
      @Alex-kb2ws 11 หลายเดือนก่อน

      What single advantage does lua have over Js?

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

      Microsoft tried with Typescript. JS lives on because Google and Apple don't care, and at the end of the day of the browser doesn't run it, your JS killer won't go anywhere.
      Lua website has no dark mode so obviously nobody on their team cares about basic web usability.

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

      ​@@Alex-kb2wsarrays start with 1

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

    The higher the level, the further I feel away from my cpu where I usually experience safety and warmth.

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

    Val really have good logos 🤩

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

    I just came to think of a related question I have been thinking about. What is Lua's reasoning for variables being global by default? Seems like similar errors could occur from this, like could occur not having to explicitly specify mut.

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

    I move the basepointer to allocate memory...no need for calls to the os or memory manager to allocate memory for the heap.
    It's also faster.

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

    Surely at this point the actual tool to learn is LLVM.

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

      😂fair point

  • @623-x7b
    @623-x7b 11 หลายเดือนก่อน

    4:10 thank you Primeagen!

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

    "Close to the metal", but is it "Pedal to the metal"?

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

    I think it's "pass by value" vs "pass by reference". Or "copy to stack" vs "pointer to stack"

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

    I think what they mean is - behaves like “pass by copy” but actually is “pass by reference” unless they modify.

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

    "engineers are the worst estimators ever" it's been scientifically proven that humans are bad at time estimation and yet we still keep trying it

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

    Local reasoning basically says: I know that if the precondition(I.e. rules for the input parameters) are met, I promise the postconditions(I.e. the output satisfy this this and this).
    Now that you know what this function is doing(and after you check it really does what it say it does well, say by unit testing or by an automatic formal proof), then you can compose this knowledge with another function calling this previous function.
    If you do it right, the story compose and you know that your whole program just works.
    When we say "non-local reasoning" we basically means that one part of your program uses the specific behavior of an non-tightly coupled other.

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

    I think it could be interesting in embedded programming where using the heap is a huge no no. Value semantics is the concept of passing by value instead of by reference. Mutable value semantics is value semantics with in place mutability such as You would see with references. It seems that this language prevents users from allocating heap memory while still allowing in place mutations. This is actually pretty neat something rust, to my knowledge, doesn’t provide. Basically suppose you have a struct A and you call mutate_struct_b(A). In C++ you’d have to pass a reference to A, in rust you’d have to pass a mutable reference, but if I understand correctly, this language would allow you to mutate A without any references.

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

    Maybe we need a language that designs other languages where you check boxes to include things like "mutable value semantics" in your language

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

    prime si afraid of haskell that whenever he sees immutability, he projects his fear and calls it haskell

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

    I've looked at val before when it was announced and I was kinda disappointed
    Unless I majorly misunderstood something they essentially just don't have references in favor or owned value semantics only. So when you pass a "reference" to a function you are actually declaring an in/out parameter where you pass the object in and then the function passes it back to the caller on return
    What this also means is that you can't reference something outside of a function call. Storing a "reference" in an struct like in Rust is impossible, or everything needs to be implemented as atomically reference counted, copy on write, immutable data structures (Not sure anymore if they do that but I vaguely remember it)
    To me this is honestly pretty boring and a lot less powerful than C++ or Rust, the latter with the obvious benefit of being able to prevent common logical race conditions like iterator invalidation too, which Val can't

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

    Val is two years away from replacing C++

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

      lmao

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

    I’m glad you’re open to “this sounds like bullshit buzzwords to me.” Every now and then I noticed when something new is released and a bunch of other engineers jump the train (or want to appear to be) people start acting like they knew the importance of some random ass buzzword that was just made up. How can you know when the word itself is pretty new! The obvious cases are when people use an existing concept or word, but don’t even use it correctly. Usually this happens with “functional programming” which people conflate to having/preferring immutable variables.

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

    Funny that Dimitri (Raccordon in this talk), was initially a colleague of mine at UNIGE. His talk about Val at CPPCON was not the best i've seen and pushing for a new language today is questionnable.

  • @NibbleMeTwice
    @NibbleMeTwice 10 หลายเดือนก่อน +1

    Nothing says "I got all of my writing skills from college" quite like writing an essay that takes time to read but doesn't actually say anything important or real.

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

    Since you are in your "new language exploration" search about Roc programming language and the talks of its creator, Richard Feldman, he uses similar semantics, but is not haskell, Haskell is lazy evaluated and this language Val sounds like strict evaluated, the same way as Roc.
    Another language to check is F-star, is a language focus heavily on verification for security and other requirements

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

    We are living in an exciting time of the Cambrian Explosion of programming languages.

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

    5:25 ohkay got it. thats what lattner said. "value semantics" is broken in java as some types (primitives) by default are passed as values, whereas object types are passed as references.

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

    in summary,
    In the burgeoning landscape of computer science, the paradigm-shifting programming language, Val, has emerged as an avant-garde amalgamation of cutting-edge syntactic constructs and innovative semantic underpinnings. Rooted in the fundamental principles of readability, conciseness, and expressiveness, Val transcends the traditional boundaries of programming languages through its advanced type inference mechanisms and polymorphic abstractions, allowing programmers to seamlessly navigate the intricacies of complex data structures and algorithmic optimizations. Leveraging a sophisticated Just-In-Time (JIT) compilation framework and a novel memory management model, Val manifests unparalleled runtime efficiency and memory utilization, birthing a new era of software development prowess. Its inimitable blend of functional and object-oriented paradigms empowers programmers to orchestrate intricate orchestrations of concurrent operations effortlessly, thereby granting unprecedented scalability in the age of parallel processing architectures. As the tantalizing trajectory of Val continues to unfold, it promises to catalyze a resounding transformation in the way developers craft intelligent and resource-efficient software systems for the generations to come.

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

      Can you tell chat GPT that it's AoT?

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

      @@Blaisem 😆 actually i prompted chatgpt to write "academic gibberish of a new programming language called val" and it give the above paragraph

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

      @@vaisakhkm783 I know, but it called it JIT compiled. Shame on Chat GPT 🤣

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

      @@Blaisem 😅 now only i noticed

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

      Liked for the poetry up here

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

    I love that we have Vala, Vale, and now Val.

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

    Lol, the rust logo on thumbnail did look like a goat from a far xD

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

    Why not show people how to be better at using existing languages instead of making your own?
    >Proceeds to make language like Rust, but does one thing trivially better

    • @0.Maiden
      @0.Maiden 11 หลายเดือนก่อน

      perhaps for them, learning an existing language is more difficult than creating a new one 😂

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

    Now, it was renamed tô Hylo programming language.

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

    i asked AI about mutable value semantics and it basically recommended clean code. i immediately felt like i was being watched by some sort of shadowy code cabal

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

    I wish he kept reading. It makes a lot more sense further down in the document. I don't think Val will replace Rust, but it will likely "replace" Rust in a lot of circumstances.

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

    I want hard_pointers to represent what I am feeling

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

    8:42 so this is the "interior mutability" rust people talk about right? :p

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

    i gotta ask, how much is rust foundation drama affecting the usability & ecosystem of the language?
    I'm looking for another language to learn it's between rust & go, leaning towards go rn

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

      Honestly, not much at all. I'm using it professionally 40 hours a week (not a crypto or blockchain firm, doing embedded software dev), happily chugging along, blissfully ignorant of all the drama except for when I tune into Prime's streams and vids.

  • @dotmavriq
    @dotmavriq 10 หลายเดือนก่อน +1

    If the cargo equivalent for Val isn't named Kilmer I'm going to ignore this lang forever.
    My JSON handler is named Statham. Fight me

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

    At this point I would really appreciate someone porting borrow checker to C.

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

    I realized the pet language I work on has mutable value semantics if I literally take the definitions strictest form hahahha - but had no idea what postdoc people call this shit (but its only one aspect of my lang).
    Tbh - when I take the written words to their face value - this is closer to my pet language than rust or zig and again mine is also focused on value semantics. I think what "mutable value semantics is" can be better understood if you think about what is value semantics: as you said if this would be C++ you would NOT use the heap and not use the NEW keyword. The word "mutable" only means that okay we have value semantics but we are not a functional language.
    My issue with val is probably that it is too much unnecessary academia and proglang masturbation that makes it hard to grasp what is going on - but likely theorywise I am litarally working on something that academics likely would also call mutable value semantics - but is much simpler.

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

      I prefer academic language over all the acronyms prolific in the tech/it industry. It often makes more sense linguistically when you figure out what it means, and it becomes easier to remember after you've figured it out, because of how literal the meaning often is. I find it to be a more humble lexicon.

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

    3:26 Up until this point, I wondered: What the hell is mutable value semantics? Why haven’t I heard of it? My experience with Swift is limited, but I know Haskell by heart and a crapload of other languages. Apparently, I’m not alone. Good.

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

    Didn't we used to call this referential transparency???

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

    I know basically nothing about compilers, but all things considered I find it hard to believe that immutables would provide any substantial perf benefit. Couldn't the compiler just scan the function to see if it mutates if it wanted to(I know that would be kinda hard if lambdas and other things are involved)? Wouldn't even that be pointless? I think I'm gonna ask Ginger Bill about this.

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

      then it would compile for ages

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

    Can I just say that anyone who says "0 cost abstraction" is not an engineer and has never seen a poorly named variable

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

    9:30 You want D where _const_ is transitive. Whatever you reach through a _const_ reference is also _const._

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

    6:08 In C++, a std::vector has reference inside it etc., but it behaves as if it were a simple value. Two std::vector variables never share the same underlying array or something. I guess that’s what “mutable value semantics” means. It’s just confusing because of the “mutable”. Everyone with a little experience in Java or C# or whatnot knows the difference between these two. It’s actually simple: No aliasing. C# has _ref_ and you can have _ref_ things only on the stack. This is the restriction, I guess.

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

    Prime is a genius.

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

      am i?

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

      @@ThePrimeTimeagen are u?

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

      @@ThePrimeTimeagen waiting for PDSL

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

      @@ThePrimeTimeagen Sorry, Prime, but you're no Tom.

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

      @@ThePrimeTimeagen the columns on that chart on that site explaining mvs said “multiple” value semantics and “mutable” value semantics. They didn’t say the same thing.

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

    yeah

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

    There are tools to generate header files for C language files... We can rebuild him... Better than he was before... We have the technology. Except for... Jai when it comes out... That will be worth learning ;)

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

    no metaprogramming (only a small subset of sad generics is planned), no proper concurrency sync primitives (everything is put under an async rug), hidden async flow, Java/Python style exceptions - dead on arrival. Totally not a Rust, not even an inch a C++ competitor, and if one wants to use a simple language, they'll use Lua

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

    academics: throw around big words until no one understands you.

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

    Hey, What do you think about LK99?

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

    This sounds like a long winded description of COW - Copy On Write

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

    Can you search for how many times the word "val" appear in the article?

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

    I need Zig with borrow checker and nothing else interests me.

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

    You’re getting it a bit wrong. She’s not saying immutable. She’s just saying mutations are local and does not modify the object outside the function. Basically pass by deep copy. Tcl has this because tcl has only one type of value: strings. A list in tcl is just a space separated string of words and a dict is just a list of word pairs. She’s doing it with real structured types

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

      Okay, the definition was pretty hard to find, as you can see I did look

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

    I think mutable value sementivs means that variables cant hold a reference

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

    New libraries werent enough, they made frameworks. frameworks werent enough, runtimes. now we have new programming language every day

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

    What happened at 14.21 for like... a millisecond lol

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

    She says at the end that Rust went in the complete wrong direction to try and solve memory safety problems from out of control out of scope referencing

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

    The C++ substitution race began!😊

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

    it's now hylo lang - former val

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

    4:05 "...differences between MVS and MVS"
    Oh, cool.

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

    At least it's not a javascript framework

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

    Good thing that new languages are needed, because I'm cooking up a Lisp killer. (It is both true and a joke.)

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

      Opting for fewer of more parentheses?

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

      @@pastenml other brackets exist besides parentheses, and other data structures exist besides singly-linked lists. The syntax I'm going for will retain the prefix notation and whitespace separation of arguments, but punctuation marks will have uses, e.g. commas to denote a tuple and semicolons to denote parts of a Lua-style table (slice or map).
      Edit: the name will be pls, so you'd type "pls run my_script.pls" to run a script. I'm thinking of compiling to bytecode like the kool kids do and then running the bytecode in a VM/runtime kinda like Wasm, but I'm still in the phase where I write pseudocode and think about it for a while.

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

    Val - The Rust Killer, she said

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

    That's what she said.

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

    Writing your own language remains pretty badass.

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

    I checked the language tour of Val and I must say I really liked it!

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

      Same. I've never read language docs before and thought "this is exactly what I want" but that happened multiple times when I read the tour.

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

      @@tacticaltaco7481 yeah the only thing holding me back at the moment is that they haven't finished the language but I still feel like giving it a go

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

      @@kallekula84 It seems like a lot of people dislike it in the comments 🤣 I guess it will become a niche language.

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

    Post doc is not coming back to school, you dont take classes, it is a job like any other

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

    Sounds like snakeoil to me

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

      i would love to see something real

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

    Have you tried Mercury?

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

    Syntax is kinda ugly in the end!

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

    'I would choose ts instead of js' and I would choose dirt over dog shit