[소공] 실습 3주차

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

http://nnoco.tistory.com/35

They say : 

assembly language is low-level java, C# are high-level.

But they do not talk about highest-level languages


The answer is yes.
What is the highest-level languages?

case1. view a computer as a 4-year old baby

case 2. view a computer as a 10-year old boy

case 2. view a computer as a college student


example of Prolog


obj : fact(0, 1)
 fact(x+1, xy + y) :- fact(x,y)
main:
fact (5,x)

So there is a final goal

난 소공을 배우고 싶다.

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

실습 1주차  (0) 2014.03.20
수업 계획  (0) 2014.03.20
6/5  (0) 2012.06.05

실습 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

수업 계획

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

topics:
1. computability logic: Japaridze:
in the beginning was game semantics

2. traditonal software engineering: (textbook, ppt자료)

3. book:

title1: 21 c 형 programming title
     2: 그들이 프로그래밍에 대해 말하지 않은 10가지
report: 5 page Java 비판, CL 찬양 그들은 말한다
        : 객체는 method를 수행하고 method는 함수나 procedure이다.
         그들은 말하지 않는다: 부연설명:

5. term project:
구현전단계까지: 
- idea brain storming:

grade: - class participation: 20%

----------------------------------------------
problem: coffee vending machine: how can we explain a coffee vending machine?
유: 외모: 성격: capability: 론: sw = capability를 어떻게 표현하느냐를 연구하는 학문
=> CL is the first approach to express capability:


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

[소공] 실습 3주차  (0) 2014.03.20
실습 1주차  (0) 2014.03.20
6/5  (0) 2012.06.05

6/5

퀴즈

 

Q1 : people say C is based on function Java is based on _____

 

game

 

Q2: the difference between C and Java

 

suppose your C code has

10,000 function definitions.

f1=f2()

f2=f3()

 

f10000 = f9999()

 

=> program this in Java

 

Q3: the biggest problem in SW

 

app1 in Java

 

app2 in Android

 

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

[소공] 실습 3주차  (0) 2014.03.20
실습 1주차  (0) 2014.03.20
수업 계획  (0) 2014.03.20