문득 웹 사이트를 만드는 방법을 생각해보니, 내가 아는 방법 중에는 다음과 같이 4가지 방법으로 나뉘었다 (혹시 제가 모르는 방법이 있으면 알려주세요!).

  1. 그냥 HTML, CSS, JS을 이용해서 개발하기
  2. Server Side Scripting Language: PHP, JSP, ASP 처럼 서버 사이드 스크립트 언어를 이용하여 개발하는 방법
  3. Single Page Application: Angular나 React, Ember, Vue 처럼 웹 어플리케이션을 개발하는 방법
  4. Static Site Generator: Jekyll, Hexo, Hugo 처럼, 미리 만들어 놓은 설정과 데이터로 프로그램을 통해 HTML 페이지(정적 사이트)를 생성해내는 방법

각 방법마다 장단점이 다르기에 필요에 맞는 것을 골라 개발하면 되는데, 이것 저것 고려를 해 보았을 때에 4번 방법, 정적 사이트를 생성하는 방법이 SEO적인 측면에서도 괜찮고 속도적인 측면에서도 서버에서는 단지 HTML을 제공하기만 하면 되니 훌륭하다. Ruby로 만든 Jekyll이나 Node로 만든 Hexo는 blog 지향적이고, 개인적으로 사용해 본 결과로는 페이지 생성 속도가 아주 그렇게 빠르다고 할 수는 없었다.

마침 gogs 로 개인 git 서버도 돌리며 go가 꽤나 괜찮다는 것을 인지했던 상황이기에, go로 만든 Static Site Generator인, Hugo에도 관심이 가게 되었다. 간단하게 Chromebook 에서 Linux i86 버전을 다운로드 받아 몇 가지 실험을 해 보았다. 세 상 에. 엄청나게 빨랐다. Chromebook이어서 속도가 그렇게 좋은게 아닌데, 정말 엄청나게 빨랐다. 체감상 C++로 테스팅 하던 느낌이랄까, 최근에 계속 스크립트 언어에만 익숙해져 있던 나에게 굉장히 신선한 충격이었다.

음… 그래서, 굉장히 배워야겠다는 느낌이 많이 들었달까. 좀 더 알아보니, C언어를 개발하셨던 거장 Ken Thompson 님께서도 go 언어의 개발에 참여하셨다고 하니(그 외에도 많은 훌륭하신 분들이…), 확실히 알아두어야 될 언어가 된 것 같다.

다음의 링크를 참조하면, C++과 go와의 속도 비교가 나오는데, 거의 큰 차이가 없음을 알 수 있다. 아무리 컴파일 언어라지만, 이렇게 빨라도 되는거야!!??! (아니면… 컴파일 언어이기 때문에 빠를수밖에 없는건가..)