wEb

think pyton; Chapter1_ The Way of the Program

dd2i 2012. 12. 14. 14:56
반응형

Chapter1_ The Way of the Program


인터프리터. 컴파일러

인터프리터는 라인을 읽고 계산을 하면서 프로그램을 한번에 조금씩 실행.


컴파일러는 프로그램을 시작하기전에 소스코드라는 놈을 오브젝트코드라는 놈으로 바꿔주고, 

프로그램의 컴파일이 끝났을때 다른 translation없이 재차 실행할 수 있다.


파이썬 = 인터프리터 언어


인터프리터를 사용하는 두가지 방법

1. interactive mode

2. script mode


프로그램은 계산을 하는 방법을 명시하는 구조의 시퀀스.

input. output. math. conditional execution. repetiion


프로그래밍 에러들 = 버그(bug)

debugging = 버그를 찾아내는 process.


에러의 3가지타입.

신텍스에러. 문법오류.

런타임에러. 예상치못한 에러들. called exceptions라고도 함.

시멘틱에러. 에러없이 정상적으로 돌아가는 듯하나. 원하고자 하는 방향으로 사용하고 있는 것이 아님. 의미가 다른사용.


디버깅 ≒ 프로그래밍.

디버깅 = 하나의 경험과학. 실험과학. 

프로그래밍= 원하고자 하는 방향으로 될 때까지 프로그램을 디버깅하는 과정.


Natural Language.

사람들이 말하는 영어. spanish. french.같은 not designed.


Formal Language. 

사람에 의해 고안된 형식적언어. 수학적표기법들. 화학공식.원소기호.


syntax rules은 토큰과 구조 그리고 statement(컴퓨터명령)의 구조와 관계가 있음. 

토큰= 언어의기본요소. 단어. 숫자. 화학원소같은.


formal language로 된 문장을 영어로 읽을 때. 문장의 구조가 무엇인지.어떠한지. 알아챈다. 

무의식적으로 문법적인 분석.

= 이 과정을 파싱(parsing). 


내츄럴랭귀지와 포멀랭귀지 간의 차이점들.

ambiguity(애매모호함.모호함). redundancy(불필요한 중복.반복). literalness(문자그대로임. 축어적, 직역의). 

poetry. prose(산문적).


컴퓨터프로그램이란.

모호하지 않고. 문자그래로이며. 토큰과 구조의 분석에 의해 전체적으로 이해될 수 있는 것.


formal language는 

natural language보다 dense(난해한). 읽는데 보다 시간이 걸림.

또한 구조가 매우 중요. 위에서 아래로 왼쪽에서 오른쪽으로 읽은 것은 중요하지 않다.

대신에 머릿속에서 토큰과 구조를 인터프리팅하면서. 프로그램을 parse하는 것(문법적 분석하는것)이 중요하다. 


> Glossary show

* Problem solving: The process of formulating a problem, finding a solution, and expressing the solution.

* High-level language: A programming language like Python that is designed to be easy for humans to read and write.

* Low-level language: A programming language that is designed to be easy for a computer to execute; also called “machine language” or “assembly language.”

* Portability: A property of a program that can run on more than one kind of computer.

* Interpret: To execute a program in a high-level language by translating it one line at a time.

* Compile: To translate a program written in a high-level language into a low-level language all at once, in preparation for later execution.

* Source code: A program written in a high-level language before being compiled.

* Object code: The output of the compiler after it translates the program.

* Executable: Another name for object code that is ready to be executed.

* Prompt: Characters displayed by the interpreter to indicate that it is ready to take input from the user.

* Script: A program stored in a file (usually one that will be interpreted).

* Interactive mode:A way of using the Python interpreter by typing commands and expressions at the prompt

* Script mode: A way of using the Python interpreter to read and execute statements in a script.

* Program: A set of instructions that specifies a computation.

* Algorithm: A general process for solving a category of problems.

* Bug: An error in a program.

* Debugging: The process of finding and removing any of the three kinds of programming errors.

* Syntax: The structure of a program.

* Syntax error: An error in a program that makes it impossible to parse (and therefore impossible to interpret).

* Exception: An error that is detected while the program is running.

* Semantics: The meaning of a program.

* Semantic error: An error in a program that makes it do something other than what the programmer intended.

* Natural language: Any one of the spoken languages that evolved naturally.

* Formal language: Any one of the languages that people have designed for specific purposes, such as representing mathematical ideas or computer programs; all programming languages are formal languages.

* Token: One of the basic elements of the syntactic structure of a program, analogous to a word in a natural language.

* Parse: To examine a program and analyze the syntactic structure.

* Print statement: An instruction that causes the Python interpreter to display a value on the screen..

> Glossary hide

반응형

'wEb' 카테고리의 다른 글

5I 법칙.  (0) 2013.01.10
검색광고마케터 시험일정 및 참고  (0) 2013.01.08
반응형웹.미디어쿼리.  (0) 2013.01.07
[C] 구조체(Structure)  (0) 2012.12.20
Scrollbars Through the History  (0) 2012.12.18
incremental search ?! 증분 검색이 뭔가~?!  (0) 2012.11.19
크롬브라우저 스타일 커스터마이징  (0) 2012.09.21
마크업 markup  (0) 2012.04.29
20120412  (0) 2012.04.12
파이어폭스 Developer Tools_Object 확인  (0) 2012.04.11