1. programming을 처음 접해본 사람들에게

34
1> Programming이란? 유튜브 링크 :
  • Upload

    -
  • Category

    Software

  • view

    150
  • download

    3

Transcript of 1. programming을 처음 접해본 사람들에게

Page 2: 1. programming을 처음 접해본 사람들에게

"개발자와 컴퓨터의 대화"

“그런데 개발자가 일방적으로 모든 것을 명령하는 대화”

“문제는 컴퓨터가 사람이 아니라는 것”

Page 3: 1. programming을 처음 접해본 사람들에게

명령만으로 상대와 대화한다는 것.

“무척 힘들고 정확해야하며 예측 외의 상황이 발생한다”

Page 4: 1. programming을 처음 접해본 사람들에게

2> 왜 어려울까?

Page 5: 1. programming을 처음 접해본 사람들에게

“컴퓨터 입장에서 할 수 있는 것만 명령해야 한다”→ 컴퓨터는 알아서 해주는 존재가 아니다.

Page 6: 1. programming을 처음 접해본 사람들에게

결국, 한국어를 모르는 사람에게 전주 비빔밥 만들라고 명령하는 것과 같다.

하나도 빠짐없이 모든 것을 알려주고(선언, 정의), 상세하게 지시(로직구현)를 해야한다.

그래도 결과는 예상치 못한 일(버그)들만 발생한다.

→ this is programming 이다.

Page 7: 1. programming을 처음 접해본 사람들에게

3> 명령어와 언어란?

Page 8: 1. programming을 처음 접해본 사람들에게

“명령어를 구현하는 문법체계가 언어(Programming language)이다”“인간 입장에서 컴퓨터와 소통하는 언어는 많다.”“그리고 어떤 프로그램을 만들 것이냐에 따라 선택할 수 있는 언어는 달라진다”

Page 9: 1. programming을 처음 접해본 사람들에게

그런데 문제가 있다. 컴퓨터(H/W)는 언어따위는 모른다는 것이다?! 컴퓨터는 특정 메모리에 0 or 1의 값이 있는 가에만 관심있다

Page 10: 1. programming을 처음 접해본 사람들에게

그러면 개발자가 만든 프로그래밍 언어는 도대체 어떻게 컴퓨터가 이해하는 것일까?

Page 11: 1. programming을 처음 접해본 사람들에게

“좀 읽을 것이 많지만, 읽어주시면 좋을 듯 합니다. ^^”

결국 많은 언어는 OS가 이해할 수 있는 코드로 다시 번역되고 컴퓨터(H/W)와의 대화는 OS(드라이버)가 알아서 한다.

Page 12: 1. programming을 처음 접해본 사람들에게

Application Programming은 개발자가 “Language”와 “Tool(SDK)”를 가지고OS(Windows, linux, Mac OS)가 이해하는 실행파일(.exe or etc)을 만드는 행위이다.

javaC++C#

Python …

1.Text file

3. binary file(executable)

2. compile & build

Page 13: 1. programming을 처음 접해본 사람들에게

4> Programming 오해

Page 14: 1. programming을 처음 접해본 사람들에게

Q1> 프로그래밍은 명령어나 함수를 모두 알아야 가능한 것이 아닌가?

Page 15: 1. programming을 처음 접해본 사람들에게

A1> 당신은 한국어를 모두 알고 사람들과 이야기 하는 가? 멋진 대화를 위해 필요로 하

는 단어들은 생각보다 몇 개 안된다. 프로그래밍도 사용하는 자신에게 필요한 명령어와 함수만 사용하게 된다.

Page 16: 1. programming을 처음 접해본 사람들에게

Q2> 프로그래밍은 원리를 이해하는 것이 최우선인가?

Page 17: 1. programming을 처음 접해본 사람들에게

A2> 인생의 모든 원리를 이해하고 사는 사람은 없다. 당신이 물리와 역학을 이해한 상

태로 자동차를 운전하는 것은 아니지 않는가? 설마 스타크래프트 테란의 황제 임요환이 UDP와 TPC/IP 아키텍쳐를 이해하고 놀라운 유닛컨트롤을 하는 것은 아니지않는가? 원리라는 것은 이해할 필요가 있을 때 이해하는 것이 현명하다. 대부분은 원리의 이해보다 “How To Use”가 중요하다.

Page 18: 1. programming을 처음 접해본 사람들에게

Q3> 책보고 했다. 그런데 왜 안되는 것일까?

Page 19: 1. programming을 처음 접해본 사람들에게

A3> 당신 지능의 문제가 아니다. 프로그래밍 환경의 문제다.

책에서 보여준 PC환경과 당신의 PC 환경은 결코 같지 않다. 그리고 수많은 버그와의 싸움이다. 프로그래밍 개발툴이 완벽하다거나 알아서 다 해준다는 생각을 하는 것부터 머리 속에서 지워야 한다. 마지막으로 프로그래밍은 스포츠와 같은 부분이 있다. coding이 몸에 배어야 책 내용을 오류없이 만들고 실행할 수 있다.

“골프를 책만 보고 재대로 칠 수는 없는 법이다”

Page 20: 1. programming을 처음 접해본 사람들에게

5> 어디까지 이해할 것인가?

Page 21: 1. programming을 처음 접해본 사람들에게

정답은 없다.효율적인 방법은 아마도 ...

“몰라도 만들 수 있는 범위”만큼만 이해하는 것이다.

Page 22: 1. programming을 처음 접해본 사람들에게
Page 23: 1. programming을 처음 접해본 사람들에게

6> Programming 언어로 개발툴과 대화부터 시작하라

Page 24: 1. programming을 처음 접해본 사람들에게

당신이 영어를 못하는 이유는 읽을 줄 몰라서가 아니다. “질문”하고 “대화”한 적이 없기 때문이다.-박모씨-

Page 25: 1. programming을 처음 접해본 사람들에게

“백독이불여일타”Programming은 말로 하는 것이 아니다.Coding(Typing)이 몸에 배어야만 생각(Logic)이 만들어진다.

AlwaysCoding!!Typing isvery very very difficult!!

Page 26: 1. programming을 처음 접해본 사람들에게

1.tool(SDK)에 익숙해지면서

2.Coding!!하며

3.tool이 주는 메시지와 대화한다.

Page 27: 1. programming을 처음 접해본 사람들에게

7> 당황하지말아라

Page 28: 1. programming을 처음 접해본 사람들에게

Typing조차 재대로 못하는 당신.

Page 29: 1. programming을 처음 접해본 사람들에게

a. 간단한 예제를 구한다.b. 따라서 타이핑한다.c. 예제를 저장하고 관리하고 분석한다.d. 예제에 내가 원하는 기능을 짧게 추가해본다.e. 다른 이름으로 저장하고 관리한다.

code of conduct(행동수칙)

Page 30: 1. programming을 처음 접해본 사람들에게

개발툴(IDE: Integrated Development Environment )

개발툴은... syntax highlighting과Code Complete 기능으로자동차 Navigation처럼 개발자의 coding을올바른 길로 인도한다

- 위의 화면은 java 개발툴인 IntelliJ의 한장면...

Page 31: 1. programming을 처음 접해본 사람들에게

8> 당부의 말

Page 32: 1. programming을 처음 접해본 사람들에게

지금부터 시작입니다.

Page 33: 1. programming을 처음 접해본 사람들에게

【속담】 느린 것을 두려워하지 말고, 중도에서 그만두는 것을 두려워하라.- china -

Page 34: 1. programming을 처음 접해본 사람들에게

Programming은 즐길 줄만 안다면 80%는 해결됩니다. 조급해 하지 마세요. 재미만 있다면 시간이 해결해 줍니다.