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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m not “moving away” from Elixir but experimenting it, at the moment.</p>
<p>I’ve been learning and experimenting Clojure on a project last year.</p>
<p>I’m currently trying to write <a href="https://forum.elixirforum.com/t/secure-files-transfers-servers-in-elixir/21119" rel="nofollow">a client/server app to exchange files in a secured way with Elixir</a>. As this is not a Web application, I don’t use Phoenix.</p>
<p>I’m not coming from the Ruby world nor from the Erlang world but from the Basic/Pascal/C/C++/LISP/SmallTalk/Python/Tcl/Java/JavaScript/Clojure worlds.</p>
<p>So, my 5 cts of Elixir newbie criticisms at first glance…</p>
<ol>
<li>Adoption: To be honest, no one knows Elixir around me and very few in my country (France). So, no recruiting in view…</li>
<li>Learning curve: Beside its (misleading ?) clean syntax, Elixir is not an easy language to learn when you have to fully understand and correctly use all the OTP stuff (genservers, supervisors, …). And if you don’t use the OTP stuff, why choosing Elixir ?</li>
<li>Erlang: If you want to do something a bit serious with Elixir then you ALSO HAVE TO LEARN Erlang and to juggle with both syntaxes. Not necessarily “for your great good” ! <img src="https://forum.elixirforum.com/images/emoji/apple/smiley.png?v=15" title=":smiley:" class="emoji" alt=":smiley:" loading="lazy" width="20" height="20"></li>
<li>Libraries: Some libraries are clearly oriented by the particulars needs of their authors and sometimes “forget” some parts of the domain covered. Sometimes too, some unwanted “scories” arise (such as polluting logger messages)</li>
<li>Documentation: The Elixir official hexdoc is nice but some libraries hexdocs seriously lack exemples or explanations. And when you have to switch to erlang docs (point 2), that’s worst again: nearly unreadable by a neophyte like me and sometimes, incomplete (no ssh_sftpd_file_api doc for instance ?)</li>
<li>Books: Some of them begin gently then, at the middle, a “big step” of complexity and… you are definitly lost ! For some others the “big step” comes directly at the beginning…</li>
<li>Videos: I didn’t find so many free “technical” (ie courses, not conferences or presentations) and progressives videos (except Tensor Programming and Alchemist Camp) as I did with JavaScript. In french, only one (Grafikart).</li>
</ol>
<p>In conclusion, I would say that compared to most others languages that I learned, Elixir has to be earned !</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="137016" 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/have-you-moved-away-from-elixir-if-so-why/20302/194">Post #193</a>
	                </div>
	            </div>
              <div id="likers-container-137016" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="137016"
                     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 #193"></div>
  </section>
</div>
    <div class="postbit" id="137040" data-post-id="137040">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="Jaypee" data-post="194" data-topic="20302">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/j/f6c823/48.png" class="avatar"> Jaypee:</div>
<blockquote>
<p>And if you don’t use the OTP stuff, why choosing Elixir ?</p>
</blockquote>
</aside>
<p>Because great frameworks exist that take care of those details for you, so you get the benefits without the need to learn it. This is probably why Phoenix is so popular. If you aren’t developing for the web then yes, you will probably need to learn more about OTP upfront. Otherwise you can ease into it.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="137040" data-batch-url="/posts/batch_likers">
                        7
                      </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/have-you-moved-away-from-elixir-if-so-why/20302/195">Post #194</a>
	                </div>
	            </div>
              <div id="likers-container-137040" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="137040"
                     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 #194"></div>
  </section>
</div>
    <div class="postbit" id="187020" data-post-id="187020">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>It’s been <em>at least</em> a year now … did anyone ask you yet? If not, I will, re:<br>
how do you feel about Rust vs. Elixir (and/or do you have more thoughts about “possible reasons to move away from Elixir”) now?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="187020" 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/have-you-moved-away-from-elixir-if-so-why/20302/196">Post #195</a>
	                </div>
	            </div>
              <div id="likers-container-187020" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="187020"
                     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 #195"></div>
  </section>
</div>
    <div class="postbit" id="187029" data-post-id="187029">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m on a love and hate relationship with Elixir. On the love side I think that BEAM nailed it, it’s just amazing. But I freaking hate the fact that the language is dynamic typed + bad tooling = hell for me.<br>
Maybe Gleam can be the answer that I’ve been waiting for.<br>
For now I’m trying to learn Rust, Zig and Crystal while I do most of my code with Go.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="187029" 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/have-you-moved-away-from-elixir-if-so-why/20302/197">Post #196</a>
	                </div>
	            </div>
              <div id="likers-container-187029" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="187029"
                     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 #196"></div>
  </section>
</div>
    <div class="postbit" id="187038" data-post-id="187038">
  <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">
								<aside class="quote no-group" data-username="pmjoe" data-post="197" data-topic="20302">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/p/65b543/48.png" class="avatar"> pmjoe:</div>
<blockquote>
<p>bad tooling</p>
</blockquote>
</aside>
<p>Which tooling in particular do you find difficult? <code>mix</code>, <code>hex</code> and the docs are some of the best in any language IMO.</p>
<aside class="quote no-group" data-username="pmjoe" data-post="197" data-topic="20302">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/p/65b543/48.png" class="avatar"> pmjoe:</div>
<blockquote>
<p>Maybe Gleam can be the answer that I’ve been waiting for.</p>
</blockquote>
</aside>
<p>I’m also keenly watching <a href="https://github.com/hamler-lang/hamler" rel="noopener nofollow ugc">Hamler</a>, the rate of development on the github repo is amazing! <img src="https://forum.elixirforum.com/images/emoji/apple/smiley.png?v=15" title=":smiley:" class="emoji" alt=":smiley:" 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="187038" 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/have-you-moved-away-from-elixir-if-so-why/20302/198">Post #197</a>
	                </div>
	            </div>
              <div id="likers-container-187038" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="187038"
                     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 #197"></div>
  </section>
</div>
    <div class="postbit" id="187039" data-post-id="187039">
  <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>Same. It’s very satisfying for my personal stuff.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="187039" 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/have-you-moved-away-from-elixir-if-so-why/20302/199">Post #198</a>
	                </div>
	            </div>
              <div id="likers-container-187039" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="187039"
                     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 #198"></div>
  </section>
</div>
    <div class="postbit" id="187053" data-post-id="187053">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Elixir and Rust aren’t rivals. I am currently starting several projects where they work together quite fine.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="187053" data-batch-url="/posts/batch_likers">
                        3
                      </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/have-you-moved-away-from-elixir-if-so-why/20302/200">Post #199</a>
	                </div>
	            </div>
              <div id="likers-container-187053" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="187053"
                     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 #199"></div>
  </section>
</div>
    <div class="postbit" id="187056" data-post-id="187056">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I wasn’t suggesting the contrary. I’m new, just stumbled across this thread, and was responding to a post from over a year ago.<br>
The OP had mentioned using both languages, and had joked about being asked about his opinions in a year—so i thought I might.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="187056" 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/have-you-moved-away-from-elixir-if-so-why/20302/201">Post #200</a>
	                </div>
	            </div>
              <div id="likers-container-187056" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="187056"
                     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 #200"></div>
  </section>
</div>
    <div class="postbit" id="187057" data-post-id="187057">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>With the standardization of Rust’s <code>async</code> / <code>await</code> primitives and libraries starting to adopt it, I feel like the BEAM VM (the runtime of Erlang / Elixir / LFE / Alpaca / Gleam) might have some true competition in several years.</p>
<p>But I wouldn’t wait. Elixir is an amazing orchestrator and I don’t feel like I am exaggerating when I say that likely 80% of every commercial programming projects out there can be improved by using FP. You can achieve <em>a lot</em> with Elixir alone.</p>
<p>That being said, there do periodically pop up threads here about people who are sort of angry that FP (and immutability of data by default) isn’t a good fit for their problem and start to passionately claim that Python / C++ / what-have-you is “better than Elixir”.</p>
<p>In these cases it’s very important to analyze the problem and find a good fit. I’ve already off-loaded work from Elixir projects to Rust functions at several places because some data structures really do work much better in a mutable world, and coding the same logic in immutable structures is a dying art (which I am not good in, I admit).</p>
<p>So back to your question: I’d still say do most of your app in Elixir (provided most of your app benefits from the almost-universal strong sides of functional programming and asynchronous / separate actors) and when everything is working, start measuring and replace the hot paths with native functions (C, C++, Rust, Zig, Nim, D, whatever floats your boat).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="187057" 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/have-you-moved-away-from-elixir-if-so-why/20302/202">Post #201</a>
	                </div>
	            </div>
              <div id="likers-container-187057" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="187057"
                     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 #201"></div>
  </section>
</div>
    <div class="postbit" id="187070" data-post-id="187070">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="rvirding" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/rvirding/120/1409_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  rvirding
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Erlang</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>There is serious work on making a statically typed Erlang so there is hope. If you are into static typing <img src="https://forum.elixirforum.com/images/emoji/apple/wink.png?v=15" title=":wink:" class="emoji" alt=":wink:" 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="187070" data-batch-url="/posts/batch_likers">
                        7
                      </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/have-you-moved-away-from-elixir-if-so-why/20302/203">Post #202</a>
	                </div>
	            </div>
              <div id="likers-container-187070" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="187070"
                     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 #202"></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/20302/load_more?page=21">Load more posts (9 remaining)</a>
</div></template></turbo-stream>