<< 개발자와 나이 | Home | Vim에 대해 점진적으로 학습하기 >>

[번역] 나는 왜 Node의 세계에 남아 있는가?

레딧에 화자되고 있는 "Farewell Node.js(잘가 Nodejs)"와 이상욱님의 블로그에에서 번역한 글을 읽다가 Why I’m staying with Node(나는 왜 Node의 세계에 남아 있는가?)"라는 아티클이 눈에 뜨여 반대와 찬성의 글을 같이 곱씹어보면 좋을 것 같아서 Nodejs 옹호론자의 아티클을 번역해 봅니다.

무엇보다 먼저, Go 사용을 추천하면서 써내려간 획기적인 그의 뉴스와 Node.js에 대한 작별 인사를 한 TJ에게 경의를 표한다. 누구나 어떤 문제에 오랫동안 골머리를 앓는 사람들은 때가 되면 다른 것으로 이동해 간다. 그리고 그의 입장에선, 그것은 "일을 위한 올바른 도구"를 사용하는 것이었다.

좋다. 여러분은 Node.js를 좋아하지 않을수도 있다. 저 녀석은 매력적이면서 똑똑하다.

나에 대해서 말하자면, 아직 Node.js를 사용중에 있다. 여전히 우리는 우리의 앞에 거친 미래가 있을지라도, 나는 오래전부터 JavaScript에 배팅을 해왔고, 영어와 같은 것이라고 할까? JavaScript는 모든 곳에 있다.

물론 비유일지도 모르지만, TJ가 지적한 Node.js의 문제점은 우리들이 앉고 있었던 영어 문제와 비슷하다. 에러 처리 방식은 에러를 일으킬 가능성이 높고, 콜백은 동기식 트랜잭션보다 어렵다. 오류에 오류, 또 오류가 발생할 수 있다. 영어에서도 문법 실수는 항상 일어난다. 하지만, 대부분의 경우 서로 서로 모두 이해할 수 있고 실수를 고치는 방법도 알고 있다.

재미삼아 이야기해보면, JavaScript를 영어로한다면 Go는 하와이어가 되는 것이다,. 영어보다 심플하고, 작고, 효과적이고, 실수도 어렵고, 잘 알려지지 않았고, 자기만의 섬에 갖혀 있다고 말할 수 있다. 비슷한 관점에서 Java 독일어라고나 할까? 이제 이쯤에서 그만 하자.

비유는 제끼더라도 서로 흠집을 파고 들면서까지 Go vs Node를 비교하는 것보다는 Node.js를 계속 사용하려는데에는 몇가지 좋은 이유가 있다.

웹 애플리케이션
Node를 사용하면 시스템의 프런트 엔드와 백엔드의 코드를 그대로 공유해서 사용할 수 있다. 내가 만든 Change.orgOpenLikes, 그리고 당신이 지금 이 아티클을 읽고 있는 이 사이트처럼 Node 때문에, 유틸리티, 모델, 테스트 라이브러리, 심지어 라우팅 로직 조차도 공유할 수 있었다. 물론 유지보수 어플리케이션에 바람직하게 요구되는 프로그래밍의 원칙인 DRY 애플리케이션을 더 많이 만들수도 있다.

리쿠르팅
JavaScript의 대중적인 인기 덕분에 대부분의 사람들은 Javascript에 대해 조금이라도 알고 있다. Go를 사용할 수있는 사람을 채용한다면, 어디서 시작해야할 지 알수 없다. 이것은 개인적인 문제이지만, Node를 사용하고 있다면 쉽게 피할 수 있는 문제다. Node와 Go는 대체로 비슷한 역사를 가지고 있지만, JavaScript는 19세며,독립해 자립하고 있다. Node 경험이 전혀 없는 프로그래머도 몇년 동안 Javascript를 사용해서 안다면, 혼란없이 빨리 익힐 수 있다.

이번 주에 다른 팀에서 들어온 2명의 새로 입사한 직원이 4시간도 지나지 않아 코드베이스를 익히고, 첫 번째 커밋을 했다. 2011년이었다면 몇주 걸렸을 일을.(billwscott 트윗)


일을 위한 올바른 도구
뭐든지 상황에 따라 다르다. 높은 동시성이 요구되는 복잡한 지능 알고리즘을 필요하다면, Node 말고 다른것을 사용하는 것이 좋다. 나라면 Node에서 호출하는 방식의 서비스 같은 것을 할 것이다. Go와 Node 동시성과 속도를 비교하는 것은 for 루프를 앞으로 돌리거나 뒤로 돌려 어느 쪽이 더 성능이 좋은지를 비교 같은 것 같다. 이런 종류의 마이크로 벤치마크는 나에겐 설득력이 없다. 프로그래밍 언어, 프레임워크, 라이브러리를 선택할 때 항상 여러분 제품의 ROI를 고랴해야 하고, 사용자와 팀, 그리고 여러분 자신과의 사이에서 얼마나 효과적이었는지를 고려해야 한다.

교훈
여기선 긴 회고를 하고 싶지 않다. 그래서 TJ 조언과 비슷하지만, 자신의 울타리 바깥에는 매력적인 솔루션들이 많이 있다. 여러분 자신이 잘해나갈 방법을 선택하는 것이 중요하고, 결국에는 자신을 포함한 사용자나 기업을 행복하게 만드는 것이다.
Tags : ,



Add a comment Send a TrackBack