독학/기타

[ 기타 ] 비주얼 스튜디오 코드 vs 비주얼 스튜디오

기싼 2022. 7. 19. 23:34

비주얼 스튜디오는 프로그래밍 공부를 시작하면서 가장 처음으로 접하고 오랫동안 사용한 통합 개발환경 ( IDE : Integrated Development Environment )이다.

 

하지만 최근에 github의 중요성을 알게되고 유튜브 강의를 통해 배우면서 비주얼 스튜디오 코드라는 IDE 를 접하게되었다. 

 

처음에는 비슷한 이름이고 색만 달라서 그냥 git에 커밋하기 위한 도구인줄 알았지만 사용하면 사용할 수록 비주얼 스튜디오 처럼 디버깅도 가능하고 그래서 대체 무슨 차이인지 모르겠어서 그 차이를 확인하고 정리하고자 이 글을 작성한다..

 

모든 정보는 구글링을 통해 확인한 내용을 이해한대로 작성한것입니다..

 

틀린 정보일수 있으니 주의하세요..

 


우선 비주얼 스튜디오는 IDE이고 비주얼 스튜디오는 소스코드 편집기인데 이 둘이 정확히 뭔지 몰라 구글링을 좀 해봤다.

 

IDE : integrated development environment

  • IDE의 기능
    1. 코딩 
    2. 디버깅
    3. 컴파일
    4. 배포
  • 과거의 개발환경
    • 과거에는 소프트웨어 개발할 당시 컴파일러, 텍스트 편집, 디버거 등을 따로 사용하면서 불편함이 있었다.
      • 예를들어 천공카드를 통해 프로그램을 입력한 후 컴파일러에 제출하는 방법
    • 이러한 프로그램들을 하나로 묶어 대화형 인터페이스를 제공하는 것이 IDE이다.
    • 현재에는 GUI 응용 프로그램 개발용 고속 개발 도구가 많다.
      • 고속 개발 도구 ( RAD : Rapid Application Developement ) 는 빠르고 쉽게 응용 프로그램을 만들수 있는 시각적 도구이다. 이 도구는 개발자가 원시 코드를 직접 짜지 않아도 프로그래밍의 자동화를 지원해줌으로 보다 쉽게 개발을 할수 있다.
  • 단점
    • 많은 기능을 포함하고 있으므로 프로그램 자체가 무겁다.

 

 

 

 

소스 코드 편집기 ( Source Code Editor )

  • 프로그래머에 의해 컴퓨터 프로그램의 소스 코드를 편집하기 위해 설계된 프로그램
  • IDE에 통합되어 있는 경우도 있다.
  • IDE에 비해 가볍다 라는 특징을 가진다.

 


 

비쥬얼 스튜디오

  • 마이크로소프트의 통합 개발환경
  • 리팩토링 지원이 탁월하다.
    • 리팩토링 : '결과의 변경 없이 코드의 구조를 재조정함'을 뜻한다. 주로 가독성을 높이고 유지보수를 편하게 한다. 버그를 없애거나 새로운 기능을 추가하는 행위는 아니다. 사용자가 보는 외부 화면은 그대로 두면서 내부 논리나 구조를 바꾸고 개선하는 유지보수 행위이다.
  • 닷넷 ( .NET ) 에 최적화된 프로그램
  • 프로그램이 무거워서 큰 프로그램을 디버깅할때 많은 시간이 소요된다.
  • 협업, 디버깅, 분석, 배치 등을 지원한다.
  • 무료 버전도 있지만 유로 버전에서는 고급 디버깅, 테스트 기능이 추가가 된다.
비주얼 스튜디오 코드

  • 마이크로소프트의 소스 코드 편집기
  • 디버깅, git 제어 등의 기능이 있다.
  • 제공하는 기능중 몇몇가지는 명령 팔레트와 json 파일을 통해 설정 후 사용할 수 있다.
  • 프로그램이 가벼워서 디버깅시 보다 적은 시간이 소요
  • 무료로 제공이 된다.














 

솔직히 아직 협업에서 일을 하지도 않고 다루는 프로그램의 코드가 최대 1000줄 뿐인 나에게는 둘다 똑같은 프로그램이다.

다만 비주얼 스튜디오 코드를 사용하면 프로그램 자체에서 git제어가 가능하므로 비주얼 스튜디오 코드를 좀 알아볼 필요가 있다고 생각하였다.

 

협업에서도 개인의 개발 스타일에 따라 무엇을 사용할지 선택하면 된다.

 

비주얼 스튜디오 : 테스트 위주의 개발, 한번에 몇시간씩 개발을 한다면 비주얼 스튜디오가 좀더 좋은 선택이다.

 

비주얼 스튜디오 코드 : 데이터 과학계에서 인기, 리눅스 환경에서 사용 가능, 개발 작업과 여러 다른 작업을 한다면 프로그램이 가벼운 코드가 좀더 효율적 ( 디버깅에 시간이 별로 안걸려서 )