From $erverless To Elixir | Prime Reacts

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

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

  • @madlep
    @madlep Год назад +246

    The most underrated feature of Elixir/Erlang is how damn stable throughput is. May not have the same straight line performance as some other languages, but throw more and more load at it, and it’ll still be chugging along with good response times long after other systems have fallen over. Preemptive multitasking is a superpower.

    • @EdwardOrnelas
      @EdwardOrnelas Год назад +10

      It pipes really well

    • @draakisback
      @draakisback Год назад +34

      Yup, that's it's jam. Everytime I've used elixir, it's always been about constant latency and perf. Not to mention that you can write these apps with very few lines of logic. From what this guy was explaining, he probably had 3 modules and maybe some extra genserver modules to lift up the logic. My favorite thing to do with elixir though is to use rust NIFs. Elixir gives you fault tolerance and out of the box distribution, but it can be slow computationally. On the other hand, you can hook in some rust native interface functions to get back some of that speed.

    • @lmao4982
      @lmao4982 Год назад +3

      idk much about any of this but when real-time system languages like erlang were introduced to us briefly in university, this was described as one of their main design criteria

    • @patricksmith8262
      @patricksmith8262 Год назад +24

      I'm still dumbfounded how Elixir hasn't become more popular over that past decade.

    • @septuleptum
      @septuleptum Год назад

      @@patricksmith8262 I think it's a combination of factors. This is a functional language, and paradigm shift is hard for those who are used to writing oops, the language has a kind of unusual syntax inherited from Ruby, you will have to learn OTP (the gen-servers mentioned in the video), and the most interesting thing is that not everyone wants the kind of workload that can be afforded with this programming language. It's an odd take, I know. Nevertheless, Elixir is used a lot of places, even in Microsoft flight simulator.

  • @symbolslogic
    @symbolslogic Год назад +95

    Re: "let it crash"--the Erlang joke at 5:11.
    "Let it crash" is a core tenant of Erlang design and programming. Instead of writing "defensive code", you let a process crash or "die", and have its supervisor or monitoring process restart it. That said, in actuality, you probably do not want it to crash and will likely write some defensive code, however, in the off chance something unexpected happens, having a supervisor process and that philosophy lends to a greater peace of mind.
    I guess the intended joke was that the major change from serverless to Elixir initially resulted in some crashing, so the saying "let it crash" fit the bill.
    Re: "fit the bill"--wait, stop recursion.

    • @KManAbout
      @KManAbout Год назад +6

      Let it crash is a good philosophy as long as you have a good case for restarting services with the state intact everything is fine. Hence a graceful crash that returns a recoverable state

    • @draakisback
      @draakisback Год назад +8

      let it crash is a philosophy that works really well in practice as long as you aren't writing extremely stateful processes and to be honest not filling your processes with state is pretty idiomatic for both elixir/erlang. As with hardware when you have a state problem, you reset the device and it normally will correct the problem; this is how let it crash works too. With elixir/erlang, you also have tons of methods to pass the state back and forth between crashing processes; you can pass the old state from one process to the new one using some of the genserver callbacks. Other parts of OTP like ETS and Mnesia work well for making sure that you can move state from your processes to something more tangible.

  • @ycombine1053
    @ycombine1053 Год назад +157

    "we were using a logging sevice that was getting expensive" - cough cough datadog cough cough

    • @FinLogan
      @FinLogan Год назад +4

      Cloudwatch is also quite expensive. Not sure how they compare

    • @AMalevolentCreation
      @AMalevolentCreation Год назад

      @@FinLoganmuch more expensive, but is a better tool UX wise.

    • @anon-fz2bo
      @anon-fz2bo Год назад +4

      f# enjoyer? 🤔

    • @ocoolwow
      @ocoolwow Год назад +8

      Or you know just code a simple logging system yourself, it ain't that hard to write text to a file

    • @aldrickdev
      @aldrickdev 8 месяцев назад

      @@ocoolwow Logging Services do more than just centralizing your logs into a file. Most Logging Platforms aggregate your logs and let you analyze and monitor them

  • @zacbarnes2187
    @zacbarnes2187 Год назад +126

    Been writing elixir for 6yrs. I have that natural curiosity toward other languages and frequently try them out. EVERY SINGLE TIME I end up thinking, "this is just so much simpler in Elixir." I try not to fanboy over any language since they are just tools but man Elixir/Erlang just works.

    • @gorge464
      @gorge464 Год назад +12

      I had started using Elixir about almost 4 years ago and have had the same sentiment. If I want to get something going quick and easy, Elixir is such a quick solution for me and each time I try something else, I find something to appreciate but I can see an amount of work and shifting ideas that don't meet my internal effort-economy bar so I go back to Elixir.

    • @Hacking-Kitten
      @Hacking-Kitten Год назад +1

      currently trying to get into elixir. Feels harder to learn than other languages I worked with so far.

    • @adriankal
      @adriankal Год назад +15

      Its the case with every language. You solve problems that youranguage is good at, in the way that it's easiest in your language. Then you switch to another language and naturally you want to do same things, the same way. It would never be as easy as in your language. You need to use other language to do what it's good at in the way that is easiestin that other language.

    • @Hacking-Kitten
      @Hacking-Kitten Год назад +3

      @@adriankalI would agree, but learning Javascript, Rust, Go, Python, etc. coming from C++ did not feel so hard. All object oriented ofc, so that is probably why

    • @red13emerald
      @red13emerald Год назад

      What sort of projects are we talking about here?

  • @bryjbry
    @bryjbry 11 месяцев назад +28

    Elixir is the “One Man Army”
    language

  • @noredine
    @noredine Год назад +65

    This guy deserves a bonus and a raise

    • @Ellefsen97
      @Ellefsen97 Год назад +10

      It must feel pretty damn good to reduce the cost from $30k to $500. I remember I felt good for days when I optimized an API service from 20s to 3s on a school group project lol.
      And yes, give that man a raise

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

      Nice try, Louis!

  • @disguysn
    @disguysn Год назад +15

    The interprocess communication in Erlang/Elixir is actually really cool. Once I understood it, it became my favorite model for this.

    • @guledomer
      @guledomer 11 месяцев назад

      the actor model

    • @binarysun_
      @binarysun_ 7 месяцев назад

      Ever since I learned Erlang many moons ago and later switched to Elixir I wonder how in the world anybody would use any non BEAM language for anything web and still be able to look in the mirror

    • @disguysn
      @disguysn 7 месяцев назад

      @@binarysun_ Go is a worthy contender. It's still not nearly as cool but it's better than most.

  • @colbyberger1881
    @colbyberger1881 Год назад +8

    Love this, been learning Elixir for the past week. Tried haskell in college and was told to look into Elixir by a class mate. Year later im checking it out and its enjoyable. Golang and Elixir are my languages of choice and im enjoy every second of it.

    • @possumkeys
      @possumkeys 8 месяцев назад +2

      How would you compare the 2?

  • @Kane0123
    @Kane0123 Год назад +8

    Stopped watching about half way to rewrite my services in Elixir to run on kubernetes.
    Will come back and watch the reminder after I deploy perfectly first time.

  • @ChatGTA345
    @ChatGTA345 Год назад +15

    This is also a great showcase for indie/hobbyist dev - it just shows that even if you think your pet project will have an overnight success (an unlikely event), you still rarely ever need more than one or a few small servers. No need for “cloud scale” with thousands of “serverless” instances, when 1-3 tiny servers can handle ALL of it, and then some. The cloud is a lie (and I’m saying this after being a “cloud architect” for 7 years)

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

      The cloud is not a lie. The little man behind the green curtain told me so. ;)

  • @benbowers3613
    @benbowers3613 Год назад +11

    Serverless is really only for small to medium sized projects/companies. I think the strategy is generally to use serverless in order to spit out functional apps as soon as possible and then if any of the apps in particular blow up in popularity you would move that app to a self-managed infrastructure to maximize profit.

  • @IvanRandomDude
    @IvanRandomDude Год назад +34

    But serverless is very cheap.when you don't have users!

    • @kibels894
      @kibels894 Год назад +5

      Not as cheap as VPS

    • @ArisenDrake
      @ArisenDrake Год назад

      @@kibels894 But that doesn't S C A L E!!!!! Well, you sure have to hope your bank account scales as well as serverless does...

    • @albertoarmando6711
      @albertoarmando6711 Год назад

      @@kibels894 that is the joke

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

      Why ??

  • @dexterbanawon2449
    @dexterbanawon2449 Год назад +1

    the best article u read so far. i watch your videos for a month now. the other videos were good but this was the best. love it.❤

  • @EdwardOrnelas
    @EdwardOrnelas Год назад +21

    I learned Elixir earlier this year and had to do a CRUD’s table for a small company cause they asked for it using Phoenix table. When the project was completed, I haven’t touched Elixir since, that was back in January. Sadly not as much demand for it (right now).

  • @ycombine1053
    @ycombine1053 Год назад +8

    And it was about that time that i realized that that girl scout wasnt no gurl scout. It was that damn lochness monster again trying to get my tree fiddy!

  • @daltonyon
    @daltonyon Год назад +30

    Every time that I hear serverless surprises me how much money they spend!!

    • @albertoarmando6711
      @albertoarmando6711 Год назад +6

      and how unnecessary complicated it might get. I was recently staffed for a company that assigned me to work on a serverless project. Considering what this project does, it is overkill.

    • @some84884
      @some84884 8 месяцев назад

      They have to resist evil but not join it! Dumn lambdas

  • @sinom
    @sinom Год назад +11

    And the link was in fact not in the description

  • @unowenwasholo
    @unowenwasholo Год назад +3

    20:52 I think "contrarianism" is a good product of critical thinking (to an extent). We know people are fallible and can get swept up in hype. When there's no counternarrative that's pointing out the downsides or nuance of a situation or thing, its generally a good thing to give some air to the skeptic so they can scrutinize the narrative. This isn't to say that things can't have a huge amount of pros and very little (relevant) cons, or that the skeptic themselves are going to be constructive; just that it's good practice to keep an open mind to nuanced views.
    "There's a time and place for everything," and that is never all the time and everywhere. The higher the stakes, the better it may be to seek said nuance out on your own or to play "Devil's advocate" in efforts to stress test an idea and play it out to its logical ends.
    PS: That said, sounds like TheFightagen just wants to throw a few "Oh really?"s.
    Edit: Better -agen.

  • @zach9850
    @zach9850 10 месяцев назад +4

    Im surprised elixir isnt more popular, I fn love it

  • @ANONAAAAAAAAA
    @ANONAAAAAAAAA Год назад +4

    Honestly, I doubt this is a good use-case of BEAM which is designed for handling large number of connections concurrently in IO bound scenarios.
    This problem looks more like CPU bound because the server doesn't need to keep connections while waiting for external API or something.
    If the requests from clients take time and cause large number of concurrent connections, then we can just put nginx or something to deal with the bloated connections.

  • @prsy
    @prsy Год назад +25

    🎉🍾🎊 elixir mentioned 🎊🍾🎉

  • @jesustyronechrist2330
    @jesustyronechrist2330 Год назад +9

    Elixir? I hardly know her.

  • @jeffwhite3867
    @jeffwhite3867 Год назад +2

    Remember back in the day when developers threw their code over the fence and let the sysadmin handle deployments and infrastructure, and then they invented "devops" so developers became responsible for the infrastructure their code ran on, and then eventually nobody specialized in anything anymore, and then infrastructure became so complex that it became impossible to setup shitty infrastructure to run shitty code as fast as we deployed quality code on quality infrastructure, and now developers are throwing code over the fence to "devops" who spend most of their time trying to keep the costs down and wondering why nothing is stable anymore? Yeah, good times.

  • @syncplop
    @syncplop Год назад +1

    "That's a lot of shards" I'm laughing at this phrase. Once we tried to calculate how many shards we would need it came out as 300 just counting bandwidth, in the end SQS was an order of magnitude less expensive

  • @emjones8092
    @emjones8092 Год назад +1

    Cory O’Daniel is a gangster. Stick with him, y’all.

  • @nicco88
    @nicco88 Год назад +18

    I see elixir, I like

  • @kasvith
    @kasvith 10 месяцев назад +4

    Why not go? well I came to elixir from go and rust...Elixir is simply pure joy compared to others

  • @anon-fz2bo
    @anon-fz2bo Год назад +1

    never written elixir before so i can only assume what the code shown @10:56 means.
    im gonna apply the knowledge i have of languages in general but since this is a specific language with its own nuances im most def gonna be wrong about some things.
    im guessing defmodule is a keyword & as it implies it is used to define a module, which is essentially a namespace.
    now the syntax on the following lines that start with @ are just that; identifiers from what im guessing.
    so the first line would be an identifier for a struct/class/interface/namespace, since im unsure what Storage actually is or if elixir even has classes/structs/interfaces.
    the second would be an identifier for the string literal "
    "
    and the third identifier would be assigned to the returned value of the get_env function located in the Application namespace/module or, from a c#/java perspective Application would be a class and get_env would be a non void public static method. unsure about the arguments it takes in and the syntax associated with.
    then on the next line the def keyword is used to define a function which is exactly like ruby & python, following that would be the identifier of the function & its single argument, "do" would obviously indicate the begining block of the func.
    then the body of this function would be the actual procedure that this function does.
    Seems to me that another function is being invoked from the File module; the write function. Which makes sense if File is infact a module. You would want some kind of write functionality.
    it takes in the value of @log_file as the first arg which im assuming is a path to a file, and im assuming the result of concatenating its actual argument assigned to the identifier "msg" with the string literal "
    " would be the second argument.
    my reason behind guessing so despite not knowing what the token "" means is because it looks to me like an operator & the right operand is defined a string. so if im right, the code is actually readable compared to most typescript (especially generics) that u will find out in the wild & especially on yt.

    • @anarchoyeasty3908
      @anarchoyeasty3908 Год назад

      Pretty spot on. The creator of erlang is José Valim and he was formerly a core contributor for Ruby on Rails which is why it has similarities to ruby in design. He wanted elixir to be understandable and the logical next step for ruby devs to move to.

  • @MrSpoomples
    @MrSpoomples Год назад +5

    When you look at the description looking for the links for the keyboard and find nothing...

    • @anarchoyeasty3908
      @anarchoyeasty3908 Год назад

      If you google "From $erverless to Elixir" it comes up (in case youtube doesn't like the link I dropped)

  • @ThomasWSmith-wm5xn
    @ThomasWSmith-wm5xn 11 месяцев назад +2

    Loud ass Iago from Aladdin sounding mf, waking me up when I fall asleep to youtube.

  • @russpalermo
    @russpalermo Год назад +1

    Prime's skepticism about serverless hype, lies, deception and the need to go along is better placed with the Typescript crowd.

  • @TheALahiri
    @TheALahiri 8 месяцев назад

    Deep article and good commentary.

  • @mrbit10
    @mrbit10 10 месяцев назад +1

    nothing against the point of the author, BUT, i ran into the same issue wtih AWS api gateway costs and found i had to convert from REST to their lower tier HTTPS and it cuts the API costs in half.

  • @KingDJRule
    @KingDJRule Год назад

    Why not making an express server and start off some child processes or clusters for processing and wait for a batch to be finished before sending it to this mysterious kinesis, if your server can handle the load?

  • @steveoc64
    @steveoc64 Год назад +13

    Finally - elixir

  • @suede__
    @suede__ Год назад +1

    Dang, this article is 5 years old.

  • @nevokrien95
    @nevokrien95 Год назад +13

    I am learning elixir it's fun

  • @MuskW-e9x
    @MuskW-e9x Год назад +1

    Serverless is a movement? Like bowel?

  • @sharkpyro93
    @sharkpyro93 Год назад +9

    another episode of: tech choices that you will never see happen in an enterprise/big company

    • @victorpinasarnault9135
      @victorpinasarnault9135 Год назад +1

      I agree, sadly, I agree.

    • @sharkpyro93
      @sharkpyro93 Год назад

      ​@@victorpinasarnault9135 every place i worked at were using java for literally every thing, even the smallest ones were spring boot apps, i created a flask server for 2 small endpoints once, senior came, overwritten with a java spring boot app and pushed, that was a miserable experience..."a very small api with 4 endpoints and you're using node or python? excuse me what the fuck?!" that basically sum it up the enterprise experience for me

    • @septuleptum
      @septuleptum Год назад

      Hehe, some of these big guys uses Elixir but never tells about it

  • @AKRIDASGAMWEKSOGIINI
    @AKRIDASGAMWEKSOGIINI Год назад +1

    the constant beef with elixir is so entertaining

  • @binarysun_
    @binarysun_ 7 месяцев назад

    ... and now there is FLAME ... Serverless PLUS Elixir functions ....

  • @noext7001
    @noext7001 Год назад +3

    5m/h request, is this netflix ?

  • @cahva2
    @cahva2 Год назад +1

    Someone broke your keyboard in half

  • @TheBadFred
    @TheBadFred Год назад +1

    11:11 That is evil annotations black magic.

    • @roberttimis9682
      @roberttimis9682 Год назад +1

      They are not annotations, just constants (:

  • @ankk98
    @ankk98 11 месяцев назад +1

    People are getting over reliant on cloud based abstractions.

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

    spent 1.3 hours trying to get phoenix to hello world on stream - no luck yet

  • @guicaraciolo
    @guicaraciolo Год назад

    where is the link for the keyboard?
    I want to check it out

  • @pauld2216
    @pauld2216 9 месяцев назад

    Collecting metrics on your metrics is the circle of sadness.

  • @jsonkody
    @jsonkody Год назад +1

    '' is string concatenation in Elixir. Most of the functional langs have something different than (ehm retarded) C-like syntax '+' .. OCaml use '^', Haskell '++'

    • @some84884
      @some84884 8 месяцев назад

      It’s made for simplify and sped up compilers

  • @dpcxx
    @dpcxx Год назад +2

    The whole thing can probably be handled by 20 hosts on Hertzner with haproxy, for $1000/mo, completely over-provisioned. Or (if you really need to) in AWS for somewhat more. But tell me more how KISS your setup is, with AWS, Elixir, Kinesis, Go, Node, k8s, and whatever else was utilized there.

  • @thewayfaringshadow
    @thewayfaringshadow 10 месяцев назад +1

    I really like that elixir juice.

  • @kristun216
    @kristun216 Год назад +9

    Love Elixir

  • @laughingvampire7555
    @laughingvampire7555 Год назад +7

    Elixir has little in common with Ruby, only surface syntax but in Elixir it means things that are very different to Ruby's
    In Ruby a module is define between the keywords "module" & "end" and it is just a bag of definitions for ruby, the only way you have to ship it is as a file and supports no versioning.
    In Erlang(or Elixir) a module is a distribution unit of code, is the minimum code the beam loads and it is binary and it is versioned and the BEAM (Erlang's VM) allows to load to different versions of the same module, and if you use correctly the supervision tree it comes with an automatic mechanism to update the module in all the running instances and if you have processes of the old version still doing job, it waits until they are done to kill them and replace them.
    So Ruby & Elixir are way to different.

    • @encapsulatio
      @encapsulatio Год назад +1

      @atkascha Any proof that it is faster than Python 3.11 ?

    • @DisFunctor
      @DisFunctor Год назад +7

      not to mention Elixir is an FP language unlike Ruby and Python, and works with an actor system, which is requires a pretty different mental model to program with than your usual Ruby or Python programming.

    • @astroid-ws4py
      @astroid-ws4py Год назад +1

      ​@atkaschaFor a fast Ruby you have Crystal

  • @ddystopia8091
    @ddystopia8091 Год назад

    Kinesis links are not in description

  • @ANONAAAAAAAAA
    @ANONAAAAAAAAA Год назад

    >2018
    Now suddenly everything made sense.

  • @glauco_rocha
    @glauco_rocha Год назад +8

    It is hilarious how passionately ThePrimeagen hates Elixir.

  • @MrEnsiferum77
    @MrEnsiferum77 Год назад

    TLDR. They change it, because people finally realise ok, we don't need that k8s / terraform crap.

  • @MrDaAsif
    @MrDaAsif 11 месяцев назад +1

    Wow that is some quite low hardware load

  • @TheMrChugger
    @TheMrChugger Год назад

    Kinesis alone is a financial black-hole...

  • @kokoinmars
    @kokoinmars Год назад

    Upboated for the trippy elixir

  • @Dev-Siri
    @Dev-Siri Год назад

    they have users?

  • @aaauto
    @aaauto 9 месяцев назад

    Do they even need K8?

  • @Nellak2011
    @Nellak2011 Год назад

    Why not client-side JSON schema validation? It would save you from using a Lambda.

    • @anarchoyeasty3908
      @anarchoyeasty3908 Год назад

      Relying on client side validation. Want to know how I know you have never written a high performance system that requires reliability? You can NEVER rely on client side validation for anything or you will shoot yourself in the foot.

    • @Nellak2011
      @Nellak2011 Год назад

      @@anarchoyeasty3908 I really haven't, I do front end stuff. Why cant you simply do client side validation?

    • @ritsu133
      @ritsu133 Год назад

      @@anarchoyeasty3908 you actually don't need to write high performance systems to know that, it's basics of web development

  • @SigSeg-V
    @SigSeg-V Год назад

    I like the tooling and fundamental concepts of elixir, I just can’t get over the Ruby-ness.

    • @verified_tinker1818
      @verified_tinker1818 Год назад +2

      I can get used to the Rubyness but not dynamic typing.

    • @SigSeg-V
      @SigSeg-V Год назад

      @@verified_tinker1818 that’s what I mean, having no explicit types yet the compiler not being able to coerce types is just a disaster.

    • @pipely
      @pipely Год назад

      @@SigSeg-V you can get pretty good type safety in Elixir if you use its TypeCheck feature (and Dialyzer/Dialyxir). That makes it WAY more type safe than Ruby.

    • @anarchoyeasty3908
      @anarchoyeasty3908 Год назад

      @@SigSeg-V Elixir definitely does have explicit types, there are 7 of them: integers, floats, Booleans, atoms, strings, lists and tuples. Typespec and dialyzer provide type checking and documentation on what types are expected, and Jose is actively working on implementing a more formal type system. The research part is finished and they are working on actually implementing it now.
      I will add that Elixir is based on Erlang which is extremely reliable and has been powering systems that are critical infrastructure for decades without any issues. All of BEAM (the VM that Elixir and Erlang run on) has the same typing system, and it works perfectly. So a disaster? Hardly. You just are having a hard time letting go of the things other languages and developers have convinced you are requirements, but when properly handled (like BEAM does) is not actually a requirement at all.

    • @septuleptum
      @septuleptum Год назад

      ⁠@@SigSeg-Vcore team is working on it right now but it’s a long road

  • @defnlife1683
    @defnlife1683 Год назад +11

    Elixir getting types soon sounds interesting. I did some programs on it and it was fun, but I guess I gravitate towards C syntax. (GO). Still, cool community that's hardcore in love with the language. Scales well (like Go), and has cool web stuff (like Phoenix). Also part of the "NOT JS" Crew. lmao.

  • @Dontcaredidntask-q9m
    @Dontcaredidntask-q9m Год назад

    Complains about cost and moves to K8s hahaha good one

  • @h2_
    @h2_ Год назад

    As an Elixir bro, I watched this one live and thought it was never gonna get uploaded bc the article sucked :( It was just "serverless bad" for 20 minutes with not enough "elixir is goated" to compensate 😔I hope we'll see more elixir content soon though :)

  • @Redyf
    @Redyf Год назад +2

    W elixir

  • @TheHackysack
    @TheHackysack Год назад

    no funny comment this time, just wanted to say hello :3

  • @jaymartinez311
    @jaymartinez311 Год назад +1

    raw dog me and append me 😂😂😂🎉

  • @annoorange123
    @annoorange123 Год назад +2

    Why is Erlang getting no love 😢

    • @jrrrohm
      @jrrrohm Год назад +2

      All that stuff they were saying about Elixir like genservers etc. is actually all Erlang under a metalanguage... Erlang is all the love.

  • @sp3cterproductions
    @sp3cterproductions Год назад

    I smell bs, either at a management or engineering level. If and only if the service is running optimally then the aforementioned 12k bill shouldn't be an issue if the service is actually providing value to the business to offset it's cost. Either the engineering is bs or management pricing the service to customers is bs.

  • @GrandpaRanOverRudolf
    @GrandpaRanOverRudolf Год назад

    cloud bad

  • @quarteratom
    @quarteratom 11 месяцев назад

    Serverless means peer-to-peer, not what you think it means.

  • @greendsnow
    @greendsnow Год назад +1

    Which one to chose Elixir or Go
    for chat app?
    and for e commerce?

    • @gorge464
      @gorge464 Год назад

      Both have tradeoffs. I have an Elixir bias and did a little Go.
      In Elixir, spinning up a Phoenix Framework web server is super quick and easy and really only demands that you have PostgreSQL installed. Which on that note, making database changes with Ecto is easy too--once you get it though.
      Then once you learn a little about getting values onto HTML pages, you're off to the races.
      Phoenix framework feels nice to me because everything including a webpage is just a process that might have some state. Something going wrong elsewhere won't often break the entire web app. Hot reloading is a thing so the dev experience feels nice.
      When I was playing with Go, making an HTTP(s) server was certainly easy but for me I haven't got good. However, it feels hard in Go to start with a script that defines what your server is. Anytime something changes, at least in that server file, you have to close and restart the server script again. In Elixir I just type `recompile` and the whole app is recompiled in less than a second.
      As for a chat app--super simple in Elixir and there are many examples out there elixirbridge.org/03_Intro_to_Phoenix/01-creating-a-chat-app.html
      As for Go, probably also super simple to build a chat app.
      As for e-commerce, all you're really building is a store front with a stripe integration and an inventory database. You can use Phoenix for the store front, I've seen articles about integrating stripe with Elixir, and Ecto to PostgreSQL will be your database. Easy in theory, takes a bit of effort.

    • @PwrXenon
      @PwrXenon Год назад +1

      What language do you already know?

    • @greendsnow
      @greendsnow 11 месяцев назад

      js and python @@PwrXenon

    • @AJewFR0
      @AJewFR0 10 месяцев назад +2

      doing web apps, elixir no contest. Phoenix is just so far ahead of Gin or other go web libraries

  • @liquidcode1704
    @liquidcode1704 Год назад

    isnt this an old ass video