디버깅(Debugging)
어원의 유래
초창기 컴퓨터에는 벌레(bug)가 들어가서 고장이 잘 났었는데,
이때 벌레(bug)를 찾아 치우는 일에서 디버깅(debugging)이라는 말이 유래됬다고함
코드가 길고 복잡해지면 머릿 속에서 다 둘러볼 수 없기에 코드의 일정 단계별로
확인할 수 있도록 하나씩 찾아보게된다
여러 프로그래밍 개발에 유용한 툴들인 vs code, IntelliJ 등에는 모두 디버깅 기능이 있다
1.소프트웨어에 문제가 생긴 것을 잡는 것
의도치 않은 상황에 자주 마주치게 되고, 코딩 중 상당한 시간이 디버깅에 할애된다
2. 개발중
배포라는 의미와 대비되서 아직 완성되지 않은 상태의 개발중이라는 의미로도 쓰인다
컴파일러(Compiler) & 인터프리터(Interpreter)
컴퓨터 언어는 0과 1로 구성되어 있다.
사람이 0과1로만 ㄱㄴㄷㄹ를 하나씩 다 한다고 상상해보자 정말 헬일 것이다.
쉽게 해석가능하다면 컴퓨터와 친구하자
컴퓨터의 언어를 사람이 알 수 있게
사람의 언어를 컴퓨터가 알 수 있게 또는 그 중간 단계로 변역해주는 작업과정에서
미리 해놓으면 컴파일러
실행할 때마다 통역하면 인터프리터
프로그래머들은 이런 특성을 고려해서 자신들이 만들려는 프로그램의 언어를 선택한다
컴파일 언어
번역 프로그램인 컴파일러가 사람이 작성한 소스코드를 사전에 번역 해놓는 것
이렇게 미리 컴파일 해놓는 컴퓨터언어들을 컴파일 언어라고 부른다
ex) C,C++ 등
인터프리터 언어(=스크립트 언어)
장점 : 코드 수정이 잦은 서비스의 경우 업데이트가 용이
단점 : 컴파일언어에 비해 느리다, 프로그래머가 짠 코드가 그대로 배포되어 사용되기에 코드가 보다 쉽게 노출되기 쉽다
ex) 자바스크립트,파이썬,루비 등
출처
https://www.youtube.com/watch?v=GYmuQJiPeM4
'프로그래밍 지식' 카테고리의 다른 글
[프로그래밍 용어] 캐멀 케이스(Camel Case) 스네이크 케이스(Snake Case) (0) | 2022.02.04 |
---|---|
[프로그래밍 용어] 플래그(flag) 변수 (0) | 2022.01.15 |
프로그래밍 기초 용어 : 빌드(build), 배포 (0) | 2022.01.13 |
[프로그래밍 용어] 환경변수, 라이브러리 & 프레임워크 (0) | 2022.01.13 |
[프로그래밍 용어] 절대경로(Absolute Path) & 상대경로(Relative Path)란? (0) | 2021.12.26 |