관리 메뉴

피터의 개발이야기

IDE란 무엇인가? 본문

DevTool

IDE란 무엇인가?

기록하는 백앤드개발자 2020. 12. 18. 08:00
반응형

공부를 하는 중에 IDE란 단어를 자주 보았다.
공부한 의미를 정리해 본다.

 

IDE(Integrated Development Environment, 통합 개발 환경)

통합 개발 환경(Integrated Development Environment, IDE)이란 공통된 개발자 툴을 하나의 그래픽 사용자 인터페이스(Graphical User Interface, GUI)로 결합하는 애플리케이션을 구축하기 위한 소프트웨어이다. 일반적으로 IDE는 다음과 같은 요소로 구성되어 있습니다.

 

  • 소스 코드 편집기: 시각적 신호를 활용한 구문(Syntax) 강조와 같은 기능을 포함하여 소프트웨어 코드를 작성하도록 돕는 텍스트 편집기로서, 언어별 자동 완성 기능과 코드 작성 중 버그 검사를 제공합니다.
  • 로컬 빌드 자동화: 컴퓨터 소스 코드를 바이너리 코드로 컴파일링하고, 바이너리 코드를 패키징하고 자동화 테스트를 실행하는 등 간편하고 반복 가능한 태스크를 개발자가 사용하는 소프트웨어의 로컬 빌드를 생성할 때 자동화해주는 유틸리티입니다.
  • 디버거: 원본 코드에 있는 버그 위치를 그래픽으로 표시할 수 있는 다른 프로그램을 테스트하는 프로그램입니다.

 

IDE의 역사

 

IDE는 초기에는 콘솔이나 터미널을 통해서 개발이 가능했다. 초기 시스템들은 프로그램들이 플로차트를 사용하여 만들어진 후 천공카드 (또는 종이 테이프 등)로 프로그램을 입력시킨 다음 컴파일러에 제출하는 방식이었기 때문에 IDE를 지원하지 못했다. 다트마우스 베이직은 IDE와 통합된 최초의 언어로 간주된다. 이 IDE는 명령어 기반이었기 때문에 그래픽 사용자 인터페이스의 출현 이후에 대중화된 메뉴 구동식의 그래피컬한 IDE와 닮지 않았다. 그러나 이 도구는 현대의 IDE에 꾸준히 포함되는 편집, 파일 관리, 컴파일, 디버그, 실행 기능을 통합하였다.

마에스테로 I은 Softlab Munich의 제품으로, 소프트웨어를 위한 세계 최초의 통합 개발 환경이었다. 마에스테로 I은 전 세계 22,000명의 프로그래머들이 설치, 사용하고 있다.

2015년 3월 기준으로 가장 대중적인 IDE로는 이클립스와 비주얼 스튜디어가 있다.

 

 

개발자들이 IDE를 사용하는 이유는 무엇일까?


IDE를 사용하면 설정으로 여러 유틸리티를 통합하여 사용할 수 있다. IDE안에는 소스에 대한 컴파일링, 소스에대한 시각적 강조 및 자동 완성 기능이 통합적으로 적용되어 있다. IDE 단어가 뜻하는 그대로 소스 코드의 편집, 컴파일, 디버깅을 한꺼번에 할 수 있는 통합 개발 환경이다. 자바 응용 프로그램 개발에 현재 가방 많이 사용되고 있는 IDE는 이클립스이다. 이클립스는 IBM에 의해 만들어진 오픈소스 소프트웨어이므로 무료로 다운로드하여 사용할 수 있다.

 

Eclipse IDE의 중요한 특징은 다음과 같다. 

 

  • 지원되는 언어의 수: 이클립스는 자바를 기본적으로 지원하지만, 파이썬, 펄, 루비, 포트란, C, C++, PHP, 코볼, JSP 등과 같>은 언어들도 추가적으로 설치할 수 있다. 각 언어의 추가 설치본은 각자 고유의 디버거를 비롯한 다양한 도구들을 가지고 있다.
  • 지원되는 운영 체제(OS): 실행하는 환경과 더불어 최종 개발 애플리케이션에 따라 그 특성이 분명해진다. 특히, Android 또는 iOS는 환경이 매우 차이가 난다.
  • 자동화 기능: 대부분의 IDE가 텍스트 편집기, 빌드 자동화 및 디버거라는 3가지 주요 기능을 포함하지만, 많은 IDE는 리팩토링, 코드 검색 과 같은 추가 기능도 지원한다. 
  • 플러그인 및 확장 기능: 일부 IDE는 개발자들의 요구 사항 및 선호 사항에 맞춰 워크플로우를 커스터마이징하는 기능을 포함합니다.

 

 

 

참고

www.redhat.com/ko/topics/middleware/what-is-ide

ko.wikipedia.org/wiki/통합_개발_환경

 

 

 

 

반응형
Comments