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

Richard A. O'Keefe ok@REDACTED
Mon Jun 26 01:55:56 CEST 2017

> 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 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