- 프로그래밍 언어 & 디버깅, 빌드, 릴리스 등 [chapter 02 기본 미션]
1-1. 고수준 언어와 저수준 언어
기계어(저수준 언어) : 오로지 0과 1로만 이루어진 언어 ex) 1011011100011001
자연어(고수준 언어) : 사람의 언어나 표현 방식에 더 가까운 언어 ex) 숫자를 오름차순으로 정렬해줘
- 어셈블리어
숫자와 알파벳으로 이루어져 있지만, 기계어 한 줄 한 줄 직역하는 언어 (자연어와 기계어 사이 정도)
→ 복잡한 프로그래밍은 어렵지만, 기계에 세부적인 명령을 내리기에는 적합. 임베디드 개발자 사용↑
1-2. 컴파일 언어와 인터프리터 언어
컴파일 언어 : 프로그래밍을 마친 후, 코드 전체를 기계어로 번역한 다음 실행 파일을 생성해서 실행
특징: 컴파일 과정으로 인해 전체 개발 시간↑, 비교적 안전하고 프로그램 실행 속도가 빠름
ex) C, C++, C#, 자바, 타입스크립트, 코틀린, 스위프트, 스칼라, Go 러스트 등
인터프리터 언어 : 작성된 코드를 한 줄 한 줄 통역하면서 실행
특징 : 신속하고 유연한 개발 과정이 필요한 소프트웨어에서 많이 사용
ex) 자바스크립트, 파이썬, 루비, PHP, 펄, R 등
1-3. 확인 문제 풀기
- 1번 문제
이클립스 → 자바 프로그래밍 연습
엑스코드 → iOS용 카메라 앱 개발
비주얼 스튜디오 → 윈도우용 화면 캡처 프로그램 개발
안드로이드 스튜디오 → 안드로이드용 건강 관리 앱 개발
- 2번 문제
기계어 → 어셈블리어 → 파이썬(인터프리터 언어) → 영어(자연어)
- 3번 문제
정답 : ②
사람에게 낯설고 어렵다. → 기계어의 특징(저수준 언어) ex) 1011011100011001
- 4번 문제
저수준 언어이면서 기계어가 아닌 언어에는 어셈블리어가 있습니다.
기계어는 0과 1로 이루어져 있습니다.
- 5번 문제
코드를 읽으면서 해석하고 실행하는 것은 인터프리터 언어, 코드를 기계어로 바꾸는 과정을 거치는 것은 컴파일 언어입니다.
2-1. 디버깅 중인데, 빌드 해 보고 이상 없으면 릴리스할게요
내용 정리 : 디버깅, 빌드, 배포, 유지 보수, 리팩토링, 코드 리뷰, 문서화
2-2. 확인 문제 풀기
- 1번 문제
정답 : ②
빌드는 프로그래밍한 소스 코드를 묶어 실행 가능한 파일로 만드는 작업으로, 배포 전에 이뤄지는 작업이다.
- 2번 문제
- 개발자가 소프트웨어를 보다 쉽게 파악할 수 있도록 코드 중간에 포함된 설명을 주석이라고 합니다.
- 개발자가 프로그램의 작동을 확인하는 빌드에는 빌드 번호가, 테스트를 마치고 고객에게 최종 전달되는 빌드에는 버전 번호가 올라갑니다.
- 3번 문제
정답 : ②
리팩토링은 기능을 수정하지 않으면서 코드의 품질을 높이는 작업이다.
- 4번 문제
윈도우용 프로그램을 프로그래밍한 뒤 exe 파일로 내보내기 → 빌드
동료가 작성한 코드에서 수정할 부분 찾기 → 코드 리뷰
게임이 실행되는 동안 일어나는 오류를 찾아 원인 파악 후 해결하기 → 디버깅
모바일 앱을 앱 마켓에 업로드하기 → 배포
교통 정보 앱의 코드를 더 알아보기 쉽게 수정하기 → 리팩토링