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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>You said you can’t see the speed/performance benefits. There might be no speed/performance benefits, or if there are any, they might be so small that it doesn’t really matter. If you were switching from Nodejs in order to get more speed/performance, you might need to look at a truly high performance language like Rust.</p>
<p>If Elixir is not performing well enough for your use-case, I invite you to create a new post and ask about how to fix that, I have not yet heard of a web application that has performance needs that Elixir can not serve. Elixir might need to reach out to another language to resize images or encode video or do the one or two things that are slow, but it is fast enough that users can’t tell they are waiting for it.</p>
<p>If what you really want is scalability on minimal hardware (which is a result of the speed you could get from Rust/Go/C), then you need to ask yourself if you will spend more on bigger servers for Elixir, or hiring more programmers to write code in a less productive language. If you have Billions of users (which would mean you certainly have Billions of dollars), you might spend more on servers by switching to Elixir, if you do not, you will probably spend more on Programmers by using a higher-performing-less-productive language.</p>
<p>I see many other reasons to switch to Elixir in the answers to your other questions.</p>
<ol>
<li>I mainly use Elixir because I enjoy it. I came from Ruby.</li>
<li>As a programmer, productivity/maintainability is probably the main benefit if I had to choose one. It takes less time to develop things in Elixir than in almost any other language I can think of. It is not only a high-level language, but it has built-in-clean-simple abstractions for very complex concepts like concurrency, distributed programming, in-memory-key-value store, pub-sub. Stability from the built-in fault tolerance is probably the more significant characteristic that I rarely think about.</li>
<li>Realtime applications. If the user needs to see a change on their screen because there was some state change from another user or some other system. That said, any web application can be built using Elixir.</li>
<li>Yes, deployment/scaling is efficient. Particularly if you want the simplicity of less nodes and just scaling vertically by making the nodes bigger, it efficiently uses all the cores on the system.</li>
</ol> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="264656" data-batch-url="/posts/batch_likers">
                        6
                      </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/elixir-phoenix-use-cases-why-start-using-it/50924/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-264656" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="264656"
                     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 #11"></div>
  </section>
</div>
    <div class="postbit" id="264661" data-post-id="264661">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="Nicoo" data-post="11" data-topic="50924">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/nicoo/48/24809_2.png" class="avatar"> Nicoo:</div>
<blockquote>
<p>art, Rust and other</p>
</blockquote>
</aside>
<p>Which language you like best, in terms of productivity and developer happiness?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="264661" 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/elixir-phoenix-use-cases-why-start-using-it/50924/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-264661" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="264661"
                     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 #12"></div>
  </section>
</div>
    <div class="postbit" id="264665" data-post-id="264665">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Take it from someone who has been in the deep muddy water of JavaScript development, both in frontend and backend, Elixir &amp; Phoenix are better duo than anything I came across.</p>
<p>Let me answer each of your question, one by one.</p>
<ol>
<li>
<p>I switched form Node.js. I used it along with Socket IO to make presence tracking app and distributed locking.</p>
<ul>
<li>The Node.js environment is riddled with memory leak. (The only Node.js program without memory leak is a Hello World program) (Elixir &amp; Phoenix app have per process garbage collection, so memory won’t bloat for entire application)</li>
<li>It is opaque, i.e. You can’t inspect what’s happening inside in production. (You can with Elixir &amp; Phoenix, you can even terminate a single process that might be causing trouble, without crashing the whole server!)</li>
<li>It’s not multi threaded, so you have to run multiple instances using PM2 or Docker. (Elixir &amp; Phoenix have that natively)</li>
<li>Multiple Node.js instances don’t communicate with each other, instead you have to host a separate Redis instance, and use its PubSub mechanism or use some other message queue. (Elixir &amp; Phoenix run on top of BEAM virtual machine, which has those primitives built in!!)</li>
<li>JavaScript is an unreliable mess, which you will replace with TypeScript anyway, which is just a fake type checker. (With Elixir, you won’t need Type checking whatsoever, because of the first class testing features and type checkers don’t prevent all bugs anyways, just type bugs)</li>
</ul>
</li>
<li>
<p>a. Major benefits:</p>
<ul>
<li>The Phoenix Framework has Live View, which is like next level compared to the terrible Single Page Application. (I can fill a page about how it’s a mind-blowing piece of tech if you want to know)</li>
<li>Elixir has LiveBooks, where you can learn, make Machine Learning models, even create business intelligence tools, because it can connect directly to all other Elixir Phoenix nodes with ease.</li>
<li>Elixir has Pipelining, i.e. |&gt;, for better readable and maintainable code.</li>
</ul>
</li>
</ol>
<pre data-code-wrap="elixir"><code class="lang-elixir">     def on_mount(:only_admin, _params, session, socket) do
      {:cont, socket}
        |&gt; assign_user(session)
        |&gt; verify_user()
        |&gt; verify_lock()
        |&gt; verify_email()
        |&gt; verify_role(~w(super_admin admin)a)
        |&gt; subscribe_user()
     end
</code></pre>
<ol start="2">
<li>b. Some other benefits:
<ul>
<li>The paradigm for coding is functional, and not OOP, so you won’t drown in the rabbit hole of Design Patterns.</li>
<li>Elixir has pattern matching, which eases error handling and reduces lines of code we have to write:</li>
</ul>
</li>
</ol>
<pre data-code-wrap="elixir"><code class="lang-elixir">   def env(atom) when is_atom(atom), do: Application.get_env(:derpy_coder, :environment) == to_string(atom)
   def env(str) when is_binary(str), do: Application.get_env(:derpy_coder, :environment) == str
   def env(list) when is_list(list), do: Application.get_env(:derpy_coder, :environment) in list
</code></pre>
<ol start="3">
<li>
<p>Domains:</p>
<ul>
<li>The language and the BEAM virtual machine lend themselves to soft real time application really well.</li>
<li>Better &amp; Modern web applications. See: Phoenix Framework</li>
<li>Soft Realtime, collaborative applications. See: Phoenix LiveView</li>
<li>Internet of Things using Nerves project. See: Nerves Project</li>
<li>Mobile Application. See: Phoenix LiveView Native</li>
<li>Desktop Application. See: Elixir Desktop</li>
<li>Artificial Intelligence training and serving. Elixir Nx, Axon</li>
<li>Here’s a list of Awesome Collections: <a href="https://awesome-elixir.ru" rel="noopener nofollow ugc">Awesome Elixir</a>, <a href="https://github.com/beam-community/awesome-phoenix-liveview" rel="noopener nofollow ugc">Awesome Phoenix LiveView</a></li>
</ul>
</li>
<li>
<p>Deployment</p>
<ul>
<li>It takes up less memory, compared to Java or Node based apps.</li>
<li>It uses less server resources and just one instance deployed onto a server can utilise all cores of that machine. So you don’t have to use a tool like PM2 to run multiple instances like in case of Nodejs.</li>
<li>There was a blog post about how a company using Ruby, with 80 servers came down to only 5 after switching to Elixir.</li>
<li>Discord uses Elixir, and WhatsApp used to use it.</li>
<li>Current build process can output single binary, so you can deploy it in a old school way like I prefer, or you can Dockerize it to run it inside Kubernetes, or throw the binary at Hashicorp Nomad for orchestrating standalone binaries.</li>
<li>Separately deployed nodes can communicate with each other, without using ETCD or Redis or Kafka separately, it’s built in.</li>
<li>With fly .io, you can deploy your server to the edge, as if it’s a CDN, except your code is running closer to the user, and you won’t have to deal with any extra tech layer. See: LiveBeats.</li>
</ul>
</li>
</ol>
<hr>
<p>I have been falling down the rabbit hole of Front End frameworks, for what feels like forever. It was like a never ending Distro hopping. Everything that comes out in front end space solves one or the other problem, but leaves out a gaping hole behind them.</p>
<p>For instance, React, solved some problem, but left open the server side rendering. So Next.js came along.</p>
<p>REST api felt unwieldy, so GraphQL came along, now state needs to be maintained in both backend and front end. So you end up with business logic scattered across both places.</p>
<p>Routing story gets bad or has several fragmented implementation. State management remains a mess.</p>
<p>Then someone from business comes along and asks you to make some of it real time, and now you are caught in the JavaScript web hell.</p>
<p>The 2 ton heavy npm package gets replaced by pnpm, which breaks everything. You can’t reliably run a Node.js project after a hiatus.</p>
<p>Webpack bundler keeps getting slower, so you move to something else, which has some other headache of its own.</p>
<p>Believe me when I say, you are saving yourself a ton of headache and sparing yourself from paying technical debt by moving to Elixir/Phoenix.</p>
<p>It saved me from yak shaving me life away.</p>
<hr>
<p>See the following talks to get a visual explanation of all the things I pointed out:</p>
<ul>
<li><a href="https://www.youtube.com/watch?v=JvBT4XBdoUE" rel="noopener nofollow ugc">Sasa Juric - The Soul of Erlang &amp; Elixir</a></li>
<li><a href="https://www.youtube.com/watch?v=bk3icU8iIto" rel="noopener nofollow ugc">Jose Valim - Phoenix a Web Framework for the New Web</a></li>
<li><a href="https://www.youtube.com/watch?v=8xJzHq8ru0M&amp;t=2888s" rel="noopener nofollow ugc">Chris McCord - Keynote: Phoenix LiveView</a>.</li>
</ul>
<p>P.S. I would have put a lot more links, but new users are not allowed to add more than 5 links. (I started learning Elixir &amp; Phoenix 3 or 4 months back and joined the forum today <img src="https://forum.elixirforum.com/images/emoji/apple/sweat_smile.png?v=15" title=":sweat_smile:" class="emoji" alt=":sweat_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="264665" data-batch-url="/posts/batch_likers">
                        19
                      </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/elixir-phoenix-use-cases-why-start-using-it/50924/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-264665" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="264665"
                     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 #13"></div>
  </section>
</div>
    <div class="postbit" id="264666" data-post-id="264666">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>When comparing Elixir &amp; Rust, I would say I felt more productive with Elixir than anything else, same goes for happiness.</p>
<p>Rust felt slow while developing, because of its slow compiler.</p>
<p>It’s way behind in web development field, in terms of features. And it doesn’t even come close to Phoenix Framework.</p>
<p>Its memory, thread safety and speed is first class, and can be easily embedded into an Elixir project with Rustlers.</p>
<p>I like both of them, but I would use Elixir for everything, and Rust for solving the bottle necks in the application.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="264666" data-batch-url="/posts/batch_likers">
                        4
                      </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/elixir-phoenix-use-cases-why-start-using-it/50924/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-264666" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="264666"
                     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 #14"></div>
  </section>
</div>
    <div class="postbit" id="264677" data-post-id="264677">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>In term of productivity and DX, it’s Elixir without any hesitation.</p>
<p>Then JS, Crystal and Dart.</p>
<p>For small project, I had a lot of fun and productivity with Crystal but the compile time was too long for medium / big project (more than 30 seconds for one API REST). Also the doc is incomplete, which wastes time.</p>
<p>So Elixir far ahead, then JS and Node.js (but for a big or medium backend I find less fun and less efficient than Elixir).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="264677" data-batch-url="/posts/batch_likers">
                        2
                      </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/elixir-phoenix-use-cases-why-start-using-it/50924/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-264677" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="264677"
                     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 #15"></div>
  </section>
</div>
    <div class="postbit" id="264984" data-post-id="264984">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="derpycoder" data-post="14" data-topic="50924">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/derpycoder/48/31388_2.png" class="avatar"> derpycoder:</div>
<blockquote>
<p>Current build process can output single binary, so you can deploy it in a old school way like I prefer, or you can Dockerize it to run it inside Kubernetes, or throw the binary at Hashicorp Nomad for orchestrating standalone binaries.</p>
</blockquote>
</aside>
<p>Can you elaborate about single binary? Are your thinking about Elixir own releases or something like bakeware?</p>
<p>I found this paragraph of your comment about different way of deploying apps interesting…</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="264984" 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/elixir-phoenix-use-cases-why-start-using-it/50924/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-264984" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="264984"
                     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 #16"></div>
  </section>
</div>
    <div class="postbit" id="264987" data-post-id="264987">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I don’t think Whatsapp ever used Elixir. They use Erlang , same VM so many same benefits apply. I’m quite sure they are still using Erlang. Are you mixing up Whatsapp with Facebook Messenger?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="264987" 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/elixir-phoenix-use-cases-why-start-using-it/50924/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-264987" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="264987"
                     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 #17"></div>
  </section>
</div>
    <div class="postbit" id="264988" data-post-id="264988">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Yup my bad, I realised my mistake after typing out the essay.</p>
<p>They used Erlang, and then moved on to something else when they joined Facebook, for homogeneity.</p>
<p>Also, <a class="mention" href="/u/sanjibukai" rel="nofollow">@sanjibukai</a>, I didn’t know bakeware got deprecated. (I just saw the title of a YouTube video, kept it in watch later!! <img src="https://forum.elixirforum.com/images/emoji/apple/sweat_smile.png?v=15" title=":sweat_smile:" class="emoji" alt=":sweat_smile:" loading="lazy" width="20" height="20">)</p>
<p>I’m just a beginner, I might be wrong in many aspect, don’t hurt me. <img src="https://forum.elixirforum.com/images/emoji/apple/sweat_smile.png?v=15" title=":sweat_smile:" class="emoji" alt=":sweat_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="264988" 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/elixir-phoenix-use-cases-why-start-using-it/50924/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-264988" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="264988"
                     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 #18"></div>
  </section>
</div>
    <div class="postbit" id="264991" data-post-id="264991">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<pre data-code-wrap="elixir"><code class="lang-elixir">  so_survery_get(:techs, :webfw, 2022) #=&gt; %{
    dotnet: ["Blazor", "ASP.NET Core", "ASP.NET"],
    elixir: ["Phoenix"],
    js: ["React.js", "Node.js", "Vue.js", "Next.js", "Svelte", "Angular",
     "Express", "Nuxt.js", "Angular.js", "jQuery", "Deno", "Gatsby", "Fastify"],
    php: ["Laravel", "Symfony"],
    python: ["Django", "Flask", "FastAPI"],
    ruby: ["Ruby on Rails"],
    scala: ["Play Framework"]
  }
  |&gt; filter(fn {lang, _} -&gt; not microsoft?(lang) end) #=&gt; [
    elixir: ["Phoenix"],
    js: ["React.js", "Node.js", "Vue.js", "Next.js", "Svelte", "Angular",
     "Express", "Nuxt.js", "Angular.js", "jQuery", "Deno", "Gatsby", "Fastify"],
    php: ["Laravel", "Symfony"],
    python: ["Django", "Flask", "FastAPI"],
    ruby: ["Ruby on Rails"],
    scala: ["Play Framework"]
  ]
  |&gt; filter(fn {lang, _} -&gt; functional?(lang) end) #=&gt; [
    elixir: ["Phoenix"],
    scala: ["Play Framework"]
  ]
  |&gt; filter(fn {lang, _} -&gt; can_normal_people_understand?(lang) end) #=&gt; [
    elixir: ["Phoenix"]
  ]
</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="264991" data-batch-url="/posts/batch_likers">
                        15
                      </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/elixir-phoenix-use-cases-why-start-using-it/50924/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-264991" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="264991"
                     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 #19"></div>
  </section>
</div>
    <div class="postbit" id="265005" data-post-id="265005">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<h1><a name="p-265005-checkout-this-huge-discussion-1" class="anchor" href="#p-265005-checkout-this-huge-discussion-1" aria-label="Heading link" rel="nofollow"></a>Checkout this huge discussion:</h1>
<p><a href="https://github.com/dwyl/learn-elixir/issues/102#issuecomment-1216314779" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/dwyl/learn-elixir/issues/102#issuecomment-1216314779</a></p>
<h1><a name="p-265005-h-2022-stackoverflow-dev-survey-elixir-phoenix-2" class="anchor" href="#p-265005-h-2022-stackoverflow-dev-survey-elixir-phoenix-2" aria-label="Heading link" rel="nofollow"></a>2022 StackOverflow Dev Survey: <code>Elixir</code> + <code>Phoenix</code> <img src="https://forum.elixirforum.com/images/emoji/apple/rocket.png?v=15" title=":rocket:" class="emoji" alt=":rocket:" loading="lazy" width="20" height="20"></h1>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://survey.stackoverflow.co/2022/#section-most-loved-dreaded-and-wanted-programming-scripting-and-markup-languages">
  <header class="source">
      <img src="https://survey.stackoverflow.co/2022/favicon.ca238093.ico" class="site-icon" alt="" width="32" height="32">

      <a href="https://survey.stackoverflow.co/2022/#section-most-loved-dreaded-and-wanted-programming-scripting-and-markup-languages" target="_blank" rel="noopener nofollow ugc">Stack Overflow</a>
  </header>

  <article class="onebox-body">
    <div class="aspect-image" style="--aspect-ratio:690/362;"><img src="https://survey.stackoverflow.co/2022/up_/src/img/dev-survey-2022.png" class="thumbnail" alt="" width="690" height="362"></div>

<h3><a href="https://survey.stackoverflow.co/2022/#section-most-loved-dreaded-and-wanted-programming-scripting-and-markup-languages" target="_blank" rel="noopener nofollow ugc">Programming, scripting, and markup languages - Stack Overflow Developer Survey...</a></h3>

  <p>Technology | In May 2022 over 70,000 developers told us how they learn and level up, which tools they’re using, and what they want.</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>

<p><code>Elixir</code> has <em>finally</em> been re-included in the SO survey<br>
and <em>surprise-surprise</em> it’s the 2nd “Most Loved” programming language:</p>
<p><a href="https://user-images.githubusercontent.com/194400/184831055-7f22484b-4c2b-472a-bf09-9165ef5fc7f9.png" rel="noopener nofollow ugc"><img src="https://user-images.githubusercontent.com/194400/184831055-7f22484b-4c2b-472a-bf09-9165ef5fc7f9.png" alt="stackoverflow-survey-elixir" width="690" height="411"></a></p>
<h1><a name="p-265005-phoenix-tops-the-list-of-most-loved-frameworks-3" class="anchor" href="#p-265005-phoenix-tops-the-list-of-most-loved-frameworks-3" aria-label="Heading link" rel="nofollow"></a><code>Phoenix</code> tops the list of “Most Loved” Frameworks <img src="https://forum.elixirforum.com/images/emoji/apple/heart.png?v=15" title=":heart:" class="emoji" alt=":heart:" loading="lazy" width="20" height="20"></h1>
<p><a href="https://user-images.githubusercontent.com/194400/184833098-0e9cd055-9e4f-4c93-96ed-4411e1a8154c.png" rel="noopener nofollow ugc"><img src="https://user-images.githubusercontent.com/194400/184833098-0e9cd055-9e4f-4c93-96ed-4411e1a8154c.png" alt="stackoverflow-most-loved-framework-phoenix" width="690" height="388"></a></p>
<p>Also: <strong><code>Postgres</code></strong> is on top for databases! <img src="https://forum.elixirforum.com/images/emoji/apple/top_arrow.png?v=15" title=":top_arrow:" class="emoji" alt=":top_arrow:" loading="lazy" width="20" height="20"></p>
<p><a href="https://user-images.githubusercontent.com/194400/184833110-9e904f42-7787-4756-a486-e1875ce3ae31.png" rel="noopener nofollow ugc"><img src="https://user-images.githubusercontent.com/194400/184833110-9e904f42-7787-4756-a486-e1875ce3ae31.png" alt="stackoverflow-survey-2022-postgres" width="690" height="373"></a></p>
<p>The people have spoken. <img src="https://forum.elixirforum.com/images/emoji/apple/microphone.png?v=15" title=":microphone:" class="emoji" alt=":microphone:" 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="265005" 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/elixir-phoenix-use-cases-why-start-using-it/50924/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-265005" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="265005"
                     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 #20"></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/50924/load_more?page=3">Load more posts (2 remaining)</a>
</div></template></turbo-stream>