



IDE(Integrated Development Environment)는 통합 개발 환경이다.
개발자들이 코딩할 때 도움이 되는 기능을 모아둔 프로그램이다. 코드 작성부터 디버깅, 컴파일, 배포까지 모든 단계를 지원하여 개발 생산성을 높여준다.
코드 편집기, 컴파일러/인터프리터, 디버거, 프로젝트 관리 도구, 버전 관리 시스템, 플러그인/확장 기능, 빌드 자동화 도구 등으로 구성된다.
대표적인 IDE로는 Visual Studio Code, Intellij IDEA, Eclipse, PyCharm 등이 있고, 특별하게 뛰어나다는 느낌 없이 고만고만 했던 것 같다.
// 컴파일러: 프로그래밍 언어를 컴퓨터 언어(머신코드)로 바꾸어 주는 것
// 인터프리터: 개발자 컴퓨터에서 프로그래밍 언어를 사용자 컴퓨터로 넘겨서 사용자 컴퓨터에서 번역한다. 컴파일러에 비해 느리고 코드가 유출될 위험성 있지만, 용량이 작다.
프로그래밍에서는 라이브러리나 프레임워크, 심지어 프로그래밍 언어까지 선택해야 할 것이 많다. 너무 많다. 그리고 이 선택들은 되돌리기 어려울 뿐 아니라, 선택지가 많고 빠르게 바뀌어서 결정하기 쉽지 않다. 올바른 선택을 위해서는 트렌드를 읽고 나의 목적에 맞는지 등 스스로 판단할 수 있는 능력을 길러야 합니다.
좋은 기술은 자연스레 많은 사람들이 사용한다. 많은 사람들이 사용하면 커뮤니티가 활발해 지고, 좋은 토론과 자료들이 많이 만들어 진다. 좋은 토론과 자료를 통해, 더 많은 사람들이 기술을 선택하게 된다.
활발한 기술은 좋은 자료를 쉽게 찾을 수 있고, 커뮤니티에서도 빠른 답변을 기대할 수 있기 때문에 빠르게 배우고 빠르게 문제를 해결할 수 있다. 혹은, 이미 나와 같은 일을 겪은 사람들의 질문과 답변도 많이 발견할 수 있다.
여러 회사들이 선택한 기술은 주로 뛰어난 개발자들의 많은 고민과 상의 끝에 내려진 결정이다. 이유가 있다는 것이다. 물론 규모나 목적에 따라 더 적합한 기술이 달라질 수 있겠지만, 참고하면 나쁠 것은 없다.
관련하여 StackShare를 통해 유명한 회사들이 사용하는 기술을 알 수 있다. 하나의 회사에서 사용하는 기술들을 모아서 “기술 스택(Stack)”이라고 표현하기도 한다.
기업에서 직접 만들거나 관리하는 기술도 있습니다. 예를 들어 React는 페이스북에서, AngularJS는 구글에서 관리를 하고 있다. Java는 오라클의 소유이고, Swift는 애플에서, Go는 구글에서 만든 언어이다.
든든한 지원군이 있으면 기술이 안정적으로 성장할 가능성이 높다. 지속적인 업데이트와 기술 지원은 점점 더 많은 사용자를 끌어당긴다.
트렌드가 바뀌면, 개발자의 실력과 관계 없이 입지가 늘어날 수도, 줄어들 수도 있다. 그래서 기술을 선택할 때는 이 점을 고려해야 한다.
단순히 프로그래밍 분야의 트렌드만 파악할 것이 아니라, IT 혹은 산업 전반에 대한 이해를 가지고 판단해야 더 정확하게 판단할 수 있다. IT 산업은 워낙 변화의 속도가 빠르기 때문에, 늘 귀를 열어두어야 하는데, 가트너에서는 매년 10대 전략 기술 트렌드를 발표하니 참고하자.