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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="dimitarvp" data-post="23" data-topic="36881">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>or languages like Caramel</p>
</blockquote>
</aside>
<p>Never have heard of it:</p>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://caramel.run/manual/examples/hello-joe.html">
  <header class="source">
      <img src="https://caramel.run/manual/favicon.svg" class="site-icon" alt="" width="70" height="70">

      <a href="https://caramel.run/manual/examples/hello-joe.html" target="_blank" rel="noopener nofollow ugc">caramel.run</a>
  </header>

  <article class="onebox-body">
    <div class="aspect-image" style="--aspect-ratio:690/345;"><img src="https://caramel.run/assets/logo.png" class="thumbnail" alt="" width="690" height="345"></div>

<h3><a href="https://caramel.run/manual/examples/hello-joe.html" target="_blank" rel="noopener nofollow ugc">Hello, Joe! - Caramel Manual</a></h3>

  <p>Caramel is a functional language for building type-safe, scalable, and maintainable applications. Read the manual to get started, learn how to call existing Erlang/Elixir code, learn how to contribute, or just to have a reference of the standard...</p>


  </article>

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

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

<p>It seems to compile to pure Erlang code, isn’t that a disadvantage when compared how Elixir and Gleam do it?</p>
<p>Oh, and that syntax with <code>in</code> in the end and full of <code>if else</code> <img src="https://forum.elixirforum.com/images/emoji/apple/frowning.png?v=15" title=":frowning:" class="emoji" alt=":frowning:" 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="203198" 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/you-and-elixir-in-2021-22-23/36881/24">Post #23</a>
	                </div>
	            </div>
              <div id="likers-container-203198" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="203198"
                     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 #23"></div>
  </section>
</div>
    <div class="postbit" id="203203" data-post-id="203203">
  <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>I admit I haven’t dug in the deals. I got attracted by the promise of strong and static typing at the compile stage, and the OCaml syntax.</p>
<p>I seriously have no time for such nice little distractions though… <img src="https://forum.elixirforum.com/images/emoji/apple/frowning.png?v=15" title=":frowning:" class="emoji" alt=":frowning:" loading="lazy" width="20" height="20"></p>
<aside class="quote no-group" data-username="Exadra37" data-post="24" data-topic="36881">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/exadra37/48/9183_2.png" class="avatar"> Exadra37:</div>
<blockquote>
<p>Oh, and that syntax with <code>in</code> in the end and full of <code>if else</code> <img src="https://forum.elixirforum.com/images/emoji/apple/frowning.png?v=15" title=":frowning:" class="emoji" alt=":frowning:" loading="lazy" width="20" height="20"></p>
</blockquote>
</aside>
<p>OCaml is recursive; <code>in</code> means that you are nesting this statement into the next one – otherwise the next statement won’t have access to variables declared in the previous one(s). It’s quirky, I admit.</p>
<p><code>if</code> / <code>else</code> can be replaced by pattern-matching, at least in the pure OCaml (not sure about Caramel).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="203203" 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/you-and-elixir-in-2021-22-23/36881/25">Post #24</a>
	                </div>
	            </div>
              <div id="likers-container-203203" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="203203"
                     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 #24"></div>
  </section>
</div>
    <div class="postbit" id="203216" data-post-id="203216">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group quote-modified" data-username="dimitarvp" data-post="25" data-topic="36881">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<aside class="quote no-group" data-username="Exadra37" data-post="24" data-topic="36881">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/exadra37/48/9183_2.png" class="avatar"> Exadra37:</div>
<blockquote>
<p>Oh, and that syntax with <code>in</code> in the end and full of <code>if else</code> <img src="https://forum.elixirforum.com/images/emoji/apple/frowning.png?v=15" title=":frowning:" class="emoji" alt=":frowning:" loading="lazy" width="20" height="20"></p>
</blockquote>
</aside>
<p>OCaml is recursive; <code>in</code> means that you are nesting this statement into the next one – otherwise the next statement won’t have access to variables declared in the previous one(s). It’s quirky, I admit.</p>
</blockquote>
</aside>
<p>This bit really puts me off of even wanting to try the language, despite the strong typing promise, that I want so much in 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="203216" 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/you-and-elixir-in-2021-22-23/36881/26">Post #25</a>
	                </div>
	            </div>
              <div id="likers-container-203216" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="203216"
                     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 #25"></div>
  </section>
</div>
    <div class="postbit" id="203255" data-post-id="203255">
  <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>My understanding is that you will also able to use Facebook’s ReasonML syntax (<a href="https://reasonml.github.io" rel="noopener nofollow ugc">https://reasonml.github.io</a>) with Caramel because it’s just a different syntax for OCaml.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="203255" 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/you-and-elixir-in-2021-22-23/36881/27">Post #26</a>
	                </div>
	            </div>
              <div id="likers-container-203255" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="203255"
                     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 #26"></div>
  </section>
</div>
    <div class="postbit" id="203263" data-post-id="203263">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Me and Elixir in 2021:</p>
<aside class="quote no-group" data-username="AstonJ" data-post="1" data-topic="36881">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/astonj/48/15_2.png" class="avatar"> AstonJ:</div>
<blockquote>
<ul>
<li>What first drew you to it (how long ago!?) and what keeps you here?</li>
</ul>
</blockquote>
</aside>
<p>I had an App’s idea which could be successful in a month (that’s what I thought then). Languages I already knew seemed insufficient for that app. <img src="https://forum.elixirforum.com/images/emoji/apple/smile.png?v=15" title=":smile:" class="emoji" alt=":smile:" loading="lazy" width="20" height="20"><br>
After reading different blog posts, watching talks etc, I came to the conclusion that Go or Elixir will be a perfect fit for that app. I started learning both of these languages.</p>
<aside class="quote no-group" data-username="AstonJ" data-post="1" data-topic="36881">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/astonj/48/15_2.png" class="avatar"> AstonJ:</div>
<blockquote>
<ul>
<li>How have you changed, perhaps while using it?</li>
</ul>
</blockquote>
</aside>
<p>Elixir made me a better programmer. I can’t explain how exactly, but it surely did.</p>
<aside class="quote no-group" data-username="AstonJ" data-post="1" data-topic="36881">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/astonj/48/15_2.png" class="avatar"> AstonJ:</div>
<blockquote>
<ul>
<li>What do you think were the biggest strengths of Elixir/Erlang when you got into it and what do you think are its biggest strengths now?</li>
</ul>
</blockquote>
</aside>
<p>Things I liked about Elixir when I got into it, were the pipe operator, pattern matching, function clauses, function overloading, and its familiar syntax. Then I realized that its real beauty lies in its concurrency model and the OTP.</p>
<aside class="quote no-group" data-username="AstonJ" data-post="1" data-topic="36881">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/astonj/48/15_2.png" class="avatar"> AstonJ:</div>
<blockquote>
<ul>
<li>Is there anything you’d like to see more of or improved or included?</li>
</ul>
</blockquote>
</aside>
<p>I think Elixir is enough in all the aspects for the job it’s doing, but of course I’d like to see performance improvements, and luckily and thankfully there is a lot going on in that area already.</p>
<aside class="quote no-group" data-username="AstonJ" data-post="1" data-topic="36881">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/astonj/48/15_2.png" class="avatar"> AstonJ:</div>
<blockquote>
<ul>
<li>What’s your single most important tip to newbies?</li>
</ul>
</blockquote>
</aside>
<p>Don’t start leaning Phoenix before you’ve learnt enough Elixir, like you did when you were learning Ruby and Rails.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="203263" 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/you-and-elixir-in-2021-22-23/36881/28">Post #27</a>
	                </div>
	            </div>
              <div id="likers-container-203263" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="203263"
                     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 #27"></div>
  </section>
</div>
    <div class="postbit" id="205235" data-post-id="205235">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I am a java developer at work but I have dipped my toes in the elixir waters and find it fashinating.<br>
I don’t have that much experience yet with the language since I work full time with my day job and have tree small kids.<br>
But I have a small side project that I would like to build with elixir, phoenix and live view.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="205235" 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/you-and-elixir-in-2021-22-23/36881/29">Post #28</a>
	                </div>
	            </div>
              <div id="likers-container-205235" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="205235"
                     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 #28"></div>
  </section>
</div>
    <div class="postbit" id="205247" data-post-id="205247">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<blockquote>
<p>What first drew you to it (how long ago!?) and what keeps you here?</p>
</blockquote>
<p>I started looking at Elixir when it was &lt;0.10, back in 2013. The first commits I can find are titled “Fix deprecations in Elixir 0.10”. <img src="https://forum.elixirforum.com/images/emoji/apple/grin.png?v=15" title=":grin:" class="emoji" alt=":grin:" loading="lazy" width="20" height="20"> I was actually looking at Erlang first because I wanted to learn a functional programming language and I was interested in distributed systems. An IRC acquaintance suggested Elixir and I was instantly interested. I have to admit syntax was a big part of that.</p>
<blockquote>
<p>How have you found it has changed over the years?</p>
</blockquote>
<p>No more <code>lc</code>, records were deprecated, maps got power and structs appeared, got rid of multiple competing datetime datatypes, the standard library datetime functionality is very featureful now, Hex.pm appeared, ElixirLS appeared, and all around the tooling improved so much. Also we finally have blessed releases and runtime configuration! <img src="https://forum.elixirforum.com/images/emoji/apple/tada.png?v=15" title=":tada:" class="emoji" alt=":tada:" loading="lazy" width="20" height="20"></p>
<p>The community has grown from an IRC channel to Slack, Discord, Matrix, and this awesome forum.</p>
<blockquote>
<p>How have you changed, perhaps while using it? (Maybe you came from an OOP language and your mental model on how to build things has changed?)</p>
</blockquote>
<p>Elixir was my first functional programming language and it shows in my early code. The most immediate impact I noticed was that I grokked map/reduce and their power. I started using them in OO languages too, and I think it has really improved me. I started splitting code into smaller, easily testable units, with less dependencies on object state. I nowadays have a healthier balance and can appreaciate aspects of both styles. Though I wish every language had immutability.</p>
<blockquote>
<p>What do you think were the biggest strengths of Elixir/Erlang when you got into it and what do you think are its biggest strengths now?</p>
</blockquote>
<p>It was BEAM for humans. No offense to Erlang, but back then it wasn’t inviting and the tooling wasn’t there. Nowadays Erlang has improved a lot and in general it feels like the BEAM community has exploded in both variety and quality of tooling.</p>
<p>I think BEAM is the biggest strength. What the VM offers is hard to find in other languages and there’s not many things that I find it lacking in, at least those that would touch me. In other words for me there’s no tradeoff to be made. Except the smaller size of the community when you compare to the giants.</p>
<blockquote>
<p>Is there anything you’d like to see more of or improved or included?</p>
</blockquote>
<p>Removal of charlist single quote syntax and pretty printing. Replacement of kwlists with maps in most function arguments. Typing! Very excited about Gleam/Caramel, though I haven’t tried them yet (there’s only so much free time).</p>
<blockquote>
<p>Which bits do you love the most and which bits are you most likely to tell others about?</p>
</blockquote>
<p>BEAM BEAM BEAM. The high quality stdlib, especially the string and datetime handling. Effortless concurrency that is used for things like Phoenix Channels. It’s like an OS for my project where I can start programs that talk to each other.</p>
<p>Also Nerves, Nerves is seriously awesome.</p>
<blockquote>
<p>What’s your single most important tip to newbies?</p>
</blockquote>
<p>Join the community chats, we’re quite friendly and really try to help you in your projects.</p>
<blockquote>
<p>Which book or learning resource has been your favourite to date? (How many have you read? Which ones have been your favourite!?)</p>
</blockquote>
<p>Metaprogramming Elixir made me finally understand macros. I have Elixir in Action but to my great shame I haven’t read it yet, though I hear great things of it. In general I’m not a reading person, I just hop in and mash code with the help of the API docs.</p>
<p>Hanging around on the different help channels and this forum makes you learn a lot of different things over time. I’m really grateful to all the good people helping others.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="205247" 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/you-and-elixir-in-2021-22-23/36881/30">Post #29</a>
	                </div>
	            </div>
              <div id="likers-container-205247" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="205247"
                     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 #29"></div>
  </section>
</div>
    <div class="postbit" id="205254" data-post-id="205254">
  <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="Nicd" data-post="30" data-topic="36881">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/nicd/48/2357_2.png" class="avatar"> Nicd:</div>
<blockquote>
<p>Though I wish every language had immutability.</p>
</blockquote>
</aside>
<p>A small, likely unrelated tidbit: while I was still coding both in Ruby and Elixir back in 2016, I’ve made a habit of using Ruby’s <code>object.freeze</code> method to reduce my potential bugs area. IIRC any attempt to modify a frozen object results in an exception, making it times easier to track down code that attempts to introduce invalid state.</p>
<aside class="quote no-group" data-username="Nicd" data-post="30" data-topic="36881">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/nicd/48/2357_2.png" class="avatar"> Nicd:</div>
<blockquote>
<p>I think BEAM is the biggest strength.</p>
</blockquote>
</aside>
<p>Same for me. The runtime itself is the biggest asset. Everything else is a nice bonus and just sealed the deal for me after the first few months with Elixir. To me the other huge strengths are the <code>mix</code> tool and the property testing library <code>stream_data</code>. And macros!</p>
<aside class="quote no-group" data-username="Nicd" data-post="30" data-topic="36881">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/nicd/48/2357_2.png" class="avatar"> Nicd:</div>
<blockquote>
<p>In general I’m not a reading person, I just hop in and mash code with the help of the API docs.</p>
</blockquote>
</aside>
<p>Well, let’s become friends because we are apparently brothers already. <img src="https://forum.elixirforum.com/uploads/default/original/2X/4/4c1e19a7e5467e69d8b302bcbdf713996d1f47d6.gif?v=15" title=":037:" class="emoji emoji-custom" alt=":037:" 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="205254" 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/you-and-elixir-in-2021-22-23/36881/31">Post #30</a>
	                </div>
	            </div>
              <div id="likers-container-205254" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="205254"
                     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 #30"></div>
  </section>
</div>
    <div class="postbit" id="205270" data-post-id="205270">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="dimitarvp" data-post="31" data-topic="36881">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>I’ve made a habit of using Ruby’s <code>object.freeze</code> method to reduce my potential bugs area</p>
</blockquote>
</aside>
<p>Yeah, after using Elixir for a while, I started using <code>Object.freeze</code> in JavaScript projects. For example when we retrieved anything from an API, we’d freeze the data before passing it to any frontend logic. This helped find accidental mutation bugs in the code. But it was a bunch of manual work.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="205270" 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/you-and-elixir-in-2021-22-23/36881/32">Post #31</a>
	                </div>
	            </div>
              <div id="likers-container-205270" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="205270"
                     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 #31"></div>
  </section>
</div>
    <div class="postbit" id="205272" data-post-id="205272">
  <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="Nicd" data-post="32" data-topic="36881">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/nicd/48/2357_2.png" class="avatar"> Nicd:</div>
<blockquote>
<p>But it was a bunch of manual work.</p>
</blockquote>
</aside>
<p>Agreed, but it pays off.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="205272" 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/you-and-elixir-in-2021-22-23/36881/33">Post #32</a>
	                </div>
	            </div>
              <div id="likers-container-205272" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="205272"
                     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 #32"></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/36881/load_more?page=4">Load more posts (52 remaining)</a>
</div></template></turbo-stream>