코딩 강의/왕초보인데 가능할까요

[왕초보 코딩 1강] 코딩의 코자도 몰라도 괜찮을까

아미넴 2020. 7. 6.
반응형

야심차게 왕초보 코딩 강의를 시작한다고 하긴 했는데요.

 

일단 코딩이 뭔 지 알아야 이걸 시작할 지 말 지 판단이 될테니 천천히 얘기해 보도록 할게요.

 

코딩...?

 

사람들이 코딩 코딩 하는데 대체 코딩이 뭘까 하시는 분들 많을거예요.

푸딩도 아니고 코딩이라니 ㅎ

재미없더라도 적응하시기 바랍니다.

 

뭔가 느낌상 code + ing 인거 같은데..

코드로 뭔가를 하는 것?

어느정도 의미는 통하는 듯 합니다.

 

말 그대로 코드를 작성하는 행위 정도로 생각하시면 될거 같아요.

 

그럼 또 무슨 코드를 작성하느냐 이런 의문이 들겠죠.

들어야 정상이에요.

 

쉽게 말하면 컴퓨터와 의사소통을 하기 위한 방법입니다.

사실 의사소통이라기보다 지시에 가깝죠.

 

더하기만 할줄 아는 학생이 있다고 가정해 볼게요.

 

'1부터 100까지 더하기' 숙제가 있는데 귀찮으니까 대신 계산 해달라고 컴퓨터에게 명령을 내리는 겁니다.

와.. 엄청나죠?

 

그럼 컴퓨터가 대신 뚝딱뚝딱 계산을 해줄텐데 애석하게도 우리는 방법을 모르네요.

 

그래도 1부터 100까지 더하기는 그럭저럭 직접 할 수 있어 보입니다.

그런데 만약 이 숙제가 1부터 1,000,000까지 더하는 문제라고 한다면 얘기는 달라지겠죠.

 

다 계산 하려면 몇 달이 걸릴 지도 모르는 일이에요.

생각만 해도 토나와..

 

이런 일을 컴퓨터에게 떠넘긴다고 생각해보세요.

생각만 해도 짜릿하지 않나요.

아니라면 죄송합니다.

 

컴퓨터가 계산하다(compute)라는 뜻에서 파생된 단어인 것만 봐도 알 수 있듯이 최초의 컴퓨터는 계산이 주목적이었는데 점차 기술이 발전하면서 활용 범위가 넓어지고 있습니다.
그러면서 최근 들어 코딩의 필요성과 중요성이 강조되고 있다고 볼 수도 있겠습니다.

 

어쨌든 컴퓨터가 할 수 있는 일은 엄청납니다.

방금 예로 든 상황은 컴퓨터 능력의 빙산의 일각도 안됩니다.

 

 

그럼 여기서 또 어떤 의문이 들어야 될까요?

 

그렇죠.

컴퓨터에게 어떤 방법으로 지시를 내리느냐 하는 겁니다.

 

사실 상세하게 얘기를 하려면 컴퓨터공학 지식이 수반되어야 하는데 너무 깊게 들어가면 대다수는 여기서 코딩은 역시 내 길이 아니야... 하고 백기를 들겁니다.

 

그냥 바로 생각할 수 있는 예를 하나 들어보겠습니다.

 

'이 게시물에 댓글을 다는 일'

어떻게 할까요.

 

네 맞아요.

아래 댓글 창에 글을 입력하고 등록 버튼을 클릭합니다.

 

여태까지 이 행위를 아무 생각없이 그냥 해왔다면 이제는 좀 다르게 생각해 보도록 하겠습니다.

내가 입력한 글, 내 아이디, 현재 시간 등을 서버로 전송하여 데이터베이스에 등록하고 댓글 리스트에서 조회되도록 해라 라는 명령을 내린겁니다.

 

네? 누가 명령했냐구요?

 

나의 버튼 클릭 행위가 컴퓨터에게 명령을 내린 것입니다.

물론 버튼만 클릭하면 이 명령이 올바르게 전달될 수 있도록 누군가 미리 작성을 해 놓았기 때문에 가능한 일입니다.

 

다시 말하면 우리는 유능한 프로그래머가 미리 정해 놓은 지시사항을 실행만 하는 수준이고 코딩은 그 지시사항을 만드는 과정이라고 이해하시면 되겠습니다.

 

 

하나 더 생각을 해보죠.

 

지금 무엇을 통해 이 글을 보고 있나요.

 

아마 정상적으로 보고 있다면 PC 또는 스마트폰 웹 브라우저일 겁니다.

인터넷 익스플로러, 크롬, 사파리, 또는 카카오톡 내 웹뷰 등을 포함합니다.

 

자 그럼 이 '웹 브라우저'가 하나의 국가라고 생각해볼게요.

인터넷 익스플로러, 크롬, 사파리 등은 국가에 속한 도시라고 생각하면 좋을 것 같아요.

한 나라 안에서는 사용하는 언어가 동일해야겠죠?

 

실제로 웹 브라우저에서 소통하는 컴퓨터 언어는 정해져 있습니다.

웹 브라우저를 통해 블로그, 카페, 검색 사이트 등에서 보고 행위하기 위해 사용하는 모든 언어가 같습니다.

 

웹 브라우저가 알아들을 수 있는 언어로 '내가 작성한 댓글을 티스토리 서버로 전송해서 등록시켜줘' 라고 전달을 한겁니다.

이를테면 send(my comment => tistory server) 처럼 말이죠.

실제 문법은 아닙니다.

 

컴퓨터가 해석할 수 있는 기계어로 바꿔주는 작업(compile, interpret)이 추가적으로 더 있긴합니다만 여기서는 아 그런게 있구나 하는 정도로 넘어가겠습니다.

 

이와 같은 맥락으로 '아이폰 앱(App)' 나라 안에서 사용하는 언어는 같고 '갤럭시폰 앱(App)' 나라 안에서 사용하는 언어 또한 같지만 두 나라에서 사용하는 언어가 동일하지는 않습니다.

 

지금 단계에서는 예외적인 상황이나 확장된 영역은 다루지 않습니다.

 

이러면 또 '아이폰'의 크롬 웹(Web) 브라우저에서 접속한 네이버와 '갤럭시폰'의 크롬 웹(Web) 브라우저에서 접속한 네이버가 서로 다른 언어를 사용하는거 아니냐 혼동하시는 분이 계실거 같은데 앞서 말했듯이 '웹(Web) 브라우저'는 하나의 나라이며 그 안에서는 동일한 언어를 사용합니다.

'아이폰 앱(App)', '갤럭시폰 앱(App)' 나라와는 별개의 나라인 셈입니다.

반면에 같은 '크롬 웹(Web) 브라우저'라도 '아이폰 앱(App)' 용과 '갤럭시폰 앱(App)' 용은 다른 언어로 이루어져 있겠죠.

헷갈린다면 일단은 그냥 넘어가도 좋습니다.

 

그럼 다시 정리를 해보겠습니다.

 

코딩은 컴퓨터에게 명령을 내리기 위해 컴퓨터가 알아 들을 수 있는 언어로 작성하는 것이다.

나라별로 언어가 다르듯이 컴퓨터 언어도 운영체제/플랫폼/기기 등에 따라 사용하는 언어가 다르다.

 

정도로 요약을 할 수 있겠네요.

지금은 무슨 말인지 긴가민가 하실 수 있는데 일단 뭐라도 직접 해 보고 결과를 봐야 좀 더 와 닿으실거라고 생각합니다.

 

가장 직관적으로 와닿을 수 있는게 '웹 브라우저' 나라에서 사용하는 언어일거 같아서 다음 강좌에서는 웹 언어를 간단히 다루면서 컴퓨터와 직접 소통해보는 시간을 갖도록 하겠습니다.

 

 

아 그런데 요새 코딩을 왜 배우라고 하는지 아시나요.

 

학생 때는 논리력을 키우는데는 수학보다 코딩이 더 효과적이기 때문이라고 그러더라구요.

 

성인이 뭐 코딩이 대세다 코딩 배우면 필요로 하는 곳이 많다 라는 말을 들으신거라면 그냥 취미 정도로 해보다가 진짜 이건 천직이다 라고 생각든거면 모르겠지만 번듯한 다른 직업이 있는데 코딩을 배워서 전직을 하시는건 좀 현실적이지 않아 보입니다.

 

암튼 두서없는 긴 글 읽느라 고생하셨어요.

잘못된 부분이나 이해가 안 가는 부분, 질문은 댓글로 부탁드리구요.

 

그럼 2강에서는 좀 더 구체적인 얘기를 해보도록 할게요.

 

파이팅!

 

[참고]

추가로 코딩과 프로그래밍의 차이점도 있네요.

저도 크게 구분은 안 하고 사용했었는데 참고 바랍니다.

www.codingworldnews.com/article/view/1132

 

'코딩 vs 프로그래밍' 차이점이 무엇일까? - 코딩월드뉴스

코딩과 프로그래밍은 소프트웨어 개발 산업에서 가장 중요한 두 가지 접근법이다. 일반적으로 코딩과 프로그래밍을 동의어로 인식하는 경우가 많은데, 실제로는 상당한 차이가 있다.1. 정의코��

www.codingworldnews.com

 

#다음강의

sangminem.tistory.com/20

 

[왕초보 코딩 2강] 컴퓨터와의 첫 소통

안녕하세요. 많이 기다리셨다구요? 아닌거 알아요. 죄송합니다. 오늘은 실제로 뭐라도 하나 직접 해보면서 대체 컴퓨터와 의사소통을 어떻게 한다는거야? 하고 막연하게만 느껴졌던 부분을 살��

sangminem.tistory.com

반응형

댓글

💲 추천 글