node.js 에서 존나 블로그니, 기사에서 홍보 때리는거보면
node.js는 비동기 & 이벤트 드리븐 방식이라 속도 존나 빠르다 ! 개쩐다!
라고 하는데 사실 그 방식은 옛날 윈도우 xp 시절부터 있던거 아닌가?
이게 뭐라고 존나 홍보때리지
옛날 부터 있던 방식인데
비슷한 방식으로 mfc 이전에 win32api로 프로그래밍 할때만 쳐도
단일 루프로 이벤트 받고 등록된 콜백 불러와서 실행하는 방식...
서버에서 요청이 있을때마다 접속자마다 스레드 만들어서 하는방식도 있는거고
저렇게 단일스레드로 비동기로 io 콜백쓰는 방식도 있는거고
실제로 벤치마크봐도 속도가 경우에 따라서 업치락 뒷치락 하더만
장단점이 있으니 여러 종류의 서버중 용도에 맞는 경우에나 좋은거라고 생각됨.
그냥 프론트 엔드개발자가 쓰던 자바스크립트
서버에서도 쓸수있어서 좋은거다! 이 정도가 node.js 최대 장점인거 같다.
근데 그게 과연 장점인가? 디버깅 리얼 지옥 자바스크립트가...
node.js 만큼 간결하면서도
자바스크립트보다 가독성 좋고, 디버깅 하기 쉬운 언어들이 많은데...
함수형 프로그래밍도 요즘 존나 대세처럼 홍보하던데
그냥 함수형에서 쓸만한 여러가지 몇몇 패러다임들을
기존의 언어에다가 대입해서 편하게 쓸수있다 이정도지
앞으로도 절대 함수형 프로그래밍은 대세가 될거같지가 않다.
이유는 일단 함수형 프로그래밍 제대로 할라면 수학적 대가리가
필요하다. 절차적, 객체지향적 이런건 직관적으로 수학 대가리 없어도
그냥 적당한 기초 논리 대가리가 있으면 초보 프로그래머들 이해&구현 가능한데, 함수형 프로그래밍 제대로 할라면
말그대로 수학적 공식과 함수를 코딩에 적용해야되니 90%의 코더수준 프로그래머들에겐 입문 조차도 난도가 높아서
장벽이 커서 대세 자체는 불가능할것으로 보임.
물론 둘다 그냥 내 개소리니 무시해도 된다.
Js비동기도 역사 오래되지않았나
함수형이 뭔 입문장벽이 높음? 입문은 그래도 쉽다. Java는 어려워서 못하는데 lisp같은건 할만해서
nodejs의 비동기 io가 좀 더 특별한 이유는 node 커뮤니티를 이루는 db driver같은 라이브러리들도 비동기 io를 디폴트로 하기 때문에 진정한 의미의 non blocking io를 실현할수 있기 때문임. 자바나 파이썬이나 루비도 이벤트 기반 웹서버가 있지만 정작 jdbc같은 디비단이 블록킹이기 때문에 그 효과를 제대로 못보는거지
함수형 언어는 앞으로 꾸준히 관심이 늘어갈거고 순수함수형은 아니지만 scala가 자바를 빠르게 대체해나가고 있지. 물론 하스켈같은 순수 함수형 언어가 메이저가 될일은 나도 없을거라고봄
뭔 소린지 모르겠다. 짜져있을게요..
47.173 그렇구나. 리플 감사함.