수십년 전에는 메모리가 아주 귀중한 자원이었습니다
그시절에는 메모리를 필요한만큼 할당받고 수정하는게 일반적이었습니다
=> c언어 얘기하는듯
gc라는 개념은 있었지만
cpu가 느려서 수동메모리 관리를 벗어나려면 더 빠른 cpu가 필요했습니다
시간이 흘러 cpu의 속도가 향상되었고 사용하는 대부분의 프로그래밍언어는 gc를 사용합니다
=> 자바얘기하는듯
cpu속도를 올리는 것에 한계에 부딪히자 코어개수가 늘어나기 시작했습니다
하지만 이 방식은 현재 우리가 프로그램을 작성하는 방식과는 크게다릅니다
실제로 여러 코어를 사용하는 프로그램에서 메모리의 상태를 수정하는것은 소프트웨어의 성능을 떨어트립니다
=> 멀티쓰레드로 개발하는거 어렵다는말하는듯
저는 이 동기화가 수동이고 오류를 쉽게 발생시키며 성가신 작업인데다가 퍼포먼스에도 좋을게 없음을 금새 깨달았습니다
앞으로 커리어 내내 이렇게 시간을 낭비하고 싶지는 않다는 생각이 들어 새로운 언어와 기술을 공부하기로 했습니다
=> 엘릭서 본격적으로 팔아보려는듯
이것이제가 evm(얼랭가상머신)의 생태계에 빠지게 된 계기입니다
얼랭에서는 모든 코드가 여러 작은 프로세스에서 동시에 실행됩니다
각 프로세스는 각자의 상태를가지고 메세지를 통해 소통합니다
분산소프트웨어를 만들기에 최적의 환경이지요
하지만 얼랭은 부족한부분이 있다고 느꼈습니다
메타프로그래밍, 다형성, 프로덕션의 툴과같이 일상적인 기능에대한 지원이 더 필요했지요
그래서 엘릭서가 탄생했습니다
엘릭서는 함수형프로그래밍과 생산성에 초점을 맞췄습니다
동시성은 엘릭서의 뼈대입니다
gc가 개발자를 메모리관리의 늪에서 해방했듯
엘릭서는 낡은 동시성 매커니즘으로부터 여러분을 해방해줄겁니다.
=> 잘파네
댓글 0