:pushpin: 학습목표!

  • 컴픁와 소통하기 위한 언어의 종류
  • 통합 개발 환경(IDE)




:book: 프로그래밍 언어

사람이 컴퓨터에 명령을 내릴 떄 사용하는 언어
단순한 작업도 컴퓨터가 이해하려면 매우 복잡하고 많은 과정을 명령으로 입력해야함
사람과 컴퓨터 사이에 소통하기 위해 만들어진 것




:book: 프로그래밍 언어가 다양한 이유

사람의 입장에서 다양한 요청과 수요(쉽고 안전하고 작동이 빠르게 등)에 따라 계속 새로운 언어가 등장
대표적인 프로그래밍언어 C JAVA python javascript
프로그래밍 언어는 문법과 구문 대다수를 공유하고 비슷한 요소로 구성됨
=> 하나를 익히면 다른 언어로 작성된 코드도 쉽게 읽을 수 있음
프로그래밍 언어는 9000개, 실제 사용 언어는 훨씬 적음
프로그래밍 언어는 각각 사용분야와 사용처가 다름




:book: 고수준 언어와 저수준언어

:round_pushpin: 기계어
컴퓨터가 CPU에서 명령을 처리할 때 사용하는 언어

:round_pushpin:프로그래밍 언어
0과 1만으로 사람이 명령을 내리는 것은 매우 힘든일
=> 사람의 언어와 기계의 언어 사이에 중간 다리 역할을 해주는 언어

:round_pushpin: 고수준 언어 vs 저수준 언어
컴퓨터 언어와 사람 언어(자연어) 중 가까운 쪽에 따라 고수준 언어와 저수준 언어로 나뉨

  • 고수준 언어 : 사람의 언어에 가까운 것

    컴파일 언어 인터프리터 언어
    프로그래밍을 마친뒤
    코드 전체를 미리 기계어로 번역(컴파일) 한 다음
    실행 파일을 생성하여 실행 하는 언어
    작성된 코드를 한줄씩 통역하면서 실행
    컴파일로 개발 시간이 늘어나지만
    오류로 부터 안전
    신속하고 유연한 개발 가능
    c c++ java typescript kotlin swift scala Go Rust javascript python Ruby PHP R
  • 저수준 언어 : 기계어에 가까운 것

:round_pushpin: 어셈블리어
고수준 언어와 기계어 사이에 존재
기계어 외 유일하게 저수준 언어에 속함
기계에 직접 세부적인 명령을 내리기 유용함 => 임베디드 개발자 많이 사용




:book: IDE

통합 개발환경 IDE(integrated development environment)
코딩을 비롯해 개발에 필요한 각종 작업을 도와주는 프로그램
개발자가 잘못된 코드를 작성하지 않도록 도와주는 프로그램

  • 코드를 편리하게 실행 가능
  • 각 기능을 쉽게 테스트하고 오류 원인을 친절히 알려줌
  • 비효율적이거나 반복 부분을 재구성해줌
  • 온라인 협업을 도와줌

개발자는 프로그래밍 언어나 소프트뒈어 종류에 따라 적합한 IDE 활용

| 이클립스

Java 시 많이 사용

| 인텔리제이

이클립스와 비슷한 용도, 더 강력한 기능
모든 기능사용을 위해 유료 정기권 구입
Java 시 많이 사용

| 파이참

유료 버전, 무료 버전
python 특화

| 안드로이드 스튜디오

인텔리제이의 안드로이드 개발용 버전
java나 kotlin으로 안드로이드 앱을 만듦

| 엑스코드

Mac 에서 사용가능
swift를 사용하여 아이폰 앱이나 맥용 프로그램 만듦

| 비주얼 스튜디오

MS 개발 IDE
다양한 소프트웨어 개발
무겁지만 강력

| 비주얼 스튜디오 코드

MS 개발 IDE
광범위한 종류의 개발
본 프로그램 자체는 가벼운 코드 편집 위주의 기능만 포함 => 코드 에디터로 구분
원하는 프러그인을 추가해 IDE로 구성가능




:100: 미션 인증

image

댓글남기기