Why does new frameworks cause burnout? No serious company is changing their tech stack every 6 months, even those which have JS/TS as major parts of that stack. It's only tech youtubers and hobby developers who chase the latest trends. It doesn't matter if NextJS gets an update or SolidJS is a thing. Companies have been using React with all its quirks and pitfalls in very large projects for a decade now. No one is rewriting millions of lines of code just some new framework dropped.
Just yesterday a conversation came up about rewriting a 6 year old react application. Everyone kicked against it because the application is extremely complex and rewriting will take months. Some quirks and pitfalls will be fixed and engineers will go about other pressing concerns.
That's why we have a mix mash mess of every single pattern in a single react repo. It's impossible to navigate the repo and understand what's going on for a noob like me. May b it's skill issue. 😢
I also don’t understand this, react is what, 10 years old already? i learned it once like 5 years ago, and using all this time, yeah new packages appear from time to time, but they only make things easier and faster to do.
One huge advantage of elixir is iex. You fire up your application in the console and have access to the entire program and you can interact with the modules freely. In OOP languages you want a banana but you have to instantiate the gorilla holding the banana and the forest it lives in.
@@WickedAyman I haven't used Ruby but I can imagine there is still parts of the program that are hard to reach. Maybe I'm wrong but I haven't seen anything work as smoothly as iex personally. Elixir is all modules and data, you have your entire application easily accessible and debuggable.
I've been using Elixir at work for the last year or so. We are using the Ash Framework and I have to say that I absolutely love it. Definitely recommend. :)
At this point, I gave up completely on JS. Every day I receive a bunch of comments saying "have you tried X or Y? they are amazing!" and my answer is always the same: I'm not interested in JS anymore, no matter how "revolutionary" the new tool sounds
Parabéns mano te sigo desde o video que você iria desistir do ecossistema JS kkkkk. É muito bom vê BR fazendo conteúdo em inglês, para quem estuda a língua é bom para treinar o listening.
Think you would have loved Laravel with Livewire combination. But I'm happy you actually chose Phoenix, since its interesting to see your take on implementing an actual project on it.
@@DanielBergholz You can only learn OOP that actually makes sense if you try to learn Smalltalk(Pharo is the most mature take on modern Smalltalk). Java and all other popular languages bastardize OOP and make hybrid implementations of OOP where they bring the legacy and baggage of their language and mix it with OOP.
@@DanielBergholzthe trick to OO is actually keep it simple. Never abstract more than you have to. If you are writing class for one function then you are doing it wrong. Also if your inheritance tree is more than 3 deep you're doing it wrong. The best code bases are the ones that apply both OO and Functional concepts. The pit fall is when people subscribe to one coding paradigm.
i went throught the same...the OOP is also functions but just put into sections and boxes...sort of managed in the OOP way it all functions. but golang , rust ...they just made perfect sense...and just manage your files...
For me it's the other way around, Starting my programming journey deep into ruby on rails, and Rails whole frontend pisses me off tbh. I like my React Native waayyy better🤣
Using Elixir as an example to claim that types aren't needed for a good LSP is flawed because Elixir compiles to Erlang, which is strongly typed. The function you cited as an example includes an "@spec" annotation that indicates the function's return type. This is how types are declared in Erlang, with such comments being called "EDoc." "EDoc" is similar to "JSDoc" in JavaScript, which also serves to declare types. While Elixir abstracts these types, they still exist even if they are not visible to the user.
@@DanielBergholz Elixir has done an excellent job with its LSP, definitely surpassing that of Erlang. Although I must admit I'm not a big fan of Elixir and prefer languages like Gleam, which, despite being new, show great potential. Both Elixir and Gleam highlight how remarkable the BEAM is. Created in 1986, it continues to solve modern problems more efficiently than many current technologies, such as Node. I'm looking forward to the next Elixir video.
Still the point remains that you don’t need types for a good LSP experience Clojure which doesn’t have types, still has a good LSP experience and so is Python, where you can go full no types also
you cant really compare it with Elixir/Erlang .. there is not anything like it. maybe look on why Beam is so different and amazing ;) Rust + Actix would be 'just' your normal server.
That stack just mimics a fraction of Phoenix and Laravel powers, htmx is just a single file, not mean for scaling or debuging in most cases. No client side interactions, whereas phoenix has it built-in and laravel has alpine. Python community hasnt earmaked for a fullstack solution , one or two libraries wont make a thing or fill the void, thats why is shunned but AI.
I don’t know, I still prefer to just have a react/vue with vite and a separate backend. And you can pick GO for a backend to chill from typescript a little bit.
Well, sometimes you have also mobile app, big teams, microservices, and if you have your own template for a backend it does not take much more time to add a new endpoint, copy paste, change validation schema and orm model and you good to go.
Thanks for the great video! Quick Question: Since your last name is german i wondered if you got some german background. Are parts of your family german?
Idk, if the main reason you use types is intellisense, we are in a sad state, I think intellisense is the happy accident of types, not the main feature. their main feature is confidence that if the app runs, it runs. It's the confidence to don't have 400 runtime errors
Im curious why do you think you have a burnout with JS in particular? I understand that it has a low of downsides, but interestingly enough i think that as a language, elixir still has a lot of the downsides that JS has.
@@DanielBergholz while I don't have experience with elixir, my understanding is that it is dynamic and weakly typed (which in my eyes causes the vast majority of issues with js).
Man, php is ugly but laravel is almost perfect. It also has (not so great) types but they do the job and intellisense. It’s also stable. I don’t like php at all but it gives me the most productivity and that’s all that matters
Migrei pro inglês faz 3 semanas, foi necessário pra aumentar o alcance do canal. Fora que eu trabalho pra gringa faz quase 3 anos, era inevitável eu converter pro inglês alguma hora
@DanielBergholz You could be a sort of ambassador for brazilian dev community and ecosystem. I'm Argentinean from the northeast and even though I understand almost everything a brazilian could say, never search for anything in Portuguese. We need to find our place in the world and not pushed ourselves into a corner. People already decided which one is the global lang and english is easy and simple af.
that's a typical Brazilian shitty behavior as always, not shocking that Daniel moved to english... (faça um favor cara, não aprenda inglês, continue assim! Você é apenas um brasileirinho)
FP clicked for me after wwatching this video Valim's Keynote: Gang of None? Design Patterns in Elixir - José Valim | ElixirConf EU 2024. Hilariously, it also make OOP make sense for the first time!
Why does new frameworks cause burnout? No serious company is changing their tech stack every 6 months, even those which have JS/TS as major parts of that stack. It's only tech youtubers and hobby developers who chase the latest trends. It doesn't matter if NextJS gets an update or SolidJS is a thing. Companies have been using React with all its quirks and pitfalls in very large projects for a decade now. No one is rewriting millions of lines of code just some new framework dropped.
Just yesterday a conversation came up about rewriting a 6 year old react application. Everyone kicked against it because the application is extremely complex and rewriting will take months. Some quirks and pitfalls will be fixed and engineers will go about other pressing concerns.
Im guessing this is more the case for people doing freelance
That's why we have a mix mash mess of every single pattern in a single react repo.
It's impossible to navigate the repo and understand what's going on for a noob like me.
May b it's skill issue. 😢
I also don’t understand this, react is what, 10 years old already? i learned it once like 5 years ago, and using all this time, yeah new packages appear from time to time, but they only make things easier and faster to do.
One huge advantage of elixir is iex. You fire up your application in the console and have access to the entire program and you can interact with the modules freely. In OOP languages you want a banana but you have to instantiate the gorilla holding the banana and the forest it lives in.
A similar thing does exist in rails (rails console). So it’s not the killer feature of Elixir
I love this gorilla quote about OOP that Jose Valim always says 👌
@@WickedAyman I haven't used Ruby but I can imagine there is still parts of the program that are hard to reach. Maybe I'm wrong but I haven't seen anything work as smoothly as iex personally. Elixir is all modules and data, you have your entire application easily accessible and debuggable.
@@DanielBergholzit s a quote by Joe Armstrong - creator of Erlang 😄 But I think Jose likes the quote very much!
Rails, Laravel and Django also have the same feature.
4:36 - BRAZIL MENTIONED LETS GO!
HUEHUEHUE LETS GOOOO 🇧🇷🇧🇷🇧🇷
🇧🇷🇧🇷🇧🇷
I've been using Elixir at work for the last year or so. We are using the Ash Framework and I have to say that I absolutely love it. Definitely recommend. :)
My react burnout lead me to solidjs, but I'm still in javascript hell with stockholm syndrome induced by vercel/serverless.
At this point, I gave up completely on JS. Every day I receive a bunch of comments saying "have you tried X or Y? they are amazing!" and my answer is always the same: I'm not interested in JS anymore, no matter how "revolutionary" the new tool sounds
I discovered Solid a while ago and have enjoyed using it in a couple projects, have you liked the experience so far?
You deserve more subs and views. I discovered you since the laravel/rails video. Greetings from Argentina!
Gracias! 🙌
That’s why I choose Ruby on Rails with Hotwire.
OOP is not difficult; it just doesn't make much sense. It's a solution to problems created by OOP itself.
Parabéns mano te sigo desde o video que você iria desistir do ecossistema JS kkkkk.
É muito bom vê BR fazendo conteúdo em inglês, para quem estuda a língua é bom para treinar o listening.
Tamo junto mano! E eu to treinando o ingles nos vídeos rs
Classes are just syntactic sugar for closures over functions
Think you would have loved Laravel with Livewire combination. But I'm happy you actually chose Phoenix, since its interesting to see your take on implementing an actual project on it.
I literally cannot fathom OOP as well. It just never clicked. I think it's a talent that people are born with. The propensity to make sense of OOP.
OOP feels like overly complex in my brain, too much abstractions that are unnecessary
@@DanielBergholz You can only learn OOP that actually makes sense if you try to learn Smalltalk(Pharo is the most mature take on modern Smalltalk). Java and all other popular languages bastardize OOP and make hybrid implementations of OOP where they bring the legacy and baggage of their language and mix it with OOP.
@@DanielBergholzthe trick to OO is actually keep it simple. Never abstract more than you have to. If you are writing class for one function then you are doing it wrong. Also if your inheritance tree is more than 3 deep you're doing it wrong. The best code bases are the ones that apply both OO and Functional concepts. The pit fall is when people subscribe to one coding paradigm.
i went throught the same...the OOP is also functions but just put into sections and boxes...sort of managed in the OOP way
it all functions.
but golang , rust ...they just made perfect sense...and just manage your files...
I don't like have no types or any type hints. However I like rails, but I hate have no types.
For me it's the other way around, Starting my programming journey deep into ruby on rails, and Rails whole frontend pisses me off tbh. I like my React Native waayyy better🤣
Gonna watch Primeagen reaction soon
👀👀👀
When I saw his article title, I was like omg I have seen a reaction to this article but I couldn't remember if it was Theo or Primeagen.
@@wonderfuladeyemo6806 Theo already made a reaction to this blog post. It’s called Leaving everything for elixir
I'm really excited for the new content!!!
I feel you brother. I have the same reason for not using PHP the $... 😂 It really makes difference when you have a lot of variable.
Types are NOT for intellisense.
They're for catching errors at build time that would otherwise be caught in runtime.
Gostei da análise e do inglês. Congratulations.
You're either functional or dysfunctional 💯
genuine question: is gleam worth it from elixir? since its also an FP with types, but I loved elixir's |> pipe syntax T__T
Using Elixir as an example to claim that types aren't needed for a good LSP is flawed because Elixir compiles to Erlang, which is strongly typed. The function you cited as an example includes an "@spec" annotation that indicates the function's return type. This is how types are declared in Erlang, with such comments being called "EDoc." "EDoc" is similar to "JSDoc" in JavaScript, which also serves to declare types. While Elixir abstracts these types, they still exist even if they are not visible to the user.
I was trying to illustrate from the perspective of the developer. I don't have to write any types and the LSP is great. That's all
@@DanielBergholz Elixir has done an excellent job with its LSP, definitely surpassing that of Erlang. Although I must admit I'm not a big fan of Elixir and prefer languages like Gleam, which, despite being new, show great potential. Both Elixir and Gleam highlight how remarkable the BEAM is. Created in 1986, it continues to solve modern problems more efficiently than many current technologies, such as Node. I'm looking forward to the next Elixir video.
@@finncheradaogo ahead and tell us 36 real things you’ve shipped in Gleam, which you’re such a fan of. We’re all waiting eagerly for your response
How is it different from plain js vscode experience? You will get intelisence and completions without any types
Still the point remains that you don’t need types for a good LSP experience
Clojure which doesn’t have types, still has a good LSP experience and so is Python, where you can go full no types also
I've got your point. But have you found a job opp. to work with this stack ?
Nope. If you want job opportunities I recommend sticking with JS. I’m using Elixir + Phoenix only for side projects
Great video! Can't wait for more
Thank you!
i think oop shines when you do game development related projects?
i'm waiting the next 15, if i feel the same i will switch to another alternative
Hey, Daniel! Did you ever tried Rust + Actix? Just curious if it would be a good stack
you cant really compare it with Elixir/Erlang .. there is not anything like it. maybe look on why Beam is so different and amazing ;)
Rust + Actix would be 'just' your normal server.
Ecto is awesome! I wish we had something like that on the JS side
drizzle
Django with HTMX is truly overpowered. I'm surprised it remains in the shadow of Rails, Laravel and even fringe projects like Phoenix.
That stack just mimics a fraction of Phoenix and Laravel powers, htmx is just a single file, not mean for scaling or debuging in most cases. No client side interactions, whereas phoenix has it built-in and laravel has alpine. Python community hasnt earmaked for a fullstack solution , one or two libraries wont make a thing or fill the void, thats why is shunned but AI.
I don’t know, I still prefer to just have a react/vue with vite and a separate backend. And you can pick GO for a backend to chill from typescript a little bit.
Personally I think having a separate frontend is a waste of time. It takes so much longer to develop new features
Well, sometimes you have also mobile app, big teams, microservices, and if you have your own template for a backend it does not take much more time to add a new endpoint, copy paste, change validation schema and orm model and you good to go.
@@user-qq7yc1qp8z 💯
Thanks for the great video!
Quick Question: Since your last name is german i wondered if you got some german background. Are parts of your family german?
Yes! My great-grandfather was German. It's quite common for Brazilians to have some crazy background story when it comes to last names
Idk, if the main reason you use types is intellisense, we are in a sad state, I think intellisense is the happy accident of types, not the main feature. their main feature is confidence that if the app runs, it runs. It's the confidence to don't have 400 runtime errors
what do you think of astro ? make a video about it pls
I use it on my website, but I'll rewrite it in the future using Elixir + Phoenix
Great work bro, you should looks for job outside the Brazil there a lot opportunities and if you would like work as free lancer there is much more!
Thanks! Currently, I'm working for an Italian company 🙌
@@DanielBergholz I got it!
you are him !!!
Im curious why do you think you have a burnout with JS in particular? I understand that it has a low of downsides, but interestingly enough i think that as a language, elixir still has a lot of the downsides that JS has.
What downsides Elixir and JS have in common?
My biggest complaint about JS is the instability and the lack of a big batteries included framework
@@DanielBergholz while I don't have experience with elixir, my understanding is that it is dynamic and weakly typed (which in my eyes causes the vast majority of issues with js).
@@Jmart786, Elixir might not be statically typed (yet), but it absolutely is strongly typed. On the other side, JS is a weak dynamic typed
What about python ?
I don't know why I never considered python and Django, they look awesome!
@@DanielBergholz Is good django, but liveviews from Elixir are a killer feature.
My VSCode NEVER works with Elixir
Have you tried ZED? I've seen lots of Elixir devs saying it works great!
@@DanielBergholz ZED is even worse. No tailwind support, no elixir surface support, no AI tools to speed up productivity.
Elixir é vida
React native > react... You get to ignore a lot of the bullshit that comes with the web, it narrows down a lot. The web is just a shit show imo.
So true
Good stuff :)
Well .. this is my story 😅
Elixir is so much better than JS .. and almost everything else 🙌
Joe Armstrong is freakin legend!
You didn’t try Adonis?
I have one entire video dedicated to Adonis on my channel, I have tried it, but Elixir is much better IMO
HTMX ❤
Why not adonis JS?
Adonis is wonderful for those who are still interested in using JS, and I’m not
Why not rails
I explain in the video
now he'll go to gleam
Elixir will have types in the future, no need to migrate to another language
what about gleam? it based on erlang vm also
Gleam looks cool as well!
Im moving away from next and aws.
Man, php is ugly but laravel is almost perfect. It also has (not so great) types but they do the job and intellisense.
It’s also stable.
I don’t like php at all but it gives me the most productivity and that’s all that matters
I know a lot of devs that hate PHP but love Laravel 😅
stick to angular i guess
react => function ,backend => classes with designe database you need classes
In elixir there are no classes and I still interact with the database
Português, please 😮💨
you dont need to like something ,classes is for java and backend database
Bro these thing cant match the dev exp or rela world exp or TS and React lamaoooo
Congratulations! Keep using TS then
first
paia, pensei q o canal era conteudo brasileiro
oxi
Migrei pro inglês faz 3 semanas, foi necessário pra aumentar o alcance do canal. Fora que eu trabalho pra gringa faz quase 3 anos, era inevitável eu converter pro inglês alguma hora
@DanielBergholz You could be a sort of ambassador for brazilian dev community and ecosystem.
I'm Argentinean from the northeast and even though I understand almost everything a brazilian could say, never search for anything in Portuguese.
We need to find our place in the world and not pushed ourselves into a corner.
People already decided which one is the global lang and english is easy and simple af.
that's a typical Brazilian shitty behavior as always, not shocking that Daniel moved to english...
(faça um favor cara, não aprenda inglês, continue assim! Você é apenas um brasileirinho)
FP clicked for me after wwatching this video Valim's Keynote: Gang of None? Design Patterns in Elixir - José Valim | ElixirConf EU 2024. Hilariously, it also make OOP make sense for the first time!
This keynote was AWESOME 🔥