수십년 전에는 메모리가 아주 귀중한 자원이었습니다

그시절에는 메모리를 필요한만큼 할당받고 수정하는게 일반적이었습니다 

=> c언어 얘기하는듯



gc라는 개념은 있었지만 

cpu가 느려서 수동메모리 관리를 벗어나려면 더 빠른 cpu가 필요했습니다

시간이 흘러 cpu의 속도가 향상되었고 사용하는 대부분의 프로그래밍언어는 gc를 사용합니다 

=> 자바얘기하는듯



cpu속도를 올리는 것에 한계에 부딪히자 코어개수가 늘어나기 시작했습니다

하지만 이 방식은 현재 우리가 프로그램을 작성하는 방식과는 크게다릅니다

실제로 여러 코어를 사용하는 프로그램에서 메모리의 상태를 수정하는것은 소프트웨어의 성능을 떨어트립니다

=> 멀티쓰레드로 개발하는거 어렵다는말하는듯



저는 이 동기화가 수동이고 오류를 쉽게 발생시키며 성가신 작업인데다가 퍼포먼스에도 좋을게 없음을 금새 깨달았습니다

앞으로 커리어 내내 이렇게 시간을 낭비하고 싶지는 않다는 생각이 들어 새로운 언어와 기술을 공부하기로 했습니다

=> 엘릭서 본격적으로 팔아보려는듯



이것이제가 evm(얼랭가상머신)의 생태계에 빠지게 된 계기입니다

얼랭에서는 모든 코드가 여러 작은 프로세스에서 동시에 실행됩니다

각 프로세스는 각자의 상태를가지고 메세지를 통해 소통합니다

분산소프트웨어를 만들기에 최적의 환경이지요


하지만 얼랭은 부족한부분이 있다고 느꼈습니다

메타프로그래밍, 다형성, 프로덕션의 툴과같이 일상적인 기능에대한 지원이 더 필요했지요

그래서 엘릭서가 탄생했습니다


엘릭서는 함수형프로그래밍과 생산성에 초점을 맞췄습니다

동시성은 엘릭서의 뼈대입니다

gc가 개발자를 메모리관리의 늪에서 해방했듯 

엘릭서는 낡은 동시성 매커니즘으로부터 여러분을 해방해줄겁니다.

=> 잘파네