메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

IDE인가? 아니면 IDE가 아닌가?

한빛미디어

|

2014-04-28

|

by HANBIT

18,874

제공 : 한빛 네트워크
저자 : Brian MacDonald
역자 : 김우종
원문 : To IDE or Not to IDE?

초보 프로그래머를 위한 올바른 도구 선택하기

Brian MacDonald 당신은 배우고 싶은 언어를 선택(어떤 언어를 먼저 배워야 할까?)했고, 다양한 언어의 패러다임(처음부터 절차적 언어로 프로그래밍을 시작해야 할까?)에 대해 많은 것을 배웠습니다. 이제 실제 코드를 작성하려고 합니다. 어떤 도구를 사용합니까? 오래된 텍스트 에디터로 코드 작성을 시작할 수 있습니다. 10년 전에 개발자들은 그렇게 해왔습니다. 어떤 좋은 엔지니어라도 그들의 작업을 쉽게 하기 위해 도구를 찾을 것입니다. 그것에는 통합개발환경(IDE)이 있습니다. 그렇다면 당장 언어를 배우기 전에 도구를 사용하는 방법을 배우는 것이 필요할까요? 반드시 그렇지는 않습니다. 그럼에도 많은 프로그래머들이 "내가 IDE를 사용해야 해?" 라는 질문과 명백한 대답을 고심합니다. 그들은 그 대답에 대해 반드시 동의하지는 않습니다.

어쨌든 IDE는 무엇인가?

대부분 IDE는 당신이 코드를 더 쉽게 작성하도록 도와주는 몇가지 기능을 추가한 텍스트 편집기입니다. 텍스트 편집기는 IDE의 핵심 기능이며, 당신이 기대한 것보다 더 많거나 더 적게 동작합니다. 많은 IDE에서는 즉석에서 간단한 구문 에러를 강조할 것입니다. 그래서 당신은 코딩의 단순한 오타로 시간을 허비하는 경험을 하지 않게 됩니다. IDE는 또한 "자동완성" 기능을 가지고 있습니다. 만일 system.math 라고 입력하고, 일시정지하면, IDE는 사용가능하고 다양한 math 함수들의 리스트를 보여줄 것입니다. 그래서 square 기본 함수가 sqrt() 인지 squareroot() 인지 기억할 필요가 없습니다.

거의 모든 IDE는 코드를 컴파일하고, 어떤 필요한 라이브러리를 추가함으로서 실행가능한 프로그램을 빌드하며, 당신이 인지하지 못하는 어떤 것들을 위해 빌드자동화가 되어 있습니다. 이 같은 도구들은 어떤 옵션 라이브러리들 또는 당신이 만든 것을 추가하고 구성하는 것을 쉽게 만들어 줍니다.

IDE의 특징 중에 대부분의 시간을 보내고 있는 기능은 디버거입니다. IDE에 따라, 디버거는 컴파일하기 전에 코드에서 에러를 찾을 것이고 그리고 나서 그것을 보여줌으로서 당신이 쉽게 에러를 고칠 수 있도록 하는 도구들의 묶음입니다. 그것은 지나치게 단순화하며, 안전하지 않습니다. 문제의 핵심이 256 라인에 있는 논리적 에러임에도 디버거가 354 라인의 type mismatch 라고 할 때 당신은 디버거에 욕을 하게 될 것입니다. 손으로 디버깅하는 것보다는 좋습니다.

IDE에 대한 논거

이제 당신은 IDE가 무엇인지 알았습니다. 실행하자마자 결과를 얻길 원합니까? 잠깐 기다리세요. 이러한 주장에 다른 면이 있습니다. 당신이 배우길 원하는 언어에 따라 IDE에 대한 선택은 매우 제한적일 수 있으며, 사용가능한 선택은 매우 복잡한 프로그램일 수 있습니다. 예를 들면, 마이크로소프트 닷넷 언어들(C#, 비주얼베이직 또는 ASP.NET) 중에 하나를 사용하길 원한다면, 비주얼스튜디오에 대한 많은 얘기를 듣게될 것입니다. 이것이 당신의 유일한 옵션은 아니지만, 가장 흔한 옵션입니다. 비주얼스튜디오의 풀버전은 비싸고, 초보자들이 필요한 것보다 더 많은 도구들을 가지고 있습니다. 이것은 마이크로소프트가 무료로 개별 언어에 대한 "라이트" 버전을 제공하는 이유입니다만, 처음엔 상당한 부담이 될 수 있습니다.

당신은 IDE를 사용하지 않는, 아마도 16진수로 한번에 처음부터 끝까지 완벽한게 코드를 작성하는 "진짜 프로그래머들"에 대한 이야기를 들었을지도 모릅니다. 당신이 못 들었다고 할지라도, IDE가 지나치다는 생각을 하는 누군가의 얘기를 아마 들을 것입니다. 그리고 당신은 vi 또는 emacs로 모든 것을 할 수 있습니다(vim 또는 emacs의 추가 기능이 IDE 가 될 수 있는지 여부에 대한 논의를 시작할 것입니다. 그리고 당신이 그것들의 어떤 부분을 원하지 않는다면, 조심스럽게 빠져나오세요). 아주 광범위하게 말하자면, 스크립트 언어 또는 스크립트 언어에서 진화된 언어를 사용하는 프로그래머들은 IDE를 옵션으로서 여길 가능성이 많습니다.

4학년 선생님의 조언

막 시작한 학습자를 위해, 저는 포켓 계산기를 사용하는것 처럼 생각합니다. 당신이 4학년일때, 손으로 긴 나눗셈을 배웁니다. 하지만 그것을 익히고나면, 얼마나 자주 그것을 하는 데 고생합니까? 당신은 대신 포켓 계산기를 사용합니다. 마찬가지로 당신이 처음 배울때, 언어에 상관없이 손으로 코드의 실행을 따라가는 것은 좋은 방법입니다. 짧은 프로그램임에도, 당신은 많은 버그들을 만들 것입니다. 하지만, 당신이 만든 코드의 추적을 통해 코드에 대해 더 많은 것을 배우게 될 것입니다.

당신이 이 단계에서 작성할 프로그램들은 일반적으로 매우 짧을 것입니다. 그리고 당신은 전체 IDE의 대부분의 기능들을 놓치지 않을 것입니다. 만일 당신이 아직 익숙하지 않은 툴에 대한 우려가 없다면, 코드와 실행결과 사이의 피드백 루프를 단축시킬 수 있을 것입니다. 당신이 IDE에 대한 준비가 되기전의 기간은 며칠이나, 몇 주, 얼마나 빨리 배우느냐에 따라 매우 짧을 수도 있습니다. 경험에 비춰본다면, 코드를 파일에 입력할 때, IDE를 배우는 데 시간을 투자해야 합니다.

언어에 따라, IDE 없이 코딩하는 방법의 어떤 명령들을 얻는 것이 어려울 지도 모릅니다. 또는 시각적인 IDE 보다 컴파일러를 위한 더 불명확한 커맨드 라인 인터페이스를 찾을 수도 있습니다. 만일 자바스크립트를 배우기 시작한다면, 이 시리즈의 첫번째 포스트(어떤 언어를 먼저 배워야 할까?)에서 제가 추천한 것처럼, 필요한 모든 것은 텍스트 편집기와 브라우저입니다. 당신이 준비가 된 자바스크립트 IDE를 확실히 찾을 수 있음에도 불구하고 말입니다. 이 점을 명심할 필요가 있습니다.

결론은 당신이 프로그램을 배울 때 도구는 도움이 되어야지 장벽이 되어서는 안된다는 점입니다.
TAG :
댓글 입력
자료실

최근 본 상품0