Skip to content

Latest commit

 

History

History
50 lines (40 loc) · 5.13 KB

날코딩.md

File metadata and controls

50 lines (40 loc) · 5.13 KB

IDE는 장식일 뿐

프로그램 개발자들의 은어. 프로그래밍에 도움이 되는 개발도구를 거의 사용안하고 오직 텍스트 에디터로만 프로그래밍을 만드는 행위를 말한다. '날'자가 들어갔다고 해서 날로 먹는 코딩이란 의미가 아니다 반대말통합 개발환경을 포괄하는 WYSIWYG.

주로 웹개발 하는쪽에서 날코딩을 하는 사람들이 많은데, 웹개발의 특성상 UI를 구현하거나 비즈니스 로직을 작성할때 별다른 툴을 쓸 필요가 없는 경우가 많다. 적당한 툴이 없는 것도 한몫하고 있지만 HTML의 경우 웹에디터를 쓰다보면 자기 맘대로 UI를 구성하거나 디자인 할수 없는 때가 종종있는데 이럴 때는 대충 밑그림을 그려놓고 메모장으로 HTML 파일을 열어 손으로 전부 뜯어고친다. 익숙해지면 손으로는 텍스트를 타이핑하는데 머릿속으로는 웹 폼이 다 보이는 경지에 이른다.

어느정도 프로그래밍에 익숙해지면 개발툴보다 날코딩이 더 빠르고 편해서 이쪽을 택하는 경우도 있다. 자바의 경우 UI를 만들때 적당한 개발툴이 없다보니 역시 날코딩으로 UI를 만든다.사실 넷빈즈에서 지원해준다. 고로 넷빈즈를 사용하자 이클립스 플러그인으로 비주얼 스튜디오처럼 UI를 그릴수 있도록 해주는 물건도 있지만 쓰기 불편하고 비주얼 스튜디오에 비하면 불친절하거나 귀찮은 부분들이 많다. 더불어 개인이나 서드 파티에서 만드는 플러그인이라 불안정한 요소도 있고 하여 조금 익숙해지고 나면 코드를 직접 타이핑쳐서 해결하는 경우가 많다.

이러한 요소들 외에도 개발툴에서 제공하는 UI 기능을 사용할 때 자동으로 생성해주는 코드가거지같아서 마음에 안든다는 이유[1], 개발툴에서 제공하는 소스코드 자동 들여쓰기가 마음에 안든다는 이유 등으로 개발툴은 대충 클래스나 사용할 메소드 틀을 잡는데 쓰거나 아예 컴파일 돌릴 때만 쓰고, 코드 작성은 날코딩하는게 더 편하다는 이유로 텍스트 에디터만 고집하는 사람들도 제법 있다. 코드 작성은 vim/Emacs으로, 컴파일은 gcc와 Makefile로, 디버깅은 로그 찍거나 gdb로 하는 경우가 일반적.

메모장은 말 그대로 텍스트를 메모하는 용도이기 때문에 날코딩을 하기에 좋은 툴은 아니다. 그 때문에 변수나 메소드 등에 색깔을 넣어 예쁘게 꾸며주고, 함수의 영역을 표현해주거나 여는 괄호와 닫는 괄호 등의 위치를 파악할 수 있게 알려주는 텍스트 에디터들을 애용한다. 대표적으로 윈도우 환경에서는 EditPlus나 UltraEdit 등이 있다. 만약 비주얼 스튜디오를 사용한다면 Visual Assist라는 탁월한 도구를 사용할수 있다. 물론 이런 거 쓸 상황이 안되면 닥치고 메모장 Notepad++(메모장++) 이라는 오픈소스 에디터도 있다. 유닉스 환경에서는 vimEmacs라는 탁월한 에디터계의 2강이 있다.

대학교에서 컴퓨터공학을 배울 때 본의 아니게 개발툴없이 날코딩을 하게 되는 경우가 있다. 바로 유닉스를 배울 때 쓰는 vi 에디터. 윈도우즈 환경의 다양한 개발툴에만 적응되어 있는 사람들은 십중팔구 버벅거리거나 헤맨다. [2] 물론 요즘은 세상이 좋아져서 유닉스 환경에서도 쓸 수 있는 좋은 IDE가 나와있기는 하지만, 별 수 없이 vi 에디터를 써야 할 상황 역시 굉장히 많다. 게다가 익숙해지면 CLI 환경에서 쓰는 에디터 중 vim만큼 강력한 것도 없다. Emacs는 인터프리터니 제외

Emacs는 날코딩인것 같지만 그렇지도 않기도 하다.
vim도 빔덕후들이 덕지덕지 플러그인 붙여놓은거 보면 이게 에디턴지 IDE인지 구분할 수 없다

\----

  • [1] 특히 웹개발쪽이 이 이유가 강하다. 2000년대 중반까지 비표준 HTML 코드를 양산하는 웹에디터가 많았기 때문. 그런 주제에 '이 페이지는 OO 에디터로 제작되었어염^^' 운운하는 표시를 소스 코드에 제멋대로 삽입하는 등의 작태로 개발자들에게 매우 깊은 빡침을 선사하는 경우도 다수.
  • [2] vi에디터와 일반적인 윈도우에서의 키보드 기능은 대단히 상이하다.