ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 함수형 프로그래밍 언어 : Elixir
    Elixir 프로그래밍 2019. 7. 2. 16:18

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

     

    출처 : 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/ 에서 보실 수 있습니다.

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


Designed by Tistory.