# 2.1.2 통합개발 환경의 등장

&#x20;개발 생산성을 향상시키기 위한 방법론적 시작은 단순히 소스 코드를 작성하던 편집기에 컴파일러를 연동할 수 있는 기능을 제공하는 것에 불과했습니다. 편집기에서 소스 코드를 작성한 수 단축키나 정해진 버튼을 클릭하면 연결된 컴파일러를 실행하여 그 결과를 바로바로 콘솔창에 보여주는 수준이였죠. 점점 발전하여 소스 코딩과 컴파일, 실행, 디버깅, 그리고 배포 환경 등의 여러 가지 툴을 하나로 갖춘 통합적인 개발 도구의 필요성이 증대되어 갔습니다.&#x20;

&#x20;이 과정에서 윈도우나 맥 OS, 리눅스의 X-Window, iOS나 안드로이드 등 그래픽 사용자 인터페이스를 기반으로 하는 다양한 운영체제들이 등장하면서, 소프트웨어 개발 시 UI 작업을 좀 더 쉽게 할 수 있는 도구들까지 만들어졌습니다. 다양한 툴들이 통합된 결과, 소스 코딩부터 디버깅 뿐만 아니라 사용자 화면을 직접 그리거나 데이터 구조를 설계하고, 코딩의 편의를 돕는 자동 완성 기능까지 포함된 툴들이 등장하게 되었습니다. 이른바, 통합개발 환경(Integrated Development Environment, IDE)의 탄생입니다.&#x20;

&#x20;통합개발 환경은 프로그래밍 개발과 관련된 모든 작업을 하나의 프로그램 안에서 처리할 수 있도록 개발 환경을 통합적으로 제공해주는 툴로서, 다른 툴을 더 설치해야 할 필요가 거의 없을 뿐 아니라 내부에 포함된 여러가지 도구가 서로 연동되기 때문에 개발 생산성을 극대화할 수 있다는 장점이 있습니다. 현대 프로그래밍에 와서 이들 통합개발 환경이 소프트웨어 개발에 미치는 영향은 무척 지대해서 이제는 IDE 없이 단순히 SDK만으로 상용 소프트웨어를 만든다는 것이 거의 불가능한 일이 되어 버렸습니다.
