컴퓨터 프로그래밍이란 '생각'이고 코딩은 '글쓰기'
PHP, javaScript, C, BASIC 이런 언어를 배우는 것이 프로그램을 배운다고 착각 하는 사람들이 있는데 그런 것이 아닙니다. 이런 것은 프로그램 한것을 표현하기 위한 도구에 불과 합니다. 그럼 전혀 별개냐 그렇지는 않고 국어 잘하는 사람은 영어도 잘하고 그렇잖아요. 그리고 보통은 운동도 잘합니다. 프로그램 잘 하는 사람이 구조적으로 코딩도 잘 합니다.
쉽게 말하면 프로그램 언어는
C언어, PHP, 코볼 같은 프로그래밍 언어는 연필, 크레용, 붓 같은 것
-> 도구일 뿐 (연필, 크레용, 붓처럼)
그렇다면 프로그래밍은?
문제찾기, 해결 방법 생각하기, 우선순위 정하기(계획세우기) = 생각하는 힘, 문제 해결 능력, 논리적 설계
-> 그렇기 때문에 AI를 활용해도 생산성이 크게 늘어나지 않는 다면 이 때문에 그렇습니다.
-> 좋아지는 부분은 단순 반복업무, 자료찾기 등. (Migration, Porting): 한 플랫폼/언어에서 다른 플랫폼/언어로 옮기는 작업
사람마다 다른데 걷기를 하면서 "이걸 어떻게 해야 하나?" 하고 생각하고 모니터 앞에서 문제 해결을 위한 자료를 찾아보고 그런것입니다.
단 요즘은 예전의 검색 보다는 좋아진 것은 사실이지만 근본적인 것이 해결된것은 아닙니다.
그렇기 때문에 많이 알고 있어야 하고 알고 있는 범위내에서 생각하고 창의력을 발휘 할 수 있습니다.
-> 걷기: 뇌 활성화(혈류량 증가) 창의성 및 문제 해결에 도움을 줌, 스트레스 감소
오래전에는 프로그래머와 코더와 구분이 되어 있던 시절도 있었습니다.
* ~ 80년대
> 문제 분석하기 ,알고리즘 설계하기 ,흐름도(Flowchart) 그리기 ,종이에 로직 작성하기
* 컴퓨터가 좋아지면서 아래 업무는 달라졌습니다.
> 프로그래머가 작성한 종이 문서 보고 ,펀치 카드에 구멍 뚫기 ,컴퓨터에 입력 가능한 형태로 변환 ,오타 확인하기
현재는 한 사람이 하는데 이러면 분리되어 있는 경우보다 장점이 굉장히 크고 소통 하느데 있어 하지 않아도 되는 시간을 상당히 아낄 수 있습니다.
이 부분이 앞으로는 AI로 인해 더 확장될 것으로 보이는 부분입니다.
한 사람이 할 수 있는 양이 상당하다.
마지막으로 "레고 블록으로 성을 만드는 것으로" 간단히 정리하면
* 프로그래밍
생각하여 설계하고 문제를 해결 하는것.
- 어떤 성을 만들까?
- 문은 어디에 둘까?
- 탑은 몇 개 필요할까?
* 코딩
- 실제로 레고 블록을 쌓는것.
- 빨간 블록, 파란 블록을 골라서 끼우는 작업
