[erlang-questions] Programming Erlang: Chap 18, Websockets

Joe Armstrong erlang@REDACTED
Mon Jun 26 12:33:30 CEST 2017

On Mon, Jun 26, 2017 at 1:55 AM, Richard A. O'Keefe <ok@REDACTED> wrote:
>> On 26/06/2017, at 9:00 AM, Joe Armstrong <erlang@REDACTED> wrote:
>> You've now run into what is one of the biggest problems in the
>> computer world - code that used to work no longer works despite the
>> fact the code itself has not been changed.
> One of my colleagues has an explicit "no third party libraries"
> policy for this very reason.  Sadly, it does not protect against
> operating system or compiler changes.

It's even more horrible - I have bought "identical" machines with
"identical" OS and libraries - but the chipsets were different which
lead to strange failures. Debugging was extremely difficult and tooks
weeks because I falsely
assumed that the machines were the same and would fail in the same way.

> It is notoriously the
> case that in pursuit of "optimisation", C compilers are taking
> ever more advantage of the strict letter of the C standard, so
> that code that used to work may stop working.
> For example, there's a compiler from a historic programming language
> to C.  It used to work on my Mac.  After an Xcode upgrade, it didn't
> compile any more.  Turned out that the "C" it generated as GNU C
> with nested functions, and clang supports *some* GNU C extensions
> but not that one.
> Basically, there is NO way to protect yourself from changes to your
> infrastructure.  You can try to stick close to documented standards,
> but things still change.  And Erlang itself has dropped a number of
> library modules over the years.

More information about the erlang-questions mailing list