Vlang: The language of 2023?? | Prime React

  Рет қаралды 132,359

ThePrimeTime

ThePrimeTime

Күн бұрын

Recorded live on twitch, GET IN
Original: • V - Best Programming L...
Author: / @codetothemoon
/ theprimeagen
MY MAIN YT CHANNEL: Has well edited engineering videos
/ theprimeagen
Discord
/ discord

Пікірлер: 379
@codetothemoon
@codetothemoon Жыл бұрын
It was a lot of fun watching this reaction, thanks for doing it!
@Bvngee
@Bvngee Жыл бұрын
Don't stop doing what you do :)
@Viralvlogvideos
@Viralvlogvideos Жыл бұрын
Yout doing great code to the moon. You got that skill to explain things clear, simple and concise. Please make a video on java vs c# vs go vs v languages
@webrevolution.
@webrevolution. Жыл бұрын
@@Bvngee That's what she said.
@oraqlle
@oraqlle Жыл бұрын
Wait till prime learns that lambdas in C++20 can use all four types of brackets eg. `auto fn = []() -> void {};` is a valid lambda in C++20.
@9SMTM6
@9SMTM6 Жыл бұрын
Somebody mentioned Vale in your chat. That seems like a far more interesting language to me if I were to adopt a newish language. (do note, Vale, not Vala)
@jsonisbored
@jsonisbored Жыл бұрын
I've been trying to find Vale for awhile because I forgot the name. Thank you!
@9SMTM6
@9SMTM6 Жыл бұрын
@@jsonisbored that's actually exactly what happened to me, this video triggered me to search a bit deeper :). I remembered a language beginning with V which had some interesting memory management ideas, went from there.
@_slier
@_slier Жыл бұрын
Vale last commit is 25 jan.. not looking very promising.. looks ded to me
@9SMTM6
@9SMTM6 Жыл бұрын
@@_slier hmm, you're not wrong. There is more up to date activity on Verdagons branch, but thar suggests a bus factor of 1, and Vale is behind the Roadmap now that I check it.
@RasmusSchultz
@RasmusSchultz Жыл бұрын
looks interesting 🙂👍 though I'm already nitpick-level annoyed that they truncated "function" as "func" while simultaneously lengthening "export" as "exported". just. WHY 😂
@nabilabdel-hafeez3916
@nabilabdel-hafeez3916 7 ай бұрын
Fyi: the name: Type annotation comes from Scala. Inventor Martin Odersky chose it, because the colon is a mathematical notation for element of a set (usually you learn in school the symbol that look like similar to €). So you could read a: Int as a is an element of the set of integers.
@andrewrobinson2985
@andrewrobinson2985 Жыл бұрын
The V community acts like they bet their life savings that it's going to be the next employable language.
@lagseeing8341
@lagseeing8341 Жыл бұрын
"V coin to the moon" ahh behavior
@EzequielRegaldo
@EzequielRegaldo Жыл бұрын
It is by far better than 90% of langs to be be honest
@joranmulderij
@joranmulderij Жыл бұрын
@@EzequielRegaldo It's sure better than a lot of languages but that is not going to make a language successful. It needs to be significantly better than the current languages to choose from, and enough people need to thing that.
@EzequielRegaldo
@EzequielRegaldo Жыл бұрын
@@joranmulderij 1 lang, everything. Its the way
@joranmulderij
@joranmulderij Жыл бұрын
@@EzequielRegaldo Would be an amazing reality right? I think with current language development it would be possible to create a language so versatile it would fit most projects. It's just that the current state of software is an absolute mess with old frameworks, old code, and trying to fit backwards compatibility into any framework is going to push it away from that perfect language.
@danvilela
@danvilela Жыл бұрын
I like rust’s arrow syntax. So easy to see what is what . Ts have colons everywhere, such a pain to know if its a type, a return type or another thing
@sk-sm9sh
@sk-sm9sh Жыл бұрын
Return type IS a type. What the heck you're talking about? But I hear you it's confusing because on object notation column is value assignment operator yet in ingerface/type its type declaration.
@stevenhe3462
@stevenhe3462 Жыл бұрын
Agreed. In Kotlin and Python, I hunt down where the return types are. A big arrow helps a lot in that sense.
@sk-sm9sh
@sk-sm9sh Жыл бұрын
@@stevenhe3462 imho c/java style is cleanest when it comes to return types.
@deistormmods
@deistormmods Жыл бұрын
​@@sk-sm9sh Nah. Rust does it best. It makes sense that the return is after the method signature. Much more intuitive.
@jamesnewman9547
@jamesnewman9547 Жыл бұрын
Vala, Genie, and others (original c++) have compiled to C for decades. It's low level enough to be similar to compiling to asm. It's really not _that_ different than LLVM, atleast not fundamentally.
@harrytsang1501
@harrytsang1501 Жыл бұрын
Compiling to C also has the added benefit of the half-century worth of optimization out of the box. Also just like LLVM but at the same time C has a much more well known interface than LLVM.
@guywithknife
@guywithknife 7 ай бұрын
Chicken scheme, ATS and many others also do this
@stephanpio
@stephanpio Жыл бұрын
I like your content, but it seems like your community is sounding more like haters day by day. In my view, they are just looking for validation by the streamer. I bet less than 10% have their own true opinions nowadays, and instead just look to have an opinion Prime would agree with. Most tech youtubers who stream seem to have echo chambers behind them, which I guess is good for their community, but perhaps not the best for meaningful discussion. I'd like to see content with people who have contrarian viewpoints but in Prime's content I just see echoes 99% of the time. I am just one guy on the internet, and probably sound like a hater as well, but just as Prime criticizes or has contrarian viewpoints to the things he reacts to, it would be great to hear the counters of his points as well.
@Funcijej
@Funcijej Жыл бұрын
Idk, if you watched the OOP good video, a lot of his chat disagree with him.
@rutabega306
@rutabega306 Жыл бұрын
Lol haters
@pookiepats
@pookiepats Жыл бұрын
shut up fool we are friendly and open minded u scrub
@m1kr0kosmos
@m1kr0kosmos Жыл бұрын
we could make a React of this React at how much rust sux.
@eboubaker3722
@eboubaker3722 Жыл бұрын
They just want entertainment you can see in the chat they are mostly laughing at each other's puns and jokes. They don't care about starting an argument
@toup0
@toup0 Жыл бұрын
There is no definition for arrays that says something has to be immutable and on the stack to be a technical array. Well in rust we call it array and vector, there this distinction is clearly made. But it can be a dynamic, heap allocated list and still called array. Like it is commonly done in many langs. For fixed sized arrays in v that are put on the stack, the syntax is e.g., `mut fnums := [3]int{}`.
@brotheradamfromups
@brotheradamfromups Жыл бұрын
Or the short syntax is to use ! at the end of your expression. This also allocates to the stack arr := [1, 2, 3]!
@maninalift
@maninalift Жыл бұрын
A new language with UI built-in. Is it the 90s?
@inexistente
@inexistente Жыл бұрын
ikr just use electron
@ok-tr1nw
@ok-tr1nw Жыл бұрын
@@inexistente nah gtk the queen
@VLang
@VLang Жыл бұрын
It's not built-in. It's a separate module installable via `v install ui`.
@mgord9518
@mgord9518 Жыл бұрын
What's wrong with an official UI?
@BiGreDNoSecoMpAny
@BiGreDNoSecoMpAny 4 ай бұрын
@@mgord9518 people on this channel are only looking to build web apps
@Hazanko83
@Hazanko83 Жыл бұрын
Copy as default makes more sense if you're not constantly passing objects around, and only passing basic types like integers/floats/etc. In my game I'm working on in C++, i'd guess over half of all my functions operate on basic types, and the remainder is passing around pointers(which technically exists ITSELF as a variable and gets copied). The cpu has no real problem just creating basic types like integers and shifting them around, while copying the address of a pointer then possibly needing to do a memory lookup is much more expensive - especially if the cpu was already working on the values being passed. In something like javascript where ''everything is an object'', I'd guess basic types being copied might be more expensive(I'm not sure)?
@paulholsters7932
@paulholsters7932 Жыл бұрын
I never understood the following: what do developers mean when they say to “implement behavior”. What is behavior? What parts die behavior consists of? Or do they simply mean methods attached to some class or object?
@ThePrimeTimeagen
@ThePrimeTimeagen Жыл бұрын
There are people who hate classes, and so therefore they all have effectively see cell functions where you pass objects in to do things
@paulholsters7932
@paulholsters7932 Жыл бұрын
@@ThePrimeTimeagen ok thx
@paulholsters7932
@paulholsters7932 Жыл бұрын
@@ThePrimeTimeagen is there a particular reason why they hate classes?
@trenwar
@trenwar 4 ай бұрын
​@@paulholsters7932because it's kinda messy (at least for me), OOP is nice but sometimes it's too much especially with all that inheritance and abstraction
@etopowertwon
@etopowertwon Жыл бұрын
Oh, I remember V. The language which promises no null, but delivered nulls. The language which promised no UB, but has documentation when UB occurs(closures). Uses tcc to sustain high compilation speed, which means destroying runtime speed. I would rather learn seed7
@petrmakhnev4037
@petrmakhnev4037 Жыл бұрын
You're right about nulls, the language only gets first class Optional types, which will allow us to start saying that there are no nulls in the language (in safe code). As for UB, I also agree, now the language does not promise the absence of UB. As for TCC, it's used for fast development, for production you can use GCC or Clang and get a super fast binary.
@socvirnylestela5878
@socvirnylestela5878 Жыл бұрын
V as in vaporware. i miss those times. how is V nowadays?
@petrmakhnev4037
@petrmakhnev4037 Жыл бұрын
@@socvirnylestela5878 evolving :)
@seanknowles9985
@seanknowles9985 Жыл бұрын
It's still in development and isn't advertised as stable 1.0
@isse6790
@isse6790 Жыл бұрын
@@petrmakhnev4037 It's dishonest to use TCC when benchmarking compilation times. Nim also has a TCC backend but you don't see people advertising Nim using benchmarks with it.
@RuslanKovtun
@RuslanKovtun Жыл бұрын
8:00 - as a vim use you should know how awesome it is to have some separator before type to navigate quickly.
@Thisone95
@Thisone95 Жыл бұрын
V running doom is a lot less impressive after learning that it transpiles to C.
@asad-ullahkhan2368
@asad-ullahkhan2368 Жыл бұрын
how? its a v program that translated doom C to V. thats pretty impressive
@icoudntfindaname
@icoudntfindaname Жыл бұрын
​​@@asad-ullahkhan2368 and then THAT V code is again compiled to a similar(less efficient even) C code C is so "simple" that it could possibly be transpiled to many langs... You just lose efficiency... But V is compiled back down so that doesn't matter.... All you need are pointers, functions, integer types etc... Mostly just basic stuff
@asad-ullahkhan2368
@asad-ullahkhan2368 Жыл бұрын
@@icoudntfindaname the impressive part is translating the C code to V, not the transpiler. It shows you can incrementally convert a codebase to V (or all at once even). Besides, the V compiler also has an LLVM emitter, which will eventually be able to run doom as well (if not already capable of that)
@asandax6
@asandax6 Жыл бұрын
V is still pretty much in alpha stage. They transpile to C because they haven't implemented a direct compiler and for some reason the V developer hates LLVM and doesn't want to use it for compiling.
@Pece0
@Pece0 Жыл бұрын
@@icoudntfindaname You missed the point of the past 30 years (at least) of language design then. Most languages abstract away from the simplicity to ensure security. Yes C is a simple low-level language, this is what makes it *difficult* to translate it into a high-level language. Precisely because that's the point of high-level languages! If we could do the same prone-to-errors manipulations in Haskell as in C, nobody would program in Haskell, everybody would program in C directly and not compromise on efficiency. (I took Haskell as an example, this would work for basically any language which is not a dictionary for C). So the fact that you can translate a fairly large project like Doom automatically from C and then compile it by any means (including transpiling back to C on the way) and still have something decently runnable is pretty impressive. That being said, I don't really see the big innovation that this V thing is supposed to be.
@techlifejournal
@techlifejournal Жыл бұрын
3:46 lol made my day. God bless you man you got great sense of humor.
@jonforhan9196
@jonforhan9196 Жыл бұрын
I love code to the moon please considering reacting to more of his stuff he does great rust vids
@roccociccone597
@roccociccone597 Жыл бұрын
I'm primarily a Go dev. I also use some other languages at work but Go is my main one. V is definitely heavily inspired by Go. It has some nice improvements over Go, like having string interpolation and some other quality of life improvements. I'll keep an eye on it. It won't be a language I'd use for actual projects any time soon though. But it's promising .
@nekoill
@nekoill Жыл бұрын
If nobody has said it (which I doubt, but still), I will: Code to the Moon, if memory serves me, is also a huge Rust fan; in fact, every other video of his I've seen so far was about Rust, which begs the question: collab w/ Code to the Moon when? I mean, your collabs w/ TJ are great, obviously, but this dude deserves to be featured on your channel as well
@JohnDean-my1dx
@JohnDean-my1dx Жыл бұрын
By the way, variables in V are immutable by default. The example at 6:59 won't run for this reason. The author of the video forgot to add `mut` i.e. `mut a := 5` instead of `a := 5`.
@jacopo8100
@jacopo8100 Жыл бұрын
that was GoLang, it wasn't V
@dertbom
@dertbom Жыл бұрын
@@jacopo8100 That is not how you write Go, the code is in V. They were just comparing it to Go.
@Puzomor
@Puzomor Жыл бұрын
I've been following the language for years now. I can assure you, all the things that are marked as WIP on their web site but advertised as practically working were in the same state years ago when I first encountered the project. The hard problems (main selling points) are not being solved. Pity, since the syntax and ergonomics are above probably any other statically typed language.
@VLang
@VLang Жыл бұрын
Can you list any examples? None of the features are WIP anymore, everything listed on the website works.
@Puzomor
@Puzomor Жыл бұрын
@@VLang Alex, please - you don't have to aggressively defend your language on literally every comment on the Internet
@VLang
@VLang Жыл бұрын
@@Puzomor how is it agressive? I was just wondering which issues you referred to.
@Puzomor
@Puzomor Жыл бұрын
@@VLang because the comment is more than a month old.....
@VLang
@VLang Жыл бұрын
@@Puzomor don't see the logic. So can you list the examples? You've been following for years, must be easy to list some examples so that I can update the website.
@iWillAvert
@iWillAvert 6 ай бұрын
12:30 You can't technically define "methods" on structs in C (you can in C++ though), but having a struct with a field that is another struct is definitely a thing in C too. That is nothing new lol.
@OneWingedShark
@OneWingedShark Жыл бұрын
You might want to check out Ada. "If" w/o parens, no dangling else. Covering choices in a "case", works BEAUTIFULLY with enumerations. Context-capture done via generic-parameter, actually really robust generics. The "Task" construct for threading. Parameter-passing denoted by usage.
@ea_naseer
@ea_naseer Жыл бұрын
1:40 yes Carmack works out these days. He's admitted it several times.
@ElderSnake90
@ElderSnake90 Жыл бұрын
Becoming IRL Doomguy
@tullochgorum6323
@tullochgorum6323 Ай бұрын
By it's own admission, V is designed to be a slightly better version of Go. So on the one side you have a mature language with extensive tooling and libraries, funded by Google and built by some of the most respected folks in the history of computing. And on the other side you have a very similar language written by random guys with a highly controversial history. I would need more than a couple of marginal improvements before I'd dream of switching.
@stoomkracht
@stoomkracht 7 ай бұрын
If only these features actually were implemented and worked as advertised for years.😂😢
@babayaga4329
@babayaga4329 Жыл бұрын
I think this was "just a teeny tiny bit" harsh on V. Too much comparison with Rust where it should've been overall and also ease of learning aspect being kept in mind to compare to rust. Plus when lang is pre-alpha and things don't work and devs fix the issues you had, that shouldn't even be judged
@brotheradamfromups
@brotheradamfromups Жыл бұрын
I love V and would like to see it come to fruition. I've been using it since 2019. It's been in beta for a while now and I'm still reporting bugs that prevent the code from compiling several times a week. They're usually pretty quick about addressing the bug like you said. But I feel like the stability of the language has not improved enough to go from alpha to beta.
@maninalift
@maninalift Жыл бұрын
💯 Interfaces should not have properties 💯 The first thing i check with a new language is how it handles sum types aka enums. I want simple building blocks for building data on the right shape. Sum types and product types. That xkcd about the proliferation of standards applies... I see a new language and think "i could design a better language than that, maybe i should" (no i shouldn't)
@delian66
@delian66 Жыл бұрын
V does have sumtypes: `type Animal = Cat | Dog`, and exhaustive matching.
@lyoneel
@lyoneel Жыл бұрын
I think V is easy and maybe ok to read at this level, I think on complex code the lack of colons and other syntax of this lang will NOT help
@ea_naseer
@ea_naseer Жыл бұрын
maybe syntax highlighting would help.
@tyunpeters3170
@tyunpeters3170 Жыл бұрын
I’m having a bit of deja vu right now, but V is already dead and Nim killed it. Nim has 3 options for GC, including a no GC option. It can also transpile to JavaScript
@petrmakhnev4037
@petrmakhnev4037 Жыл бұрын
I think it's a matter of taste. I don't like for example '&' for string concatenation and having 100500 ways to call functions which makes the code unclear in Nim. Btw, V also has a JS backend.
@TheoParis
@TheoParis Жыл бұрын
@@petrmakhnev4037 wasm >
@petrmakhnev4037
@petrmakhnev4037 Жыл бұрын
@@TheoParis you can compile C code into WASM and V has examples where this works great. Also, a native WASM backend is currently being developed, but it is still quite young.
@tyunpeters3170
@tyunpeters3170 Жыл бұрын
@@petrmakhnev4037 You don't have to use & for concatenation. You can also use a comma.
@andrewgjkgjk
@andrewgjkgjk 10 ай бұрын
I think the whole thing about references was maybe a nod to performance considerations. I think perhaps he was conveying that if you have some big struct and you're passing it into a function that doesn't mutate it, the compiler passes a reference instead. This way, the function operates as if a tedious time consuming copy had been made to pass it by value, but without that overhead. I mean, the style of the video leaves open the possibility that he was describing some cool "optimization" vs something the user would ever really perceive semantically from the feature.
@rotteegher39
@rotteegher39 Жыл бұрын
I read the thumbnail as "Vim in 2023?"
@jasonfahnestock9494
@jasonfahnestock9494 Жыл бұрын
@rotteegher39 😮 So did I.
@nothke
@nothke Жыл бұрын
34:34 "my corneas are burning" "..felt that was short sighted.." Perfect timing 😂😂😂
@JXQU3
@JXQU3 10 ай бұрын
It's go with snake case, string interpolation, range, autofree... It's like the perfect mix between rust and go
@ThrowAway-t3m
@ThrowAway-t3m 8 ай бұрын
To me space says "new word" not "example of this type". That's why I prefer a colon or some delimiter over a blank space.
@egorandreevich7830
@egorandreevich7830 Жыл бұрын
I hope you don't forget the nim language on your tier list
@lmao01
@lmao01 Жыл бұрын
I'm surprised this was even considered a language that can be popular in 2023. GC(auto-free lmao) which cleans "most of the time". Passing params which "passes either by value or reference but compiler knows" ... sure... The fact that such ambiguity is still a thing in "newer languages" is funny to even consider using it. Weasel was cute, but this one I also would hit with a car.
@VLang
@VLang Жыл бұрын
GC cleans 100% of the time. The value/reference optimization is being removed, there's an open PR.
@VLang
@VLang Жыл бұрын
By 100% of the time I mean it frees all variables, not "most".
@empresagabriel
@empresagabriel Жыл бұрын
Thanks for the video, Prime!
@lucasa8710
@lucasa8710 Жыл бұрын
I'm very curious to know why people don't understand the difference between time estimation and time prediction
@danielmilyutin9914
@danielmilyutin9914 Жыл бұрын
Why you don't like C++ capture list in lambda and what is best design in your opinion?
@alomac8976
@alomac8976 Жыл бұрын
THERE'S NO SEMICOLONS!!?!??!?!?!!!
@yamadakun844
@yamadakun844 Жыл бұрын
imho, V lang has a beautiful and easy to read syntax
@MaxHaydenChiz
@MaxHaydenChiz Жыл бұрын
I don't really understand why anyone would want this auto free thing. If you are writing something that ought to be in C++ or Rust, then resource management *is* a large part of the problem space. If it could be automated, then you wouldn't need to do custom resource management and a good garbage collector is going to be better than doing malloc and free -- those are inherently more expensive. Plus, by having the compiler do it like this, you lose out on the main benefit of not having a gc -- that how you handle memory is deterministic and visible to the programmer from the source code. So I'm unclear on what you'd want to use V for.
@Requiem100500
@Requiem100500 Жыл бұрын
It compiles into C, so basically Nim, only with go-like syntax instead of python-like
@nictibbetts
@nictibbetts Жыл бұрын
Yes.
@delian66
@delian66 Жыл бұрын
No. Many languages do compile into C, and Nim was not the first. Besides, there are many other significant differences with Nim - V for example has no macros, and no intention to have them at all. Nim is also more permissive for naming identifiers and variables, sometimes allowing you to call `xyz` as `xYz` or even `XYZ`, where all of them will refer to the same thing, while V does not.
@jkjoker777
@jkjoker777 Жыл бұрын
19:13 JS isn’t pass by reference. it’s pass by value. it’s just that sometimes that value is a reference
@youseflourdx6531
@youseflourdx6531 Жыл бұрын
it's a shame at 18:42 that prime won't create a language 😢
@musdevfrog
@musdevfrog Жыл бұрын
Can you react to "10 reasons not to use Rust (the whole truth)" by fasterthanlime?
@justpatrick_
@justpatrick_ Жыл бұрын
He did
@musdevfrog
@musdevfrog Жыл бұрын
@@justpatrick_ When, did he posted it?
@alphabasic1759
@alphabasic1759 Жыл бұрын
Well, now (after 30 years of doing IT) I've finally met someone that pronounces SQL as squeal. Yippee.
@AloisMahdal
@AloisMahdal Жыл бұрын
gotta love the `4h 53m 2s old` dunst notification
@knofi7052
@knofi7052 Жыл бұрын
To be honest, I think you should have a closer look into the V language yourself. Else you are missing a lot of things (e.g. the error management) and I think it's not really fair commenting on a summary of someone else.
@redundantpancake
@redundantpancake Жыл бұрын
yeah I hate {} around 1 liner if statements, I always tried at my previous work but not many PRs got through bc of PARENTHESIS ANDIES....
@henson2k
@henson2k 10 ай бұрын
V as a Vendetta or V as an alien lizards?
@evaporei
@evaporei 11 ай бұрын
the arrow is good for searching return types tho (but yeah you could use a lsp)
@multiHappyHacker
@multiHappyHacker 9 ай бұрын
I love C++ style lambda syntax. It will grow on you.
@Jam-ht2ky
@Jam-ht2ky 11 ай бұрын
3:15 prime went snoop mode
@kcvinu
@kcvinu 9 ай бұрын
V means full of restrictions. No global variables, no function overloading etc... And variable declaration with a type looks ugly.
@CuriousSpy
@CuriousSpy Жыл бұрын
I created library kirka for typescript . Could you give me your review? I think this library will be very usefull for js/typescript community
@quachhengtony7651
@quachhengtony7651 Жыл бұрын
Did I hear C#?
@GmanGavin1
@GmanGavin1 Жыл бұрын
Mutational (DNA changed) Mutable (volume on/off) Mut (mongrel dog)
@gaborkrisko
@gaborkrisko Жыл бұрын
You can have a shared buffer in js with workers
@Shocker99
@Shocker99 6 ай бұрын
:= is assignment, which is different to =
@qwerte6948
@qwerte6948 Ай бұрын
= also asignes...
@jfftck
@jfftck Жыл бұрын
I hate interfaces that defines parameter names because the type is the only thing that matters.
@kosodrzewinka
@kosodrzewinka Жыл бұрын
Carmack does BJJ so I guess he is
@KeyError
@KeyError Жыл бұрын
The most American thing you could say: “what is this animal? … it looks like something you’d shoot”
@NodeNomad
@NodeNomad Жыл бұрын
😂😂 thought the same
@jasonfahnestock9494
@jasonfahnestock9494 Жыл бұрын
It also looks like something that eats the rodentlike GO icon.
@batboy49
@batboy49 Жыл бұрын
I do not trust him....not using dark mode in his browser....hurt mine eyes.
@OBGynKenobi
@OBGynKenobi Жыл бұрын
It's a Vole. Hence, V
@Tobarja
@Tobarja Жыл бұрын
Thanks for reminding me that Go uses case for things.
@eli1882
@eli1882 8 ай бұрын
Refrigerators can run Doom so thats not a win.
@mojt_ba
@mojt_ba 10 ай бұрын
what is the font of the code
@rofgar
@rofgar Жыл бұрын
Oh. They have UI AND Data Access?! And its cross platform? Oh my, Delphi, watch out.
@DevlogBill
@DevlogBill Жыл бұрын
Does Rust have null safety like Kotlin? Wow, love the idea that V has interface, exciting stuff!
@xplinux22
@xplinux22 Жыл бұрын
Yep, Rust is entirely null-safe by default (see Option). Note that within the scope of an *unsafe {}* block, you may work with raw nullable pointers, should you need to do so for advanced purposes. For instance: implementing self-referential or cyclical data structures that the borrow checker currently rejects, calling C functions via FFI, etc.
@avalagum7957
@avalagum7957 Жыл бұрын
Has ThePrimeTime talked about Scala 3 yet? If not, I'd like to hear what he thinks of Scala 3.
@drsensor
@drsensor Жыл бұрын
Oh, this is gonna be controversial
@emjizone
@emjizone Жыл бұрын
17:02 Yeah, sure, the compiler know better what you want to achieve than yourself. 😭😡
@pookiepats
@pookiepats 5 ай бұрын
shame to see the bias on full display (and ignorance) given his popularity. I hope people go watch the original video and make their own assessment, it's easy to get the wrong idea and miss out on a great tool due to somebody elses bias and unfair representation. Everybody that clambered to s*** on V is feeling really stupid right about now if they take an honest look at the language now.
@ThrowAway-t3m
@ThrowAway-t3m 8 ай бұрын
It's a Veasel
@simonkaran
@simonkaran Жыл бұрын
10:19 - 10:30 You just described racism 🤣
@JakobJenkov
@JakobJenkov Жыл бұрын
It's a Veasel !
@dirkbester9050
@dirkbester9050 Жыл бұрын
I have consumed "you should learn rust" videos and articles and the decision is made to do so, just awaiting the opportunity. Same with Swift, and opportunity already knocked. I just watched the same for V and I now have zero reasons to learn V. However I gained several reasons not to. Well maybe if they can weave in a connection to the TV series V?
@alst4817
@alst4817 Ай бұрын
Looks like a stoat. Some people can’t tell the difference, lemme help: a weasel is weaselly recognised while a stoat is stoatally different. You’re welcome
@sortof3337
@sortof3337 Жыл бұрын
I love :, colons. i don't like turbofish, also lifetimes suck in rust. I am trying to build a bad http framework on my own and man its hard to make those macros that serde does beautifully. also its kind sus that you can't do impl type as return types in parameters but in fuctions. Like I want to do a: fn(T)->impl U, because rust does allow us to do fn() -> iml U when its required. its tough learning rust but fun. Like its crazy how when code compiles it works for so many cases the first time.
@SimonBuchanNz
@SimonBuchanNz Жыл бұрын
1. If you're finding lifetimes hard for some code, try throwing an Rc or using indexes instead. It's generally a hint that what you're doing isn't something "transient" which is really what lifetimes are for 2. Complex macros like serde use procedural macros, not macro_rules!. They're a bit more to set up, but then they are just Rust code running on compile on your source. Much simpler for fiddler cases. 3. impl Trait in return type just looks at the type returned from the function body and uses that (without exposing the type in the signature). impl Trait in parameter creates a hidden generic type parameter. They're both pretty simple transformations. Impl Trait in types is much harder, as it essentially means it has to look at the usages of that type and guess which specific type to use, which could need to look at the whole program, or mutually depend on other types stuff impl Trait, etc. And it won't even do what you want in that case, which is being able to return different types in different functions. Use a Box to use a trait polymorphically. The real problem with Rust is it makes things other languages don't let you do so easy, that you can get quite far without needing the slightly worse but more general thing. As an example, the equivalent of a C# List is basically Arc, and that's what you need if you want to use it like you do in C#, sharing it between threads and modifying it wherever. But if you just need it in one place, Vec is fine and way cheaper.
@BryanChance
@BryanChance Жыл бұрын
Grrrr.. why don't programming language designers just use the "well known and usual" style in the syntax? Like "{" and "}" and semicolons. OR "begin" and "end", spell out "function" of "fun"! WTF! . and def!! spell it out or use "class" ..what's wrong "this", oh no someone had to come up with "self" and even "me". For comments, just use // , /* .. */ etc etc. the c style works just fine. For multi-line literally strings use a heredoc "
@infastin3795
@infastin3795 Жыл бұрын
Do people hate C++ capture lists only because they are explicit?
@4sat564
@4sat564 Жыл бұрын
literally Golang, but with implicitness taken to the highest level
@petrmakhnev4037
@petrmakhnev4037 Жыл бұрын
Implicitness? Even closures in V require you to explicitly describe all the variables that are captured, unlike in Go where this happens automatically
@ponysmallhorse
@ponysmallhorse Жыл бұрын
DO NOT DO TUPLE RETURNS. Python developer talking))))
@wadecodez
@wadecodez Жыл бұрын
Totally agree about interfaces. IMO interfaces shouldn’t have properties or default implementations. Default behavior should be defined in something like a trait.
@sacredgeometry
@sacredgeometry Жыл бұрын
Agree that they shouldn't have default implementations disagree that they shouldn't have properties.
@JorgetePanete
@JorgetePanete Жыл бұрын
I remember the comment I made on that video: miss me with that := syntax
@Arthur-cx3ow
@Arthur-cx3ow Жыл бұрын
V is the Microsoft GO? lol
@quintencabo
@quintencabo Жыл бұрын
I looked at lodash but I really didn't think it was that bad
@demlar_
@demlar_ Жыл бұрын
Have you looked into Odin yet?
@krtirtho
@krtirtho Жыл бұрын
V is basically Go that works better with C Because if you're a go dev u know cgo sucks
@VLang
@VLang Жыл бұрын
CGO is literally why I created the language in the first place :)
@josegabrielgruber
@josegabrielgruber Жыл бұрын
I love null for mvp development
@GmanGavin1
@GmanGavin1 Жыл бұрын
12:54 Prime's sexuality revealed.
@a-yon_n
@a-yon_n Жыл бұрын
Vlang is 90% Golang + 10% Rust. It has some of the bad things like go too, for example, using tabs instead of spaces.
@nictibbetts
@nictibbetts Жыл бұрын
V will never hit 1.0.0
@brys6577
@brys6577 Жыл бұрын
V is a very cool language. But it's developers are honestly snobby. It makes or breaks the language for me, if the server you get to talk to the dev team on the project our up their own butts in opinions.
@delian66
@delian66 Жыл бұрын
I am one of V's developers. What is snobby about us, can you be more specific, please?
@Babbili
@Babbili Жыл бұрын
otter, they call it Otter
@nyxcode2818
@nyxcode2818 Жыл бұрын
':' denotes the type of something, '->' denotes the return type of a function. They are not the same, and you need both (unless you want ':' to have different meaning depending on context). They come from type theory, where they have the exact same semantics. In classical mathematics, ∈ and ⟶ behave similarly.
@SimonBuchanNz
@SimonBuchanNz Жыл бұрын
In "fn a(b: c): d ..." the d is the type of "a(b:c)", eg what you get when you call it.
@midlFidl
@midlFidl Жыл бұрын
code to the moon is awesome
@Ring0--
@Ring0-- Жыл бұрын
Guess you covered that ..
HaskLUL
25:25
ThePrimeTime
Рет қаралды 97 М.
Haskell Is Faster Than C | Prime Reacts
31:46
ThePrimeTime
Рет қаралды 131 М.
哈莉奎因怎么变骷髅了#小丑 #shorts
00:19
好人小丑
Рет қаралды 53 МЛН
Стойкость Фёдора поразила всех!
00:58
МИНУС БАЛЛ
Рет қаралды 2,9 МЛН
Please Help This Poor Boy 🙏
00:40
Alan Chikin Chow
Рет қаралды 15 МЛН
Golang is BAD for SMART PEOPLE
27:25
ThePrimeTime
Рет қаралды 268 М.
Prime React: Fast Inverse Square Root - A Quake III Algorithm
30:19
ThePrimeTime
Рет қаралды 166 М.
Object Oriented Programming is Good | Prime Reacts
31:30
ThePrimeTime
Рет қаралды 310 М.
The Weirdest Language I've Ever Seen (I kinda love it...)
58:11
Theo - t3․gg
Рет қаралды 72 М.
You Have To See This Programming Language | Prime Reacts
13:13
ThePrimeTime
Рет қаралды 52 М.
Intro to the Zig Programming Language • Andrew Kelley • GOTO 2022
50:14
I Hate Rust | Prime Reacts
23:00
ThePrimeTime
Рет қаралды 162 М.
Prime Reacts: From C to C++ to Rust to Haskell
40:54
ThePrimeTime
Рет қаралды 315 М.
Zig is FASTER and SAFER than Rust | Prime Reacts
31:19
ThePrimeTime
Рет қаралды 193 М.
哈莉奎因怎么变骷髅了#小丑 #shorts
00:19
好人小丑
Рет қаралды 53 МЛН