수학·컴퓨터

나에게 맞는 프로그래밍 에디터 찾기

코드를 쓰는 도구는 취향의 문제로 여겨진다. 그러나 무엇을 하느냐에 따라 적합한 도구는 달라진다.

편집부 · 2023년 3월 11일 · 읽는 데 2분

프로그래밍에 쓰는 편집기는 종류가 많다. 어느 것이 좋은지를 두고 오랜 논쟁이 있어 왔지만, 실제로는 작업의 성격이 선택을 결정하는 경우가 많다.

세 부류

첫째는 가벼운 텍스트 편집기다. 실행이 빠르고 메모리를 적게 쓴다. 설정 파일을 고치거나 짧은 스크립트를 쓸 때 적합하다.

둘째는 확장 가능한 편집기다. 기본 상태는 단순하지만 플러그인을 더해 기능을 늘린다. 자신에게 맞는 환경을 만들 수 있는 대신 설정에 시간이 든다.

셋째는 통합 개발 환경이다. 편집기에 더해 컴파일, 디버깅, 버전 관리, 테스트 실행까지 한곳에서 처리한다. 무겁지만 큰 프로젝트에서 힘을 발휘한다.

코드를 이해하는 정도

편집기들의 실질적인 차이는 코드를 얼마나 이해하느냐에 있다.

단순한 편집기는 글자의 색만 구분한다. 키워드인지 문자열인지를 문법 규칙으로 판정해 색을 입힌다. 그 이상은 알지 못한다.

더 나아간 도구는 코드의 구조를 파악한다. 이 변수가 어디서 선언됐는지, 이 함수를 어디서 호출하는지, 이름을 바꾸면 어디를 함께 고쳐야 하는지를 안다.

이 기능은 대체로 언어 서버라는 별도 프로그램이 담당한다. 편집기와 언어 서버가 정해진 규약으로 대화하는 방식이 표준화되면서, 하나의 언어 서버를 여러 편집기에서 쓸 수 있게 됐다. 편집기 선택과 언어 지원이 분리된 것이다.

손을 떼지 않는 방식

일부 편집기는 마우스 없이 키보드만으로 조작하도록 설계됐다.

대표적인 방식은 편집 모드를 나누는 것이다. 글자를 입력하는 모드와 이동 및 조작을 하는 모드를 따로 두어, 같은 키가 상황에 따라 다른 일을 하게 한다. 익히는 데 시간이 걸리지만 익숙해지면 손의 이동이 줄어든다.

다른 방식은 조합 키를 쓰는 것이다. 여러 키를 함께 눌러 명령을 실행한다. 모드 전환이 없어 배우기 쉬운 대신 손가락 동작이 복잡해진다.

두 방식 모두 지금은 대부분의 편집기에서 흉내 낼 수 있다.

자동 완성의 변화

예전의 자동 완성은 이미 입력된 단어나 정의된 이름을 제안하는 수준이었다.

최근에는 여러 줄의 코드를 제안하는 도구가 널리 쓰인다. 주변 문맥을 보고 다음에 올 내용을 추측한다.

이 기능에 대한 평가는 갈린다. 반복적인 작업이 빨라진다는 점에는 대체로 동의하지만, 제안된 코드를 충분히 검토하지 않고 받아들이는 문제가 지적된다. 겉보기에 그럴듯하지만 틀린 코드를 걸러내려면 결국 이해가 필요하다.

고르는 기준

무엇을 쓰든 익숙해지는 데 시간이 든다. 자주 바꾸는 것이 가장 비효율적이다.

실용적인 기준은 몇 가지다. 주로 쓰는 언어를 잘 지원하는지, 함께 일하는 사람들이 무엇을 쓰는지, 원격 서버에서 작업할 일이 있는지 같은 것이다. 마지막 조건은 특히 중요하다. 터미널만 있는 환경에서 작업해야 한다면 그곳에서 쓸 수 있는 도구를 하나쯤 익혀 두는 편이 낫다.

이어서 읽기