<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">On Mon, Jan 21, 2019 at 1:53 AM Sam Overdorf <<a href="mailto:soverdor@gmail.com">soverdor@gmail.com</a>> wrote:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">What is the point of having a".erlang" file if I have to run<br>
"c:erlangrc()" in all of my programs.<br>
<br></blockquote><div><br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">Usually, it is to have a set of development changes and configurations to the Erlang system. There might be some helper functionality you wrote for yourself, or tend to use in projects you want to check out. Rather than having to add them to each project, it is somewhat easier to configure them from a central point. This is also, roughly, its historical usage to my knowledge.</div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default"><br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">However, it is a doubly edged sword, insofar it also means that the software you run has local configuration and setup. If more than one developer works on the same set of software, the local configuration can mean the software doesn't run without the .erlangrc specific configuration. To a large extend, the focus on standard tooling such as Continuous Integration/Continuous Deployment seek to alleviate this. An even more modern approach is to always build everything the same way scratch such that the software is built in a reproducible way with idempotence as well.</div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default"><br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">My experience is that the more these (admittedly functional programming-like) ways of handling software builds are adapted, the easier it gets to work on software.<br></div><br></div></div>