안녕하세요.
이번에는 프로그램관 관련된 용어에 대하여 한번 개념 정리를 해볼까 합니다.
작년에 신입사원이 들어오고나서 교육하느라 이리저리 하다보니 나름 노하우가 생긴거 같아서
공유해보면 좋을 거 같네요.
가장 기본부터...
프로그램이 뭔지 물어보면 막상 다들 대답을 못합니다.
저의 면접에 빠지지 않는 질문이기도 하고요.
1. 프로그램 이란
- 여기서는 computer programming 을 말합니다.
뭐 면접장에서 나올 것 같은 질문인데 아마 회사보다는 공대 면접장에서 교수들이 할 질문 같이 보이는 군요,
위키에서 보면 아래와 같이 정의하고 있습니다.
프로그래밍은 기법, 과학, 수학, 공학, 심리학적 속성들을 가지고 있다. https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%93%A8%ED%84%B0_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%93%A8%ED%84%B0_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D
그럼 이제는 프로그램이 무언지 알기 위하여 "알고리즘" 이 무언지 "프로그래밍 언어" 가 무언지 알아야 겠군요,
2. 알고리즘 이란
- 역시 위키에서 보면
언어학 또는 관련 분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차나 방법을 공식화한
형태로 표현한 것을 말한다.
- 다시 말하면 "문제 해결을 위한 절차,방법을 공식화한 형태로 표현한 것" 이군요.
3. 프로그래밍 언어 란?
- 위키 위키 위키~~~
고급 언어일수록 사람이 사용하는 언어에 가깝다.
- 정리하면 "컴퓨터를 동작시키는 소프트웨어"
4. 따라서 프로그램이란
- 어떤 문제 해결을 위하여 절차,방법을 공식화한 형태를 컴퓨터를 동작시키는 소프트웨어로 구현하는 기술
- 로 정의할 수 있겠네요.
- 더 쉬운말로
1) 해결하여야 할 문제가 있고
2) 이를 해결할 공식화된 원칙을 설계하고
3) 설계된 것을 프로그래밍 언어를 사용하여 구현하여 ,
4) 문제를 해결하는 방법 또는 기술
5. 계속 고찰해보면
1) 문제 발생 -> 무언거 해결해야할 문제가 있다는 거지요. 문제가 없다면 해결할 이유도 없음.
2) 원칙을 설계
-> 근데 이게 무언가 규칙성을 찾아서 단순하게 바꾸어야 된다는 겁니다.
-> 이게 설계인데 이 힘은 공학(물리,화학) 또는 수학을 통하여 길러지는 힘입니다.
-> 수학이 바로 복잡한 자연현상 등을 숫자를 이용하여 한줄의 수식으로 설명하는
놀라운 알고리즘의 변환 과정을 경험하고 배울 수 있습니다.
-> 수학 못하면 2) 번을 못하고 3)번만 할 줄 알게 됩니다. 주로 코더라고 부르죠.
3) 프로그램 언어를 사용하여 구현
-> 수학에서는 숫자를 이용하여 알고리즘을 표현하고
-> 프로그래밍에서는 프로그램 언어를 사용합니다.
-> 언어라는 것은 영어를 보면 알듯이 일단 단어암기 및 문장구조 규칙을 배워야 되죠.
-> 신기한 것은 같은 단어와 문법구조를 가지고 사람을 마음을 감동시키는 대작을 쓰듯이,
프로그램도 구현하는 사람에 따라 노벨문학상 못지 않은 대작을 구현하시는 분들도 있다는 겁니다.
-> 저희 같은 범인들은 그냥 대가의 코드를 보면 눈물한번 찔끔하고 열심히 ctrl-c ,v!
4) 이렇게 해서 문제를 해결해야죠.
6. 이게 "프로그래밍"입니다.
이제 여러분들이 어떤 작업을 하고 계시는 지 내가 어디에 위치해 있는지 명확히 깨달으셨으면 합니다.
어느 분야에서건 "용어 정의" 및 "용어 이해" 가 중요합니다.
다음번엔 CPU,메모리,캐쉬 등으로 차례로 한번 용어에 대하여 적절한 예를 들어가면 설명해보겠습니다.
지루한 내용일 수도 있는데 읽어주셔서 감사드립니다~~
'프로그램 언어' 카테고리의 다른 글
바보 컴퓨터 (0) | 2022.05.28 |
---|---|
C프로그램시 초보자가 잘하는 실수 (0) | 2022.05.28 |
프로그램 하는 방법의 변화 (초보와 경력자) (0) | 2022.05.27 |
버그 덜나는 코드 작성법 #3 (0) | 2022.05.27 |
버그 덜나는 코드 작성법 #2 (0) | 2022.05.27 |