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


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="D4no0" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/D4no0/120/33624_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  D4no0
                  </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="11" data-topic="65459">
<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><a class="mention" href="/u/dimitarvp" rel="nofollow">@dimitarvp</a>, I’m quite productive with Go and I would chose it over Scala at any time. Still, the market is not good right now and I’m kinda of well paid at my current position. I’ll wait for a better opportunity to jump the ship, maybe until there I start to appreciate more Scala, who knows.</p>
</blockquote>
</aside>
<p>I am not positive that the programming language plays an ultimate role here. I’ve worked in places where I hated to write elixir, just because the working conditions were horrible and vice-versa, had a nice job where I was writing on android with kotlin and enjoyed having some nice teammates that were open to write kotlin in a more functional way and simplifying the codebase.</p>
<p>I personally don’t mind working in whatever language, as long as the people I work with create readable and tested code, not drown themselves in some stupid design patterns and complexity that they have read from some random books, or try to abstract things that will never need abstraction in the lifetime of the project. Sadly no language is protected from such things in this regard, so it’s more important IMO to pick a company and a team you enjoy working with.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="337052" 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/are-you-miserable-when-using-other-fp-languages/65459/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-337052" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="337052"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-most-liked cat-most-liked" title="One of the top 3 liked posts in this thread!"></div>
  </section>
</div>
    <div class="postbit" id="337478" data-post-id="337478">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>It’s been years since I’ve looked at Scala. I always thought they must have an odd sense of humor since the “Scala for the Impatient” book was &gt; 1,000 pages.</p>
<p>The main selling point at that time (years ago now) was not the language but the number of libraries. I think CTOs at medium to large scale businesses are going to value 1) number/quality of libraries; 2) talent pool - how many developers know the language; 3) ability of language + libraries to work really well with their existing/projected infrastructure. I could go on but how much developers like a particular language probably isn’t near top of a CTO’s list (except as it impacts all the other things they’re looking for).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="337478" 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/are-you-miserable-when-using-other-fp-languages/65459/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-337478" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="337478"
                     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="337692" data-post-id="337692">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks for this post. I find it very informative.</p>
<p>So, what should I take out of this? Is is that Scala codebases are difficult to read because of its complex and fragmented feature set and developer practices?</p>
<p>I looked into Scala but gave up on it because of the small ecosystem, the need to interact with Java code and thus people overusing Design Patterns, and the unintuitive build system.</p>
<p>I write a lot of Rust now and find large Rust codebases also difficult to read because of the redirections in abstractions (functions calling functions), though it is way better than searching for factories or classes that implements some interface. I guess this is a common issue with languages with powerful implicit features and because actual “clean” code is such a chore.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="337692" 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/are-you-miserable-when-using-other-fp-languages/65459/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-337692" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="337692"
                     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="337699" data-post-id="337699">
  <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>What about Rust you find implicit?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="337699" 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/are-you-miserable-when-using-other-fp-languages/65459/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-337699" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="337699"
                     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="337702" data-post-id="337702">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Traits of course. They allow seemingly magical method calling and parameter passing, without even the need to specify what the trait is when the compiler thinks there is only one possibility (which <a href="https://internals.rust-lang.org/t/type-inference-breakage-in-1-80-has-not-been-handled-well/21374/21" rel="noopener nofollow ugc">was recently broken?</a>). The simple example is <a href="https://doc.rust-lang.org/std/convert/trait.Into.html#tymethod.into" rel="noopener nofollow ugc"><code>Into::into</code></a>, but there are crazier use cases like routers where you have little idea why you can even call that method and get that output unless you dig 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="337702" 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/are-you-miserable-when-using-other-fp-languages/65459/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-337702" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="337702"
                     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="337703" data-post-id="337703">
  <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>Normally I had no problems with traits… until I got to <code>tokio</code> and several other crates its seamless operation relies on. That was hell indeed. Hopefully LSP tooling and looking up who defines what and where has improved because yeah it was maddening.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="337703" 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/are-you-miserable-when-using-other-fp-languages/65459/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-337703" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="337703"
                     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="337857" data-post-id="337857">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’ve worked with a number of programming languages. It always amazes me how us humans (me included) can make a complete muddle out of any programming language.</p>
<p>I worked at three different companies that used Java (or other JVM) languages and examined a number of larger libraries in Java. It’s amazing that this software worked at all. But it’s really not language specific. I’ve seen Elixir code that made me take a step back in amazement at what a complete mess had been created. Javascript… well.. I won’t even go there.</p>
<p>What I did was to try and put myself in the shoes of the person who was going to have to come next and try and maintain the junk I was writing. I tried to use the best techniques I could find / learn to organize the code to make the work life of that future person (sometimes me) as little complicated as possible.</p>
<p>I do like Elixir and think it has a design and set of features that make me happy and productive and allow me (I hope) to produce code that isn’t too horrible for the next person that has to work on it.</p>
<p>Ultimately you have to make a living and working on code that is kind of painful to look at might be necessary. If you can make a living and work on code that better aligns with how you want code (and work in general) organized then definitely pursue that.</p>
<p>good luck.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="337857" 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/are-you-miserable-when-using-other-fp-languages/65459/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-337857" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="337857"
                     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>