2016.01.25

프로그래밍의 미래는? 9가지 예측

Peter Wayner | InfoWorld



시간이 일정한 속도로 움직인다는 설명이 있다. 반면 모든 것이 빛의 속도에 가까운 속도로 변한다는 주장도 있다. 그렇지만 그사이 기술 세계 변화의 속도는 점점 더 빨라지고 있다.

만약 지금 다음 개발 프로젝트를 위해 어디에 투자해야 할 지 정해야 한다면 어떻게 해야 할까. 사실 5년 뒤를 내다보는 것은 어렵다. 기술의 미래를 예측하는 것은 매우 힘들고, 향후 혁신에 미칠 영향과 관련해 스킬(역량, 전문성)과 도구를 예측하는 것도 불가능에 가깝다. 그러나 기술 세계의 '수정 구슬'을 통해 넌지시 미래를 엿볼 수 있다. '프로그래밍의 미래'라는 수정 구슬 말이다.

그래서 현재 가장 흥미로운 발전상을 토대로 프로그래밍의 미래를 예상해봤다. 이 모두가 실현될 것이라고 장담할 수 없고, 또 모두가 새로운 무엇이라고 단언할 수도 없다. 그러나 우리 앞에 점점 더 빠르게 변하면서 펼쳐지는 미래를 계획하는 데 도움을 주는 로드맵이 되어줄 것이다.

예측 1: IoT를 지배할 REST
REST 프로토콜은 웹을 점령했다. 그리고 온도조절기, 문 손잡이, 주방 가전이 인터넷에 연결돼 '패킷'을 서로 교환하는 사물인터넷(IoT) 또한 지배할 것으로 보인다. '사물 SCSI, 사물 USB, 사물 SATA'라는 말은 없지 않은가? 그럴만한 확실한 이유가 있다. 프로그래머는 REST의 단순성을 사랑한다. REST는 그 기본 아키텍처 덕분에 이해하기 쉽고 비교적 간단하게 디버깅할 수 있다. 모든 데이터가 텍스트 형식으로 돼 있어 손쉽게 문제를 파악해 해결할 수 있는 것도 장점이다. 앞으로 80 포트 기반 Nginx로 부팅되는 신형 보안 카메라, 전자레인지, 회전식 코털깎이 장치 등이 등장할 것이다. HTML과 CSS를 이용해 이들 장치의 새로운 정보를 볼 수 있을 것이다.

예측 2: 다시 부상할 바이너리 프로토콜
REST 프로토콜을 이용해 JSON 패킷을 주고받는 방식은 최소한 기존의 XML 데이터와 90%의 태그 페이로드 방식보다 간편하다. 그러나 더 큰 효율성을 추구하는 프로그래머는 바이너리 데이터가 JSON으로 올바르게 표현될 수 있게 스트링으로 전환해야만 하는 이유를 궁금해한다. 이 경우 스트링을 분석, 다시 바이트로 바꿔야 하기 때문이다. 그냥 바이트를 직접 전송할 수 없을까? 특히 사물인터넷은 항상 몇 바이트의 데이터를 주고받는 환경이다.

이런 필요 때문에 앞으로 더 많은 바이너리 프로토콜이 구현될 것으로 보인다. HTTP 표준은 본질적으로 텍스트 기반이다. 상용 바이너리 프로토콜 때문에 좋지 않은 경험을 한 프로그래머가 많다. 이것 만으로 안되는 것은 물론 제 기능을 발휘한다는 보장도 없기 때문이다. JSON과 REST가 개방되면서 큰 도움이 됐지만 바이너리 프로토콜의 '오픈(개방)'화가 오픈 표준에 효율성을 가져올 수 있다는 의미는 아니다. IoT는 과거 어느 때보다 많은 데이터를 생성하고, 다양한 장치가 더 촘촘한 인코딩이 필요한 작은 패킷을 다수 사용할 전망이다. 프로그래머는 이런 성능이 필요할 때 기존 패킷의 바이너리 효율성을 높일 방법을 찾게 될 것이다.

예측 3: HTML을 '킬'할 비디오
과거에는 여러 웹사이트를 옮겨 다니는 이유가 텍스트 기반의 정보를 얻기 위해서였다. 텍스트 정보를 보고, 더 많은 정보가 필요할 때마다 하이퍼링크를 클릭했다. 그런데 시대가 바뀌었다. 이제 몇 시간 또는 며칠 동안 소파에 무기력하게 앉아 TV 시리즈의 에피소드가 끝날 때까지 비디오를 즐긴다. 물론 키보드가 필요할 때도 있다. 좋아하는 TV 시리즈의 다음 시즌이 언제 넷플릭스에 업로드 될지 알아보기 위해서다. 이렇게 인터넷이 TV로 흡수되고 있다. 비디오 스트림이 '사고'하는 스트림으로서 '텍스트의 쌍방향 미래'를 점령하고 있다.

사실 이것은 100% 진실은 아니다. 일부는 인터넷이 TV를 해방하고 있다고 주장한다. 사람들은 웹사이트에서 TV 토막 영상을 즐긴다. 필자는 'SNL(Saturday Night Live)' 방영 시간이 토요일 밤인지, 생방송인지 아니면 녹화방송인지 모른다. 하지만 웹사이트에서 짧은 토막 영상들을 시청할 수 있다는 것은 잘 안다. 프로그램을 시작하는 모두발언이나 게스트 초대 여부는 전혀 중요하지 않고 아무도 신경쓰지 않는다.

'카우치 포테이토'(오랫동안 TV만 보는 사람)라면 소파에 앉아 클릭 몇 번으로 동영상을 소비하는 것 외에 특별히 할 일이 없다. 차세대 비디오 앱이 새로운 계층을 추가하고, 기존의 툴을 크게 개선할 가능성도 있다. 플래시의 '사망'과 HTML5의 '지배'가 비디오 클립을 HTML에 통합하는 가능성의 문을 열어놨다. 프로그래머가 이런 기회를 이용할 수 있을지 모른다. 그 때까지, 사용자들은 할아버지 세대가 그랬던 것과 같은 방법으로 소파에 앉아 TV를 시청할 것이다. 거대 인터넷 기업과 3자릿수의 전국 방송사가 스트리밍 서비스를 제공해도 마찬가지이다.




2016.01.25

프로그래밍의 미래는? 9가지 예측

Peter Wayner | InfoWorld



시간이 일정한 속도로 움직인다는 설명이 있다. 반면 모든 것이 빛의 속도에 가까운 속도로 변한다는 주장도 있다. 그렇지만 그사이 기술 세계 변화의 속도는 점점 더 빨라지고 있다.

만약 지금 다음 개발 프로젝트를 위해 어디에 투자해야 할 지 정해야 한다면 어떻게 해야 할까. 사실 5년 뒤를 내다보는 것은 어렵다. 기술의 미래를 예측하는 것은 매우 힘들고, 향후 혁신에 미칠 영향과 관련해 스킬(역량, 전문성)과 도구를 예측하는 것도 불가능에 가깝다. 그러나 기술 세계의 '수정 구슬'을 통해 넌지시 미래를 엿볼 수 있다. '프로그래밍의 미래'라는 수정 구슬 말이다.

그래서 현재 가장 흥미로운 발전상을 토대로 프로그래밍의 미래를 예상해봤다. 이 모두가 실현될 것이라고 장담할 수 없고, 또 모두가 새로운 무엇이라고 단언할 수도 없다. 그러나 우리 앞에 점점 더 빠르게 변하면서 펼쳐지는 미래를 계획하는 데 도움을 주는 로드맵이 되어줄 것이다.

예측 1: IoT를 지배할 REST
REST 프로토콜은 웹을 점령했다. 그리고 온도조절기, 문 손잡이, 주방 가전이 인터넷에 연결돼 '패킷'을 서로 교환하는 사물인터넷(IoT) 또한 지배할 것으로 보인다. '사물 SCSI, 사물 USB, 사물 SATA'라는 말은 없지 않은가? 그럴만한 확실한 이유가 있다. 프로그래머는 REST의 단순성을 사랑한다. REST는 그 기본 아키텍처 덕분에 이해하기 쉽고 비교적 간단하게 디버깅할 수 있다. 모든 데이터가 텍스트 형식으로 돼 있어 손쉽게 문제를 파악해 해결할 수 있는 것도 장점이다. 앞으로 80 포트 기반 Nginx로 부팅되는 신형 보안 카메라, 전자레인지, 회전식 코털깎이 장치 등이 등장할 것이다. HTML과 CSS를 이용해 이들 장치의 새로운 정보를 볼 수 있을 것이다.

예측 2: 다시 부상할 바이너리 프로토콜
REST 프로토콜을 이용해 JSON 패킷을 주고받는 방식은 최소한 기존의 XML 데이터와 90%의 태그 페이로드 방식보다 간편하다. 그러나 더 큰 효율성을 추구하는 프로그래머는 바이너리 데이터가 JSON으로 올바르게 표현될 수 있게 스트링으로 전환해야만 하는 이유를 궁금해한다. 이 경우 스트링을 분석, 다시 바이트로 바꿔야 하기 때문이다. 그냥 바이트를 직접 전송할 수 없을까? 특히 사물인터넷은 항상 몇 바이트의 데이터를 주고받는 환경이다.

이런 필요 때문에 앞으로 더 많은 바이너리 프로토콜이 구현될 것으로 보인다. HTTP 표준은 본질적으로 텍스트 기반이다. 상용 바이너리 프로토콜 때문에 좋지 않은 경험을 한 프로그래머가 많다. 이것 만으로 안되는 것은 물론 제 기능을 발휘한다는 보장도 없기 때문이다. JSON과 REST가 개방되면서 큰 도움이 됐지만 바이너리 프로토콜의 '오픈(개방)'화가 오픈 표준에 효율성을 가져올 수 있다는 의미는 아니다. IoT는 과거 어느 때보다 많은 데이터를 생성하고, 다양한 장치가 더 촘촘한 인코딩이 필요한 작은 패킷을 다수 사용할 전망이다. 프로그래머는 이런 성능이 필요할 때 기존 패킷의 바이너리 효율성을 높일 방법을 찾게 될 것이다.

예측 3: HTML을 '킬'할 비디오
과거에는 여러 웹사이트를 옮겨 다니는 이유가 텍스트 기반의 정보를 얻기 위해서였다. 텍스트 정보를 보고, 더 많은 정보가 필요할 때마다 하이퍼링크를 클릭했다. 그런데 시대가 바뀌었다. 이제 몇 시간 또는 며칠 동안 소파에 무기력하게 앉아 TV 시리즈의 에피소드가 끝날 때까지 비디오를 즐긴다. 물론 키보드가 필요할 때도 있다. 좋아하는 TV 시리즈의 다음 시즌이 언제 넷플릭스에 업로드 될지 알아보기 위해서다. 이렇게 인터넷이 TV로 흡수되고 있다. 비디오 스트림이 '사고'하는 스트림으로서 '텍스트의 쌍방향 미래'를 점령하고 있다.

사실 이것은 100% 진실은 아니다. 일부는 인터넷이 TV를 해방하고 있다고 주장한다. 사람들은 웹사이트에서 TV 토막 영상을 즐긴다. 필자는 'SNL(Saturday Night Live)' 방영 시간이 토요일 밤인지, 생방송인지 아니면 녹화방송인지 모른다. 하지만 웹사이트에서 짧은 토막 영상들을 시청할 수 있다는 것은 잘 안다. 프로그램을 시작하는 모두발언이나 게스트 초대 여부는 전혀 중요하지 않고 아무도 신경쓰지 않는다.

'카우치 포테이토'(오랫동안 TV만 보는 사람)라면 소파에 앉아 클릭 몇 번으로 동영상을 소비하는 것 외에 특별히 할 일이 없다. 차세대 비디오 앱이 새로운 계층을 추가하고, 기존의 툴을 크게 개선할 가능성도 있다. 플래시의 '사망'과 HTML5의 '지배'가 비디오 클립을 HTML에 통합하는 가능성의 문을 열어놨다. 프로그래머가 이런 기회를 이용할 수 있을지 모른다. 그 때까지, 사용자들은 할아버지 세대가 그랬던 것과 같은 방법으로 소파에 앉아 TV를 시청할 것이다. 거대 인터넷 기업과 3자릿수의 전국 방송사가 스트리밍 서비스를 제공해도 마찬가지이다.


X