๐Ÿค”ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

dlclfhยท2023๋…„ 6์›” 8์ผ

์ˆ˜ํ–‰ํ‰๊ฐ€

๋ชฉ๋ก ๋ณด๊ธฐ
1/2

๐Ÿ’ป ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด


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

๐Ÿ“ 1. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๋ฐœ์ „ ๊ณผ์ •
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ์ปดํ“จํ„ฐ์˜ ๋ฐœ์ „๊ณผ ํ•จ๊ป˜ ๊ณ„์†ํ•˜์—ฌ ๋ฐœ์ „ํ•˜์˜€์œผ๋ฉฐ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด์—์„œ ๊ณ ๊ธ‰์–ธ์–ด์˜ ํ˜•ํƒœ๋กœ ์ง€์†์ ์œผ๋กœ ๋ฐœ์ „ํ•˜๊ณ  ์žˆ๋‹ค.

1970๋…„๋Œ€ ์ด์ „1970๋…„๋Œ€1980๋…„๋Œ€1990๋…„๋Œ€2000๋…„๋Œ€
FORTRANPASCALADAPythonC#
COBOLCC++HTMLScala
BASICSMALLTALKObjective-CJAVAGo
BCPLSQLPerlPHPSwift
๐Ÿ“ ์—ฌ๊ธฐ์„œ ๋‘๊ฐœ ์ •๋„๋Š” ์•Œ์•„๋‘์žํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๋ฐœ์ „ ๊ณผ์ •ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์˜ํ–ฅ ๊ด€๊ณ„

2. ๋ถ„๋ฅ˜ ์ฒด๊ณ„๋ณ„ ์ •๋ฆฌ

๐Ÿ“ 1) ๊ฐœ๋ฐœ ํŽธ์˜์„ฑ ๋ถ„๋ฅ˜
์ €๊ธ‰์–ธ์–ด : assembly, ๊ธฐ๊ณ„์–ด
๊ณ ๊ธ‰์–ธ์–ด : C, C++, JAVA, PYTHON

2) ์‹คํ–‰ ๋ฐ ๊ตฌํ˜„ ๋ฐฉ์‹ ๋ถ„๋ฅ˜
๋ช…๋ นํ˜• ์–ธ์–ด : FORTRAN, C, COBOL, PASCAL
ํ•จ์ˆ˜ํ˜• ์–ธ์–ด : LISP,
๋…ผ๋ฆฌํ˜• ์–ธ์–ด : PROLOG
๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด : JAVA, C++

3) ๋นŒ๋“œ ๋ฐฉ์‹ ๋ถ„๋ฅ˜
์ปดํŒŒ์ผ ์–ธ์–ด : C, C++
์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด : Python, BASIC, PROLOG
๋ฐ”์ดํŠธ ์ฝ”๋“œ ์–ธ์–ด : JAVA, Scala

๐Ÿ”ˆ 2 - 1 ๋น„๊ต๋‚ด์šฉ

๊ตฌ๋ถ„์ปดํŒŒ์ผ๋Ÿฌ์ธํ„ฐํ”„๋ฆฌํ„ฐ
๊ฐœ๋ฐœ ํŽธ์˜์„ฑ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‹คํ–‰์ด ํ•„์š”ํ•œ๊ฒฝ์šฐ ์žฌ์ปดํŒŒ์ผ ํ•„์š”์ฝ”๋“œ ์ˆ˜์ • ํ›„ ์ฆ‰์‹œ ์‹คํ–‰ ๊ฐ€๋Šฅ
๋ฒˆ์—ญ ๋‹จ์œ„์ „์ฒด ์†Œ์Šค์ฝ”๋“œ๋ฌธ์žฅ ๋‹จ์œ„
์‹คํ–‰ ํŒŒ์ผ ๋ฐ ์†๋„์‹คํ–‰ ํŒŒ์ผ ์ƒ์„ฑ ์ฒ˜๋ฆฌ์†๋„ ๋น ๋ฆ„์‹คํ–‰ ํŒŒ์ผ ๋ฏธ์ƒ์„ฑ ์ฒ˜๋ฆฌ์†๋„ ๋А๋ฆผ
๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์‹คํ–‰ ํŒŒ์ผ ์ƒ์„ฑ ์‹œ ์‚ฌ์šฉํ• ๋‹นํ•˜์ง€ ์•Š์Œ

3. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ณ„ ํŠน์„ฑ

์–ธ์–ดํŠน์„ฑ
FORTRAN๊ณผํ•™์ ์ธ ๋ถ„์•ผ์—์„œ ๋งŽ์ด ์“ฐ์ž„
COBOL๋น„์ฆˆ๋‹ˆ์Šค, ๊ธˆ์œต, ํšŒ์‚ฌ/์ •๋ถ€ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์— ์ฃผ๋กœ ์‚ฌ์šฉ
PASCALํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ต์œก์šฉ
CUNIX ์šด์˜์ฒด์ œ ๊ตฌํ˜„์šฉ
C++/C#C์—์„œ ๋ฐœ์ „ํ•œ ์–ธ์–ด
PHP์›น๊ฐœ๋ฐœ ํŠนํ™”
JAVA์ปดํŒŒ์ผ์„ ํ†ตํ•ด class ํŒŒ์ผ ์ƒ์„ฑํ•˜์—ฌ JVM์—์„œ ์‚ฌ์šฉ
JavaScriptHTML, CSS ํ•จ๊ป˜ ์›น ๊ตฌ์„ฑ
Python๋ฐฐ์šฐ๊ธฐ ์‰ฝ๊ณ  ์ด์‹์„ฑ์ด ์ข‹์€ ์–ธ์–ด
GoLangGoogle์—์„œ ๋งŒ๋“ฌ
KotlinJVM๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ„๊ฒฐํ•จ
R๋น…๋ฐ์ดํ„ฐ๋ถ„์„ ๋ฐ ๊ธฐ๊ณ„ํ•™์Šต์— ์œ ์šฉํ•จ

4. ์ธ์ŠคํŽ™์…˜

๐Ÿค” ์ฝ”๋“œ ์ธ์ŠคํŽ™์…˜

ํ”„๋กœ๊ทธ๋žจ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ์ฝ”๋“œ์ƒ์—์„œ์˜ ์ž ์žฌ์ ์ธ ์˜ค๋ฅ˜์™€ ํ‘œ์ค€ ๋ฏธ์ค€์ˆ˜ ๋“ฑ์˜ ๊ฒฐํ•จ์„ ์‚ฌ์ „์— ์‹๋ณ„ํ•˜์—ฌ ๊ฐœ์„ ํ•˜๋Š” ๊ณต์‹์ ์ธ ๋ฆฌ๋ทฐ ๊ธฐ๋ฒ•

โœ” 4 - 1 ์ธ์ŠคํŽ™์…˜ ์ˆ˜ํ–‰ ์ ˆ์ฐจ ๋ฐ ์ˆ˜ํ–‰๋‚ด์šฉ

๋‹จ๊ณ„์ˆ˜ํ–‰๋‚ด์šฉ
๊ณ„ํš๋ฐฐํฌํ•˜๊ณ  ๋‚ ์งœ์™€ ์žฅ์†Œ ๊ณต์ง€
๊ฐœ๊ด€์ดํ•ด๋„ ๋†’์ด๊ธฐ, ํšจ๊ณผ์„ฑ ํ–ฅ์ƒ, ์ƒ๋žต ๊ฐ€๋Šฅ
์ค€๋น„์‚ฐ์ถœ๋ฌผ์— ๋Œ€ํ•ด ์ˆ™์ง€, ์ฒดํฌ๋ฆฌ์ŠคํŠธ ํ™œ์šฉ ๊ฒฐํ•จ ๊ธฐ๋ก
๊ฒ€ํ† ํšŒ์˜๊ฒ€ํ† ํšŒ์˜์—์„œ ๊ฒฐํ•จ ๋ถ€๋ถ„ ์ง‘์ค‘
์ œ์ž‘์—…๊ฒ€ํ† ํšŒ์˜์—์„œ ๋ฐœ๊ฒฌ๋œ ๊ฒฐํ•จ ์ˆ˜์ •
์ถ”์ ๊ฒฐํ•จ์ด ์ •์ƒ์ ์œผ๋กœ ์ˆ˜์ •๋˜์—ˆ๋Š”์ง€ ์ตœ์ข…ํ™•์ธ ํ›„ ์ข…๋ฃŒ

5. ๋ฆฌํŒฉํ† ๋ง(Refactoring)

๐Ÿ’ญ ๋ฆฌํŒฉํ† ๋ง

๐Ÿ˜’ 5 - 2 ๋ฆฌํŒฉํ† ๋ง ๋Œ€์ƒ ๋ฐ ์ ์šฉ ๋ฐฉ๋ฒ•

๋ฆฌํŒฉํ† ๋ง ๋Œ€์ƒ๋ฆฌํŒฉํ† ๋ง ๋ฐฉ๋ฒ•
์ค‘๋ณต๋œ ์ฝ”๋“œ์ค‘๋ณต์„ ์ œ๊ฑฐํ•ด์•ผ ํ•œ๋‹ค.
๊ธด ๋ฉ”์†Œ๋“œ๋ฉ”์†Œ๋“œ๋ฅผ ์ ์ • ์ˆ˜์ค€์˜ ํฌ๊ธฐ๋กœ ๋‚˜๋ˆ„์–ด์•ผ ํ•œ๋‹ค.
๊ธด ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฆฌ์ŠคํŠธํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐœ์ˆ˜๋ฅผ ์ค„์—ฌ์•ผ ํ•œ๋‹ค.
๊ฒŒ์œผ๋ฅธ ํด๋ž˜์Šค์ž์‹ ํด๋ž˜์Šค์™€ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ์ฐจ์ด๊ฐ€ ์—†์œผ๋ฉด ํ•ฉ์นœ๋‹ค.
์ฃผ์„์ฃผ์„์ด ์—†์–ด๋„ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค.
๋ฉ”์‹œ์ง€ ์ฒด์ธํŠน์ • ๊ฐ์ฒด๋ฅผ ์–ป๊ธฐ ์œ„ํ•œ ๋‹ค์ˆ˜ ๊ฐ์ฒด๋Š” ๊ฐ„์†Œํ™”ํ•œ๋‹ค.
๋ฏธ๋“ค ๋งจ๋‹ค๋ฅธ ํด๋ž˜์Šค๋กœ ์œ„์ž„ํ•˜๋Š” ์—ญํ• ๋งŒ ๋‹ด๋‹นํ•˜๋Š” ํด๋ž˜์Šค ์ œ๊ฑฐ๋ฅผ ๊ฒ€ํ† ํ•œ๋‹ค.
๋ถˆ์™„์ „ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ถˆ์™„์ „ ์‹œ ํ•„์š” ๋ถ€๋ถ„ ์ถ”๊ฐ€ ๊ตฌ์„ฑํ•œ๋‹ค.
์Šค์œ„์น˜ ๋ช…๋ น๋ฌธ์ง€๋‚˜์น˜๊ฒŒ ๋งŽ์€ case๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Switch ๋ฌธ์žฅ์€ ์ฝ”๋“œ ์ค‘๋ณต์˜ ์‹ ํ˜ธ์ด๋‹ค.

๊ฒฐ๊ณผ๋Š” ๋˜‘๊ฐ™๋‹ค.

6. ์ปดํŒŒ์ผ

๐Ÿค— 6 - 1 ์ปดํŒŒ์ผ๋Ÿฌ์™€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ

๊ณ ๊ธ‰์–ธ์–ด๋กœ ์ž‘์„ฑํ•œ ์†Œ์Šค์ฝ”๋“œ์˜ ๊ฒฝ์šฐ ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ปดํŒŒ์ผ๋Ÿฌ๋‚˜ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ณ„์–ด ์ฝ”๋“œ๋กœ ๋ฒˆ์—ญ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

๐ŸŽฎ 6 - 2 ์ปดํŒŒ์ผ๋Ÿฌ์™€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋™์ž‘ ๋ฐฉ์‹

profile
๋‚˜์˜ ์ธ์ƒ๋“ค

0๊ฐœ์˜ ๋Œ“๊ธ€