From Next.js to Elixir: My burnout story

Поделиться
HTML-код
  • Опубликовано: 8 сен 2024
  • Join this channel to get access to perks:
    / @danielbergholz
    Check my website: bergdaniel.com...
    Blog post: dev.to/danielb...

Комментарии • 124

  • @Metruzanca
    @Metruzanca 3 месяца назад +45

    4:36 - BRAZIL MENTIONED LETS GO!

  • @MrXperx
    @MrXperx 2 месяца назад +26

    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.

    • @brainites
      @brainites 2 месяца назад +3

      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.

    • @jikaikas
      @jikaikas 2 месяца назад

      Im guessing this is more the case for people doing freelance

    • @sakibshadman1448
      @sakibshadman1448 2 месяца назад +1

      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. 😢

    • @buc991
      @buc991 2 месяца назад +2

      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.

  • @rumble1925
    @rumble1925 2 месяца назад +13

    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
      @WickedAyman 2 месяца назад

      A similar thing does exist in rails (rails console). So it’s not the killer feature of Elixir

    • @DanielBergholz
      @DanielBergholz  2 месяца назад +1

      I love this gorilla quote about OOP that Jose Valim always says 👌

    • @rumble1925
      @rumble1925 2 месяца назад

      @@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.

    • @Vreth6
      @Vreth6 2 месяца назад +4

      @@DanielBergholzit s a quote by Joe Armstrong - creator of Erlang 😄 But I think Jose likes the quote very much!

    • @giullianosep
      @giullianosep 2 месяца назад

      Rails, Laravel and Django also have the same feature.

  • @albertoarmando6711
    @albertoarmando6711 2 месяца назад +5

    You deserve more subs and views. I discovered you since the laravel/rails video. Greetings from Argentina!

  • @Metruzanca
    @Metruzanca 3 месяца назад +18

    My react burnout lead me to solidjs, but I'm still in javascript hell with stockholm syndrome induced by vercel/serverless.

    • @DanielBergholz
      @DanielBergholz  3 месяца назад +5

      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

    • @dev1nee69
      @dev1nee69 2 месяца назад

      I discovered Solid a while ago and have enjoyed using it in a couple projects, have you liked the experience so far?

  • @lifeofdandotme
    @lifeofdandotme 2 месяца назад +1

    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. :)

  • @kalist8938
    @kalist8938 2 месяца назад +3

    That’s why I choose Ruby on Rails with Hotwire.

  • @danilobrun3436
    @danilobrun3436 2 месяца назад +4

    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.

    • @DanielBergholz
      @DanielBergholz  2 месяца назад +3

      Tamo junto mano! E eu to treinando o ingles nos vídeos rs

  • @henriquefigueiredo4077
    @henriquefigueiredo4077 3 месяца назад +9

    I don't like have no types or any type hints. However I like rails, but I hate have no types.

  • @maximillian000
    @maximillian000 2 месяца назад +1

    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.

  • @alveek
    @alveek 3 месяца назад +6

    Gonna watch Primeagen reaction soon

    • @DanielBergholz
      @DanielBergholz  2 месяца назад

      👀👀👀

    • @wonderfuladeyemo6806
      @wonderfuladeyemo6806 2 месяца назад +1

      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.

    • @DanielBergholz
      @DanielBergholz  2 месяца назад +1

      @@wonderfuladeyemo6806 Theo already made a reaction to this blog post. It’s called Leaving everything for elixir

  • @technolung
    @technolung 2 месяца назад +1

    Classes are just syntactic sugar for closures over functions

  • @finncheradao
    @finncheradao 3 месяца назад +12

    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
      @DanielBergholz  2 месяца назад +5

      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

    • @finncheradao
      @finncheradao 2 месяца назад +4

      @@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.

    • @bennetttomato
      @bennetttomato 2 месяца назад

      ⁠@@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

    • @Zmeu213
      @Zmeu213 2 месяца назад +2

      How is it different from plain js vscode experience? You will get intelisence and completions without any types

    • @ovistoica
      @ovistoica 2 месяца назад

      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

  • @paulobatisttta
    @paulobatisttta 2 месяца назад

    I'm really excited for the new content!!!

  • @j.r.r.tolkien8724
    @j.r.r.tolkien8724 2 месяца назад

    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.

    • @DanielBergholz
      @DanielBergholz  2 месяца назад

      OOP feels like overly complex in my brain, too much abstractions that are unnecessary

    • @encapsulatio
      @encapsulatio 2 месяца назад

      @@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.

  • @saabirmohamed636
    @saabirmohamed636 2 месяца назад

    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...

  • @technologic4575
    @technologic4575 23 дня назад

    i think oop shines when you do game development related projects?

  • @letcteaplay120
    @letcteaplay120 2 месяца назад

    Great video! Can't wait for more

  • @abdellahcodes
    @abdellahcodes 2 месяца назад

    Ecto is awesome! I wish we had something like that on the JS side

  • @grimm_gen
    @grimm_gen 2 месяца назад +2

    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🤣

  • @fischi9129
    @fischi9129 2 месяца назад

    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

  • @j.r.r.tolkien8724
    @j.r.r.tolkien8724 2 месяца назад

    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.

  • @user-qq7yc1qp8z
    @user-qq7yc1qp8z 2 месяца назад +1

    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.

    • @DanielBergholz
      @DanielBergholz  2 месяца назад

      Personally I think having a separate frontend is a waste of time. It takes so much longer to develop new features

    • @user-qq7yc1qp8z
      @user-qq7yc1qp8z 2 месяца назад +2

      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.

    • @brunocp11
      @brunocp11 2 месяца назад

      ​@@user-qq7yc1qp8z 💯

  • @williambuckley5601
    @williambuckley5601 2 месяца назад

    Django with HTMX is truly overpowered. I'm surprised it remains in the shadow of Rails, Laravel and even fringe projects like Phoenix.

    • @theuser384
      @theuser384 2 месяца назад

      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.

  • @simpingsyndrome
    @simpingsyndrome 2 месяца назад

    i'm waiting the next 15, if i feel the same i will switch to another alternative

  • @MarcosVMSoares
    @MarcosVMSoares 2 месяца назад

    OOP is not difficult; it just doesn't make much sense. It's a solution to problems created by OOP itself.

  • @aleksd286
    @aleksd286 2 месяца назад +1

    My VSCode NEVER works with Elixir

    • @DanielBergholz
      @DanielBergholz  2 месяца назад

      Have you tried ZED? I've seen lots of Elixir devs saying it works great!

    • @aleksd286
      @aleksd286 2 месяца назад

      @@DanielBergholz ZED is even worse. No tailwind support, no elixir surface support, no AI tools to speed up productivity.

  • @jmlandi
    @jmlandi 2 месяца назад

    Hey, Daniel! Did you ever tried Rust + Actix? Just curious if it would be a good stack

    • @jsonkody
      @jsonkody 2 месяца назад

      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.

  • @Joao-nn6gn
    @Joao-nn6gn 2 месяца назад

    I've got your point. But have you found a job opp. to work with this stack ?

    • @DanielBergholz
      @DanielBergholz  2 месяца назад +2

      Nope. If you want job opportunities I recommend sticking with JS. I’m using Elixir + Phoenix only for side projects

  • @ZockaRocka
    @ZockaRocka 3 месяца назад

    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?

    • @DanielBergholz
      @DanielBergholz  3 месяца назад +7

      Yes! My great-grandfather was German. It's quite common for Brazilians to have some crazy background story when it comes to last names

  • @andremunrra
    @andremunrra 2 месяца назад +1

    Elixir é vida

  • @jorgemartin3057
    @jorgemartin3057 2 месяца назад

    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
      @DanielBergholz  2 месяца назад

      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

    • @jorgemartin3057
      @jorgemartin3057 2 месяца назад

      @@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).

    • @infantfrontender6131
      @infantfrontender6131 Месяц назад +1

      ​@@jorgemartin3057, Elixir might not be statically typed (yet), but it absolutely is strongly typed. On the other side, JS is a weak dynamic typed

  • @zfarahx
    @zfarahx 2 месяца назад

    Good stuff :)

  • @JamesJosephFinn
    @JamesJosephFinn Месяц назад +1

    You didn’t try Adonis?

    • @DanielBergholz
      @DanielBergholz  Месяц назад

      I have one entire video dedicated to Adonis on my channel, I have tried it, but Elixir is much better IMO

  • @kxolaclips1975
    @kxolaclips1975 2 месяца назад

    what do you think of astro ? make a video about it pls

    • @DanielBergholz
      @DanielBergholz  2 месяца назад

      I use it on my website, but I'll rewrite it in the future using Elixir + Phoenix

  • @BrunoFerro-sy9en
    @BrunoFerro-sy9en 2 месяца назад

    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!

    • @DanielBergholz
      @DanielBergholz  2 месяца назад +1

      Thanks! Currently, I'm working for an Italian company 🙌

    • @BrunoFerro-sy9en
      @BrunoFerro-sy9en 2 месяца назад

      @@DanielBergholz I got it!

  • @smartlazyhustler463
    @smartlazyhustler463 2 месяца назад +1

    What about python ?

    • @DanielBergholz
      @DanielBergholz  2 месяца назад +2

      I don't know why I never considered python and Django, they look awesome!

    • @haqzel6476
      @haqzel6476 2 месяца назад

      @@DanielBergholz Is good django, but liveviews from Elixir are a killer feature.

  • @tofuman9526
    @tofuman9526 2 месяца назад

    Why not rails

  • @dmitriyobidin6049
    @dmitriyobidin6049 2 месяца назад

    Why not adonis JS?

    • @DanielBergholz
      @DanielBergholz  2 месяца назад

      Adonis is wonderful for those who are still interested in using JS, and I’m not

  • @shanemarchan658
    @shanemarchan658 2 месяца назад

    Im moving away from next and aws.

  • @bl1ndguy0
    @bl1ndguy0 2 месяца назад

    now he'll go to gleam

    • @DanielBergholz
      @DanielBergholz  2 месяца назад +1

      Elixir will have types in the future, no need to migrate to another language

  • @patricioaguirre9388
    @patricioaguirre9388 2 месяца назад

    stick to angular i guess

  • @snatvb
    @snatvb 2 месяца назад

    what about gleam? it based on erlang vm also

  • @GurbyTheGreat
    @GurbyTheGreat 19 дней назад +1

    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.

  • @werghiaziz2943
    @werghiaziz2943 2 месяца назад

    react => function ,backend => classes with designe database you need classes

    • @DanielBergholz
      @DanielBergholz  2 месяца назад +1

      In elixir there are no classes and I still interact with the database

  • @werghiaziz2943
    @werghiaziz2943 2 месяца назад

    you dont need to like something ,classes is for java and backend database

  • @gabrielnbds
    @gabrielnbds 3 месяца назад +1

    first

  • @eduardoaranda4379
    @eduardoaranda4379 2 месяца назад

    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

    • @DanielBergholz
      @DanielBergholz  2 месяца назад

      I know a lot of devs that hate PHP but love Laravel 😅

  • @ReeteshKumar-rq1dp
    @ReeteshKumar-rq1dp 2 месяца назад

    Bro these thing cant match the dev exp or rela world exp or TS and React lamaoooo

    • @DanielBergholz
      @DanielBergholz  2 месяца назад +1

      Congratulations! Keep using TS then

  • @arthurzinfe
    @arthurzinfe 3 месяца назад

    paia, pensei q o canal era conteudo brasileiro

    • @dyegorodrigo4759
      @dyegorodrigo4759 3 месяца назад

      oxi

    • @DanielBergholz
      @DanielBergholz  2 месяца назад +6

      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

    • @ignrey
      @ignrey 2 месяца назад

      @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.

    • @nero1375
      @nero1375 Месяц назад

      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)

  • @solvm1652
    @solvm1652 2 месяца назад

    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!