함수형 프로그래밍 언어 : Elixir

가장 첫글은 다음의 그림으로 시작하고자 합니다.


출처 : 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% 의 가용성, 언어 자체에서 지원하는 분산환경의 지원, 간결한 코드등은 서버 프로그램 개발에 아주 탁월하게 맞아 떨어진다고 할 수 있겠습니다.

이 블로그 글은, 단순 Elixir 교재의 번역문이 아니라,  제가 그간 겪은 느낌을 섞어서  다른 언어 교재와는 좀 다른 방향으로 접근을 하고자 합니다.

우선, Elixir 의  기본 강좌는  https://elixirschool.com/ko/ 에서 보실 수 있습니다.

문법에 대한 설명식으로 접근을 하지 않고,  왜 함수형 언어가 생각 관점의 변화를 주는지 등의 배경을 설명하는 식으로 진행하도록 하겠습니다.






댓글

댓글 쓰기

이 블로그의 인기 게시물

EDPS(컴퓨터) 와 함수