일반적인 컴파일러나 웹 브라우저만 해도 코드가 수십만~ 수백만행에 이르고 이러한 코드들을 수백에서 수천명의 사람들이 동시에 작업을 하기도 합니다.
2015년 구글이 밝힌 자료에 따르면 구글의 전체 코드는 약 20억 행이었다고 합니다 (지금은 그 이상)
모든것이 셀프인 세상
https://blog.naver.com/PostView.naver?blogId=pajlyoon&logNo=220803289127&categoryNo=467&parentCategoryNo=0
프로그래밍도 마찬가지로 처음부터 끝까지 모든것을 스스로 하는게 아닌 다른 사람들이 많들어 놓은 것들을 잘 이용해서 만들어내는데요,
폰트나 버튼모양 같은 가벼운 것들부터 네트워크 연결, 데이터베이스에 접근 혹은 그 데이터 베이스까지도 모두 있기때문에 프로그래밍을 하는 사람은 그것들을 참고하면서 자신만의 방법으로 작업을 진행합니다.
함수
: 어떤 프로그래머가 유용한 작업을 수행하는 코드를 작성하면 다른 프로그래머가 그 내부 작동 방식을 모르더라도 프로램에 사용할 수 잇는 형태로 코드를 패키지화 할수 있게 해준 것
생활 예시
세탁기는 빨래를 하려고 세탁기를 사용할 때 세탁기는 세탁 - 행굼 - 탈수 등의 순서로 진행을 합니다.
어차피 세탁기는 항상 같은 작업을 수행할 것이기 때문에 이러한 형태의 작업순서를 미리 저장해놓으면 매번 새롭게 작성할 필요가 없습니다.
프로그래밍에서의 함수 역시 이러한 함수 형태로 만들어서 사용할 하는게 더 효율적이기 때문에 많이 사용을 하게 됩니다.
Library
라이브러리는 함수들의 집합입니다. 프로그램을 만들때 기존에 만들어진 함수들을 재활용함으로 프로그램의 제작 시간과 노력을 줄일 수 있습니다.
framework와 비교했을때 각각의 함수들은 독립적으로 작동하기 때문에 필요한 함수만 호출하여 쓸 수 있습니다.
API
함수 라이브러리가 제공하는 서비스는 애플리케이션 프로그래밍 인터페이스 줄여서 API로 프로그래머에게 제공됩니다.
소프트웨어 개발 키트
프로그램이 일정 규모 이상으로 커지면 한번에 제대로 작동하지 않고 오류가 생기거나 계산 실수에 의한 결함등이 생기게 되는데 이러한 것들을 버그 라고 부릅니다.
버그의 어원 : 그레이스 호퍼라는 사람이 동료들과 작업중이던 기계식 컴퓨터인 하버드 마크2 에서 오류가 발생하였고 그 내부에서 말그대로 죽은 벌레(나방)을 발견하여서 여기서 유래가 되었다는 게 프로그래밍 측의 어원입니다.
버그를 일으키는 원인들
- 발생할 수 있는 경우를 깜빡하고 처리를 안했다.
- 어떤 조건을 평가하기 위한 논리 테스트나 산술 테스트를 잘못 작성했다.
- 잘못된 공식을 사용했다.
- 프로그램이나 프로그램의 특정 부분에 할당된 영역 밖에 있는 메모리에 접근했다.
- 특정 종류의 데이터에 잘못된 연산을 적용했다.
- 사용자 입력이 적합한지 검사하지 못했다.
- 실수로 대문자를 소문자로 적었다.
해커
라고 부릅니다.