본문 바로가기

반응형

Programming

부작용 (side effect) 실 매개변수나 비지역변수의 값이 바뀌어, 의도하지 않았던 결과를 얻게 되는 현상. 예 > a + f(a) 어느 항을 먼저 계산하느냐에 따라서, 부작용 허용여부에 따라서 결과가 달라짐 - 부작용을 금지시킬 경우 매개변수를 통한 결과반환이 불가능해지기 때문에, 프로그래밍의 편의성이 훼손됨 - 피연산자의 순서를 엄격히 규정할 경우 컴파일러가 최적화 코드를 만들기 위해 순서 조정을 할 수 없게 됨 C,C++ : 계산순서 명시하지 않음 Java : 왼쪽에서 오른쪽으로 계산하도록 명시함 더보기
중지계산 (short-circuit evaluation) Bool 식의 값을 왼쪽에서 오른쪽으로 계산하는 도중 나머지 부분을 계산하지 않아도 식의 값이 결정되는 경우 더 이상 그 식의 나머지 부분을 계산하지 않고 값을 결정하는 기능 더보기
매개변수 전달방식 실 매개변수를 형식 매개변수에 바인딩할 때, 형식 매개변수가 실 매개변수의 값/주소/이름을 전달받을 수 있는데, 이에 따른 분류. 1. 값에 의한 전달 실 매개변수의 값이 형식 매개변수의 값으로 복사되고, 형식 매개변수는 부프로그램의 지역변수처럼 사용된다. 2. 결과에 의한 전달 값에 의한 전달의 역 개념. 부프로그램의 종료시점 : 형식 매개변수의 값이 실 매개변수로 전달됨. 단점 : 같은 이름의 변수가 실 매개변수로 주어지고, 이것이 서로 다른 형식 매개변수에 바인딩되는 경우 문제가 발생할 수 있다.(모호성 문제) 3. 값-결과에 의한 전달 부프로그램의 시작시점 : 실 매개변수의 값이 형식 매개변수로 전달됨 부프로그램의 종료시점 : 형식 매개변수의 값이 실 매개변수로 전달됨 4. 주소에 의한 전달 실 .. 더보기
분석 나무와 모호성 ( parse tree and ambiguity ) 분석 나무(parse tree) - 유도의 대치 과정을 나타낸 나무 구조. - 내부 정점(문법 구조명인 비종결자)과 잎(leaf)(단어 혹은 토큰기호인 종결자)로 구성 관련 링크 웹에서 분석나무 그리기 phpSyntaxTree -> http://www.ironcreek.net/phpsyntaxtree/ TreeForm Syntax Tree Drawing Software -> http://www.ece.ubc.ca/~donaldd/treeform.htm Linguistic Tree Constructor-> http://ltc.sourceforge.net/ Wikipedia -> http://en.wikipedia.org/wiki/Parse_tree 모호한 문법(ambiguous grammar) : 동일한 .. 더보기
프로그래밍 언어의 역사 (Computer Language History) Éric Lévénez http://www.levenez.com/lang/ http://www.levenez.com/lang/history.html The History of Programming Languages http://www.oreilly.com/news/graphics/prog_lang_poster.pdf Wikipedia http://en.wikipedia.org/wiki/Programming_language 더보기
프로그래밍 언어의 요건 ∙ 좋은 프로그래밍 언어가 갖추어야 할 조건 (1) 프로그래밍 언어의 개념이 분명하고 단순해야 하며 일관성이 있어야 한다. (2) 신택스가 분명해야 한다. (3) 자연스럽게 응용할 수 있어야 한다. (4) 추상(abstraction)을 지원할 수 있어야 한다. (5) 프로그램 검증이 용이하여야 한다. (6) 적절한 프로그램 작성 환경이 갖추어져 있어야 한다. (7) 프로그램이 호환성이 있어야 한다. (8) 효율적이어야 한다. 더보기
언어 번역 (programming language translate) ∙ 현재의 컴퓨터는 저수준의 언어인 기계어만을 바로 실행할 수 있으므로 고수준의 프로그래밍 언어로 작성된 프로그램은 번역기(translator)를 거쳐야만 실행될 수 있다. ∙ 번역기의 방식으로는 인터프리터(interpreter) 방식, 컴파일러(compiler) 방식, 그리고 이들의 중간 방식의 세 종류로 나눌 수 있다. ∙ 인터프리터 : 주어진 프로그램과 입력 자료를 곧바로 실행시켜 결과를 출력한다. ∙ 인터프리터는 대화형 프로그램에 많이 쓰인다. 초보자라도 프로그램을 개발하기가 쉬우며 개발 기간도 단축된다. 그러나 프로그램의 실행 속도가 느리다는 단점이 있다. ∙ Smalltalk, LISP, Basic이 인터프리터 언어의 예이다. ∙ 컴파일러 : 원시 프로그램을 받아들여 목적 프로그램을 만들어낸다.. 더보기
Extreme Programming Explained: Embrace Change, Second Edition 한글제목(Korean) 영문제목(English) Extreme Programming Explained: Embrace Change, Second Edition ISBN ISBN-10: 0-321-27865-8 ISBN-13: 978-0-321-27865-4 교보문고 , yes24 , Amazon 기간(Reading in) 2006/10/08-2006/10/08 평가(5단계,Rate) ★★★★★ 관련서적(Similar Books) 요약(Summary) - - - - 이 책을 읽은 다른 사람들(Other Readers) 목차(Table of Contents) Copyright Praise for Extreme Programming Explained, Second Edition The XP Series Tit.. 더보기

반응형