Successful programming languages are invented to solve problems existing languages and tools do not address well. When I asked José Valim what problem he was trying to solve when creating Elixir, he responded that he wanted to bring the power of Erlang and the BEAM to other communities of programmers. He started with the web through the Phoenix framework, followed by successful inroads into the embedded and machine learning spaces. “What problem were you trying to solve?” is a question I have asked dozens of language inventors, with varied answers. José was the first, who, in his reply, said his focus was on the adoption of ideas, semantics, and runtime of another extremely powerful language, Erlang. He did it by approaching the problem with a different syntax, tools, and development approach.
