실습 1주차

학교/컴퓨터프로그래밍 2014. 3. 20. 16:45

출처 : http://nnoco.tistory.com/30

소프트웨어 공학을 위한 언어. 요고 두개만 알면 끝나는 얘기입니다.
1. Specification 언어(명세 언어)
- 대상 : 사람(Programmer)

2. programming 언어 
- 대상 : 컴퓨터(컴퓨터가 이해하는 언어)

               Specification
                     --->
Customer                   Programmer
                    <---
               Programming


(S.L  ⊂ P.L)

둘 다 재미없죠. 그래도 명세언어가 프로그래밍언어보다 좀 더 쉽다.(개인차가 있을거 같음)


claim
1. Specification Language = CL(Compatibitliy Language)
2. Programming Language = CL 

한마디로 Compatibity Language은 만병통치약이라 이거죠.
※ Compatibility : 양립, (컴퓨터의) 호환성


Specification의 Example
ex1)  앱을 실행시키면 사과가 나오는데 아무것도 안하고 사과만 디스플레이한다 이거죠.
app : display an apple

ex2) switch(on <-> off) 

위의 두 예제 처럼 간단한 경우는 큰 문제가 없죠. 좀 더 복잡한 예를 들어봅시다.

ex3) Alarm App
app <-> 사용자 interactive 해야함.

Specification 언어 : 어떤 객체를 가장 세련되게 설명하는 것이 중요. 

ex4) chinese restaurant
메뉴는 간단하게 하기 위해서 자장면과 짬뽕만 있다고 가정
표현할 수 있는 언어 : korean, english, java, c, ...
- korean
    Step1. emplyee offers a menu
    Step2. 적절한 메뉴를 고르지 못하고 우유부단하게 방황하고 있음
    Step3. 무한 반복. 아무거나. 너랑 같은거, 맛잇능거
    Step4. customer choose betwenn black noodle and mix noodle
    Step5. pay \5,000

- java
   Step1. Execute chinese restaurant application.
   Step2. Display a menu
   Step3. user select item.
   Step4. restaurant object get user's choice.
   Step5. cook.
   Step6. offers cooked items



Intro to CL :
ex) apple => apple

ex) coin => coin

ex) switch
상태가 있고, 사람이 동작시키길 기다리고 있음
switch => on choice-and off
※ 사람이 고를 수 있는게 choice-and?

ex) chinese restaurant
     => 5000 -> (짜 c-and 짬)
5000원을 주면 선택한 두가지 중에 한가지를 주겠다는 뜻으로 -> 를 사용.?
?? 막 만들어냄 
오늘부터 새로운 언어의 창조를 보게 될것이다. 자빠리치 창세기 제 1장 1절.


def) A ->(implies) B : A 이면 B이다.

쉬운걸 개 어렵게 만드는 능력
하드하드 열매 섭취하심.

'학교 > 컴퓨터프로그래밍' 카테고리의 다른 글

[소공] 실습 3주차  (0) 2014.03.20
수업 계획  (0) 2014.03.20
6/5  (0) 2012.06.05