진화하는 프로그래밍 IDE

 

 

몇주전에 CUSEC 2012 컨퍼런스에서 Bret Victor의 PT 영상을 본후에
상당한 정신적인 충격을 먹었습니다.

어떻게 한명의 프로그래머가 저렇게 저력있는 사상과 철학을 가지고 있으며,
또한 그 사상을 바탕으로 남들과는 다른 훌륭한 tangible한 무언가를 만들어 내는 단계까지 갈 수 있을까?

하는 생각이 머리속을 떠나지 않았죠…
나 자신을 스스로 많이 돌아보게 해주었습니다.

“Creators Need an Immediate Connection”

한마디가 뇌리속에 깊이 남았던 영상 바로 아래 영상입니다.

그간 프로그래밍을 하면서 많이 써본 IDE(코드 에디팅 툴이라고하죠)는
Visual Studio, NetBeans, Eclipse, Xcode, Ultraedit, Mate, Aptana 정도인데요,

C/C++ 프로그래밍할 때는 컴파일이 당연한 것처럼 여겼었고,
웹프로그래밍 할 때에는 F5이나 Commnad+R 이 당연하게 여기면서 프로그래밍을 했었죠.

그런데 이제 IDE가 진화하는 시대가 온 것 같습니다.

그 첫번째 가능성을 본 것이 바로 위에 브랫 픽터의 영상이었습니다.
더이상 F5를 누르지도, Commnad+R을 누르지도 않아도 되고,
조금 더 나아간다면 컴파일도 필요 없는 시대가 도래할 날이 멀지 않았다는
Sign이 하나둘 씩 나타나고 있다는 것이죠.

두번째 가능성은 기존의 IDE의 특성을 벗어난 특별한 IDE들이 등장한다는 것인데요,
아래 Gliimpse Project 데모를 한번 보시죠.

웹 개발자가 코딩을 하고 거의 실시간으로 바로바로 확인할 수 있는 IDE…
페이지 전환이나 두개의 창을 띄워놓고 쉴새없이 Alt+Tab, Command+Tab을 눌러대며
작업할 필요도 없고, 바로 확인이 가능한 새로운 IDE 기능들이 구현되고 있죠.
이런 즉시적인 확인이 가능한, IDE의 지원은 게임과 같은 창조적인 작업에
정말 유용하게 사용될 것입니다. 지루하고 반복적이고, Delayed된 작업을
즉시즉시 확인하며 훨씬 짧은 시간내에 자기가 상상 속에서 그리는 효과와 화면들을
쉽게 구현할 수 있게 해주는 결정적인 역할을 할 수 있게 합니다.

프로그래머로써 환영할 일이 아닐 수 없죠~
야근을 줄여주고 좀더 창조적인 일에 자기의 여유시간을 쓸 수 있게 해주니까요.

또한 새로운 IDE의 움직임들은 Server Side Programming의 패러다임을
바꿔주고 있습니다.

서버프로그래밍은  비쥬얼 스튜디오나 다른 로컬 툴에서 ftp로 열거나 로컬에서 작업한 것을
서버에 올려서 테스트해보고 했었는데, 이제는 달라졌습니다.

바로 Cloud9과 같은 Cloud IDE가 등장하고 있습니다.
NodeJs 와 같은 Server Side Javascript 프로그래밍이 유행함에 따라서
서버에 직접 붙어서 웹브라우져를 코드 에디터로 사용하며 바로바로 작업하고,
마치 로컬에서 Firebug를 돌리는 것과같이
서버에 있는 파일을 직접 코딩하며 브레이크 포인트를 걸어서 디버그까지 할 수 있는 Needs는
정말 필수 였죠. 그것을 해결해주는 IDE가 바로 Cloud9 입니다.
어디서나 작업할 수 있고, 어떤 PC에서도 웹브라우져를 통해서 서버에 있는 소스코드를
열어 그 서버 단에서 바로바로 확인하며 작업할 수 있습니다.

개인적으로 컴파일 타임 때문에 Incredibuild나 Distrubuted Build를 쓰지 않는 C 프로그래밍 시대가
하루빨리 도래하기를 기대해 봅니다.