
if else
| c/c++ | java | python | |
|---|---|---|---|
| control expression 의 form과 type | expression while(1) 됨 → arithmetic 일반수식 | boolean expressionwhile(1) 안됨, while(true)여야함 | arithmetic 일반 수식 허용 |
| then, else clauses 표현 | 한줄짜리면 그냥 씀 statement 2개 이상이면 중괄호로 묶어서 표현 | 한줄짜리면 그냥 씀statement 2개 이상이면 중괄호로 묶어서 표현 | 들여쓰기로 작성 |
| nested selectors가 있을 때 표현 방법 | if와 else의 숫자가 다를때 else는 항상 가장 가까이 붙어있는 if와 동작하도록 함 | else는 항상 가장 가까이 붙어있는 if와 동작하도록 함 | else는 같은 레벨에 위치한 if와 묶음 |
for (String myElement : myList) {...}CSP 모델에서 사용,
CSP: communicate sequential processes, 상호작용하는 sequential process, concurrent programming을 가정한 모델
parallel programming: 리소스 여러개, 복수개의 리소스에서 동시에 시작하도록 코딩
sequential programming: 리소스 하나, 하나의 control flow가 한개
상호작용(통신하려면) ⇒ 프로세스가 컴퓨터에서 동작할 때 PC counter 값 1개, 이 1개가 명령어를 제어. pc counter가 2개 이상으로 쪼개질때 parallel, concurrent program이라고 함
concurrent programming: 독립적인 sequential process 여러개가 상호작용하면서 돌아가는 프로그래밍 모델 → CSP
상호작용하려면 필요한 것
1. communication
2. Synchronization
⇒ 커뮤니케이션과 동기화가 가정된 모델이 CSP
CSP모델에서 프로그래밍을 어떻게 할 것인지 제안한 동시성 프로그래밍 모델
control flow에 대한 규칙을 제공해야함 ⇒ 3가지에 대해 정의해야 함
디버깅이 필요 없는 언어, 코딩해서 돌아가면 동작이 100% 확실한 언어 ⇒ 컴파일되면 그냥 돌아감

true가 여러개면 그 중 어떤 것이 실행될지 모름 → 하나이상 true면 됨
모두 false면 runtime error
false면 실행 안됨
true면 뭐가 실행될지 모름 → 랜덤순서로 다 돌다가 남은게 모두 false면 반복문 종료
반복문이 종료되었다는것만으로 디버깅 안해도 코드 만족 확인 가능
⇒ valification이 매우 쉽다