From Next.js to Elixir: My burnout story

Поделиться
HTML-код
  • Опубликовано: 21 ноя 2024

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

  • @MrXperx
    @MrXperx 5 месяцев назад +37

    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 5 месяцев назад +6

      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 5 месяцев назад

      Im guessing this is more the case for people doing freelance

    • @sakibshadman1448
      @sakibshadman1448 5 месяцев назад +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 4 месяца назад +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 5 месяцев назад +28

    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 5 месяцев назад

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

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

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

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

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

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

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

      Rails, Laravel and Django also have the same feature.

  • @Metruzanca
    @Metruzanca 5 месяцев назад +51

    4:36 - BRAZIL MENTIONED LETS GO!

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

      HUEHUEHUE LETS GOOOO 🇧🇷🇧🇷🇧🇷

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

      🇧🇷🇧🇷🇧🇷

  • @lifeofdandotme
    @lifeofdandotme 5 месяцев назад +4

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

  • @Metruzanca
    @Metruzanca 5 месяцев назад +24

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

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

      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 5 месяцев назад

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

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

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

  • @kalist8938
    @kalist8938 5 месяцев назад +5

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

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

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

  • @danilobrun3436
    @danilobrun3436 5 месяцев назад +5

    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  5 месяцев назад +3

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

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

    Classes are just syntactic sugar for closures over functions

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

    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.

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

    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  5 месяцев назад

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

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

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

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

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

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

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

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

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

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

    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🤣

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

    Gonna watch Primeagen reaction soon

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

      👀👀👀

    • @wonderfuladeyemo6806
      @wonderfuladeyemo6806 5 месяцев назад +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  5 месяцев назад +1

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

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

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

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

    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.

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

    Types are NOT for intellisense.
    They're for catching errors at build time that would otherwise be caught in runtime.

  • @arnobioairesdelima8617
    @arnobioairesdelima8617 14 дней назад

    Gostei da análise e do inglês. Congratulations.

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

    You're either functional or dysfunctional 💯

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

    genuine question: is gleam worth it from elixir? since its also an FP with types, but I loved elixir's |> pipe syntax T__T

  • @finncheradao
    @finncheradao 5 месяцев назад +13

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

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

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

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

      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

  • @Joao-nn6gn
    @Joao-nn6gn 5 месяцев назад +1

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

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

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

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

    Great video! Can't wait for more

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

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

  • @simpingsyndrome
    @simpingsyndrome 5 месяцев назад +1

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

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

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

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

      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.

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

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

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

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

      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.

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

    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  5 месяцев назад

      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 5 месяцев назад +3

      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 5 месяцев назад

      ​@@user-qq7yc1qp8z 💯

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

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

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

    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

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

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

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

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

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

    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  5 месяцев назад +1

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

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

      @@DanielBergholz I got it!

  • @Ari-lv8nc
    @Ari-lv8nc 2 месяца назад

    you are him !!!

  • @Jmart786
    @Jmart786 5 месяцев назад

    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  5 месяцев назад

      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

    • @Jmart786
      @Jmart786 5 месяцев назад

      @@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 3 месяца назад +1

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

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

    What about python ?

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

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

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

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

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

    My VSCode NEVER works with Elixir

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

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

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

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

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

    Elixir é vida

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

    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.

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

    Good stuff :)

  • @jsonkody
    @jsonkody 22 дня назад

    Well .. this is my story 😅
    Elixir is so much better than JS .. and almost everything else 🙌
    Joe Armstrong is freakin legend!

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

    You didn’t try Adonis?

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

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

  • @anandkapdi4822
    @anandkapdi4822 16 дней назад

    HTMX ❤

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

    Why not adonis JS?

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

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

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

    Why not rails

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

    now he'll go to gleam

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

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

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

    what about gleam? it based on erlang vm also

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

    Im moving away from next and aws.

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

    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  5 месяцев назад

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

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

    stick to angular i guess

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

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

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

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

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

    Português, please 😮‍💨

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

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

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

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

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

      Congratulations! Keep using TS then

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

    first

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

    paia, pensei q o canal era conteudo brasileiro

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

      oxi

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

      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 5 месяцев назад

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

      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 5 месяцев назад

    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!