<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="188009" data-post-id="188009">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="exjutsu" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/exjutsu/120/19840_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  exjutsu
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I think you’re overstating a good bit.</p>
<p>Elixir doesn’t see the same adoption as Java, .NET, Go and Python because:</p>
<ol>
<li>
<p>Java App Servers have long provided a tremendous amount of tooling that was not available in other languages for almost a decade. K8s and Docker gives a more general purpose version of what these were giving since pre 2000. Once a company invested in that Java infrastructure adding in any new language was not a simple decision because it wasn’t a matter of using language X here, language X also missed the deployment tooling, logging, variable abstraction, clustering, zero downtime deployments, etc. When the JVM opened up to other languages and the development experience improved it became even more entrenched because now you could run lots of other languages on that same infrastructure investment.</p>
</li>
<li>
<p>.NET gained traction from Windows itself, Microsoft certifications, SQL Server, etc and the cross promotion arm of Microsoft that gives you huge technology deals based on how many MS Certified employees you have. This becomes a self-feeding beast that the longer you’re in, the more invested you become in staying in so pivoting is hard.</p>
</li>
<li>
<p>Go got an uptick because of portability (like java), single binary deployment (easy to run anywhere), better concurrency than 1 &amp; 2 and designed for an extremely low learning curve (protection from turnover…but the “is this it?” experience), along with the backing of Google. Not to say that Go isn’t without other benefits, but those were the selling points that made it easier to introduce in big corps.</p>
</li>
<li>
<p>Python has continued to be the general purpose language that’s just everywhere. Use it for web apps with Django, server admin, it shipped with linux, admin tooling like Ansible was built with it, easy call outs to C that have led to adoption for advanced math and data science. It’s everywhere and the increase in its use as a teaching language only advanced it further.</p>
</li>
</ol>
<p>These are the very real forces at work pushing languages 1-4 and any language (Elixir or otherwise) is fighting the same uphill battle for entrenchment in the enterprise world. I don’t see Elixir ever becoming an enterprise type language because of that. If it does happen it will be a decade long journey. It will gain attention as more and more startups use it as a disrupting force.</p>
<p>But just like Ruby, one of the biggest obstacles to greater adoption numbers is that one person can do SOOOOO much with the language that you don’t need huge teams.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="188009" data-batch-url="/posts/batch_likers">
                        8
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/on-why-elixir/34038/43">Post #42</a>
	                </div>
	            </div>
              <div id="likers-container-188009" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="188009"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #42"></div>
  </section>
</div>
    <div class="postbit" id="188010" data-post-id="188010">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mbuhot" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mbuhot/120/33444_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mbuhot
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I think it’s worth considering how the narrative around Elixir has changed over the last 5 years.</p>
<p>When I first picked up Elixir, it was for no other reason than it was a <em>functional</em> language that could be confidently run in production. I wasn’t comparing it with Python, Go, Java and the like because they were a completely different paradigm. I was comparing it to Haskell, Scala, F# and Clojure. Of those, I’d still pick Elixir for most tasks, barring a requirement for interop with existing .NET/JVM code. There was an acknowledgement that the benefits of the concurrent functional paradigm outweighed the costs that come with using a niche language (remember when we didn’t yet have standardized calendar types? <img src="https://forum.elixirforum.com/images/emoji/apple/stuck_out_tongue.png?v=15" title=":stuck_out_tongue:" class="emoji" alt=":stuck_out_tongue:" loading="lazy" width="20" height="20">).</p>
<p>Now we’re talking about Elixir competing against some of the most mainstream, highly resourced languages out there.  What a great position to be in! There’s always more packages required, but I’d encourage anyone who runs into a limitation with an existing package to submit PRs. The barriers to contribution are much lower than other ecosystems thanks to source based packages with standardized build tooling.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="188010" data-batch-url="/posts/batch_likers">
                        20
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/on-why-elixir/34038/44">Post #43</a>
	                </div>
	            </div>
              <div id="likers-container-188010" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="188010"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #43"></div>
  </section>
</div>
    <div class="postbit" id="188013" data-post-id="188013">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sodapopcan" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sodapopcan/120/34668_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sodapopcan
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I feel that some might need a reminder that while this topic was spun off a thread about why people are ditching Elixir, the topic is now “Why Elixir” <img src="https://forum.elixirforum.com/images/emoji/apple/stuck_out_tongue_winking_eye.png?v=15" title=":stuck_out_tongue_winking_eye:" class="emoji" alt=":stuck_out_tongue_winking_eye:" loading="lazy" width="20" height="20"></p>
<p>I have been driven to Elixir after 10+ years of, “Oh, we’re gonna use varnish and tokyo cabinet oh but now it’s memcache and redis, and we’re going to need to provision a separate server for these and another one for background jobs because we can’t have them running on the web workers…” and then there’s concurrency…  AND THEN there’s doing some form of this dance on the frontend (Apollo cache, anyone?).</p>
<p>Yes, setting up Redis is easy (if your company just lets you just install a new service without red tape).  I’ve done it several times and was pretty easy even the first time.  And once you’ve set up docker a few dozen times it probably becomes second nature (but I wouldn’t know).  But other than thinning out your resume, I don’t see how “less tech and less context switching” could possibly be a bad thing (please note my use of “less”).  <a class="mention" href="/u/sasajuric" rel="nofollow">@sasajuric</a> made this point very well, but I wanted to second it (to be clear, he made it without the resume-padding quip).</p>
<p>I’m not using Elixir professionally yet but I’m floored by what it’s capable of and by its potential in the web dev space (which is my true love).  Everyone is clearly aware of its gaps and I hope more and more people show up to help fill in them in.  I’m hoping to contribute in the very near future.</p>
<p>And I’m now seeing <a class="mention" href="/u/mbuhot" rel="nofollow">@mbuhot</a>’s answer which just makes almost all of my post a simple “hear, hear!” reply <img src="https://forum.elixirforum.com/images/emoji/apple/stuck_out_tongue.png?v=15" title=":stuck_out_tongue:" class="emoji" alt=":stuck_out_tongue:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="188013" data-batch-url="/posts/batch_likers">
                        13
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/on-why-elixir/34038/45">Post #44</a>
	                </div>
	            </div>
              <div id="likers-container-188013" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="188013"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #44"></div>
  </section>
</div>
    <div class="postbit" id="188015" data-post-id="188015">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="orion" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/orion/120/16718_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  orion
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Can ports be used without reservation when Elixir lacks a library? What could be a problem when using ports? Performance? Memory use?</p>
<p>One of my concerns if getting stuck without having the time or knowledge to implement a missing library. I’m thinking of using python ports in those cases.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="188015" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/on-why-elixir/34038/46">Post #45</a>
	                </div>
	            </div>
              <div id="likers-container-188015" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="188015"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #45"></div>
  </section>
</div>
    <div class="postbit" id="188019" data-post-id="188019">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="StefanHoutzager" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  StefanHoutzager
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>My brother is a professional con man, but he is such a charming guy! After a successful deal, he always throws a party and pours the most expensive champagne. In the end we all benefit! <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="188019" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/on-why-elixir/34038/47">Post #46</a>
	                </div>
	            </div>
              <div id="likers-container-188019" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="188019"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #46"></div>
  </section>
</div>
    <div class="postbit" id="188023" data-post-id="188023">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="malloryerik" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/malloryerik/120/29215_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  malloryerik
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I have the same question. What kinds of libraries could be accessed through say a Python port?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="188023" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/on-why-elixir/34038/48">Post #47</a>
	                </div>
	            </div>
              <div id="likers-container-188023" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="188023"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #47"></div>
  </section>
</div>
    <div class="postbit" id="188024" data-post-id="188024">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="hauleth" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hauleth/120/18942_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  hauleth
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="malloryerik" data-post="48" data-topic="34038">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/malloryerik/48/29215_2.png" class="avatar"> malloryerik:</div>
<blockquote>
<p>What kinds of libraries could be accessed through say a Python port?</p>
</blockquote>
</aside>
<p>All of them, as long as you are able to define protocol for data exchange.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="188024" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/on-why-elixir/34038/49">Post #48</a>
	                </div>
	            </div>
              <div id="likers-container-188024" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="188024"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #48"></div>
  </section>
</div>
    <div class="postbit" id="188025" data-post-id="188025">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sasajuric" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sasajuric/120/991_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sasajuric
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Author of Elixir In Action</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote group-Rebar3" data-username="talentdeficit" data-post="42" data-topic="34038">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/talentdeficit/48/1302_2.png" class="avatar"> talentdeficit:</div>
<blockquote>
<p>there’s a conceit here that other languages need things like k8s, envoy, redis</p>
</blockquote>
</aside>
<p>Such has been my experience with Ruby for example. The goto solutions for running something in background or periodically (and most of the systems I’ve worked on needed this), such as sidekiq or resque, required running another OS process (job scheduler) and Redis. The equivalent in BEAM can be done with e.g. <code>Task</code> (or e.g. <code>proc_lib</code> in Erlang) for background jobs, and <code>:timer.apply_interval</code> for periodic ones. In a simplest form you don’t even need to add a library dependency, let alone start the scheduler in a separate OS process and manage an external product such as Redis. Will this suit all scenarios? Of course not, but there will be many situations where these lightweight options will work just fine, and allow me to reduce the number of moving parts.</p>
<p>Same thing holds for reverse proxy. Back when I was working with Rails this was basically mandatory, while on BEAM we can get by with cowboy or Phoenix. Back in my days any Rails based production, no matter how simple and small, required nginx, redis, and a separate OS process for the job scheduler. I haven’t been working with Ruby/Rails for some ten years now, so not sure whether things have improved here.</p>
<aside class="quote group-Rebar3" data-username="talentdeficit" data-post="42" data-topic="34038">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/talentdeficit/48/1302_2.png" class="avatar"> talentdeficit:</div>
<blockquote>
<p>the reality is these are tremendously useful pieces of software with significant features that add value</p>
</blockquote>
</aside>
<p>The former sentiment doesn’t negate the latter. A tool can be both useful, but also an overkill in simpler scenarios, as can be seen from the background job &amp; reverse proxy examples. So I prefer to reach for an external tool when built-in option don’t suit my needs. But in general I strive to get by with built-in options, b/c this reduces the amount of moving parts and the number of different technologies used, and I believe we can all agree that, all other things being similar enough, that simplifies things.</p>
<p>I feel that many of the external tools we take for granted are an overkill in many simpler situations (and it’s worth remembering that many of us are not operating at the scale of Facebook, Google, Twitter, Netflix &amp; co), but we still end up using them because there are no simpler alternatives. I feel that BEAM, with its OS-like capabilities, and properties such as separation of failures and latencies through shared nothing lightweight concurrency, has great potential to provide simpler-to-operate alternatives in the form of libraries. A nice example of this is Phoenix, and otherwise we could take some cues from Mnesia or riak_core, which despite all their issues demonstrated that services such as database or distributed system infrastructure can be provided as libraries. I’ve also posted some thoughts on this matter in another thread, <a href="https://forum.elixirforum.com/t/what-would-it-take-to-create-kafka-like-solution-in-elixir/33937/13" rel="nofollow">here</a> and <a href="https://forum.elixirforum.com/t/what-would-it-take-to-create-kafka-like-solution-in-elixir/33937/18" rel="nofollow">here</a>.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="188025" data-batch-url="/posts/batch_likers">
                        10
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/on-why-elixir/34038/50">Post #49</a>
	                </div>
	            </div>
              <div id="likers-container-188025" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="188025"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #49"></div>
  </section>
</div>
    <div class="postbit" id="188026" data-post-id="188026">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="webuhu" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/webuhu/120/11495_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  webuhu
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Why I use (&amp; love to use) Elixir!</p>
<p>Probably “just” because I’m in a very lucky position.<br>
→ Single developer deciding everything on my own.</p>
<p>I will call myself still an un-professional Elixir developer.<br>
But the things I do with Elixir, works (very very well) form my application areas.<br>
→ Small scale application backends (non of them have &gt; 100.000 active users).</p>
<p>I often came along not finding one “best practise” solution to solve my problems in Elixir.<br>
But I find a hand full of possible solutions and most time take the easiest in my view and have a look if it works.<br>
I’ve learned to love this multiple opportunities.<br>
If I’m in doubt my solution isn’t good enough - telemetry comes to my rescue.</p>
<p>I see the dynamic typing still as charming to me.<br>
Often I’ll prototype things just fast, as time is the most expensive thing in my work (bugs are the second).<br>
So in some larger projects I also of course use Dialyzer - and yes it’s not perfect.</p>
<p>About the package ecosystem. Yes there are viewer. But I’m glad of it.<br>
Working with other large ecosystems you’ll get forced to - there is certainly a package for it - we’ll take it as this would be cheaper.<br>
Not taking into the account of not knowing the quality of the package in up front.<br>
Seeing yourself changing the package with another package later.<br>
That’s really not a fun thing - so I’ve stopped working like that.</p>
<p>Means, yeah there are still things to solve on my own - and having fun doing so.</p>
<p>About the deployments. I did a lot with all of this moving parts (Reverse Proxy, Docker, …).<br>
And now moving in the same direction as sasajuric or hauleth.<br>
For my small scale applications it’s definitely the cheaper way of operations.<br>
I call them atomic deployments - one thing to start - one thing to destroy.</p>
<p>In the end! Thanks to all the people bringing Elixir to live.<br>
&amp; letting me my fun with programming.</p>
<p>PS: No I won’t use Elixir for an Game Engine or for Desktop GUI applications.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="188026" data-batch-url="/posts/batch_likers">
                        5
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/on-why-elixir/34038/51">Post #50</a>
	                </div>
	            </div>
              <div id="likers-container-188026" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="188026"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #50"></div>
  </section>
</div>
    <div class="postbit" id="188029" data-post-id="188029">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="LostKobrakai" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/LostKobrakai/120/3072_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  LostKobrakai
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote group-Rebar3" data-username="talentdeficit" data-post="42" data-topic="34038">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/talentdeficit/48/1302_2.png" class="avatar"> talentdeficit:</div>
<blockquote>
<p>there’s a conceit here that other languages need things like k8s, envoy, redis etc. the reality is these are tremendously useful pieces of software with significant features that add value. not for every application, sure, but elixir is not a replacement for them any more than an autobody shop is a replacement for a porsche taycan</p>
</blockquote>
</aside>
<p>I feel some of difference in position between “we need redis anyways” and “no need for redis on the beam”  might come from different scale. At a certain point of complexity it makes sense to move to more specialized tools like redis or k8s. What I like about elixir is that given me – being a one-man show working on a web application of non-big scale – a way to not need those immediately. I’m well aware I don’t get all the bells ans whistles, but also I don’t need or even want them. If I compare that to my prev. language of PHP, where as soon as I need a tiny bit of async stuff I need to pull in redis, child process management and what not elixir becomes a quite solid choice (on top of other reasons).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="188029" data-batch-url="/posts/batch_likers">
                        13
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/on-why-elixir/34038/52">Post #51</a>
	                </div>
	            </div>
              <div id="likers-container-188029" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="188029"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #51"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/34038/load_more?page=6">Load more posts</a>
</div></template></turbo-stream>