가장 첫글은 다음의 그림으로 시작하고자 합니다. 출처 : https://nesoy.github.io/articles/2018-05/Functional-Programming 저는 프로그래밍을 꽤나 오랜동안 했습니다. 대략 30년이 넘었습니다. 처음 시작한 언어는 Apple II로 시작한 Basic 이였습니다. 그후, Fortran, Pascal, C, C++, Java 등의 언어를 익혔고 이중 현업에서 가장 많이 사용한 언어는 C++ 입니다. C 로 개발을 한 기간도 길고, 지금도 C 에서 C++로 넘어가던 때의 기억이 생생합니다. C에서 Global variable이 없어지고, 객체라는 것으로 사물을 모델링하고, 객체간의 연동을 통해서 프로그램을 개발할수 있음을 느꼈을 때의 희열을 잊을 수 없습니다. 사실. 이 블로그를 시작하게된 이유는 C에서 C++로 전환할 때보다 더 큰 희열을 Elixir를 알게되면서 느끼게 되어서 입니다. 한마디로 어디선가 들은 얘기대로, "함수형 언어를 사용하면 프로그램이 즐겁다." 에 동의 합니다. 생각하는 즐거움이 있고, 간결성, 생각대로의 흐름대로 전개되는 코드를 보는 즐거움, OOP의 객체 모델링을 불편하게 느끼게 하는 혁신성등이 있습니다. Elixir를 어느정도 알아 갈때, 정말 함수형 언어(Elixir) 가 정말 그리도 혁신적이고 생산성이 높을지에 대해서 많은 의구심을 가졌지만, 현업에 적용을 한 지금은 말 그대로 프로그래밍이 즐거울 뿐입니다. 하지만, 모든 언어가 장점만 가지는 것은 아닌것 처럼 Elixir도 장점만 가지는 것은 아닙니다. Elixir가 가장 잘 맞아 떨어지는 분야는 통신용 서버 프로그램 개발분야라고 생각합니다. 지금으로써는 UI 프로그램의 개발, 복잡하고 많은 산술연산처리 등에서는 다른 언어에 비해 약점이 있다 할 수 있습니다. 하지만, 99.999999999% 의 가용성, 언어 자체에서 지원하는 분산환경의 지...