๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Basics/Develop

๊ณ ๊ธ‰์–ธ์–ด ? ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด? ์ปดํŒŒ์ผ์–ธ์–ด? ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์œ ํ˜•๋ณ„ ๋ถ„๋ฅ˜

by IworldT 2022. 3. 21.
๋ฐ˜์‘ํ˜•

 

์•ˆ๋…•ํ•˜์„ธ์š”.

์˜ค๋Š˜์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์œ ํ˜•๋ณ„๋กœ ๋ถ„๋ฅ˜ํ•˜์—ฌ๋ณด๊ณ , ๊ฐ ์œ ํ˜•์˜ ํŠน์ง•๊ณผ ์ข…๋ฅ˜๋ฅผ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ณ„๋กœ ๊ฐ๊ฐ์˜ ํŠน์„ฑ์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๊ด€์ ์— ๋”ฐ๋ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์œ ํ˜•๋ณ„๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœํ•˜๊ณ ์ž ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์„ ํƒํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ ์–ธ์–ด๊ฐ€ ์†ํ•œ ์œ ํ˜•๊ณผ ํŠน์ง•์„ ์ž˜ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•˜๋Š”๋ฐ์š”! ์–ด๋ ต์ง€ ์•Š์€ ๋‚ด์šฉ์ด๋‹ˆ ํ™•์ธํ•ด๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด '์œ ํ˜• ๋ถ„๋ฅ˜

 


๊ฐœ๋ฐœ ํŽธ์˜์„ฑ ์ธก๋ฉด์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜

๊ฐœ๋ฐœ ํŽธ์˜์„ฑ์— ๋”ฐ๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ข…๋ฅ˜ ์ €๊ธ‰์–ธ์–ด ๊ณ ๊ธ‰์–ธ์–ด

1. ์ €๊ธ‰์–ธ์–ด(Low-Level Language)

: ์ปดํ“จํ„ฐ๊ฐ€ ์ง์ ‘ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋กœ ์‹คํ–‰์†๋„๋Š” ๋น ๋ฅด๋‚˜ ๊ธฐ๊ณ„๋งˆ๋‹ค ๊ธฐ๊ณ„์–ด๊ฐ€ ์ƒ์ดํ•˜์—ฌ ํ˜ธํ™˜์„ฑ์ด ์—†๊ณ  ์œ ์ง€๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ต๋‹ค.

 

2. ๊ณ ๊ธ‰์–ธ์–ด(High-Level Language)

: ๊ฐœ๋ฐœ์ž๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋กœ, ์‹คํ–‰์„ ์œ„ํ•ด์„œ๋Š” ๋ฒˆ์—ญ ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค.

 

 

์‹คํ–‰ ๋ฐ ๊ตฌํ˜„ ๋ฐฉ์‹์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜

๋ฐ˜์‘ํ˜•

์‹คํ–‰ ๋ฐ ๊ตฌํ˜„ ๋ฐฉ์‹์— ๋”ฐ๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ข…๋ฅ˜ ๋ช…๋ นํ˜• ํ•จ์ˆ˜ํ˜• ๋…ผ๋ฆฌํ˜• ๊ฐ์ฒด์ง€ํ–ฅํ˜•

1. ๋ช…๋ นํ˜• ์–ธ์–ด(Imperative Language)

: ์ปดํ“จํ„ฐ๊ฐ€ ๋™์ž‘ํ•ด์•ผ ํ•  ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚ค๋Š” ๊ตฌ๋ฌธ์— ์ค‘์ ์„ ๋‘” ๋ฐฉ์‹์œผ๋กœ FORTRAN, C ๋“ฑ์ด ์†ํ•œ๋‹ค.

 

2. ํ•จ์ˆ˜ํ˜• ์–ธ์–ด(Functional Language)

: ํ•จ์ˆ˜์˜ ์‘์šฉ์„ ๊ฐ•์กฐํ•˜๋ฉด์„œ ์ž๋ฃŒ์˜ ์ฒ˜๋ฆฌ๋Š” ์ˆ˜ํ•™์ ์ธ ํ•จ์ˆ˜์˜ ์—ฐ์‚ฐ์œผ๋กœ ์ทจ๊ธ‰ํ•˜๊ณ , ์ƒํƒœ์™€ ๊ฐ€๋ณ€ ๋ฐ์ดํ„ฐ๋Š” ๋ฉ€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ LISP, Scala ๋“ฑ์ด ์†ํ•œ๋‹ค.

 

3. ๋…ผ๋ฆฌํ˜• ์–ธ์–ด(Logic Language)

: ๋…ผ๋ฆฌ ๋ฌธ์žฅ์„ ์ด์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์„ ํ‘œํ˜„ํ•˜๊ณ  ์กฐ๊ฑด ์ด ๋งŒ์กฑ๋˜๋ฉด ์—ฐ๊ด€๋œ ๊ทœ์น™์ด ์‹คํ–‰๋˜๋Š” ๋ฐฉ์‹์œผ๋กœ PROLOG ๋“ฑ์ด ์†ํ•œ๋‹ค.

 

4. ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด(Object-Oriented Language)

: ๊ฐ์ฒด ๊ฐ„์˜ ๋ฉ”์‹œ์ง€ ํ†ต์‹ ์„ ์ด์šฉํ•˜์—ฌ ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ JAVA, C++ ๋“ฑ์ด ์†ํ•œ๋‹ค.

 

 

๋นŒ๋“œ(Build) ๋ฐฉ์‹์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜

*๋นŒ๋“œ : ํ”„๋กœ๊ทธ๋žจ์˜ ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ๋กœ ๋ณ€ํ•˜๋Š” ๊ณผ์ •

๋นŒ๋“œ ๋ฐฉ์‹์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜ ์ปดํŒŒ์ผ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋ฐ”์ดํŠธ ์ฝ”๋“œ

 

1. ์ปดํŒŒ์ผ ์–ธ์–ด(Compile Language)

: ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ๊ธฐ๊ณ„์–ด ์‹คํ–‰ ํŒŒ์ผ๋กœ ๋นŒ๋“œ๋˜๋Š” ๋ฐฉ์‹์ด๋‹ค. C, C++ ๋“ฑ์ด ์†ํ•˜๋ฉฐ ์‹คํ–‰์†๋„๊ฐ€ ๋†’์€ ํŠน์ง•์ด ์žˆ๋‹ค.

-> visual studio ๊ฐ™์€ ๊ฐœ๋ฐœ Tool์ด ์ปดํŒŒ์ผ์„ ํ•ด์ฃผ์ฃ ! ํ”„๋กœ๊ทธ๋žจ์„ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•ด ์ปดํŒŒ์ผ ๊ณผ์ •์ด ๊ผญ ํ•„์š”ํ•œ ์–ธ์–ด์ž…๋‹ˆ๋‹ค.

 

2. ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด(Interpreter Language)

: ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ•œ ์ค„์”ฉ ๋ฒˆ์—ญํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. Python ๋“ฑ์ด ์†ํ•˜๊ณ  ์‹ค์‹œ๊ฐ„ ์‹คํ–‰ ๋ฐ ๋ถ„์„์ด ๊ฐ€๋Šฅํ•œ ํŠน์ง•์ด ์žˆ๋‹ค.

-> Jupyter Notebook๋“ฑ์—์„œ ํ•œ ์ค„์”ฉ ์ž…๋ ฅํ•ด๋„ ์—ฐ์†์ ์ธ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜์ฃ .

 

3. ๋ฐ”์ดํŠธ ์ฝ”๋“œ ์–ธ์–ด(Byte Code Language)

: ์ปดํŒŒ์ผ์„ ํ†ตํ•ด ๊ฐ€์ƒ๋จธ์‹ ์ด ๋ฒˆ์—ญํ•  ์ˆ˜ ์žˆ๋Š” Byte Code๋กœ ๋ณ€ํ™˜๋˜๋ฉฐ, ๊ฐ€์ƒ๋จธ์‹ ์€ ๋‹ค์‹œ Native OS๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. JAVA, Scala ๋“ฑ์ด ์†ํ•œ๋‹ค.

 

 

๋…„๋„์— ๋”ฐ๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๋ฐœ์ „ ๊ณผ์ •

*์–ด์…ˆ๋ธ”๋ฆฌ์–ด -> ๊ณ ๊ธ‰์–ธ์–ด ์˜ ํ˜•ํƒœ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ฐœ์ „ ๊ณผ์ •

 


 

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ด๋ ‡๊ฒŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ก  ๊ธฐ์ดˆ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

 

ํ˜„์žฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด์˜ ์Šคํƒ€์ผ, ์ง€ํ–ฅ์ ๊ณผ ์œ ํ–‰์„ ํ•ญ์ƒ ์—ผ๋‘ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

 

์œ„์˜ ๋‚ด์šฉ์˜ ๋ชจ๋“  ์ถœ์ฒ˜๋Š” NCS SW๊ฐœ๋ฐœ ํ•™์Šต์ž๋ฃŒ - ํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด์‘์šฉ ํ•™์Šต๋ชจ๋“ˆ์— ์žˆ์Šต๋‹ˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€