- ์ด๋ค ์ข
๋ฅ์ ์ฑ
์ธ์ง?
- ์ ๋ฐ์ ์ธ ๋ด์ฉ์ ๋ํ ๋ผ๋ & ๊ตฌ์ฑ๋ฐฉ์
- ์ฅ๋ฅด๊ตฌ๋ถ?
- ๋ด์ฉ์์ ๋ถ๋ฅ
- ์ฑ
์ ์ฒดํ๋ฆ์ ๋ํ abstraction
- ๊ฐ์
- ์ ์๊ฐ ์ ๊ธฐํ๋ ์ง๋ฌธ์? & ์ฑ
์์์ ๋๋ต์? ( + )
- ๊ด๋ จ ์๋ฃ ๋งํฌ
- ์ฝ๊ณ ๋ ๋ค์ ๋์ ์๊ฐ
~cpp
Part 3 Programming as an individual activity
Comment on Part 3
My goal was
ํ๋ก๊ทธ๋๋จธ๋ค์ด ๊ทธ๋ค์ ์์
์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ฐ๊ตฌ ๊ฒฉ๋ ค
๊ฐ์ธ ํ๋ก๊ทธ๋๋จธ๋ค์ ์ค๋ ฅ์ ํฅ์์ํค๋ ๊ฒ์ ๋ํ ์ดํด๋ฅผ ์ด์ง
25๋
์ด ์ง๋ฌ์ง๋ง, ํ๋ก๊ทธ๋๋จธ ๊ฐ์ธ์ ์ด์ ๋ณด๋ค ๋ ์ ํฉํ์ง ์์. ๋น๋ก ์์ฐ์ฑ์ ๋์์ก์ง๋ง.
Variations in the programming task
Professional versus amateur programming
Amateur
์๊ธฐ์์ ์ ์ด์ฉ์ ์ํด ์์ฑ
try & error ์์ผ๋ก ์ ๊ทผ. ํ๋ก๊ทธ๋๋ฐ์ ๋ฏธ๋ฆฌ ์๊ฐํ๊ฑฐ๋ ๋จธ๋ฆฟ์์ผ๋ก ๊ทธ๋ ค๋ณด์ง ์์
ํ๋ก๊ทธ๋๋ฐ ๋ค์ ์์ด๋ฒ๋ฆฐ๋ค.
์ด๋ ค์์ด ๋ฅ์ณค์๋, ๋ฌธ์ ์์ฒด๋ง์ ์ฒ๋ฆฌํ๊ธฐ๋ฅผ ์ํ๋ค.
๋ฌธ์ ์ ๋ํด์๋ง ๋ฐฐ์ด๋ค.
Professional
๋ค๋ฅธ ์ฌ๋๋ค์ด ์ด์ฉํ๋ค๋ ๊ฒ๋ ๊ณ ๋ ค
์ถํ ๋ณํ๋๋ ๋ถ๋ถ์ ํ๋ฆฝํ๊ฑฐ๋, ์คํ์ ๋ช
ํํํ๋ค.
ํจํค์ง์ ์ ์ฅํด๋๋๋ค.
๋ฌธ์ ์์ฒด๋ฅผ ์๋ง์ถ์ด๋งํผ ์ฌ๊ฐํ๊ฒ ๊ณ ๋ฏผํ์ง ์๋๋ค.
๋ฌธ์ ํด๊ฒฐ๋ฐฉ๋ฒ์ ์ฐพ๋ ์ฌ๋ฌ ๋ฐฉ๋ฒ๋ค์ ์ธ์ํ๊ณ ์๋ค. ๋ฌธ์ ๋ฅผ ์ดํดํ๊ธฐ ์ํ ํ๋ก๊ทธ๋จ์ ์ค๋นํ๊ธฐ๋ ํ๋ค
ํ๋ก๊ทธ๋๋ฐ์ ๋ํด ๋ฐฐ์ด๋ค. (๋ฌธ์ ์ํฉ์ด๋ ๊ทธ์ ๊ฐ๋ฐ ๊ณผ์ ์ค ๋ถ์์ ์ธ ์ผ๋ค)
exam) 2์ฐจ ๋ฐฉ์ ์ ํ์ด ์
What the programmer is trying to do
case) ๋ฌผ๋ฆฌ ๊ต์๋ก๋ถํฐ ํด๋น ๋ฉํธ๋ฆญ์ค๋ฅผ ๋ฐ์ ํ๋ ํ๋ก๊ทธ๋จ ์์ฑ. ํ ๊ฐ๋ฐ์๋ (A) ๋ญ๊ฐ ๋ฐฐ์ธ ์ ์๋ ์ข์ ๊ธฐํ๋ผ๊ณ ์๊ฐ, buffering ์ ์ด์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๊ณ ํจ.
๊ฐ๊ฐ์ ํ๋ก๊ทธ๋จ์๋ ์ ์ ํ ๋ ๋ฒจ์ด ์๋ค.
์ฑ๋ฅ : ํจ๊ณผ
case2) 4๊ฐ์ ํ๋ก๊ทธ๋๋จธ ๊ทธ๋ฃน์ ํด๋น ์ผ์ ๋งก๊น.
A : as efficient as possible (๋น ๋ฅธ ์ฑ๋ฅ ์์ฃผ)
B : as short a time as possible (๋น ๋ฅธ ๊ฐ๋ฐ ์์ฃผ)
๋น๊ต :
B ๊ทธ๋ฃน์ด ๋จธ์ ํ์์ 2/5 ๋ 1/3 ์ ๋๋ง ์ด์ฉ.
B ๊ฐ ํผํฌ๋จผ์ค์์ A ๋ณด๋ค 10๋ฐฐ ๋๋ฆผ.
B - ๋ฉ์๋๊ฐ ์ฅ๋ํ์ง ์์๋, ๊ทธ๋ฅ drop ํด๋ฒ๋ฆฌ๊ณ ๋ค๋ฅธ ๊ฒ์ผ๋ก ๊ต์ฒด๋ฒ๋ฆผ.
A - ๋ฌธ์ ๋ฐ์์ ์ ๊ทผ๋ฐฉ๋ฒ์ ๋ฐ๊พธ๊ธฐ ์ซ์ดํจ.(์ฑ๋ฅ์ ํฌ์ํด์ผ ํ ๊ฒ์ด๋ผ ์๊ฐํด๋ฒ๋ฆผ)
์ค์ผ์ค ์์ธก์์ ๋ฐ๋ฅธ ์ฐจ์ด
ํํจ์จ์ ๋ฒ์น : ์ผ๊ฑฐ๋ฆฌ๋ ํ ๋น๋ ์๊ฐ์ ์ฑ์ธ๋งํผ ๋์ด๋๋ค.
'๋ชฉํ'๋ก์์ ์ค์ผ์ค์ 'ํ ๋น๋ ์๊ฐ'์ ์ํฅ์ ์ค ์ ์๋ค.
Stages of programming work
ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ ๋ถ๋ถ์ ๋ํด ๋์ผํ ๋ฅ๋ ฅ๊ณผ ์๊ณ ๊ฐ ํ์ํ๋ค๊ณ ์๊ฐํ๋ ๊ฒ์ ์๋ชป์ด๋ค.
'๋ถ์, ํ๋ก์ฐ ๋ค์ด์ด๊ทธ๋จ ์์ฑ, ์ฝ๋ฉ, ํ
์คํ
, ๋ํ๋จผํธ' ๋ก ๋ถ๋ฆฌํ๋ ์ฌ๊ณ ๋ ์ฌ๋ฌ ๋ฉด์์ ํ๋ก๊ทธ๋๋ฐ์ ์๊ณก์ํจ๋ค.
* ์ค์ ์์๊ฐ ๊ณ ์ ์ ์ด์ง ์๋ค.
* ๋ชจ๋ ์ ์ฐจ๋ค์ด ํ์ํ์ง ์๋ค.
* ์์ฐจ์ ์ผ ํ์๊ฐ ์๋ค.
์ฐ๋ฆฌ๋ ์ด๋ฌํ ๋ณต์กํ ํ์๋ค์ ๋จ์ํ ํ๋๋ก ๋ง๋ค์ด์ผ ํ๋ค.
ํ๋ก๊ทธ๋๋ฐ ํ๋ก์ ํธ๋ฅผ ์ ์๋ ๋จ๊ณ๋ค๋ก ์ธ๋ฐํ๊ฒ ๋๋ ์ ์์ง๋ง, ์ข์ ์์ด๋์ด๋ ์๋๋ค.
์ฐ๋ฆฌ๋ ํ๋ก์ ํธ์ ์ผ๋ค์ ์ ๋ฆฌํ์ฌ ๊ฐ๊ฐ์ ์ฌ๋๋ค์ด ์์ ์ด ์ํ๋ ์์ญ์ ๋ํด์๋ก ํน์ํํ ์ ์๋๋ก ํ ์ ์์ง๋ง, ์ ์ด๋ ๋๊ฐ์ง ๋จ์ ์ด ์กด์ฌํ๋ค.
* ์๋ฌด๋ ๋ํ๋จผํธ ์์
์ ํ๋ ค๊ณ ํ์ง ์์ ๊ฒ์ด๋ค.
* ์๋ฌด๋ ๊ทธ๋ ๊ฒ ๋ฐฐ์ธ ๊ฒ ์๋ค.
์ฐ๋ฆฌ๋ ๊ฐ๊ฐ์ ํ๋ก๊ทธ๋๋จธ๋ค์ด ์์ ์ด ์ ๋ชปํ๋ ์์ญ์ ๋ํด ์คํ์
๋ฆฌ์คํธ๊ฐ ๋๊ฒ ์ผ์ ํ ๋นํจ์ผ๋ก์ ํ์ต๋ฅ ์ ๊ทน๋ํํ ์ ์๋ค. ๋ํ, ๊ทธ๊ฐ ๋ฌธ์ ์ํฉ์ด ์๊ฒผ์๋ ๊ฐ๊ฐ์ด ๋ค๋ฅธ ์์
์ผ๋ก ๊ต์ฒดํ ์ ์๋ ๊ธฐํ๋ฅผ ๊ฐ์ง ์ ์๋ค.
ํ๋ก๊ทธ๋๋ฐ ํ๋ก์ ํธ์ ๋ํ ์ ์ฒด ํ๋ฐํด๋ฅผ ๋๊ณ ๋๋ค, ํ๋ก๊ทธ๋๋จธ๋ค์ด ์์
ํ๋ ๋ ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ์์
์ ๋๋๋ ๊ฒ์ ์๋ํ๋ค.
exam) ํ
์คํ
๋จ๊ณ
์๋ฌ์ ์กด์ฌ๋ฅผ ํ์งํ๋ค.
์๋ฌ์ ์์น๋ฅผ ์ฐพ์๋ธ๋ค.
์๋ฌ๋ฅผ ์์ ํ๋ค.