본문 바로가기
IDE/IntelliJ IDEA

인텔리J(IntelliJ) 를 쓰는 이유 (장단점)

by dev.altkey 2017. 3. 8.


* 본 포스팅은 개인적인 주관이 많이 들어간 포스팅입니다.


* 인텔리J (IntelliJ)?

Java 진영의 개발툴(IDE) 에는 주로 3가지가 있습니다.


    • 이클립스 재단의 Eclipse
    • JetBrains 사의 IntelliJ IDEA 줄여서 (IJ)
    • 썬 마이크로시스템에서 개발한(Oracle...) 의 NetBeans


즉 Java 개발 툴(IDE) 중 하나인 프로그램입니다.


여기서 이클립스는 오래되기도 했고 불편하다면 주로 Plugins 형태로 제공이되기 때문에 많이 사용하는 것으로 알고있습니다.

인텔리J는 이클립스의 IDE의 장점과 Visual Studio (이하 VS) 의 장점을 잘 섞어논 IDE라고 생각합니다.

넷빈즈는 사용을 안해봐서 잘 모르겠습니다.


여담으로 이전에 C#을 공부하면서 친절한티스님을 팔로우를 하는데 작년에 이런 트윗을 하신적이 있습니다. 

저도 공감이 가는것이 이전에 대학시절 이클립스가 싫어 C 계열 개발자가 되겠다고 생각하기도 했습니다.

지금은 뭐... 이클립스도 이전에 비해 안정화가 되어 (저는 배울때 Eclipse Juno 로 시작했습니다. 그리고 2년뒤쯤 Luna 를 써보고 많이 나아져서) 크게 상관이 없다고 생각합니다.



(밤중에 XP 지원끊어버리고 싶으시다는 트윗의 이후)

(문제가 된다면 삭제 혹은 변경하도록 하겠습니다.)


* 이클립스와 비교했을때의 장점? (부제 : 제가 쓰는 이유)

첫째. 상당한 IDE의 안정성

이클립스를 사용하다보면 점점 프로그램이 무거워지고 특히나 플러그인 설치 충돌이 일어나거나 호환성에 문제가 간혹 발생하기도 합니다.

이클립스에서는 특정 에러에서는 프로젝트 클린으로 해결되는 경우가 있는데 이럴때 느껴지는 허무함은 2배 3배 상승합니다.

하지만 인텔리J를 개인 프로젝트로 사용을 했을때 위와같은 두 문제에 대해서는 일어나 본적이 없습니다.


둘째. Java 개발 퍼포먼스 상승

Java 개발을 보통 준비시간이 상당한 시간을 차지한다고 합니다. 하지만 인텔리 J에서는 편하게 VS처럼 단계별로 설정후 프로젝트를 거의 바로 시작해도 될만큼 초기 준비시간이 단축됩니다.

또한 이클립스에 비해 Code Assist가 안정적으로 느껴집니다. (이클립스는 처음 Ctrl + Space로 Code Assist 시 렉이 발생)


셋째. Plugin 지원

이클립스의 최대장점은 플러그인을 설치하여 편리하게 많은 확장이 가능합니다. 인텔리J에서도 동일하게 지원합니다. 제가 이것을 장점으로 둔 이유는 이클립스는 플러그인 조합도 신경써야하고 충돌이 일어날 가능성이 비교적 높은 편입니다. (최근에는 많이 줄었습니다.) 더구나 필요한 플러그인들만 있는 느낌에 설치를 해도 많이 느려지지 않는 것이 장점이라고 생각합니다.


* 이클립스와 비교했을때의 단점?

첫째. 프로젝트 기반의 워크스페이스 (다른 폴더구조)

부연설명을 하자면 한 IDE의 창에 한개의 프로젝트만 열리는 구조입니다. VS와 같은 구조입니다.

어찌보면 저는 처음 프로그래밍을 배웠을때 VS의 노예여서 그런지 크게 거부감은 없는편입니다. 하지만 웹 개발을 하면서 느낀것은 MVC 패턴을 프로젝트별로 나눌때 인텔리J에서는 정말 난감합니다. 어찌보면 Java에서는 이클립스를 많이 사용하다보니 나오는 형태인것 같기도 합니다.


둘째. 유료

지식산업(IT)을 먹고사는 사람이라면 불법보단 구매하시는 분들이 많이 있습니다. 가능한 한 저도 구입을 하고 불가능하다면 오픈소스를 사용합니다. 아직 취직이 안되어서 학생의 가호로 인텔리J를 사용하고 있습니다. 개인사용자로는 3년에 89달러이지만 기업용으로는 3년에 299달러 입니다. 그런데 회사에서 개인만 사용하기에는 라이센스도 잘 모르겠지만 무엇보다 3년에 10만원이라는 가치를 할까? 하면 조금은 의문입니다. 하지만 회사내 사원전체 인원이 사용한다면 가치는 있다라고 생각합니다.


조금은 오해의 소지가 있을 수는 있지만 제가 얘기하고싶은 것은 SI를 할때 통합적인 개발 빌드 환경을 꾸려 하게되는 것으로 알고있는데 다른 IDE로 일어나는 이슈도 있을것이라 판단하여 즉 완벽한 Eclipse와 호환은 아니기때문에 결국 최후에는 생산성이 비등하지 않나 싶습니다. 하지만 통합적으로 인텔리J를 쓴다면 확실히 효과는 있다고 생각해서 썼습니다.


셋째. 맛깔나는 오픈소스진영 연동 플러그인의 부재

제가 아직 인텔리J의 사용이 미숙해서 그런지 이클립스에서 제공하는 Mylyn Task 중 RedMine 이라든지 기타 아직 오픈소스로써의 발전을 하고있는 프로젝트의 경우 인텔리J 와의 플러그인 연동이 아직 많이 부족합니다. 위에서 장점으로도 썼지만 있다면 확실히 있지만 기술 사용 변화가 빠른 웹개발의 반응에는 간혹 늦어지고 있다고 생각이됩니다. 어떻게보면 유료 IDE다보니 사용자층이 Eclipse 에 비해 낮기때문이 아닌가 싶습니다.


* 마치며...

앞에서 3가지의 장단점을 비교후 종합하여 내린결론은 하나로 압축이 될 수 있습니다.


"개인 개발이라면 확실히 퍼포먼스를 내나 개인(나)만 사용하는 기업에서는 의문"


더불어 제 개인적인 생각은


"Java 개발 IDE 툴중 Visual Studio 와 견줄만한 놈입니다."


이상으로 포스팅을 마치도록 하겠습니다. 아마 시간이 될때 인텔리J 를 이클립스와 같이 쓰도록 하는 세팅 포스팅으로 돌아오도록 하겠습니다.


 

댓글