<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="175736" data-post-id="175736">
  <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">
								<aside class="quote no-group" data-username="Cochonours" data-post="11" data-topic="31514">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/cochonours/48/13516_2.png" class="avatar"> Cochonours:</div>
<blockquote>
<p>On the opposite end there is Java, which was made to help projects survive their developers and lower cost by rendering them as replaceable as possible. Yet, a big project full of spaghetti code written in Java would encounter the same fate if its main developers happened to quit en masse!</p>
</blockquote>
</aside>
<p>Yep. That pie-in-the-sky dream of “they all can leave and the project will keep getting new features and bugfixes starting next week with the new team” almost never happens. But it’s one of the brain bugs of us the people (especially businessmen) – it’s an illusion that is so pleasant that we scream at whoever tries to ruin it. It’s still an illusion 99% of the time though.</p>
<aside class="quote no-group" data-username="Cochonours" data-post="11" data-topic="31514">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/cochonours/48/13516_2.png" class="avatar"> Cochonours:</div>
<blockquote>
<p>I agree with Paul Graham that <strong>conciseness</strong> is a fundamental characteristic of a language.</p>
</blockquote>
</aside>
<p>Code is much more often read than written, so a language being concise helps <em>hugely</em> with that.</p>
<aside class="quote no-group" data-username="Cochonours" data-post="11" data-topic="31514">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/cochonours/48/13516_2.png" class="avatar"> Cochonours:</div>
<blockquote>
<p>But I never even tried to learn Lisp because I think readability and predictability are even more important…</p>
</blockquote>
</aside>
<p>Well, Clojure is a very practical modern LISP. But the lack of the BEAM’s runtime guarantees ruins most languages for me.</p>
<aside class="quote no-group" data-username="Cochonours" data-post="11" data-topic="31514">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/cochonours/48/13516_2.png" class="avatar"> Cochonours:</div>
<blockquote>
<p>Languages like Elixir are on the right track IMHO, making simple things easy without trying to be too smart. Being functional and encouraging coding functionalities in independent processes help with reusability too, which is another bonus.</p>
</blockquote>
</aside>
<p>Absolutely. Additionally, and for all the hate that fringier tech (like Elixir) has to endure on HN/Reddit, Elixir is still quite damn fast in many scenarios. I’ve lately crafted a Rust tool that is 45% faster than the Elixir tool I wrote before it when calculating a histogram on files as big as 1GB (<em>although I am sure the Rust code can be made faster; however, most people do a task and move on so I’m rather sure many won’t spend more than a day on it so it’s still a fair comparison</em>).</p>
<aside class="quote no-group" data-username="Cochonours" data-post="11" data-topic="31514">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/cochonours/48/13516_2.png" class="avatar"> Cochonours:</div>
<blockquote>
<p>Aside from this, I think that the “let it crash” philosophy is better than defensive programming. Even the perfect static typing will never prevent internal errors as the hardware can fuck up too, so it’s better to acknowledge that and move on instead of dreaming about the perfect program proven with formal proofs that will miserably crash when it will enter an “impossible” state.</p>
</blockquote>
</aside>
<p>That very much depends on what is being done though. “Let it crash” is completely useless if you have a bug in your code that makes a process crash and get infinitely restarted. And if it only gets restarted N times then you now have a system that gave up on trying to run something. I agree that this philosophy can be applied quite well for many scenarios – DB pools and DB exceptions being a prominent example – but it’s also one of the things that people kind of believe will solve a lot of problems via magic. Which it cannot do.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="175736" 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/is-elixir-the-hundred-year-language/31514/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-175736" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="175736"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>