2016.10.06

ITWorld 용어풀이 | IDE

허은애 기자 | ITWorld
장인은 도구를 탓하지 않는다지만, 멀티 플랫폼 시대의 개발자에게 메모장 하나만 던져주고 모든 운영체제와 브라우저에 적합한 앱을 만들어오라고 주문할 수는 없을 것입니다.

컴퓨터가 어떤 작업을 수행하게 하려면, 컴퓨터가 이해할 수 있는 프로그램 언어로 소프트웨어를 만들어야 합니다. 개발자는 코드 에디터에서 프로그램 소스 코드를 작성하고, 컴파일과 최적화를 거쳐 기계어로 번역하고 실행 파일을 생성합니다. 컴파일 및 링크 과정에서 에러가 생기면 다시 소스 코드 에디터로 돌아가 여러 번의 수정을 거쳐야 하고, 실행 단계에서 에러가 나면 프로그램의 구조를 훑어보면서 오류를 제거하는 디버깅 과정도 거칩니다.

소프트웨어 개발에 필요한 일련의 기본 개발 도구를 통합한 것이 바로 통합개발환경(Integrated Development Environments, IDE)입니다. 개발 과정에서 따로 놀던 코드 에디터, 컴파일러, 인터프리터, 디버거 등의 도구가 하나로 합쳐져 있어 개발자가 단일 GUI에서 바로 코드 빌딩을 시작해 테스트, 배포 과정까지 완료할 수 있다는 장점이 있습니다. IDE는 코드 쓰기나 프로그램 테스트에 집중된 UI를 제공하므로 개발자는 빠르게 코드를 수정하거나 프로그램을 리컴파일하는 등의 작업을 할 수 있습니다.

IDE는 독자적인 애플리케이션일 수도 있고, 기존의 호환 애플리케이션의 일부분으로 포함되기도 합니다. 제품에 따라 특정 언어만을 지원하기도 하고, 자바, JSP, 루비, PHP, Node.JS, C++ 등 다양한 언어를 지원하기도 합니다. 기업용 라이선스는 대부분 유료로 판매하지만, 개인 개발자는 무료로 배포하는 제품을 골라도 됩니다.

안드로이드 스튜디오의 메뉴 바

일반적인 IDE의 메뉴 바는 워드 편집 프로그램과 유사합니다. 컬러코딩, 소스 코드 포맷, 에러 진단 등의 기능을 메뉴 형태로 나타내고, 개발자가 코드를 덧붙이고 컴파일하고 실행할 수 있는 인터페이스로 이루어져 있습니다. 깃허브나 아파치 서브버전(Apache Subversion) 등 서드파티 IDE와 통합하는 기능도 제공합니다. 현업에서 널리 쓰이는 대표적인 IDE로는 넷빈즈(NetBeans), 이클립스(Eclipse), 인텔리제이(IntelliJ), 마이크로소프트의 비주얼스튜디오(Visual Studio), 구글의 안드로이드 스튜디오(Android Studio) 등을 들 수 있습니다.

넷빈즈의 프로젝트 뷰 기능

한편, IDE 업계에도 클라우드라는 바람이 불고 있습니다. 클라우드 IDE의 장점은 어디에서든 웹 브라우저에 로그인만 하면 소프트웨어 개발 도구에 접근할 수 있고, 별도의 다운로드와 설치 과정이 필요 없다는 것입니다. 오피스 프로그램을 설치하지 않아도 구글 문서로 대부분의 문서 작성 작업을 할 수 있는 것처럼요. 제품에 따라 로컬, 전용 클라우드나 드롭박스, 깃허브 등 다양한 저장 방식을 제공합니다.

여러 명이 동시에 코드를 수정하는 등 자유로운 협업이 가능한 것도 편리한 점입니다. 교육 기관에서 큰 비용 없이 프로그래밍 언어를 교육하는 수단이 될 수도 있습니다. 다만 데스크톱 IDE의 모든 기능을 완전히 대체하기는 어렵습니다. 웹 브라우저의 형태를 띤 소스레어(sourceLair), JS피들(JSFiddle), 지난 6월 아마존웹서비스에 인수된 클라우드9(Cloud9), 코드엔비(Codenvy), 국산 클라우드 IDE 구름(Goorm) 등을 눈여겨볼 만합니다. editor@itworld.co.kr  


2016.10.06

ITWorld 용어풀이 | IDE

허은애 기자 | ITWorld
장인은 도구를 탓하지 않는다지만, 멀티 플랫폼 시대의 개발자에게 메모장 하나만 던져주고 모든 운영체제와 브라우저에 적합한 앱을 만들어오라고 주문할 수는 없을 것입니다.

컴퓨터가 어떤 작업을 수행하게 하려면, 컴퓨터가 이해할 수 있는 프로그램 언어로 소프트웨어를 만들어야 합니다. 개발자는 코드 에디터에서 프로그램 소스 코드를 작성하고, 컴파일과 최적화를 거쳐 기계어로 번역하고 실행 파일을 생성합니다. 컴파일 및 링크 과정에서 에러가 생기면 다시 소스 코드 에디터로 돌아가 여러 번의 수정을 거쳐야 하고, 실행 단계에서 에러가 나면 프로그램의 구조를 훑어보면서 오류를 제거하는 디버깅 과정도 거칩니다.

소프트웨어 개발에 필요한 일련의 기본 개발 도구를 통합한 것이 바로 통합개발환경(Integrated Development Environments, IDE)입니다. 개발 과정에서 따로 놀던 코드 에디터, 컴파일러, 인터프리터, 디버거 등의 도구가 하나로 합쳐져 있어 개발자가 단일 GUI에서 바로 코드 빌딩을 시작해 테스트, 배포 과정까지 완료할 수 있다는 장점이 있습니다. IDE는 코드 쓰기나 프로그램 테스트에 집중된 UI를 제공하므로 개발자는 빠르게 코드를 수정하거나 프로그램을 리컴파일하는 등의 작업을 할 수 있습니다.

IDE는 독자적인 애플리케이션일 수도 있고, 기존의 호환 애플리케이션의 일부분으로 포함되기도 합니다. 제품에 따라 특정 언어만을 지원하기도 하고, 자바, JSP, 루비, PHP, Node.JS, C++ 등 다양한 언어를 지원하기도 합니다. 기업용 라이선스는 대부분 유료로 판매하지만, 개인 개발자는 무료로 배포하는 제품을 골라도 됩니다.

안드로이드 스튜디오의 메뉴 바

일반적인 IDE의 메뉴 바는 워드 편집 프로그램과 유사합니다. 컬러코딩, 소스 코드 포맷, 에러 진단 등의 기능을 메뉴 형태로 나타내고, 개발자가 코드를 덧붙이고 컴파일하고 실행할 수 있는 인터페이스로 이루어져 있습니다. 깃허브나 아파치 서브버전(Apache Subversion) 등 서드파티 IDE와 통합하는 기능도 제공합니다. 현업에서 널리 쓰이는 대표적인 IDE로는 넷빈즈(NetBeans), 이클립스(Eclipse), 인텔리제이(IntelliJ), 마이크로소프트의 비주얼스튜디오(Visual Studio), 구글의 안드로이드 스튜디오(Android Studio) 등을 들 수 있습니다.

넷빈즈의 프로젝트 뷰 기능

한편, IDE 업계에도 클라우드라는 바람이 불고 있습니다. 클라우드 IDE의 장점은 어디에서든 웹 브라우저에 로그인만 하면 소프트웨어 개발 도구에 접근할 수 있고, 별도의 다운로드와 설치 과정이 필요 없다는 것입니다. 오피스 프로그램을 설치하지 않아도 구글 문서로 대부분의 문서 작성 작업을 할 수 있는 것처럼요. 제품에 따라 로컬, 전용 클라우드나 드롭박스, 깃허브 등 다양한 저장 방식을 제공합니다.

여러 명이 동시에 코드를 수정하는 등 자유로운 협업이 가능한 것도 편리한 점입니다. 교육 기관에서 큰 비용 없이 프로그래밍 언어를 교육하는 수단이 될 수도 있습니다. 다만 데스크톱 IDE의 모든 기능을 완전히 대체하기는 어렵습니다. 웹 브라우저의 형태를 띤 소스레어(sourceLair), JS피들(JSFiddle), 지난 6월 아마존웹서비스에 인수된 클라우드9(Cloud9), 코드엔비(Codenvy), 국산 클라우드 IDE 구름(Goorm) 등을 눈여겨볼 만합니다. editor@itworld.co.kr  


X