So Many Programming Languages

  Рет қаралды 108,486

ThePrimeTime

ThePrimeTime

2 ай бұрын

Recorded live on twitch, GET IN
/ theprimeagen
Become a backend engineer. Its my favorite site
boot.dev/?promo=PRIMEYT
This is also the best way to support me is to support yourself becoming a better backend engineer.
MY MAIN YT CHANNEL: Has well edited engineering videos
/ theprimeagen
Discord
/ discord
Have something for me to read or react to?: / theprimeagenreact
Kinesis Advantage 360: bit.ly/Prime-Kinesis
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/deeznuts

Пікірлер: 401
@edumorangobolcombr
@edumorangobolcombr 2 ай бұрын
Lua on the frontend, Elixir on the backend and Turso database - the Brazilian stack
@ReverseJP
@ReverseJP 2 ай бұрын
Brazil mention
@weirdnerd1309
@weirdnerd1309 2 ай бұрын
Basado
@Toonj00
@Toonj00 2 ай бұрын
now read it backwards in ancient agyptian
@EricLouisYoung
@EricLouisYoung 2 ай бұрын
If you're not using Elixir for a web backend all that means is you don't know the power of the beam vm.
@mattburgess5697
@mattburgess5697 2 ай бұрын
@@EricLouisYoungOr you really like it but you just struggle to find the time to learn it well enough to use your current stack. :(
@nathanevans1064
@nathanevans1064 2 ай бұрын
You might think you hate MATLAB but use it for 100 hours and then you’ll really hate it
@philsburydoboy
@philsburydoboy 2 ай бұрын
100%. Rewrote an entire neuroscience lab’s operations software in C# because their matlab implementation was insane.
@CockatooDude
@CockatooDude 2 ай бұрын
Use it for anything control theory related though and you'll love it more than anything.
@PhatPazzo
@PhatPazzo 2 ай бұрын
I’m paraphrasing here: “There are people who haven’t used Lua for more than three hours, but still have strong opinions.” “I don’t have strong opinions a Python. I’ve only used it for about 100 hours.“ Earlier: “Haskell is useless.” Come on, you’re just trolling us now, aren’t you?
@plaintext7288
@plaintext7288 2 ай бұрын
Haskell is useless (I haven't written a single line of code in it)
@yash1152
@yash1152 2 ай бұрын
he does on haskell, no surprise > _"common, u're just trolling us now, arent u?"_
@renx81
@renx81 2 ай бұрын
He doesn't really know what he's talking about yet thinks he does (as evidenced by his take on WASM). Classic Dunning-Krueger.
@vojtastruhar8950
@vojtastruhar8950 2 ай бұрын
if lang == "Haskell": raise UselessException()
@BosonCollider
@BosonCollider 2 ай бұрын
Judging from his time learning ocaml, he doesn't have the background to evaluate Haskell imho. I don't necessarily disagree with the conclusion due to the ecosystem, but Haskell as a language does have some really amazing things that would blow his mind and that more mainstream languages should have In particular I don't think prime has tried a language with Software Transactional Memory yet (i.e. like Haskell, Clojure, and pypy before the python3 schism). You just write threaded shared-memory programs without any channel or message passing boilerplate, and it just works without locks or race conditions because the language just has support for transactions and optimistic concurrency like in a SQL database.
@OzzadarDev
@OzzadarDev 2 ай бұрын
Prime just made the classic argument for mmos for Lua: “Dont worry, it gets good after the tutorial!”
@Xeit
@Xeit 2 ай бұрын
After 200 hours*
@OzzadarDev
@OzzadarDev 2 ай бұрын
@@Xeit modern tutorials in video games
@d.-_-.b
@d.-_-.b 2 ай бұрын
Running an entire company on Web Assembly apps gives me an OrgWASM
@b3owu1f
@b3owu1f 2 ай бұрын
Speaking my language. Extism is next level WASM.. making it seamless/easy to support most languages in just about any host language/platform with the bonus of sandboxed safety per module and in many causes much improved performance over host language.
@adam.maqavoy
@adam.maqavoy 2 ай бұрын
You clearly can't spell.. #@d.-.-.b
@dgo4490
@dgo4490 2 ай бұрын
Yeah if all you have is crap software that doesn't get massacred by wasm's poor performance, lack of features and poor scalability.
@b3owu1f
@b3owu1f 2 ай бұрын
@@dgo4490 Wasm's poor performance? That depends on what language you are using to write and target wasm for. Zig, Rust and C put out really good wasm code. The runtimes on various languages may not be great, but they are improving as well all the time. Took the JVM almost 2 decades to improve performance noticeably. WASM is already more performant in most runtimes. I mean I guess if you are running WASM in NodeJS and writing WASM with NodeJS.. you may have a valid point. But write some WASM in Zig or Rust or even Go if you can get past Go runtime being part of each .wasm output, and you can get some pretty good performance.
@d.-_-.b
@d.-_-.b 2 ай бұрын
It's definitely not easy to achieve when you suffer from a periodic monotile dysfunction, known as Flaccembly.
@MyCodingDiarie
@MyCodingDiarie 2 ай бұрын
Every video you make is a masterpiece. Keep 'em coming!
@Robin_Goodfellow
@Robin_Goodfellow 2 ай бұрын
I have fond memories of Lua. My compilers class in college did a semester long assignment where we built a lexer, parser, and interpreter in Lua. That professor's unit tests, to this day, are some of the best I've ever encountered. Passing those tests was like crack.
@archimedesbird3439
@archimedesbird3439 2 ай бұрын
10:45 If you could read Cyrillic...
@max_me_is
@max_me_is 2 ай бұрын
Sneaky TOS
@ProtossOP
@ProtossOP 2 ай бұрын
We’ve got a snitch over here
@ivanjermakov
@ivanjermakov 2 ай бұрын
No surprise twitch mods are very strict about being english-only.
@JohnSmith-yl2fh
@JohnSmith-yl2fh 2 ай бұрын
Ruzzians everywhere
@LosManexStudio666
@LosManexStudio666 2 ай бұрын
Лол
@MyCodingDiarie
@MyCodingDiarie 2 ай бұрын
You're doing a fantastic job. Don't ever stop creating!
@jackmordaunt5410
@jackmordaunt5410 2 ай бұрын
Odin is super clean syntax and readable.
@leetaeryeo5269
@leetaeryeo5269 2 ай бұрын
That whole WASM talk really reminded me of the pro/con debates about targeting JVM/.NET, and how we used to have Java in the browser with Java Applets. Gives me a lot of flashbacks there with the whole "compile to WASM/JVM and run everywhere!" argument.
@frodo_alaska
@frodo_alaska 2 ай бұрын
Man, I really enjoyed this video actually. Just sitting down and talking about shit, hearing Prime's crispy voice in 1.5x speed. Listening to Prime--an actual experienced developer--talk about these topics that get discussed constantly is very... refreshing? Listening to you feels worthwhile, while reading about these topics on twitter/X where everyone thinks they're the second coming of John Carmack is soul-sucking. I'm all for the reaction content (those are amazing as well) but you just can't get better than a one and one discussion with the one and the only Prime. And Rust can suck my big balding head.
@dacam29
@dacam29 2 ай бұрын
It is even better at 3X 😏
@MikeSW
@MikeSW 2 ай бұрын
​@@dacam29Anything above 3x speed is just the ravings of a highly caffeinated chicken.
@KyleHarrisonRedacted
@KyleHarrisonRedacted 2 ай бұрын
“You should use narrow scoped languages” / PHP’s confidence was boosted
@alexpyattaev
@alexpyattaev 2 ай бұрын
Wasm is for making browser games. Or 3D collab software. Any resource intensive frontend, basically.
@jhonyortiz5
@jhonyortiz5 2 ай бұрын
One thing ive been thinking aboit is hoe wasm may be a good plugin language. Maybe not as good as lua in some ways but wasm can be fast and more importantly, it would allow people to create plugins from different languages. I think zellij uses a wasm plugin system so we'll see how that goes. For portability wasm seems like a goos option. And as people mention, you dont write wasm, you target wasm. Having said that, i think wasm and docker have some similarities but they are also very different.
@Gennys
@Gennys 2 ай бұрын
When he's talking about WASM is this the same thing that a long time ago they compiled doom to run on the browser with? Or was that a different project?
@Handlebrake2
@Handlebrake2 2 ай бұрын
Haskell is a good language to learn functional programming.
@user-pe7gf9rv4m
@user-pe7gf9rv4m 2 ай бұрын
I agree. If you use a language that "has" it but let's you do everything else too, you never end up using the functional tools since you're always gonna want to take the easy way out. Haskell makes it sink or swim. It's hard and painful certainly for a lot of people but it also means you learn a lot more and a lot faster if you can stick it out. Edit: So, Haskell (and OCaml too actually, many FP languages) a good language for the same niches that other sort of runtimed languages (CLR .NET, JVM environment, BEAM). But each of the languages think in different ways. Some people think in a more imperative squirrely-brace way, some people like an abstract declarative way which is why Go and Elixir won't really compete with each other even though they're both for concurrent live web application servers, because they appeal to two very distinct crowds of types of developers. Go is very imperative style, Elixir is functional style. So it's also not just about the applicability niches (web servers, game development, mobile apps, real time embedded) but also the psychologies of the people who want to do those things.
@SimGunther
@SimGunther 2 ай бұрын
OCaml is also a great choice for functional programming! ❤
@Mth-Ryan
@Mth-Ryan 2 ай бұрын
I agree. I learned how to solve problems in a functional approach with Haskell. And this made it much easier to learn other languages, including Rust.
@SimGunther
@SimGunther 2 ай бұрын
@@Mth-Ryan The trick is to start with functional programming because if you with procedural languages first, it will make Haskell feel like a chore to write code for any project.
@_Lumiere_
@_Lumiere_ 2 ай бұрын
I hear Haskell is pretty good for learning Haskell
@lcarv20
@lcarv20 2 ай бұрын
If you use wasm for rendering html, yeah then it’s not a “w”, but if you use it to do heavy and complex computations then yes, it’s great. Great examples are media editors & renderers, games, etc.
@samw5983
@samw5983 2 ай бұрын
Odin is a pretty good low level good generally purpose language. The reason there's a lot of graphics/games dev around it is mainly because, 1) There's bindings to DX, OpenGL, Vukan, SDL2, RayLib & Metal packaged with it. And if you want to uses those with a LL language that isn't C/C++, isn't OOP & easier to learn then Rust, you've got what Zig, Odin and maybe Jai; 2) The community around Odin is still very very small. So curtain parts are going to get over enthused, to the determent of Odin. Plus the only commercial use of it is JangaFX's programs; and 3) Not gonna lie. It do be nice for graphics programming but unlike Jai it's not explicitly built for it. It's just a nice language to use. You really should try to get Bill back on & try it for a week/month. Even if that's just remaking some of your old tooling.
@JH-pe3ro
@JH-pe3ro 2 ай бұрын
Lua + Forth = a world conquest combo. Use Lua to generate code for a Forth system, and you have a really high-level setup that can also go really low-level. But you have to embrace some "building the language" as you go along. I'm already doing that, although I do use some Python for build stuff.
@CallousCoder
@CallousCoder 2 ай бұрын
I never used lua but I like forth
@kiddkai
@kiddkai Ай бұрын
I use lua extensively for openresty development earlier in my career to route traffic’s dynamically down to all the microservices the company build, pretty fun language to work with.
@andythedishwasher1117
@andythedishwasher1117 2 ай бұрын
lol my dev stack almost centers on Docker, but the whole point of the stack is to avoid actually centering on anything, so I have non-Docker ways of running the whole thing alongside the Docker way, both baked into separate automation handles. I make options for everything and depend on nothing I can avoid depending on.
@marcusrehn6915
@marcusrehn6915 2 ай бұрын
Have you ever built something large with a large team using Lua? Just curious, honestly. If less is more even in larger UI projects.
@defeqel6537
@defeqel6537 2 ай бұрын
Is WASM always interpreted, or can the implementation just compile it to native code and run it like that? That would be pretty great, though it is way too late to affect iOS or Android, and thus the whole platform/tech will be limited in scope (consumers have already rejected alternative OSs like Ubuntu, Libre or Sailfish/Mer).
@DeanRTaylor
@DeanRTaylor 2 ай бұрын
I just think creativity and doing what you are passionate about is what really kicked off software as a huge industry. When it was all science it was used for mathematics mainly, when the nerds started doing nerdy things we got home pcs and mobile phones. All that is to say, if people wanna create a backend runtime for a frontend language, I'm completely happy to see and learn about it because creativity breeds progress. I disagree with forcing specific languages only for specific tasks.
@tonyb3123
@tonyb3123 2 ай бұрын
Odin is great for game programming in general. Not just graphics, but whole games in Raylib and SDL are delightful to make in Odin. I tend to prefer Zig above Odin for games myself, but mostly because I vibe with Zig's comptime. I like having the choice between the two
@ryangrogan6839
@ryangrogan6839 2 ай бұрын
Im guilty of 6:00... i want to be sure I can squash any prod bugs during development, like CORS, reverse proxy configs, etc. I made a docker image specifically for running Django as a container but still allowing you to edit source and take advantage of hot reload
@Ari-lv8nc
@Ari-lv8nc 2 ай бұрын
GDScript is a language with one purpose
@Pasora
@Pasora 2 ай бұрын
And to me it does it pretty well. I really like the simplicity of it while still having the benefits of fast compile times and an incredibly smooth experience. Really like the async await system of it too.
@user-ky9qn4pg3w
@user-ky9qn4pg3w 2 ай бұрын
it's not a programming language. it's a scripting language for 1 specific software similar to formulas in excel.
@lakelimbo
@lakelimbo 2 ай бұрын
@@user-ky9qn4pg3w uh, what? It is a programming language... and scripting languages are also programming languages, lol
@RenderingUser
@RenderingUser 2 ай бұрын
Godot mentioned. Let's goooo
@kshyr811
@kshyr811 2 ай бұрын
it's wonderful
@AnitaSV
@AnitaSV 2 ай бұрын
wasm is also the target for bootstrap compiler for zig. That makes so much sense.
@adjbutler
@adjbutler 2 ай бұрын
Prime knows all languages except for Python. Amazing ignorance.
@snowSecurityneeded
@snowSecurityneeded 2 ай бұрын
I would like alt world where lua became the language for browsers.
@rosiepone
@rosiepone 2 ай бұрын
lua's main drawback is javascript's main advantage, which are the coroutines.
@hamm8934
@hamm8934 2 ай бұрын
@@rosieponethis
@nevokrien95
@nevokrien95 2 ай бұрын
Counter argument for narrow scoped languges: Learning a generic languge gives you a strong basis for anything you do. For instance I know a bit of elixir because I build a website with it. Now someone wants me to build a website with them. I am gona use python... ik python. For 3 years so I could build a stable python application
@arcanephysics7384
@arcanephysics7384 2 ай бұрын
I agree, this is actually what I like about Rust. I like being able to only know one language and be able to manage okay in all kinds of different languages. Of course some languages are better, and should be preferable, in certain domains. Regardless, versatility is nice to have.
@tychoides
@tychoides 2 ай бұрын
I think that the best is to use general purpose language that fits as DSL in a specific use case. Python is just like that. R is good but too much focused in stats and the ecosystem is only stats. Python has everything under the Sun. In astronomy people use to make custom scripting languages for data reduction packages. All suck. The altenative was IDL, a Matlab for images. People start discovering Python and now all astro is using Python as scripting language. I think that sometimes a DSL might be good, but the ecosystem is important too.
@nevokrien95
@nevokrien95 2 ай бұрын
@tychoides what you are describing also happened with deep learning a few decades ago. This is why I known python in the first place. It's my second languge after java because I wanted to do ai and ai is basically just python. I do really like learning other languges but seeing python In webdev (django) a bit more in depth really changed how I see it as a whole. Like its the worst language for everything until there is tooling and packages. And then it gives you just the right amount of abstruction.
@vitalyl1327
@vitalyl1327 2 ай бұрын
There is no such thing as a "general purpose" language.
@hamm8934
@hamm8934 2 ай бұрын
@@vitalyl1327yes there is lol
@seventyfive7597
@seventyfive7597 2 ай бұрын
When I was young I was taught Fortran 77, COBOL and PL/1, and then I discovered Borland Pascal, do you think it is the language of the future?
@svenmify
@svenmify 2 ай бұрын
I’m not sure about the whole narrow scoped languages thing. I know a couple of languages really well (c#, JavaScript, assemblyscript and typescript, php, solidity, haxe, and currently learning rust), but it’s such a pain that when I want to mess around with something for a bit, I’d have to first learn lua or zig or whatever. I do get it, languages designed for specific tasks tend to be better for that task. If performance is critical, better use something where you can fine tune the memory layout so everything is optimised as much as possible, and not rely on a managed memory system. But at the same time, the more languages someone has to learn, the less time they have to really master one or two specific languages.
@filko3578
@filko3578 2 ай бұрын
Yes, I think it makes sense to design languages for specific areas. I see Golang as being well suited for cloud/network/CLI and small GUI applications with GTK, and not much more. Zig for low-level and specially optimized tools. Odin for graphics. R for statistics. Python for machine learning and automation. JavaScript strictly for the frontend, and nothing more. That's my take on this.
@defeqel6537
@defeqel6537 2 ай бұрын
While I agree on the premise, I think Zig and Odin overlap considerably, there is nothing inherently "graphics" about Odin.
@filko3578
@filko3578 2 ай бұрын
You're right about this. I thought quote: "Odin provides official libraries for all major graphics APIs: OpenGL, Vulkan, Direct3D11, Direct3D12, Metal, and WebGL 1 & 2. Odin additionally brings you officially maintained bindings for popular libraries such as SDL2, GLFW, raylib, microui, miniaudio and much more, in its vendor library!" makes more sense for graphics stuff@@defeqel6537
@snrd
@snrd 2 ай бұрын
What I am looking forward though are the plans to have access to the several Web APIs directly from WASM so that we can finally ditch javascript/typescript completely and have a programming language agnostic frontend target for the web.
@replikvltyoutube3727
@replikvltyoutube3727 2 ай бұрын
Write frontend in Free Pascal and write backend in Free Pascal. Free Pascal W
@replikvltyoutube3727
@replikvltyoutube3727 2 ай бұрын
These guys really basically the perfect language AND don't take money for it.. so much potential wasted
@freesoftwareextremist8119
@freesoftwareextremist8119 2 ай бұрын
My memories of writing Pascal honestly are not that rosy. But Lazarus is pretty cool.
@bearwolffish
@bearwolffish 2 ай бұрын
If domain specific there are a ton of languages to me, if general there about 3, and I can get by with 2.
@nightshade427
@nightshade427 2 ай бұрын
Debug c/cpp wasm in chrome with dwarf, source mapped, stepping, memory inspection, etc
@OzzyTheGiant
@OzzyTheGiant 2 ай бұрын
Thank you for calling out people setting up their environment around containers. I've been in that situation. Had a tech lead build everything with Kubernetes from the ground up and developing with it was and absolute PAIN!
@ak2f
@ak2f 2 ай бұрын
dev containers suck, but toolbox or distrobox IS different and it's worth trying. Having the possibility just install stuff and do not mess up your host system, but still not being in a sandbox completely disconnected from what you have on the host. It's just something you have to experience, it's just different then dev containers in so many ways.
@az8560
@az8560 2 ай бұрын
on how many billion devices does wasm run?
@5tevend
@5tevend 2 ай бұрын
Another issue with WASM is writing something in one language and then having to debug an issue on the browser
@mitch9254
@mitch9254 2 ай бұрын
odin is what you use when you want c without the bullshit. i think it's also pretty much feature complete as opposed to ongoing beta like zig and jai
@thezachdrake
@thezachdrake 2 ай бұрын
This is why I use Julia. It's designed especially for data and science computing.
@tychoides
@tychoides 2 ай бұрын
But it is a bad scripting language and a bad system programing language. The compilation times and jit lag is still bad enough that for short scripts python is faster (I time it from the terminal). You can precompile, but still is not good enough and quite inmature. So not good for scripts. And you don't have true compilation, so no Julia libraries that you can call. I have tried to use Julia for data science and python is comparable or faster (Polars dataframes are really good). Using vectorized operations on large datasets are not advantageous in Julia. However, Julia is excellent for simulations, specially those involving differential equations. Julia makes more sense for Neural Networks that Python, but Julia cannot make libraries or executables as C++, so all work went to Python and C++. NN frameworks in Julia exist but they cannot compete with TensorFlow and PyTorch with all the money and development behind them.
@tychoides
@tychoides 2 ай бұрын
@@fastasasharkTest Python+Polars vs Dataframe.jl, Polars is much better. Also the Julia LSP takes 10-30 secs in start. Pylance is javascript and is instantaneous. If any program in javascript is faster than your chosen language, then you have issues. Python is slow, nobody fights that. But you call C/C++/Fortran/Rust libraries. And those are fast, even with Python overhead.But Julia pretends to be a full stack, but it isn't. I would not make a script in Julia. I would not make a simulation in Python, I would use Julia. I would use C++ or Rust to make libraries. Julia is a DSL, is time to accept it.
@9s-l-s9
@9s-l-s9 2 ай бұрын
lol Julia people really want it to have success, but it's just not happening
@the_mastermage
@the_mastermage 2 ай бұрын
​@@9s-l-s9I would like Julia to have success because it's just plain better for my use case which is mainly scientific programming So I want to crunch alot of numbers quickly. And also don't want to stay as close to my scientific notation as possible. Meaning less nested loops (which you can't avoid in Mathematical Sciences because you have indexes over which you iterate.) But I am not without criticism. The inability to compile to binary is a crucial flaw, while not for my intends I don't understand why they do not have this. Additionally I find the Julia way of doing traits very lackluster and I would like to have interfaces included. Instead of weird abstract supertyping
@Jam-ht2ky
@Jam-ht2ky 2 ай бұрын
Prime is building an analogy portfolio
@danailenei9959
@danailenei9959 2 ай бұрын
Idk, I used docker for dev environment in multiple projects, it was pretty cool. It sucks if you do not know docker I guess
@alexisJonius
@alexisJonius 2 ай бұрын
I need a guide on what language to use for what purpose 😵‍💫 when do i use C? C#? C++? Python? How does one decide for each project?
@sonicjoy2002
@sonicjoy2002 2 ай бұрын
Just learn C#, it solves all your problems👹
@thavrisco1632
@thavrisco1632 2 ай бұрын
65 megabyte executable
@b3owu1f
@b3owu1f 2 ай бұрын
ROFL. So does Java. Go. Python. NodeJS. Rust. Zig. C. The list goes on.
@UberAnonymous
@UberAnonymous 2 ай бұрын
I’m a self taught dev. I started by learning C#. Not really sure why but now I know a tiny bit and I am picking up Python super quick and it feels very easy. Can someone explain why everyone memes on C#. I’m genuinely curious, I just want to learn.
@Shywizz
@Shywizz 2 ай бұрын
@@UberAnonymous Ask that to C#'s brother, Java.
@deidyomega
@deidyomega 2 ай бұрын
@@UberAnonymous C# is a microsoft product, it was also created to be a competitor to another language. Those two reasons alone give it meme status. It's also kinda lost its place in the world. If you want speed, there are faster languages, if you want more expressive, there are better languages. The only companies who use it are in industries that move *very* slowly. Its a fine language, but a lot of the ideas aren't as common in modern development. MVC being an example, you don't see that in the react/node world. I've also personally been burned with C# + lightswitch back in the day, and so I don't trust trying their newer tech (blazor for example).
@markhou
@markhou 2 ай бұрын
Julia for front-end, PHP back-end, and Visual Basic for middleware
@Elixz89
@Elixz89 2 ай бұрын
For 1 base indexing you should keep the muscle memory of 0 base indexing and always write +1 behind the index
@vilvilao
@vilvilao 2 ай бұрын
Lua in the browser😏
@maximofernandez196
@maximofernandez196 2 ай бұрын
would be better than js
@spicynoodle7419
@spicynoodle7419 2 ай бұрын
callback hell all over again
@weakspirit_
@weakspirit_ 2 ай бұрын
i would genuinely love a lua-like language for browsers. modern JS solved some problems that lua hasn't (mainly just chaining callbacks, but there's some other niceties too) so having a derivative of lua that's geared for browsers would be nice. imagine if luaJIT get years of company-backed engineering as all javascript runtime does.
@gadgetboyplaysmc
@gadgetboyplaysmc 2 ай бұрын
@@weakspirit_ I genuinely want to know what makes Lua better than JS. I used Lua a ton and it feels so lacking (But I accept that because it's supposed to be a minimal scripting language). There aren't even namespaces in writing typedocs (JSDoc-like comments). It feels awful to write a whole project in. I get that a "browser-specific" version of Lua might turn this into a real programming language with browser-specific APIs inside Lua. But I still don't see how Lua can be better than Modern JS even then. It just feels like a hipster take to me because Lua is underrated and JS is just being hated on because it's reached a popularity threshold, and too many normies are using it.
@weakspirit_
@weakspirit_ 2 ай бұрын
@@gadgetboyplaysmc now that's a strange take considering how much bullshit about ASI, object prototypes, JS container types, comparisons, truthy values, implicit behaviour, 4 different ways to iterate through a container (with their own quirks), "var" keyword, "new" keyword, nothing values, how "modules" worked before import, and so much more footguns. it's not about how awesome Lua is. no, Lua is stupid simple like Go. it's about how much bullshit JS carries on its back after making bad decisions in its early years. if i'm being honest, even a Lisp engine is a much better choice than JS (i'm biased because i used Emacs).
@j_stach
@j_stach 2 ай бұрын
Starting arrays at 1 is superior because the length of the array is the same value as the greatest index. No "len - 1" everywhere. Lua is beautiful
@rosiepone
@rosiepone 2 ай бұрын
lua is one of my favorite languages ever, but I almost never use it, because there's nothing I could do in lua that I couldn't do equally well in C# or powershell 7 lol, I just don't do the sorts of things lua is really good at
@ForeverZer0
@ForeverZer0 2 ай бұрын
0:16 "Odin is geared towards graphics" is a real misnomer about Odin that is purposefully pushed to try and give the language an identity. It does absolutely nothing special with graphics, nor have anything "built-in" to the language for graphics. The took the code from other developers bindings projects for OpenGL, GLFW, etc., and slapped them into the "vendor" directory to be available for a default install. There is no special "low-level language optimization" being don, anyone could accomplish the same by simply adding/creating these bindings themselves, as is done with literally every other language and project that uses them. It is mildly convenient to get a project up and running quickly without, but anyone who is serious about making a game are going to spend an afternoon to fine-tune some custom bindings that are purpose built for their needs.
@JohnDoe-vb3ks
@JohnDoe-vb3ks 2 ай бұрын
Well, convenience matters, a lot. Also for every one "who is serious about making a game" there's about X times people, who'll just download Unity/Godot/whatever and play with it. So making something sitting in between "just download Godot binary, and you're ready to go" and "spend an afternoon to fine-tune some custom bindings" may be quite valuable.
@ForeverZer0
@ForeverZer0 2 ай бұрын
@@JohnDoe-vb3ks If you are using Godot/Unity, then you aren't using Odin, so not sure how that is even relevant. Saving a copy/paste of a file or two one time could be classified as "convenient" in the strictest sense of the word, but let's not pretend that it is some extraordinary feature that makes an entire language geared towards a specific "graphics programming. Actual language features and syntax would be far more relevant, not a copy/paste of files to the vendors directory. I have nothing to against Odin, I merely pointed out that objectively there is nothing about it that makes it "geared towards graphics" more/less than other language, and this reputation has been artificially pushed and parroted.
@wondays654
@wondays654 2 ай бұрын
@@ForeverZer0 "Odin is a general-purpose programming language with distinct typing built for high performance, modern systems and data-oriented programming. " is literally their definition of what the language is. I don't know how the whole "graphics programming" was purported. From what I understand, Odin was created because Ginger Bill didn't like some things in C and made a language for "the joy of programming". So I completely agree with you.
@azmanic
@azmanic 2 ай бұрын
​@@ForeverZer0 "artificially pushed and parroted" why do you make is sound like some conspiracy theory haha? I think a lot of it comes from the fact that is has a built in way of dealing with SoA and AoS and methods to access them in very useful ways which is a big thing in graphics and game programming (along with it just being a systems language). Also the fact that the only real production software written in Odin is graphics based (JangaFX suite).
@kenneth_romero
@kenneth_romero 2 ай бұрын
@@ForeverZer0the joy of programming is the big one. this language has made me enjoy programming so much. I actually have been just building stuff for fun, rather than school or to get better for a job. also heavy influences from Go and Python are apparent and really do push the "just get stuff done" mentality of the language. Wish the tooling for it were better, but Windows has the best support rn.
@pif5023
@pif5023 2 ай бұрын
I am very bullish on Wasm, I hope it becomes something. Not much for the front end but as a shared compilation target when you don’t need super performances. An actual solution to Java, JS and .NET (I will spare Python because little scripts are still useful). Imagine to compile just once and have a Wasm executable that runs everywhere for real without the need of an interpreter. I would circumvent the browser if possible, just have OSes offer the ABIs. Perhaps it is just a dream.
@diadetediotedio6918
@diadetediotedio6918 2 ай бұрын
Also, I think the "one language for a specific purpose" is both a good take and also in some level bullshit (relating to the title of your video as well). It is good because specialization tends to make better tools fit to their specific purposes, it is good for organization and also allows for more conciseness in what you are trying to express with code. And it is also bullshit because learning more languages do not imply in a loss, it expands your domain over all the languages you've already learned by generalizing the knowledge, having competition is also extremely good and factually one of the most common reasons I heard from people is that they "don't want needing to learn so much" (which is lazyness³; you also don't need to learn everything, because competition exists and thus you can work with whatever you want most of the time), and also because the more specialized you are the more you lose context about the world of other things, and the more you need that 'recurrence' and fragmentation inside one workload. You can see this with people using JSON, but still inventing more and more protocols around it, or with alternative solutions to protobuf that tries to cover logic or some other bs, or even with Lua where there are like dozens of versions of it trying to generalize it for more cases or for performance-based tasks (like lua-jit or Luau [the roblox version of Lua with types and other features]). I'm also not saying this is bad, but specialization can be a good or a bad thing and it is generally harder to know the exact domain of the problems you are trying to solve (the problems you are tring to find in the real world to specialize in) than to make a general-purpose language that can be used in certain contexts more than others. I think we should have even MORE languages, more and more and more of them, because no one will fullfil all the needs of all programmers ever. This is one of the reasons of why I think AI's can hurt the developer environment much more than aid, they are good at specific things they have tons of material to train on, and their general tendency is not to innovate but to homogeinize everything (the wet dreams of the "we already have many languages" person).
@headpenguin8758
@headpenguin8758 2 ай бұрын
Lua is fun to use when embedding in C(++?), don't know how useful for productive purposes though
@rusty_knife
@rusty_knife 2 ай бұрын
i find the whole wasm on the backend thing weird... like we already have the jvm which does basically the same thing but way better?
@boredstudent9468
@boredstudent9468 2 ай бұрын
The biggest usecase of Lua is Minecraft ComputerCraft
@CEOofCulturalMarxism
@CEOofCulturalMarxism Ай бұрын
I love Computercraft
@landonyarrington7979
@landonyarrington7979 2 ай бұрын
docker reduced our new employee onboarding and env setup by like 90%
@Gennys
@Gennys 2 ай бұрын
I think Oracle really should have rebranded web applets and really went through the trouble of making containers easier for the web. They missed a huge market for reintroducing Java for the web. If they were smart they would really do well in client and server containerization for Java. But I don't think they ever will they have a huge hard-on for Enterprise world only. Honestly they've done some amazing things for Java but it's still kind of sad to me that Oracle owns the brand.
@JonitoFischer
@JonitoFischer 2 ай бұрын
Zig is awesome!
@blackhaze3856
@blackhaze3856 2 ай бұрын
I started using C and php and after several years trying new technologies I keep using php and C. Oh! And Go! This one looks good.
@orterves
@orterves 2 ай бұрын
5:47 this is a very bad take without explaining further. A repo that comes with a devcontainer configuration is strictly better than a repo without one because *you don't have to use the devcontainer if you don't want to* . But the people who do want to get a simple self contained and consistent environment to work in
@ade5324
@ade5324 2 ай бұрын
Is this an argument for and idea for "Language-Oriented Programming Languages" like Racket and JetBrains MPS?
@50c42
@50c42 2 ай бұрын
Listening to this while writing a blazor WASM application lol
@davr9724
@davr9724 2 ай бұрын
I think there might be a pseudo-code language in the future that can translate into application specific languages. That way the refactoring workload isn't as large when a new language or new language features go out into the future.
@gigitrix
@gigitrix 2 ай бұрын
Transpiling isn't that new. To me it seems more likely that focus will shift in that inevitable microservicey direction and converge on protobufs-style strongly typed communication between services regardless of the domain specific language implementation for that component
@user-pe7gf9rv4m
@user-pe7gf9rv4m 2 ай бұрын
@@gigitrix Isn't this the sort of Smalltalk direction?
@antongorov5275
@antongorov5275 2 ай бұрын
Most likely no. There is no reason as to why you can't transpile one language into another. In fact, there are many existing transpiler to C/C++ such as il2cpp, Cython.
@davr9724
@davr9724 2 ай бұрын
@@antongorov5275 I'm talking about a pseudo-code language that isn't meant to run as is, only to be translated to application specific languages.
@antongorov5275
@antongorov5275 2 ай бұрын
@@davr9724 Wouldn't it make more sense to just transpile an existing language that already has a wide usage. Creating another programming language won't solve the problem of some languages being better at different things.
@Edikzord
@Edikzord 2 ай бұрын
"Zig is a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software." - Zig mentioned!
@maximofernandez196
@maximofernandez196 2 ай бұрын
lua cause damn I love lua
@tinrab
@tinrab 2 ай бұрын
WASM is great. Just one thing that comes to mind is Figma. WASM was/is definitely their competitive advantage.
@gadgetboyplaysmc
@gadgetboyplaysmc 2 ай бұрын
Lua's typesafety sucks though. Used it quite a bit on Defold. Even the "JSDoc" equivalent of it feels like a hack.
@natescode
@natescode 2 ай бұрын
Zig is a domain focused language.
@sho3bum
@sho3bum 2 ай бұрын
Language oriented programming ... Sounds like racket
@vitalyl1327
@vitalyl1327 2 ай бұрын
Racket, or any other Lisp with proper macros, or even Forth. Any meta-language is entirely on the other level, unreachable for the fixed languages.
@Andre-LA
@Andre-LA 2 ай бұрын
Wasm it's pretty great for compiling games to the web.
@hidroshot5948
@hidroshot5948 2 ай бұрын
there's an answer to your question and its one lett- char long, C
@pldcanfly
@pldcanfly 2 ай бұрын
Doing lua for wow addons made me write way better js.
@diegolikescode
@diegolikescode 2 ай бұрын
I have lost an interview that would 2x my salary because I said that I preffer JS rather than TS. The guy said I didn't know what I was saying.
@b3owu1f
@b3owu1f 2 ай бұрын
@ThePrimeTime you should take a look at Extism. It makes WASM VERY capable across languages/platforms in a very consistent manner. I would have agreed with you otherwise about WASM.. but Extism abstracts all the difficulties around WASM making it incredibly easy to write a module in Zig or Rust that snaps in to a Java/Python/TS host.. easily. Prior to Extism, I would agree it's not worth the struggles. But Extism just alleviates all the pain of integrating WASM.. its like adding low level native performance to any language without the complexities of say, Java JNI.
@fsharplove
@fsharplove 2 ай бұрын
Blazor
@b3owu1f
@b3owu1f 2 ай бұрын
@@fsharplove not sure why you replied with that one word. I see it is some sort of web ui framework.. but.. whats that got to do with my response?
@fsharplove
@fsharplove 2 ай бұрын
@@b3owu1f Blazor uses WASM and it's easy to work with. This is the meaning of my one word answer. Calling a WASI module in a C# app is not a big deal.
@rebel1324
@rebel1324 2 ай бұрын
Lua is fun until when you face the metatable. Also it is completely normal to start index from 1.
@Andy_B.
@Andy_B. 2 ай бұрын
if I learn *one* languagage, I must learn the syntax, methods, libraries . etc. what tf do you mean with "use each language for a different / specific task?" When shall I start applying then... ?!
@dunebuggy1292
@dunebuggy1292 2 ай бұрын
There should be infinity languages.
@mattymattffs
@mattymattffs 2 ай бұрын
One based or zero based is fine. The problem is when languages mix the two... And yes, i work in a language that does that
@siriguillo
@siriguillo 2 ай бұрын
If You are building distributed fault tolerant real time communications systems, nothing tops elixir/erlang
@juanvelezlopez
@juanvelezlopez 2 ай бұрын
Wasm for the backend sounds like electron...
@swannie1503
@swannie1503 2 ай бұрын
I feel like people only like lua because they like neovim. Outside out that echo chamber, I find it hard to believe people really out there rockin with it like it’s “the best” at anything.
@Ikkepop
@Ikkepop 2 ай бұрын
wouldn't wasm for the backend just be a reinvention of the JVM?
@bionic_batman
@bionic_batman 2 ай бұрын
software development is really running in circles
@alexmac2724
@alexmac2724 2 ай бұрын
Who got a wasm behind the home depot?
@cuauth
@cuauth 2 ай бұрын
wasm, create library in 1 lang, import it anywhere, debug it nowhere thoooooooo
@MrMeltdown
@MrMeltdown 2 ай бұрын
Oh right a programming language for specific tasks…. But why not perl?
@kenneth_romero
@kenneth_romero 2 ай бұрын
I think the argument with Zig and Odin are the same as Vim and Helix. Odin has a better feel to it, easier to pick up and some of the features are hidden but always there if you need it. Zig is the robust, i need this for production. The tool chain allows you to use it everywhere, thus making it a more endearing thing to learn. Odin is the simplified get used to the motions, but you still got that high ceiling of getting good. Just the Zig toolchain is too good to pass up, even as just a build tool for C or C++.
@Heater-v1.0.0
@Heater-v1.0.0 2 ай бұрын
Who is getting burned by Rust? Rust works at a really low level and people have happy experiences using it bare metal on embedded micro-controllers etc. Rust works at an abstract enough level people use it happily for doing things on the server they would otherwise done in node.js or whatever.
@pnk4996
@pnk4996 2 ай бұрын
And This guy used to preach rust is the best language ☠️ (it is tho)
@Heater-v1.0.0
@Heater-v1.0.0 2 ай бұрын
@@pnk4996 I don't know if Rust is "the best language", whatever that means. However it can do everything all the other dozen and more languages I have had to learn and use in my 40 year programming career could do. With the huge bonus that Rust provides in correctness and reliability over compiled languages, and the huge boost in performance over interpreted languages.
@parkourbee2
@parkourbee2 2 ай бұрын
Yeah I'm currently learning rust and I love most of the design choices and can imagine myself using it for like everything... once I've actually learned it. At least one catch is the upfront cost of learning it, which isn't negligible. Not really a cost if you're coming from C++, but coming from garbage-compiled langs and there's a lot to learn.
@ItsCOMMANDer_
@ItsCOMMANDer_ 2 ай бұрын
@@pnk4996 utrftftrp (use the right f*cking tool for the right purpose), no language can be THE best, even though c is goated
@Aras14
@Aras14 2 ай бұрын
There is dioxus, literally rust on the front end. And I don't like to use it.
@M0du5Pwn3n5
@M0du5Pwn3n5 2 ай бұрын
Could not disagree more. The best future for programming is one where we finally get some decent general-purpose languages again, and you can use them for basically anything. This "right language for the job" attitude is awful. It's true that some languages are better suited to some tasks. It's also true that learning a number of languages makes you a better programmer. But those benefits are profoundly outweighed by the cost of the grass-is-greener mentality that leads to developers who never learn things deeply and never become very productive because they're always looking for the hot new language that's going to make them so much more productive. And the benefits are also outweighed by how much effort it adds to collaboration. There's just this constant churn of needing to learn a new language to work on some new project over and over and over. And what makes this so much worse is that while some languages are maybe slightly better at some task than a good general purpose language, people want that to be true so badly that they distort reality to make it true. The world of programming is absolutely full of people with answers in hand desperately looking for questions. They take the tool and go out looking for problems that it might be the best tool for. And they don't find them - they invent them. They create abstraction on top of abstraction to prove that their tool is good if you use this certain abstraction. And wow, other tools aren't as good at that abstraction that was invented because this tool handles it idiomatically! And these people keep insisting that their tool is obviously the best way to do this thing even though they're 100x less productive than the people using some of the supposedly worse general-purpose tools. The "right language for the job" is usually an article of faith, and there's an enormous amount of confirmation bias when people find instances of it. Learning a programming language well is a huge investment, and you would be a fool not to think that affects your judgment of its utility. It makes it extremely easy to convince yourself that it really was totally worth it. But it isn't. The benefits, and there are some benefits sometimes - although often the claimed benefits aren't real - are just not worth it. The problem is that it's just been so long since we had GOOD general-purpose programming languages. You can use C, but it has all of these big unergonomic annoyances, or you can use any of these other languages that are all good at one thing, but otherwise garbage. And it's been like this so long now that people have forgotten what it was like when the good, most ergonomic languages actually were general purpose languages. That's why you're enjoying Go and feeling so productive: it's starting to go in the direction of a good general-purpose programming language. Rust tried, but then got really unergonomic. Zig is going in that direction. Odin is going in that direction. Jai looks promising. You say these are "low-level" or "systems level" languages, but they're not - they can express extremely high-level concepts. You can write a garbage collector in C - in fact most garbage collectors are written in C! Programming languages let you build arbitrarily complex abstractions. Any "systems language" can express higher-level concepts. That's what a function is! And it's not symmetrical. Low-level languages can express high-level concepts, but "high-level" languages mostly can't express low-level concepts to the same degree. A good systems language can express low-level concepts and also express high-level concepts that are just as ergonomic as a "high-level" language. Computers are not screwdrivers. CPUs are general purpose. The fundamental computation needs of one program and another are not actually THAT different. There is nothing you can't write in C -it's just that C is kind of annoying to write in compared to the niceties of some other language. We just need a new C. We do not need a million languages that waste everyone's time pretending to be 15% better at each specialized task. There are actual, general-purpose Right Answers. We're just so used to bad answers that we think there's no such thing as good general-purpose. We're so used to tradeoffs between piecemeal malloc and garbage collection that we find it hard to believe there are actually memory management strategies that are both performant and pleasant to work with. We're so used to languages that have to give up utility in a bunch of domains to be half-decent in one domain that we can't even imagine an actually good general-purpose language. Find a good C programmer and you're not going to hear a lot of "yeah, sorry, C just can't really do that". Maybe there isn't a good existing library for it, sure. And writing it in C is annoying for a lot of historical reasons, like headers and makefiles. But you're not going to hear "C can't really do that" the same way as you're going to hear "C# isn't really for that kind of application, sorry".
@neomangeo7822
@neomangeo7822 2 ай бұрын
I find it very common where a lot of people create or advocate for certain tech, and while on the surface it sounds brilliant, the development experience (especially at scale) is actually atrocious.
@diadetediotedio6918
@diadetediotedio6918 2 ай бұрын
WASM can be used to replace the need of docker in future, and also to replace JS in browsers, so it kinda is a W.
@diadetediotedio6918
@diadetediotedio6918 2 ай бұрын
And the thing 4:46 is that the performance difference should not be extreme.
@viniciusmachadorodrigues1724
@viniciusmachadorodrigues1724 2 ай бұрын
Nope, wasm doesn't have access to DOM, it need JS for that.
@diadetediotedio6918
@diadetediotedio6918 2 ай бұрын
@@viniciusmachadorodrigues1724 It is not a "nope" bro, you can use JS as a thin wrapper for other languages, and in the future proper DOM support can come. It can also be used to replace JS in most of the tasks that require speed.
@bear458ziif-s
@bear458ziif-s 2 ай бұрын
@@viniciusmachadorodrigues1724 there is already a workaround for that in the rust ecosystem. look into web-sys. all of the rust frameworks are built on top of that. it's not even a performance issue either. many of the rust frameworks outperform popular javascript frameworks in dom rendering and it's not even close on the server. the issue is converting utf-8 strings to utf-16 and there is currently no solution to code splitting.
@brawlgammer4424
@brawlgammer4424 2 ай бұрын
I'm sick of the WASM hype, shit was supposed to "take over" like 15 years ago. I'm still waiting.
@RyanIsHoping
@RyanIsHoping 2 ай бұрын
Gleam mentioned!! Not loosy goosy at all
@complexity5545
@complexity5545 2 ай бұрын
Why is Prolog not making a comback? Lol I like ThePrimeTime because it gauges what the regular programmers are using (and I try to go the opposite way): Odin?
@vitalyl1327
@vitalyl1327 2 ай бұрын
Prolog came back as miniKanren and alike - it works better as an embedded DSL than as a standalone language.
@natescode
@natescode 2 ай бұрын
Because we have cHaT GiPitEe
@vitalyl1327
@vitalyl1327 2 ай бұрын
@@natescode And Prolog is a very powerful tool for LLMs. I am using Prolog as an LLM reasoning tool, forcing a critic agent to convert the reasoning essence into Prolog and evaluate it, providing feedback if logic fails.
@fillman86
@fillman86 2 ай бұрын
I hate having to learn different languages, it’d be so much nicer if there were less and they were maybe compiled differently -_-
@ivanjermakov
@ivanjermakov 2 ай бұрын
The only things I cringed on when writing Lua are the 1-based indexing and 3 different syntactical ways to write a function call..
@guseynismayylov1945
@guseynismayylov1945 2 ай бұрын
One day he is against DSL, and now he speaks about importance for specific problems 🤦‍♂️
The Pain Of Frontend Dev | Prime Reacts
21:42
ThePrimeTime
Рет қаралды 217 М.
Каха ограбил банк
01:00
К-Media
Рет қаралды 6 МЛН
СНЕЖКИ ЛЕТОМ?? #shorts
00:30
Паша Осадчий
Рет қаралды 7 МЛН
Пробую самое сладкое вещество во Вселенной
00:41
Кушать Хочу
Рет қаралды 4,4 МЛН
Why I Quit Copilot | Prime Reacts
35:56
ThePrimeTime
Рет қаралды 279 М.
The Ultimate Tier Programming Tier List | Prime Reacts
26:57
ThePrimeTime
Рет қаралды 322 М.
Languages I considered using before Odin
1:24:03
Rickard Andersson
Рет қаралды 9 М.
The New Massively Parallel Language
23:37
ThePrimeTime
Рет қаралды 155 М.
Trying Zig Part 1
1:30:00
TheVimeagen
Рет қаралды 75 М.
Jai vs Odin systems programming languages (Non-spicy takes!)
20:10
Context Free
Рет қаралды 68 М.
Scams In Software Engineering
31:44
ThePrimeTime
Рет қаралды 559 М.
The Only Database Abstraction You Need | Prime Reacts
21:42
ThePrimeTime
Рет қаралды 188 М.
The Worst Kind Of Programmer
19:15
ThePrimeTime
Рет қаралды 423 М.
zig is the future of programming. here's why.
9:34
Low Level Learning
Рет қаралды 216 М.
MacBook Air Японский Прикол!
0:42
Sergey Delaisy
Рет қаралды 543 М.
Cadiz smart lock official account unlocks the aesthetics of returning home
0:30
Урна с айфонами!
0:30
По ту сторону Гугла
Рет қаралды 6 МЛН
Хотела заскамить на Айфон!😱📱(@gertieinar)
0:21
Взрывная История
Рет қаралды 3 МЛН
📦Он вам не медведь! Обзор FlyingBear S1
18:26