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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="mrkaspa" data-post="1" data-topic="7989" data-full="true">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mrkaspa/48/3295_2.png" class="avatar"> mrkaspa:</div>
<blockquote>
<p>I’m not a C fan, I’ve checked Rust and rustler, what about ocaml? has anyone made a nif with ocaml?</p>
</blockquote>
</aside>
<p>I’ve made NIF’s in C, C++, Rust, OCaml, and Terra (basic ‘hello world’ experiment there).  Not hard at all.  <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<aside class="quote no-group" data-username="ShalokShalom" data-post="2" data-topic="7989" data-full="true">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/shalokshalom/48/15829_2.png" class="avatar"> ShalokShalom:</div>
<blockquote>
<p>Oh Rustler looks awesome, thanks for mentioning it ^-^</p>
</blockquote>
</aside>
<p>Rustler is a <em>fantastic</em> library for Rust to make building NIF’s easy!  <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<aside class="quote no-group" data-username="frigidcode" data-post="6" data-topic="7989" data-full="true">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/frigidcode/48/7594_2.png" class="avatar"> frigidcode:</div>
<blockquote>
<p>I would imagine the instances of needing to create a nif to call would be small and/or specialized. Maybe the question should be “What other languages can I use to create a NIF to call from Elixir/Erlang?”</p>
</blockquote>
</aside>
<p>Indeed, make sure it is truly worth it.  Calling a NIF and marshaling the data across has overhead as well so just making a NIF that adds 2 numbers will actually be a <em>LOT</em> slower than doing it in per BEAM/Erlang/Elixir.</p>
<aside class="quote no-group" data-username="jeremyjh" data-post="9" data-topic="7989" data-full="true">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jeremyjh/48/5995_2.png" class="avatar"> jeremyjh:</div>
<blockquote>
<p>There is also erlport which lets you invoke python functions directly from erlang/elixir - this branch seems to be the most active: <a href="https://github.com/beano/erlport" rel="noopener nofollow ugc">https://github.com/beano/erlport</a></p>
<p>In general ports are preferred over NIFs because they can’t mess-up the run-time environment.</p>
</blockquote>
</aside>
<p>Hear hear!</p>
<p>Plus you don’t need erlport at all, just use the normal Port interface on the BEAM.  Those libraries only help when you are talking with programs that are not Port aware, but if you can make the program yourself and just talk over stdin/stdout as proper then nothing special is needed.  <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<aside class="quote no-group" data-username="jeremyjh" data-post="10" data-topic="7989">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jeremyjh/48/5995_2.png" class="avatar"> jeremyjh:</div>
<blockquote>
<p>For OP: in general people do not recommend languages for interop that have their own the garbage collector and run-time environment. It might be possible but you will not be doing yourself any favors. This really does make your practical choices C, C++ or Rust.</p>
</blockquote>
</aside>
<p>OCaml has a GC but OCaml is designed to be linked safely and securely (and type safe) with C interfaces, and NIF’s are C interfaces, so it works fine.  Just you might want to mark your NIF’s as CPU using so they get marshalled to another thread, just in case. <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<aside class="quote no-group" data-username="jeremyjh" data-post="10" data-topic="7989">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jeremyjh/48/5995_2.png" class="avatar"> jeremyjh:</div>
<blockquote>
<p>Like I mentioned though - interop can also be done via term exchange either over a network or through the port interface. Haskell has a pretty recent library that does term encoding and network communication. Honestly I’d prefer to use something in a port interface - thats a lot less to mess up on the foreign library’s side. I think Haskell could be used in the port interface with just the term conversion from hinterface.</p>
</blockquote>
</aside>
<p>You can communicate with <em>any</em> program from <em>any</em> language that supports standard stdin/stdout communication, no libraries needed.  Libraries can help for marshalling data via ETF or JSON or whatever of course, but you could use text just as easily.  <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<aside class="quote no-group" data-username="jeremyjh" data-post="10" data-topic="7989">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jeremyjh/48/5995_2.png" class="avatar"> jeremyjh:</div>
<blockquote>
<p>I also found this for OCaml; it has more support for the port interface.</p>
</blockquote>
</aside>
<p>That is just a library for reading/writing the ETF format across stdin/stdout (which is pretty easy to write it yourself actually, it is a dead-simple binary format).  You could just as easily use JSON or text or whatever you want too.  <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<aside class="quote no-group" data-username="mrkaspa" data-post="11" data-topic="7989" data-full="true">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mrkaspa/48/3295_2.png" class="avatar"> mrkaspa:</div>
<blockquote>
<p>Good libraries, I think the best and safe option could be rust</p>
</blockquote>
</aside>
<p>You’d be surprised, OCaml runs at about the same speed as Rust and would be <em>substantially</em> shorter code (plus significantly faster to compiler, Rust compiles horribly slow).  Rust would be the better option if you are doing a lot of low level SIMD work or so though.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="47046" 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/what-would-be-a-good-programming-language-to-speed-up-elixir/7989/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-47046" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="47046"
                     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="47096" data-post-id="47096">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="onebox allowlistedgeneric" data-onebox-src="http://cloudi.org/faq.html#4_Erlang">
  <header class="source">
      <img src="http://cloudi.org/images/cloud.ico" class="site-icon" alt="" width="48" height="48">

      <a href="http://cloudi.org/faq.html#4_Erlang" target="_blank" rel="noopener nofollow ugc">cloudi.org</a>
  </header>

  <article class="onebox-body">
    <div class="aspect-image" style="--aspect-ratio:690/360;"><img src="https://cloudi.org/images/cloud_ogp.png" class="thumbnail" alt="" width="690" height="360"></div>

<h3><a href="http://cloudi.org/faq.html#4_Erlang" target="_blank" rel="noopener nofollow ugc">4.13 - Why not just use Erlang directly? - CloudI: A Cloud at the lowest level -...</a></h3>

  <p>A Cloud is more dynamic than a 3 dimensional Grid and is more ubiquitous than the legend of Beowulf, so it is easy to understand why computing Clouds are the next generation distributed systems. The relevant connotations the word Cloud contains are:...</p>


  </article>

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

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

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="47096" 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/what-would-be-a-good-programming-language-to-speed-up-elixir/7989/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-47096" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="47096"
                     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="47117" data-post-id="47117">
  <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="OvermindDL1" data-post="12" data-topic="7989">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/overminddl1/48/2677_2.png" class="avatar"> OvermindDL1:</div>
<blockquote>
<p>There is also erlport which lets you invoke python functions directly from erlang/elixir - this branch seems to be the most active: <a href="https://github.com/beano/erlport" rel="noopener nofollow ugc">https://github.com/beano/erlport</a><br>
In general ports are preferred over NIFs because they can’t mess-up the run-time environment.</p>
<p>Hear hear!</p>
<p>Plus you don’t need erlport at all, just use the normal Port interface on the BEAM.  Those libraries only help when you are talking with programs that are not Port aware, but if you can make the program yourself and just talk over stdin/stdout as proper then nothing special is needed.  <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>jeremyjh:</p>
</blockquote>
</aside>
<p>Right. You can always write more code. What these libraries give you is the possibility to integrate foreign code without writing one or two wrapping layers. If you just want to call a couple of functions in numpy, I think a solution with <code>erlport</code> would be quicker to develop than marshaling json objects (or whatever) back and forth. A similar advantage is found I think in the ETF libraries. I haven’t used all those - the only one I’ve used is an older Ruby library erlectricity, but I found it helpful because it makes the ruby program look less foreign to the Elixir code and vice-versa. You don’t need a layer focused on communication if both programs can speak their native terms to each other.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="47117" 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/what-would-be-a-good-programming-language-to-speed-up-elixir/7989/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-47117" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="47117"
                     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="47459" data-post-id="47459">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>What about GoLang?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="47459" 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/what-would-be-a-good-programming-language-to-speed-up-elixir/7989/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-47459" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="47459"
                     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="47476" data-post-id="47476">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="macdougall" data-post="15" data-topic="7989" data-full="true">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/macdougall/48/6373_2.png" class="avatar"> macdougall:</div>
<blockquote>
<p>What about GoLang?</p>
</blockquote>
</aside>
<p><em>/me thinks golang is actually a pretty horrible and poorly designed language…</em></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="47476" 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/what-would-be-a-good-programming-language-to-speed-up-elixir/7989/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-47476" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="47476"
                     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="47478" data-post-id="47478">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I can deal with it very well, only thing that I do really miss is some kind of generic typing… Dealing with golangs <code>interface{}</code> feels even worse than Cs good old <code>void*</code> (or <code>*void</code>, can’t remember exactly, its been a long time…).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="47478" 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/what-would-be-a-good-programming-language-to-speed-up-elixir/7989/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-47478" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="47478"
                     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="47479" data-post-id="47479">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mrkaspa" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mrkaspa/120/3295_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mrkaspa
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>The error handling is also a nightmare</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="47479" 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/what-would-be-a-good-programming-language-to-speed-up-elixir/7989/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-47479" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="47479"
                     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="47481" data-post-id="47481">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="NobbZ" data-post="17" data-topic="7989">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/nobbz/48/27235_2.png" class="avatar"> NobbZ:</div>
<blockquote>
<p>Dealing with golangs interface{} feels even worse than Cs good old void* (or *void, can’t remember exactly, its been a long time…).</p>
</blockquote>
</aside>
<p>That is <em>precisely</em> my feel about it…</p>
<aside class="quote no-group" data-username="mrkaspa" data-post="18" data-topic="7989" data-full="true">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mrkaspa/48/3295_2.png" class="avatar"> mrkaspa:</div>
<blockquote>
<p>The error handling is also a nightmare</p>
</blockquote>
</aside>
<p>Thankfully the interface and context’s all in it currently scared me away before I could get much in to that.  ^.^;</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="47481" 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/what-would-be-a-good-programming-language-to-speed-up-elixir/7989/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-47481" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="47481"
                     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="47485" data-post-id="47485">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>At least there is a uniform way to report errors, unlike C, where sometimes -1 means failure, sometimes 0, and sometimes the NULL pointer or sometimes it just says “in case of an error the behaviour and return value is unspecified”.</p>
<p>Not even that it is uniform, but also, the compiler forces you to at least think about if you need to check for error or not (well, you should always ;)…</p>
<p>But as I do write this, the that it feels like <code>gcc -Wall -Werror -ansi -pedantic -Weven_more_warnings</code> makes me really mad…</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="47485" 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/what-would-be-a-good-programming-language-to-speed-up-elixir/7989/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-47485" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="47485"
                     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="47487" data-post-id="47487">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>The OP was about performance. Go is by far one of the fastest performing languages out there.<br>
That’s not debatable, that’s documented.</p>
<p>With that in mind, you can be critical of syntax, but I think that’s more of a “religion” argument than it is about factual data and what the OP had asked about.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="47487" 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/what-would-be-a-good-programming-language-to-speed-up-elixir/7989/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-47487" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="47487"
                     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/7989/load_more?page=3">Load more posts (14 remaining)</a>
</div></template></turbo-stream>