๐Ÿš€ ์‹œ๋Œ€๋ณ„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ด์•ผ๊ธฐ: ํƒ„์ƒ๋ถ€ํ„ฐ ๋Œ€์„ธ ์–ธ์–ด๊นŒ์ง€ ์ด์ •๋ฆฌ ๐Ÿš€

๊น€๋™ํ˜ยท2025๋…„ 2์›” 24์ผ
24

1. ์„œ๋ก : ์–ธ์–ด๊ฐ€ ์ถค์ถ”๋Š” ๋ฌด๋Œ€์— ์˜ค์‹  ๊ฑธ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค! ๐Ÿคนโ€โ™‚๏ธ

์•ˆ๋…•ํ•˜์„ธ์š”, ์—ฌ๋Ÿฌ๋ถ„!
ํ˜น์‹œ โ€˜ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์—ญ์‚ฌโ€™ ๋ผ๊ณ  ํ•˜๋ฉด ๋ฌด๊ฒ๊ณ  ๋”ฑ๋”ฑํ•œ ์˜›๋‚  ์ด์•ผ๊ธฐ๊ฐ€ ๋– ์˜ค๋ฅด์‹œ๋‚˜์š”? ๐Ÿ“š๐Ÿง ํ•˜์ง€๋งŒ ์•Œ๊ณ  ๋ณด๋ฉด, ๊ฐ ์–ธ์–ด์—๋Š” ์žฌ๋ฐŒ๋Š” ์—ํ”ผ์†Œ๋“œ์™€ ๋น„ํ•˜์ธ๋“œ ์Šคํ† ๋ฆฌ๊ฐ€ ๊ฐ€๋“ ์ˆจ๊ฒจ์ ธ ์žˆ๋‹ต๋‹ˆ๋‹ค!

  • โ€œ์™œ ์–ด๋–ค ์–ธ์–ด๋Š” ์‚ฌ๋ผ์ง€์ง€ ์•Š๊ณ  ๊ณ„์† ์“ฐ์ผ๊นŒ?โ€
  • โ€œ์ง€๊ธˆ ๋œจ๋Š” ์–ธ์–ด๋Š” ๋„๋Œ€์ฒด ์–ด๋””์„œ ์™”์„๊นŒ?โ€
  • โ€œ์–ธ์–ด๋งˆ๋‹ค ์ด๋ ‡๊ฒŒ๋‚˜ ๋‹ค๋ฅธ ํŠน์ง•์ด ์ƒ๊ธด ์ด์œ ๋Š” ๋ญ˜๊นŒ?โ€

์ด๋Ÿฐ ๊ถ๊ธˆ์ฆ์„ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด, ์‹œ๋Œ€๋ณ„๋กœ ์–ด๋–ค ์–ธ์–ด๊ฐ€ ๋“ฑ์žฅํ–ˆ๊ณ  ์–ด๋–ป๊ฒŒ ๋ฐœ์ „ํ•ด์™”๋Š”์ง€๋ฅผ ์žฌ๋ฏธ ๋“ฌ๋ฟ ๋‹ด์•„ ์†Œ๊ฐœํ•ด ๋“œ๋ฆฌ๋ ค๊ณ  ํ•ด์š”. ๐Ÿš€

โ€œ์˜์›ํ•œ 1๋“ฑ ์–ธ์–ด๋Š” ์—†๋‹คโ€๋ผ๋Š” ๋ง, ๋“ค์–ด๋ณด์…จ๋‚˜์š”?
์‹œ๋Œ€๊ฐ€ ๋ณ€ํ•  ๋•Œ๋งˆ๋‹ค ๋“ฑ์žฅํ•˜๋Š” ์ƒˆ๋กœ์šด ํ”Œ๋žซํผ(๋ฉ”์ธํ”„๋ ˆ์ž„ โ†’ PC โ†’ ์›น โ†’ ๋ชจ๋ฐ”์ผ โ†’ ํด๋ผ์šฐ๋“œ โ†’ AIโ€ฆ)๊ณผ ๊ธฐ์ˆ  ํŠธ๋ Œ๋“œ์— ๋”ฐ๋ผ ์ฃผ๋ชฉ๋ฐ›๋Š” ์–ธ์–ด๋„ ๋‹ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค. ํ•œ ์‹œ์ ˆ์„ ํ’๋ฏธํ–ˆ๋˜ ์–ธ์–ด๊ฐ€ ์–ด๋Š ๋‚  ๋ณด๋‹ˆ ๋’ค์ณ์ง€๊ธฐ๋„ ํ•˜๊ณ , ์žŠํ˜€์กŒ๋˜ ์–ธ์–ด๊ฐ€ ๋˜ ๋‹ค๋ฅธ ๋ถ„์•ผ์—์„œ ์žฌํ‰๊ฐ€๋ฐ›๊ธฐ๋„ ํ•˜์ฃ .

์ด๋ฒˆ ์‹œ๋ฆฌ์ฆˆ์—์„œ๋Š” ๊ณผ๊ฑฐ๋ถ€ํ„ฐ ํ˜„์žฌ๊นŒ์ง€ ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์‹œ๊ธฐ๋ฅผ ๋‚˜๋ˆ , ํ•ด๋‹น ์‹œ๊ธฐ์— ๋“ฑ์žฅํ•˜๊ฑฐ๋‚˜ ์ „์„ฑ๊ธฐ๋ฅผ ๋ˆ„๋ ธ๋˜ ์–ธ์–ด๋“ค์„ ๋ฐ๊ณ  ๊ฒฝ์พŒํ•œ ์Šคํ† ๋ฆฌ๋กœ ํ’€์–ด๋ณผ๊นŒ ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ•บ๐Ÿ’ƒ

๐Ÿ‘€ ๋ชฉ์ฐจ

  • 1950~1960๋…„๋Œ€: ๋ฉ”์ธํ”„๋ ˆ์ž„์˜ ๊ฑฐ๋Œ€ํ•œ ์ปดํ“จํ„ฐ์™€ ํ•จ๊ป˜ ํƒœ์–ด๋‚œ ์–ธ์–ด๋“ค
  • 1970~1980๋…„๋Œ€: C ์–ธ์–ด๊ฐ€ ํƒ„์ƒํ•˜๋ฉฐ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๋ณ€ํ™”ํ•œ ์‹œ๊ธฐ
  • 1980~1990๋…„๋Œ€ ์ดˆ์ค‘๋ฐ˜: ๊ฐ์ฒด์ง€ํ–ฅ ๋ฐ”๋žŒ๊ณผ ํ•จ๊ป˜ C++๊ฐ€ ๋ฌด๋Œ€์— ๋“ฑ์žฅ
  • 1990๋…„๋Œ€ ์ค‘ํ›„๋ฐ˜: ์›น์ด ํญ๋ฐœ์ ์œผ๋กœ ์„ฑ์žฅํ•˜๊ณ , Java์™€ JavaScript๊ฐ€ ์„ธ์ƒ์„ ๋ฐ”๊พผ ์‹œ๊ธฐ
  • 2000๋…„๋Œ€: C#๊ณผ Python/Ruby ๋“ฑ์ด ๋ณธ๊ฒฉ์ ์œผ๋กœ ์ฃผ๋ชฉ๋ฐ›์€ ์‹œ๊ธฐ
  • 2010๋…„๋Œ€ ์ดํ›„: JavaScript์˜ ๋ฌดํ•œ ํ™•์žฅ, ๋ชจ๋ฐ”์ผ(Swift/Kotlin), AI(Python) ๋“ฑ

๊ฐ ํŒŒํŠธ์—์„œ ์–ธ์–ด๋ณ„ ์žฌ๋ฏธ์žˆ๋Š” ์—ํ”ผ์†Œ๋“œ, ์ธ๊ธฐ ์š”์ธ, ๋Œ€ํ‘œ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ๊ณ๋“ค์—ฌ ์†Œ๊ฐœํ•  ์˜ˆ์ •์ด๋‹ˆ, ํŽธ์•ˆํžˆ ์ฝ์œผ๋ฉด์„œ โ€œ์•„~ ์ด๋Ÿฐ ํžˆ์Šคํ† ๋ฆฌ๊ฐ€ ์žˆ์—ˆ๊ตฌ๋‚˜!โ€ ๋Š๋ผ์‹ค ์ˆ˜ ์žˆ์„ ๊ฑฐ์˜ˆ์š”. ๊ทธ๋Ÿผ ์ด๋ฒˆ ์–ธ์–ด ๋Œ€์žฅ์ •์˜ ์ฒซ ์—ฌ์ •์„ ํ•จ๊ป˜ ์‹œ์ž‘ํ•ด๋ณผ๊นŒ์š”?


2.1950~1960๋…„๋Œ€: ๋ฉ”์ธํ”„๋ ˆ์ž„์˜ ์‹œ๋Œ€, ํƒœ๋™๊ธฐ ์–ธ์–ด๋“ค

2.1 ์‹œ๋Œ€์  ๋ฐฐ๊ฒฝ

1950~60๋…„๋Œ€๋Š” ์ง€๊ธˆ์ฒ˜๋Ÿผ ๊ฐ€์ •์ด๋‚˜ ์‚ฌ๋ฌด์‹ค์— ๋†“์ด๋Š” ์ž‘๊ณ  ๊ฐ•๋ ฅํ•œ ์ปดํ“จํ„ฐ๊ฐ€ ์•„๋‹Œ, ๋ฐฉ ํ•œ๊ฐ€๋“(์–ด์ฉŒ๋ฉด ๊ฑด๋ฌผ ํ•œ ์ฑ„๋งŒํผ) ์ฐจ์ง€ํ•˜๋Š” ๋ฉ”์ธํ”„๋ ˆ์ž„ ์ปดํ“จํ„ฐ๊ฐ€ ์ „๋ถ€์˜€๋˜ ์‹œ๊ธฐ์ž…๋‹ˆ๋‹ค. ๐Ÿ˜ฑ

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ํŽ€์น˜์นด๋“œ(๊ตฌ๋ฉ ๋šซ๋ฆฐ ์นด๋“œ)๋กœ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ–ˆ๊ณ , ํ•œ๋ฒˆ ์ฝ”๋“œ ์‹คํ–‰์„ ์‹œ๋„ํ•˜๋ ค๋ฉด ๊ฝค ๋ฌด๊ฑฐ์šด ์ ˆ์ฐจ๋ฅผ ๋ฐŸ์•„์•ผ ํ–ˆ์–ด์š”.
  • ๊ฒŒ๋‹ค๊ฐ€ ์†Œ์ˆ˜์˜ ๋Œ€ํ˜• ๊ธฐ์—…, ์—ฐ๊ตฌ์†Œ, ์ •๋ถ€ ๊ธฐ๊ด€ ๋“ฑ๋งŒ ์ปดํ“จํ„ฐ๋ฅผ ์†Œ์œ ํ•  ์ˆ˜ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๊ทน์†Œ์ˆ˜ ์—˜๋ฆฌํŠธ๋กœ ์ธ์‹๋˜๊ธฐ๋„ ํ–ˆ๋‹ต๋‹ˆ๋‹ค.
์ž‘์€ ์ด๋ฏธ์ง€

์ด ์‹œ๋Œ€์˜ ๋Œ€ํ‘œ ์–ธ์–ด๋“ค์€ โ€œ์•„์ง ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ž€ ๊ฐœ๋… ์ž์ฒด๊ฐ€ ์ƒ์†Œํ–ˆ๋˜โ€ ๋ถ„์œ„๊ธฐ์—์„œ ํƒ„์ƒํ–ˆ์œผ๋ฉฐ, ์ฃผ๋กœ ๊ณผํ•™ ๊ณ„์‚ฐ, ์—…๋ฌด ์ฒ˜๋ฆฌ, AI ์—ฐ๊ตฌ(์ดˆ์ฐฝ๊ธฐ)๋ผ๋Š” ๊ตฌ์ฒด์ ์ธ ๋ชฉ์ ์— ๋งž์ถฐ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


2.2 ๋Œ€ํ‘œ ์–ธ์–ด์™€ ๊ทธ ์—ํ”ผ์†Œ๋“œ๋“ค

๐Ÿณ๏ธ FORTRAN(1957)

  • ๋ˆ„๊ฐ€ ๋งŒ๋“ค์—ˆ๋‚˜?
    IBM์˜ ์กด ๋ฐ”์ปค์Šค(John Backus) ํŒ€์„ ์ค‘์‹ฌ์œผ๋กœ, ๊ณผํ•™ยท์ˆ˜ํ•™ ๊ณ„์‚ฐ์„ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ.
  • ์–ด๋–ค ๋ฉด์ด ํ˜์‹ ์ ์ด์—ˆ๋‚˜?
    • ๊ธฐ๊ณ„์–ด(์–ด์…ˆ๋ธ”๋ฆฌ์–ด)๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ์‹œ์ ˆ, ์ธ๊ฐ„ ์นœํ™”์ ์ธ ๊ณ ์ˆ˜์ค€ ์–ธ์–ด๋กœ ์ˆ˜์‹(Formula)์„ ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์คŒ.
    • FORTRAN์ด๋ผ๋Š” ์ด๋ฆ„๋„ โ€œFORmula TRANslationโ€์—์„œ ์œ ๋ž˜ํ–ˆ์–ด์š”!
  • ์žฌ๋ฏธ์žˆ๋Š” ์—ํ”ผ์†Œ๋“œ
    • ๋‹น์‹œ์—” "๊ณ ์ˆ˜์ค€ ์–ธ์–ด" ์ž์ฒด๊ฐ€ ๋‚ฏ์„ค์–ด์„œ, FORTRAN์„ ์ฒ˜์Œ ์จ๋ณธ ๊ณผํ•™์ž๋“ค์€ "์šฐ์™€, ์ด๊ฒŒ ์ •๋ง ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญ๋˜๋Š” ๊ฑฐ์•ผ?" ํ•˜๋ฉฐ ์ถฉ๊ฒฉ์— ๋น ์กŒ๋‹ค๋Š” ์ด์•ผ๊ธฐ๊ฐ€ ์ „ํ•ด์ง‘๋‹ˆ๋‹ค. ๐Ÿง‘โ€๐Ÿ”ฌ
    • ํฌํŠธ๋ž€(ํ•œ๊ธ€ ํ‘œ๊ธฐ)์€ ์ง€๊ธˆ๋„ ์—”์ง€๋‹ˆ์–ด๋ง ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋“ฑ ํŠน์ • ๋ถ„์•ผ์—์„œ ์—ฌ์ „ํžˆ ์‚ฌ์šฉ๋  ๋งŒํผ ์ˆ˜ํ•™ ๊ณ„์‚ฐ์— ํŠนํ™”๋˜์–ด ์žˆ์–ด์š”.

๐Ÿณ๏ธ COBOL(1959)

  • ๋ˆ„๊ฐ€ ๋งŒ๋“ค์—ˆ๋‚˜?
    ๋ฏธ ๊ตญ๋ฐฉ๋ถ€, ๋Œ€ํ˜• ๊ธฐ์—…(์€ํ–‰ยท๋ณดํ—˜์‚ฌ), ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋ ˆ์ด์Šค ํ˜ธํผ(Grace Hopper) ๋“ฑ ์—ฌ๋Ÿฌ ์ธ๋ฌผ์ด ํ˜‘๋ ฅํ•˜์—ฌ ์ œ์ž‘.
  • ์™œ ํ•„์š”ํ–ˆ๋‚˜?
    • ๊ธฐ์—…์˜ ํšŒ๊ณ„ ์ฒ˜๋ฆฌ, ์žฌ๊ณ  ๊ด€๋ฆฌ, ๊ธ‰์—ฌ ๊ณ„์‚ฐ ๋“ฑ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŽ์ด ๋‹ค๋ฃจ๋Š” ์—…๋ฌด๋ฅผ ์ปดํ“จํ„ฐ๋กœ ๋Œ๋ฆฌ๊ธฐ ์œ„ํ•ด.
    • ๊ฐ„๋‹จํ•œ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ๊ทธ๋Ÿฐ ๋ณต์žกํ•œ ์—…๋ฌด ๋กœ์ง์„ ์งœ๊ธฐ์—๋Š” ๋„ˆ๋ฌด ๋น„ํšจ์œจ์ ์ด์—ˆ์–ด์š”!
  • ์–ด๋–ค ๋ฉด์ด ํ˜์‹ ์ ์ด์—ˆ๋‚˜?
    • ADD WAGES TO TAXES GIVING TOTAL ์ฒ˜๋Ÿผ ์˜์–ด ๋ฌธ์žฅ๊ณผ ํก์‚ฌํ•œ ๋ฌธ๋ฒ•.
    • ๋‹น์‹œ์— โ€œ๋น„(้ž)ํ”„๋กœ๊ทธ๋ž˜๋จธโ€๋„ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„ ๊ฑฐ๋ผ๋Š” ํฌ๋ง์ด ์žˆ์—ˆ๋‹ต๋‹ˆ๋‹ค(๋ฌผ๋ก  ์‹ค์ œ๋กœ๋Š” ์‰ฝ์ง€ ์•Š์•˜์ง€๋งŒ์š” ๐Ÿ˜…).
  • ์žฌ๋ฏธ์žˆ๋Š” ์—ํ”ผ์†Œ๋“œ
    • 2020๋…„๋Œ€์—๋„ ์ „ ์„ธ๊ณ„ ๊ธˆ์œต๊ถŒ ๋ฉ”์ธํ”„๋ ˆ์ž„์—์„œ COBOL ์ฝ”๋“œ๊ฐ€ ์—„์ฒญ๋‚˜๊ฒŒ ๋Œ์•„๊ฐ€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
    • COBOL ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ถ€์กฑํ•ด์ง€๋ฉด์„œ, ๋•Œ๋ก  '๊ณ ์•ก ์—ฐ๋ด‰'์œผ๋กœ ๊ฒฝํ—˜์ž๋ฅผ ๋ชจ์…”๊ฐ€๋Š” ์ผ์ด ์ข…์ข… ๊ธฐ์‚ฌํ™”๋˜๊ธฐ๋„ ํ–ˆ์–ด์š”.

๐Ÿณ๏ธ LISP(1958)

  • ๋ˆ„๊ฐ€ ๋งŒ๋“ค์—ˆ๋‚˜?
    ์กด ๋งค์นด์‹œ(John McCarthy)๊ฐ€ MIT์—์„œ AI(์ธ๊ณต์ง€๋Šฅ) ์—ฐ๊ตฌ๋ฅผ ์œ„ํ•ด ๊ณ ์•ˆ.
  • ์–ด๋–ค ๋ฉด์ด ํ˜์‹ ์ ์ด์—ˆ๋‚˜?
    • ๋ฆฌ์ŠคํŠธ(List) ์ž๋ฃŒ ๊ตฌ์กฐ์™€ ํ•จ์ˆ˜ํ˜• ํŒจ๋Ÿฌ๋‹ค์ž„์— ์ง‘์ค‘.
    • ์žฌ๊ท€ ํ•จ์ˆ˜, GC(๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜) ๊ฐœ๋…๋„ ๋น„๊ต์  ์ด๋ฅด๊ฒŒ ๋„์ž…ํ•ด โ€œ์•ž์„œ๊ฐ„ ์–ธ์–ดโ€๋กœ ํ‰๊ฐ€๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.
  • ์žฌ๋ฏธ์žˆ๋Š” ์—ํ”ผ์†Œ๋“œ
    • ๊ด„ํ˜ธ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„์„œ โ€œ๊ด„ํ˜ธ ์ง€์˜ฅโ€์ด๋ผ๋Š” ๋ณ„๋ช…์ด... ์˜ˆ: (+ 2 3) ๊ฐ™์€ ํ˜•ํƒœ๋ฅผ ๊ณ„์† ์ค‘์ฒฉํ•ด์„œ ์“ฐ๋Š” ๋ฐฉ์‹.
    • ๋น„์ฃผ๋ฅ˜์ฒ˜๋Ÿผ ๋ณด์˜€์ง€๋งŒ, ํ•™๊ณ„์™€ ์—ฐ๊ตฌ์†Œ์—์„œ โ€œAI๋ฅผ ํ•˜๋ ค๋ฉด LISPโ€์ด๋ผ๋Š” ์ธ์‹์ด ๊ฝค ๊ฐ•ํ–ˆ๋‹ต๋‹ˆ๋‹ค. ๐Ÿค–

2.3 ์‹œ๋Œ€์˜ ์˜๋ฏธ

  • ์ด ์‹œ๊ธฐ ์–ธ์–ด๋“ค์€ โ€œํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ดโ€์˜ ๊ฐœ๋…์„ ์„ธ์ƒ์— ์ฒ˜์Œ ์•Œ๋ฆฐ ์„ ๊ตฌ์ž๋“ค์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๊ณผํ•™ ๊ณ„์‚ฐ(FORTRAN), ๊ธฐ์—… ์—…๋ฌด(COBOL), ์—ฐ๊ตฌ์šฉ(LISP)์ฒ˜๋Ÿผ, ๋ชฉํ‘œ๊ฐ€ ๋ถ„๋ช…ํ•œ ๊ฐ ๋ถ„์•ผ์— ํŠนํ™”๋œ ๋ชจ์Šต์„ ๋ณด์ž…๋‹ˆ๋‹ค.
  • ๊ธฐ๊ณ„์–ด, ์–ด์…ˆ๋ธ”๋ฆฌ์–ด์™€ ๋น„๊ตํ•˜๋ฉด ์—„์ฒญ๋‚œ ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ์ด์—ˆ์ง€๋งŒ, ์˜ค๋Š˜๋‚ ์˜ ๊ด€์ ์—์„œ ๋ณด๋ฉด ์—ฌ์ „ํžˆ ๋ฌธ๋ฒ•์ด ํˆฌ๋ฐ•ํ•˜๊ณ  ์ปดํŒŒ์ผ ๊ณผ์ •๋„ ๋ฒˆ๊ฑฐ๋กญ๋‹ค๋Š” ํ‰๊ฐ€๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.
  • ํ•˜์ง€๋งŒ โ€œ๋งํ•˜์ง€ ์•Š๊ณ  ์‚ด์•„๋‚จ์•„โ€ ํ˜„์—…์—์„œ ์“ฐ์ด๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์œผ๋‹ˆ(ํŠนํžˆ COBOL, FORTRAN), IT ์—ญ์‚ฌ์˜ ๊ธธ์ด๋ฅผ ์ƒˆ์‚ผ ์‹ค๊ฐํ•˜๊ฒŒ ๋งŒ๋“ค์ฃ !

ํ•œ ์ค„ ์š”์•ฝ: "ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ผ๋Š” ๊ฐœ๋… ์ž์ฒด๊ฐ€ ์ƒ์†Œํ•˜๋˜ ์‹œ์ ˆ, ๋ฉ”์ธํ”„๋ ˆ์ž„ ์ปดํ“จํ„ฐ ์‹œ๋Œ€๋ฅผ ์ฑ…์ž„์กŒ๋˜ ์ดˆ๊ธฐ ์–ธ์–ด ์‚ผ์ด์‚ฌ(FORTRAN, COBOL, LISP)!"


2.4 ๋” ์•Œ์•„๋ณด๊ธฐ

  1. ๊ทธ๋ ˆ์ด์Šค ํ˜ธํผ(Grace Hopper): COBOL ํƒ„์ƒ์— ํฐ ์˜ํ–ฅ์„ ์ค€ ์ „์„ค์  ์ธ๋ฌผ. "๋””๋ฒ„๊ทธ(bug๋ฅผ ์žก๋‹ค)"๋ž€ ํ‘œํ˜„๋„ ๊ทธ๋…€๋กœ๋ถ€ํ„ฐ ์œ ๋ž˜ํ–ˆ๋‹ค๋Š” ์ผํ™”๊ฐ€ ์žˆ์–ด์š”(์‚ฌ์‹ค์€ ์ปดํ“จํ„ฐ ์žฅ์น˜์— ๋ผ์–ด์žˆ๋˜ ๊ณค์ถฉ์„ ๋ฐœ๊ฒฌํ•œ ์‚ฌ๊ฑด...).
  2. FORTRAN์˜ ์ง„ํ™”: FORTRAN 77, 90, 95, 2003, 2008โ€ฆ ๊ณ„์† ๋ฒ„์ „์ด ์—…๋ฐ์ดํŠธ๋˜์–ด ์˜์™ธ๋กœ โ€˜ํ˜„๋Œ€ํ™”โ€™๋œ ๋ฌธ๋ฒ•์„ ์ง€์›ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค!
  3. AI ์ดˆ์ฐฝ๊ธฐ์˜ ์ด์ƒ๊ณผ ํ˜„์‹ค: LISP ์—ฐ๊ตฌ์ž๋“ค์€ ๊ทธ ๋‹น์‹œ โ€˜๊ณง ์ธ๊ฐ„ ์ˆ˜์ค€์˜ AIโ€™๋ฅผ ๋งŒ๋“ค ๊ฑฐ๋ผ ๋ฏฟ์—ˆ๋‹ค๊ณ  ํ•ด์š”. ๋ฌผ๋ก  ๊ทธ ๊ธธ์€ ์˜ˆ์ƒ๋ณด๋‹ค ํ›จ์”ฌ ํ—˜๋‚œํ–ˆ์ง€๋งŒ, LISP๊ฐ€ ํ•จ์ˆ˜ํ˜• ์–ธ์–ด์™€ AI ์—ฐ๊ตฌ์˜ ๊ธฐ์ดˆ๋ฅผ ๋‹ค์ง„ ๊ฑด ์‚ฌ์‹ค!

โ˜• ์ •๋ฆฌํ•˜๋ฉฐ

1950~60๋…„๋Œ€๋Š” ์ปดํ“จํ„ฐ๋ผ๋Š” ์กด์žฌ ์ž์ฒด๊ฐ€ ๊ฑฐ๋Œ€ํ•˜๊ณ  ํฌ์†Œํ–ˆ๊ธฐ์—, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋˜ํ•œ ํŠน์ • ์ง‘๋‹จ์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๋ถ„์•ผ์˜€์–ด์š”. ํ•˜์ง€๋งŒ FORTRAN, COBOL, LISP ๊ฐ™์€ ์–ธ์–ด๋“ค์ด โ€œ์ธ๊ฐ„ ์นœํ™”์ ์ธ ๋ฌธ๋ฒ•โ€์„ ์‹œํ—˜ํ•ด๋ณด๋ฉด์„œ, โ€œ๋” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ค์ž!โ€๋ผ๋Š” ์•„์ด๋””์–ด์˜ ์”จ์•—์ด ์‹ฌ์–ด์กŒ๋‹ต๋‹ˆ๋‹ค.

์ž, ์ด์ œ ๊ฑฐ๋Œ€ํ•œ ๋ฉ”์ธํ”„๋ ˆ์ž„์˜ ์„ธ๊ธฐ๋ฅผ ๋’ค๋กœ ํ•˜๊ณ , 1970~1980๋…„๋Œ€๋กœ ๋„˜์–ด๊ฐ€ ๋ณด๋„๋ก ํ•ฉ์‹œ๋‹ค!
๋‹ค์Œ ํŒŒํŠธ์—์„œ๋Š” C ์–ธ์–ด์™€ ํ•จ๊ป˜ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์–ด๋–ป๊ฒŒ ๋’ค๋ฐ”๋€Œ์—ˆ๋Š”์ง€ ์‚ดํŽด๋ณผ๊ฒŒ์š”. ๐Ÿƒโ€โ™‚๏ธ


๋‹ค์Œ ํŒŒํŠธ ์˜ˆ๊ณ : โ€œC ์–ธ์–ด๊ฐ€ ์„ธ์ƒ์„ ์ ๋ นํ•˜๋‹ค?! - 1970~80๋…„๋Œ€ ์ด์•ผ๊ธฐโ€

3. 1970~1980๋…„๋Œ€: C ์–ธ์–ด์™€ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ๋Œ€ ๐Ÿ› ๏ธ

3.1 ์‹œ๋Œ€์  ๋ฐฐ๊ฒฝ

1960๋…„๋Œ€ ๋ง๋ถ€ํ„ฐ 1970๋…„๋Œ€ ์ดˆ๋ฐ˜์— ๊ฑธ์ณ ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด๊ฐ€ ๋น ๋ฅด๊ฒŒ ๋ฐœ์ „ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์–ด์š”.

  • โ€˜๋ฉ”์ธํ”„๋ ˆ์ž„โ€™์ด๋ผ๋Š” ๊ฑฐ๋Œ€ํ•œ ์ปดํ“จํ„ฐ๋งŒ ์žˆ์—ˆ๋˜ ์‹œ๋Œ€์—์„œ ํƒˆํ”ผํ•ด โ€œ๋ฏธ๋‹ˆ์ปดํ“จํ„ฐโ€, โ€œ์›Œํฌ์Šคํ…Œ์ด์…˜โ€ ๊ฐ™์€ ์ข€ ๋” ์ž‘์€ ์ปดํ“จํ„ฐ๋“ค์ด ์—ฐ๊ตฌ์†Œ์™€ ๊ธฐ์—…, ๋Œ€ํ•™ ๋“ฑ์— ํผ์ ธ๋‚˜๊ฐ‘๋‹ˆ๋‹ค.
  • ๋˜, ์œ ๋‹‰์Šค(UNIX) ์šด์˜์ฒด์ œ๊ฐ€ ํƒ„์ƒํ•˜๋ฉด์„œ, ์šด์˜์ฒด์ œ(OS)์™€ ์ปดํŒŒ์ผ๋Ÿฌ, ์‹œ์Šคํ…œ ํˆด ๋“ฑ์„ ๋ณด๋‹ค ํšจ์œจ์ ์ธ ์–ธ์–ด๋กœ ์ž‘์„ฑํ•  ํ•„์š”๊ฐ€ ์ƒ๊ฒผ์ฃ .
์ž‘์€ ์ด๋ฏธ์ง€

์ด ์‹œ๊ธฐ์— ํ•ต์‹ฌ์€ โ€œ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐโ€์ด๋ผ๋Š” ๊ฐœ๋…์ด ๋ถ€์ƒํ–ˆ๋‹ค๋Š” ์ ์ด์—์š”.

  • ์ด์ „์—๋Š” ์ฃผ๋กœ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋ฅผ ์‚ฌ์šฉํ•ด ํ•˜๋“œ์›จ์–ด/OS ๋ ˆ๋ฒจ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ์ง€๋งŒ, ์ ์  ํ•˜๋“œ์›จ์–ด๊ฐ€ ๋‹ค์–‘ํ•ด์ง€๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ๋ณต์žกํ•ด์ง€๋ฉด์„œ, ๋” ์ถ”์ƒํ™”๋œ ์–ธ์–ด๊ฐ€ ํ•„์š”ํ•ด์กŒ๋‹ต๋‹ˆ๋‹ค.
  • ์ด๋•Œ ๋“ฑ์žฅํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ C ์–ธ์–ด์ด๋ฉฐ, ์ด ์–ธ์–ด๊ฐ€ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ํš๊ธฐ์ ์œผ๋กœ ๋ฐ”๊พธ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

3.2 ๋Œ€ํ‘œ ์–ธ์–ด์™€ ์ด์•ผ๊ธฐ

๐Ÿ† C ์–ธ์–ด(1972)

  • ๋ˆ„๊ฐ€ ๋งŒ๋“ค์—ˆ๋‚˜?
    ๋ฒจ ์—ฐ๊ตฌ์†Œ(AT&T Bell Labs)์—์„œ ๋ฐ๋‹ˆ์Šค ๋ฆฌ์น˜(Dennis Ritchie)๊ฐ€ ์ฃผ๋„์ ์œผ๋กœ ๊ฐœ๋ฐœ.

    • ์ผ„ ํ†ฐํ”„์Šจ(Ken Thompson) ๋“ฑ๊ณผ ํ•จ๊ป˜ ์œ ๋‹‰์Šค(UNIX)๋ฅผ ๋งŒ๋“ค๋˜ ํŒ€์˜ ์ผ์›์ด์—ˆ์ฃ .
  • ์™œ ๋งŒ๋“ค์—ˆ๋‚˜?

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

    1. ํฌ์ธํ„ฐ: ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ง์ ‘ ๋‹ค๋ฃจ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ
    2. ์ƒ๋Œ€์ ์œผ๋กœ ๋‹จ์ˆœํ•œ ๋ฌธ๋ฒ•: ๋‹ค๋ฅธ ๊ณ ์ˆ˜์ค€ ์–ธ์–ด๋“ค๋ณด๋‹ค ํ›จ์”ฌ ๊ฐ€๋ณ๊ณ , ์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌํ˜„๋„ ๋น„๊ต์  ์‰ฌ์›€
    3. ์ด์‹์„ฑ(Portability): ๋‹ค์–‘ํ•œ ํ•˜๋“œ์›จ์–ด ์•„ํ‚คํ…์ฒ˜๋กœ ์‰ฝ๊ฒŒ ์˜ฎ๊ฒจ๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„
  • ์—ํ”ผ์†Œ๋“œ

    • C ์–ธ์–ด๊ฐ€ ๋“ฑ์žฅํ•˜๊ธฐ ์ „์—” ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ = ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋ผ๋Š” ๊ณต์‹์ด ๋‹น์—ฐํ–ˆ์ง€๋งŒ, C๊ฐ€ ๋น ๋ฅธ ์„ฑ๋Šฅ๊ณผ ์ด์‹์„ฑ ๋‘ ๋งˆ๋ฆฌ ํ† ๋ผ๋ฅผ ์žก์•„๋‚ธ ๋•์— UNIX๊ฐ€ ๋น ๋ฅด๊ฒŒ ๋‹ค๋ฅธ ๊ธฐ์ข…์œผ๋กœ ํฌํŒ…๋  ์ˆ˜ ์žˆ์—ˆ์–ด์š”.
    • ์ด๋กœ ์ธํ•ด โ€œ์œ ๋‹‰์Šค ์„ธ๊ณ„ํ™”โ€๊ฐ€ ๊ฐ€๋Šฅํ•ด์กŒ๊ณ , ๊ทธ ๊ฒฐ๊ณผ ์ „ ์„ธ๊ณ„ ๋Œ€ํ•™, ์—ฐ๊ตฌ์†Œ์—์„œ ์œ ๋‹‰์Šค ๊ธฐ๋ฐ˜ ์ปดํ“จํ„ฐ๊ฐ€ ๋Œ€์ค‘ํ™”๋˜๋Š” ๊ธฐ๋ฐ˜์„ ๋งˆ๋ จํ–ˆ๋‹ต๋‹ˆ๋‹ค.
    • ํฌ์ธํ„ฐ์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋Š” ์—ฌ์ „ํžˆ ๋งŽ์€ ์ดˆ๋ณด์ž๋ฅผ ๊ดด๋กญํžˆ๋Š” ๋ถ€๋ถ„์ด์ง€๋งŒ, ๊ทธ ๋•์— ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„  ๊ฐ•๋ ฅํ•œ ๋ฌด๊ธฐ๊ฐ€ ๋˜์ฃ .

๐Ÿ… Pascal(1970๋…„๋Œ€, ๋ณธ๊ฒฉ์  ์‚ฌ์šฉ์€ 1970๋…„๋Œ€ ํ›„๋ฐ˜~80๋…„๋Œ€)

  • ๋ˆ„๊ฐ€ ๋งŒ๋“ค์—ˆ๋‚˜?
    ๋‹‰๋ผ์šฐ์Šค ๋น„๋ฅดํŠธ(Niklaus Wirth)๊ฐ€ 1970๋…„๋Œ€ ์ดˆ๋ฐ˜์— ํ•™์ƒ ๊ต์œก์šฉ์œผ๋กœ ๊ฐœ๋ฐœ.

  • ์™œ ๋งŒ๋“ค์—ˆ๋‚˜?

    • ๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•์„ ๊ต์œกํ•˜๊ธฐ ์œ„ํ•ด, ๋ฌธ๋ฒ•์„ ๊น”๋”ํ•˜๊ณ  ์—„๊ฒฉํ•˜๊ฒŒ ๋””์ž์ธ.
    • ์˜ค๋ฅ˜๋ฅผ ์‚ฌ์ „์— ์ž˜ ์žก์•„์ฃผ๊ณ , ์ดˆ๋ณด์ž๋“ค๋„ ๋…ผ๋ฆฌ์  ์ฝ”๋“œ ๊ตฌ์กฐ๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๋„๋ก ๋•๊ธฐ ์œ„ํ•ด์„œ์˜€์–ด์š”.
  • ์—ํ”ผ์†Œ๋“œ

    • ๋Œ€ํ•™์˜ ์ปดํ“จํ„ฐ ๊ณผํ•™ ์ž…๋ฌธ ๊ณผ๋ชฉ์ด๋‚˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณผ๋ชฉ์—์„œ โ€œํŒŒ์Šค์นผโ€์ด ๊ต๊ณผ์„œ์ฒ˜๋Ÿผ ์‚ฌ์šฉ๋˜๊ณค ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ํ›—๋‚ , ๋ธํŒŒ์ด(Delphi)๋ผ๋Š” RAD(์‹ ์† ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ) ํ™˜๊ฒฝ์œผ๋กœ ์œˆ๋„์šฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€์›ํ•ด, 90๋…„๋Œ€ ๋ง๊นŒ์ง€ ๊ฝค ์ธ๊ธฐ๋ฅผ ๋Œ๊ธฐ๋„ ํ–ˆ์ฃ !
    • ์‹ค์ œ ์‹ค๋ฌด์—์„  C ์–ธ์–ด๋งŒํผ ํญ๋„“๊ฒŒ ์“ฐ์ด์ง„ ์•Š์•˜์ง€๋งŒ, ๊ต์œก์šฉ ์–ธ์–ด์˜ ๋Œ€ํ‘œ์ฃผ์ž๋กœ ์˜ค๋žœ ๊ธฐ๊ฐ„ ์‚ฌ๋ž‘๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

3.3 ๋‹ค๋ฅธ ํฅ๋ฏธ๋กœ์šด ์–ธ์–ดยท๊ฐœ๋…๋“ค

  1. Smalltalk(1972)

    • ์ œ๋ก์Šค PARC์—์„œ ๊ฐœ๋ฐœ๋œ ์ˆœ์ˆ˜ ๊ฐ์ฒด์ง€ํ–ฅ(OOP) ์–ธ์–ด!
    • 1970๋…„๋Œ€์— ์ด๋Ÿฐ ํ˜์‹ ์ ์ธ ์–ธ์–ด๊ฐ€ ์žˆ์—ˆ๋‹ค๋‹ˆ, ๊ทธ ์‹œ์ ˆ ์ œ๋ก์Šค PARC๊ฐ€ ์–ผ๋งˆ๋‚˜ ์•ž์„œ๊ฐ”๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์ฃ .
    • ๋Œ€์ค‘ํ™”๋ณด๋‹ค๋Š” ์—ฐ๊ตฌ/ํ”„๋กœํ† ํƒ€์ž…์— ๋งŽ์ด ์‚ฌ์šฉ๋๊ณ , ํ›„์— ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด๋“ค(C++, Java ๋“ฑ)์—๊ฒŒ ํฐ ์˜ํ–ฅ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
  2. B ์–ธ์–ด

    • C ์–ธ์–ด์˜ ์ „์‹ ์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋Š” โ€˜B ์–ธ์–ดโ€™๊ฐ€ ์žˆ์—ˆ์–ด์š”. ์ผ„ ํ†ฐํ”„์Šจ์ด BCPL์—์„œ ์•„์ด๋””์–ด๋ฅผ ๊ฐ€์ ธ์™€ ๋งŒ๋“  ์–ธ์–ด์ธ๋ฐ, C๊ฐ€ ๋‚˜์˜ค๊ธฐ ์ „ ์ž ๊น ์“ฐ์˜€์ฃ .
    • ์ด๋ฆ„์ด B์—์„œ C๋กœ ์•ŒํŒŒ๋ฒณ ํ•œ ๊ธ€์ž ๋‹ค์Œ์ด ๋˜์—ˆ๋‹ค๋Š” ์œ ์พŒํ•œ ์ฐ๋„ ์œ ๋ช…ํ•ฉ๋‹ˆ๋‹ค.

3.4 ์‹œ๋Œ€๊ฐ€ ๋‚จ๊ธด ์˜ํ–ฅ

  • C ์–ธ์–ด๋ฅผ ํ†ตํ•ด โ€œ์šด์˜์ฒด์ œ๋„ ๊ณ ์ˆ˜์ค€ ์–ธ์–ด๋กœ ์งค ์ˆ˜ ์žˆ๋‹ค!โ€๋ผ๋Š” ํ˜์‹ ์  ์‚ฌ๊ณ ๊ฐ€ ์ž๋ฆฌ ์žก์Œ.
  • ์ด์‹์„ฑ ๋†’์€ ์œ ๋‹‰์Šค(C ๊ธฐ๋ฐ˜ OS)๊ฐ€ ์ „ ์„ธ๊ณ„ ์—ฐ๊ตฌ์‹คยท๋Œ€ํ•™์— ํผ์ง€๋ฉฐ, ์œ ๋‹‰์Šค ์ฒ ํ•™(์ž‘์€ ๋„๊ตฌ๋“ค์„ ์กฐํ•ฉํ•ด ํฐ ์ผ์„ ํ•œ๋‹ค) ๋„ ๊ฐœ๋ฐœ ๋ฌธํ™”์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์ณค์–ด์š”.
  • ๊ต์œก ํ˜„์žฅ์—์„  Pascal์ด ๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•์„ ์ฒด๊ณ„์ ์œผ๋กœ ๊ฐ€๋ฅด์น˜๋Š” ํ‘œ์ค€ ๊ต์žฌ์ฒ˜๋Ÿผ ์“ฐ์˜€๊ณ , ์ด๋Š” ๋งŽ์€ ๊ฐœ๋ฐœ์ž ์ง€๋ง์ƒ์—๊ฒŒ ๊น”๋”ํ•œ ์ฝ”๋”ฉ ์Šต๊ด€์„ ์‹ฌ์–ด์ค€ ๊ณ„๊ธฐ๊ฐ€ ๋์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก : 1970~80๋…„๋Œ€๋Š” C ์–ธ์–ด๊ฐ€ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํ•„์ˆ˜ ๋„๊ตฌ๊ฐ€ ๋˜๊ณ , ๊ต์œก์šฉ์œผ๋กœ Pascal์ด ๋– ์˜ค๋ฅด๋ฉฐ, ์ดํ›„ ๊ฐ์ฒด์ง€ํ–ฅ์œผ๋กœ ๋„˜์–ด๊ฐ€๋Š” ์ค€๋น„๊ฐ€ ์ฐจ๊ณก์ฐจ๊ณก ์ด๋ค„์ง„ ์‹œ๊ธฐ์˜€์Šต๋‹ˆ๋‹ค!


3.5 ๋” ์•Œ์•„๋ณด๊ธฐ

  1. K&R C: ์ „์„ค์ ์ธ ์ฑ… โ€œThe C Programming Languageโ€ (Brian W. Kernighan & Dennis M. Ritchie)๊ฐ€ 1978๋…„์— ์ถœ๊ฐ„. ์ด๋ฅธ๋ฐ” K&R C ๋ฌธ๋ฒ•์ด C ์–ธ์–ด์˜ ํ‘œ์ค€์ด ๋˜๋ฉด์„œ ์ „ ์„ธ๊ณ„์ ์œผ๋กœ C๊ฐ€ ํผ์ง€๋Š” ๋ฐ ํฐ ์—ญํ• ์„ ํ–ˆ์ฃ .
  2. ๋ฏธ๋‹ˆ์ปดํ“จํ„ฐ: PDP-11 ๊ฐ™์€ ๋ฏธ๋‹ˆ์ปดํ“จํ„ฐ๊ฐ€ ๋Œ€ํ•™์ด๋‚˜ ์—ฐ๊ตฌ์†Œ์—์„œ ๋งŽ์ด ์“ฐ์˜€๋Š”๋ฐ, ์ด ๊ธฐ์ข…์— ์œ ๋‹‰์Šค์™€ C ์–ธ์–ด๊ฐ€ ๊ฐ™์ด ๊น”๋ฆฌ๋ฉด์„œ โ€œ์ปดํ“จํ„ฐ ๊ณผํ•™์˜ ํ™ฉ๊ธˆ๊ธฐโ€๊ฐ€ ์—ด๋ ธ๋‹ค๋Š” ์ด์•ผ๊ธฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. Pascal vs C: โ€œC๋Š” ์‹œ์Šคํ…œ ์ชฝ, Pascal์€ ๊ต์œก์šฉโ€์ด๋ผ๋Š” ๊ตฌ๋„๋กœ ๋น„๊ตํ•˜๋Š” ๊ธ€์ด 1980~90๋…„๋Œ€์— ๋งŽ์ด ๋‚˜์™”์–ด์š”. ์ง€๊ธˆ ๋ณด๋ฉด ์˜›๋‚  ์ด์•ผ๊ธฐ์ง€๋งŒ, ๊ทธ ์‹œ์ ˆ์—” ๊ฝค๋‚˜ ๋œจ๊ฑฐ์šด ๋…ผ์Ÿ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

โ˜• ์ •๋ฆฌํ•˜๋ฉฐ

1970~1980๋…„๋Œ€๋Š” C ์–ธ์–ด๊ฐ€ ์šด์˜์ฒด์ œยท์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ํ‘œ์ค€์œผ๋กœ ์ž๋ฆฌ ์žก์€ ํš๊ธฐ์ ์ธ ์‹œ๊ธฐ์˜€์–ด์š”. ๋™์‹œ์—, Pascal ๊ฐ™์€ ๊ต์œก์šฉ ์–ธ์–ด๋„ ์ฃผ๋ชฉ๋ฐ›์œผ๋ฉฐ โ€œํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ต์œกโ€์ด ์ ์ฐจ ์ฒด๊ณ„ํ™”๋˜๋Š” ๋ฐœํŒ์ด ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค.


4. 1980~1990๋…„๋Œ€ ์ดˆ์ค‘๋ฐ˜: ๊ฐ์ฒด์ง€ํ–ฅ์˜ ๋ถ€์ƒ & C++ ์‹œ๋Œ€ ๐Ÿฐ

4.1 ์‹œ๋Œ€์  ๋ฐฐ๊ฒฝ

1970~80๋…„๋Œ€์— C ์–ธ์–ด๊ฐ€ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋Œ€์„ธ๊ฐ€ ๋๋‹ค๋ฉด, 1980~90๋…„๋Œ€ ์ดˆ์ค‘๋ฐ˜์€ โ€œ๊ฐ์ฒด์ง€ํ–ฅ(OOP)โ€ ์ด๋ผ๋Š” ์ƒˆ๋กœ์šด ํŒจ๋Ÿฌ๋‹ค์ž„์ด ๋– ์˜ค๋ฅด๋˜ ์‹œ๊ธฐ์ž…๋‹ˆ๋‹ค.

  • โ€œ๋” ํฐ ๊ทœ๋ชจ์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋” ์‰ฝ๊ฒŒ ์œ ์ง€ยท๋ณด์ˆ˜ํ•  ์ˆ˜ ์—†์„๊นŒ?โ€๋ผ๋Š” ๊ณ ๋ฏผ์—์„œ ํด๋ž˜์Šค(Class), ์ƒ์†(Inheritance), ๋‹คํ˜•์„ฑ(Polymorphism) ๊ฐ™์€ ๊ฐœ๋…์ด ์ฃผ๋ชฉ๋ฐ›๊ธฐ ์‹œ์ž‘ํ–ˆ์–ด์š”.
  • ์ด ์‹œ๊ธฐ๋ถ€ํ„ฐ ๊ฐœ์ธ์šฉ ์ปดํ“จํ„ฐ(PC)๊ฐ€ ์กฐ๊ธˆ์”ฉ ํผ์ง€๊ณ , GUI(Graphical User Interface) ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ๊ด€์‹ฌ๋„ ๋†’์•„์ง€๋ฉฐ, ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์ ์  ๋ณต์žกยท๊ฑฐ๋Œ€ํ•ด์กŒ๊ธฐ ๋•Œ๋ฌธ์ด์ฃ .
์ž‘์€ ์ด๋ฏธ์ง€
---

4.2 C++์˜ ํƒ„์ƒ๊ณผ ์„ฑ์žฅ

๐Ÿ† C++(1985 ๊ณต์‹ ๋ฐœํ‘œ)

  • ๋ˆ„๊ฐ€ ๋งŒ๋“ค์—ˆ๋‚˜?
    ๋น„์•ผ๋„ค ์ŠคํŠธ๋กญ์ŠคํŠธ๋ฃน(Bjarne Stroustrup), ๋ฒจ ์—ฐ๊ตฌ์†Œ(AT&T)์—์„œ 1979๋…„์ฏค๋ถ€ํ„ฐ โ€œC with Classesโ€๋ผ๋Š” ํ”„๋กœ์ ํŠธ๋กœ ์‹œ์ž‘.
  • ์™œ ํ•„์š”ํ–ˆ๋‚˜?
    • C ์–ธ์–ด๊ฐ€ ๊ฐ•๋ ฅํ•˜์ง€๋งŒ, ๋Œ€๊ทœ๋ชจ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“ค ๋• ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฝ์ง€ ์•Š์•˜์–ด์š”.
    • ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„ ๊ธฐ๋ฒ•์„ ๋„ฃ์–ด โ€œํฐ ํ”„๋กœ๊ทธ๋žจ์„ ์ž˜ ๊ตฌ์กฐํ™”โ€ ํ•˜๋ ค๋Š” ์š•๊ตฌ๊ฐ€ ์ปค์กŒ์ฃ .
  • ์ฃผ์š” ํŠน์ง•
    • ํด๋ž˜์Šค, ์ƒ์†, ๋‹คํ˜•์„ฑ, ์บก์Šํ™” ๋“ฑ์˜ ๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋… ์ง€์›.
    • ๊ธฐ์กด C ์ฝ”๋“œ์™€ ๊ฑฐ์˜ ํ˜ธํ™˜ ๊ฐ€๋Šฅ โ†’ โ€œ๋ฐฐ์šฐ๋˜ C ์ง€์‹ ๊ทธ๋Œ€๋กœ ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋„ค?โ€ ๋ผ๋Š” ์žฅ์ .
    • ์ปดํŒŒ์ผ๋œ ์–ธ์–ด๋ผ์„œ (๊ฐ์ฒด์ง€ํ–ฅ์ž„์—๋„) ์†๋„๊ฐ€ ๋น ๋ฅธ ํŽธ.
  • ์—ํ”ผ์†Œ๋“œ
    • โ€œC++ ๋ฌธ๋ฒ•์€ ๋„ˆ๋ฌด ๋ณต์žกํ•ด!โ€๋ผ๋Š” ๋ง์€ ๊พธ์ค€ํžˆ ๋‚˜์™”์Šต๋‹ˆ๋‹ค. ํ…œํ”Œ๋ฆฟ, ์—ฐ์‚ฐ์ž ์˜ค๋ฒ„๋กœ๋”ฉ ๋“ฑ ๊ฐ•๋ ฅํ•˜์ง€๋งŒ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ธฐ๋Šฅ๋“ค์ด ๋งŽ์•˜๊ฑฐ๋“ ์š”.
    • ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๊ฒŒ์ž„ ์—”์ง„, ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ๊ฐ์ข… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ์—์„œ ๊ณ ์„ฑ๋Šฅ + OOP๋ฅผ ์›ํ•˜๋˜ ๊ณณ์— ๋„๋ฆฌ ๋„์ž…๋์–ด์š”.
    • 1990๋…„๋Œ€๊ฐ€ ๋˜์ž, โ€œ๋Œ€๊ทœ๋ชจ ์ƒ์šฉ ์†Œํ”„ํŠธ์›จ์–ด๋Š” C++โ€์ด๋ผ๋Š” ๊ณต์‹์ด ์ž๋ฆฌ ์žก์•˜์„ ๋งŒํผ ์˜ํ–ฅ๋ ฅ ๋ง‰๊ฐ•!

4.3 ๋‹ค๋ฅธ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด๋“ค

๐Ÿท๏ธ Smalltalk

  • ์—ญ์‚ฌ: 1970๋…„๋Œ€ ์ œ๋ก์Šค PARC์—์„œ ๊ฐœ๋ฐœ๋œ ์ˆœ์ˆ˜ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด.
  • ์˜ํ–ฅ๋ ฅ: C++๋ฟ ์•„๋‹ˆ๋ผ Java, C#, Python ๋“ฑ ํ˜„๋Œ€ ์–ธ์–ด๋“ค์˜ ๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋…์— ํฐ ์˜ํ–ฅ์„ ์คฌ์–ด์š”.
  • ๋Œ€์ค‘์„ฑ: ๊ต์œกยท์—ฐ๊ตฌ์šฉ์œผ๋กœ ๋งŽ์ด ์“ฐ์˜€์ง€๋งŒ, ์ƒ์—…์ ์œผ๋กœ๋Š” C++๋งŒํผ ํญ๋ฐœ์ ์œผ๋กœ ํผ์ง€์ง„ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๐Ÿท๏ธ Objective-C(1983)

  • ๋ฐฐ๊ฒฝ: ๋ธŒ๋ž˜๋“œ ์ฝ•์Šค(Brad Cox)๊ฐ€ Smalltalk + C๋ฅผ ๊ฒฐํ•ฉํ•œ ํ˜•ํƒœ๋กœ ๋งŒ๋“  ์–ธ์–ด.
  • ํŠน์ง•: C ๋ฌธ๋ฒ•์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฉ”์‹œ์ง€ ์ „์†ก ๋ฐฉ์‹์˜ ๊ฐ์ฒด์ง€ํ–ฅ์„ ๊ตฌํ˜„.
  • ์—ํ”ผ์†Œ๋“œ: 1990๋…„๋Œ€์— โ€˜NeXT ์ปดํ“จํ„ฐโ€™ ๋“ฑ ํŠน์ • ํ”Œ๋žซํผ์—์„œ๋งŒ ์“ฐ์˜€์ง€๋งŒ, ๋’ค์— Apple์ด macOS, iOS์˜ ํ•ต์‹ฌ ์–ธ์–ด๋กœ ์ฑ„ํƒํ•˜๋ฉด์„œ ๋Œ€์ค‘์„ฑ์ด ์ปค์กŒ์Šต๋‹ˆ๋‹ค. (๋‚˜์ค‘์— Swift๊ฐ€ ๋Œ€์ฒดํ•˜๊ฒŒ ๋˜์ง€๋งŒ์š”!)

4.4 ์‹œ๋Œ€์˜ ์˜๋ฏธ

  • โ€œ๊ฐ์ฒด์ง€ํ–ฅ(OOP)โ€ ์ด๋ผ๋Š” ํŒจ๋Ÿฌ๋‹ค์ž„์ด ํ•™๊ณ„์™€ ์‚ฐ์—…๊ณ„ ๋ชจ๋‘์—์„œ ์ฃผ๋ชฉ๋ฐ›์œผ๋ฉด์„œ, ๊ธฐ์กด์˜ ์ ˆ์ฐจ์  ์–ธ์–ด๋“ค(์˜ˆ: C)๊ณผ๋Š” ๋‹ค๋ฅธ ์‚ฌ๊ณ ๋ฐฉ์‹์ด ํ™•์‚ฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • C++๋Š” โ€œC์™€ ํ˜ธํ™˜๋˜๋Š” ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ดโ€ ๋ผ๋Š” ์ ์„ ๋ฌด๊ธฐ๋กœ ๋Œ€๊ธฐ์—…, ๊ฒŒ์ž„ ๊ฐœ๋ฐœ, ์ž„๋ฒ ๋””๋“œ ์žฅ๋น„, ๊ฐ์ข… ์ƒ์šฉ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์žฅ์—์„œ ์ž…์ง€๋ฅผ ๋‹ค์กŒ์Šต๋‹ˆ๋‹ค.
  • ์ด ์‹œ๊ธฐ๋ฅผ ๊ฑฐ์น˜๋ฉฐ โ€œ๋Œ€ํ˜• ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๊ฐ์ฒด์ง€ํ–ฅ์ด ํ•„์ˆ˜โ€๋ผ๋Š” ์ธ์‹์ด ์ ์  ๊ตณ์–ด์กŒ๊ณ , ์ดํ›„ Java, C#, Python ๋“ฑ ํ˜„๋Œ€ ์–ธ์–ด๋“ค์˜ ๋“ฑ์žฅ์—๋„ ํฐ ์˜ํ–ฅ์„ ์ฃผ์—ˆ์–ด์š”.

4.5 ์žฌ๋ฏธ์žˆ๋Š” ์—ํ”ผ์†Œ๋“œ์™€ ์˜ํ–ฅ

  1. C++ ๋ฌธ๋ฒ• ๋…ผ๋ž€

    • ๋ณต์žกํ•œ ํ…œํ”Œ๋ฆฟ, ์—ฐ์‚ฐ์ž ์˜ค๋ฒ„๋กœ๋”ฉ, ๋งค๊ฐœ๋ณ€์ˆ˜ ํŒจํ‚ค์ง• ๋“ฑโ€ฆ โ€œ์ต์ˆ™ํ•ด์ง€๋ฉด ํŽธํ•˜๋‹คโ€ vs โ€œ๋Œ€์ฒด ์ด๊ฒŒ ๋ญ”๊ฐ€์š”?โ€๋ผ๋Š” ์˜๊ฒฌ์ด ๊ณต์กดํ–ˆ์ฃ .
    • ํ•˜์ง€๋งŒ ๊ทธ๋งŒํผ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜๋‹ˆ, ์„ฑ๋Šฅ ์ง€ํ–ฅ์  ๋Œ€ํ˜• SW์—๋Š” ์ตœ์ ์ด๋ผ๊ณ  ์—ฌ๊ฒจ์กŒ์Šต๋‹ˆ๋‹ค.
  2. IBM, ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ, ๋ณด์ž‰ ๋“ฑ ๋Œ€๊ธฐ์—…๋“ค๋„ C++ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ๋‚ด ์‹œ์Šคํ…œ๊ณผ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด์„œ, ๊ตฌ์งยท์ทจ์—… ๋ฉด์—์„œ โ€œC++ ์ž˜ํ•˜๋ฉด ์œ ๋ฆฌํ•˜๋‹คโ€๋Š” ๋ง์ด ์ƒ๊ฒจ๋‚ฌ์ฃ .

  3. ๊ฐ์ฒด์ง€ํ–ฅ ์ฑ…์˜ ํ™์ˆ˜

    • 90๋…„๋Œ€ ์ดˆ๋ฐ˜๋ถ€ํ„ฐ ์˜จ๊ฐ– ๊ฐ์ฒด์ง€ํ–ฅ ํ•ด์„ค์„œ๊ฐ€ ์ฑ…๋ฐฉ์— ๊น”๋ ธ์–ด์š”. โ€œC++๋กœ ๋ฐฐ์šฐ๋Š” ๊ฐ์ฒด์ง€ํ–ฅโ€ ๊ฐ™์€ ํƒ€์ดํ‹€๋กœ ๋‘๊บผ์šด ์ฑ…๋“คโ€ฆ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ผ๋ฉด ํ•œ ๋ฒˆ์ฏค ์ ‘ํ•ด๋ณธ ์ถ”์–ต์ด ์žˆ์„ ์ˆ˜๋„!

์ •๋ฆฌ: 1980~90๋…„๋Œ€ ์ดˆ์ค‘๋ฐ˜์€ โ€œ๊ฐ์ฒด์ง€ํ–ฅ=๋ฏธ๋ž˜โ€๋ผ๋Š” ๋ถ„์œ„๊ธฐ ์†์—์„œ, C++๊ฐ€ ์˜ค๋žซ๋™์•ˆ ๋Œ€์„ธ๋กœ ์ž๋ฆฌ ์žก์€ ์‹œ๊ธฐ. ์ดํ›„ ์›น ์‹œ๋Œ€๊ฐ€ ์˜ค๊ธฐ ์ „๊นŒ์ง€, ๋ฐ์Šคํฌํ†ฑยท์—”ํ„ฐํ”„๋ผ์ด์ฆˆ SW ์ƒ๋‹น์ˆ˜๊ฐ€ C++๋กœ ๊ฐœ๋ฐœ๋˜๊ณค ํ–ˆ์Šต๋‹ˆ๋‹ค.


5. 1990๋…„๋Œ€ ์ค‘~ํ›„๋ฐ˜: ์›น์˜ ํญ๋ฐœ & Java, JavaScript ๋“ฑ์žฅ ๐ŸŒ

5.1 ์‹œ๋Œ€์  ๋ฐฐ๊ฒฝ

1980~90๋…„๋Œ€ ์ดˆ๋ฐ˜๊นŒ์ง€๋Š” ๋ฐ์Šคํฌํ†ฑ ์šด์˜์ฒด์ œ(Windows, Mac OS)์™€ ๊ฐ์ข… ์†Œํ”„ํŠธ์›จ์–ด๋“ค์ด ์ฃผ๋ชฉ๋ฐ›์•˜์ง€๋งŒ, 1990๋…„๋Œ€ ์ค‘๋ฐ˜์— ์ด๋ฅด๋Ÿฌ ์ „ ์„ธ๊ณ„๋ฅผ ๊นœ์ง ๋†€๋ผ๊ฒŒ ํ•œ ๊ฒŒ ์žˆ์—ˆ์œผ๋‹ˆโ€ฆ ๋ฐ”๋กœ ์›”๋“œ ์™€์ด๋“œ ์›น(WWW), ์ฆ‰ ์ธํ„ฐ๋„ท์˜ ํญ๋ฐœ์  ์„ฑ์žฅ์ž…๋‹ˆ๋‹ค.

  • 1993๋…„ ๋ชจ์ž์ดํฌ(Mosaic), 1994๋…„ ๋„ท์Šค์ผ€์ดํ”„(Netscape) ๋“ฑ์˜ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋“ฑ์žฅํ•˜๋ฉฐ, ์ผ๋ฐ˜์ธ๋„ ๋ธŒ๋ผ์šฐ์ €๋กœ WWW๋ฅผ ์‰ฝ๊ฒŒ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋์ฃ .
  • โ€œ์›น์‚ฌ์ดํŠธโ€๋ผ๋Š” ๊ฐœ๋…์ด ์ƒ๊ธฐ๊ณ , ๊ธฐ์—…ยท๋Œ€ํ•™ยท๊ฐœ์ธ ๋ชจ๋‘๊ฐ€ ์›นํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด์„œ ์ธํ„ฐ๋„ท ๋ถ(๋‹ท์ปด ๋ฒ„๋ธ”)๋„ ํ•จ๊ป˜ ์ฐพ์•„์™”์Šต๋‹ˆ๋‹ค.
์ž‘์€ ์ด๋ฏธ์ง€
---

5.2 Java(1995)

๐Ÿš€ ๋ˆ„๊ฐ€ ๋งŒ๋“ค์—ˆ๋‚˜?

  • ์ฌ ๋งˆ์ดํฌ๋กœ์‹œ์Šคํ…œ์ฆˆ(Sun Microsystems)์˜ ์ œ์ž„์Šค ๊ณ ์Šฌ๋ง(James Gosling) ๋“ฑ์ด ์ฃผ๋„.
  • ์ดˆ๊ธฐ์—๋Š” โ€œOakโ€๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๊ฐ€์ „์ œํ’ˆ(์…‹ํ†ฑ๋ฐ•์Šค, TV ๋“ฑ)์—์„œ ๋Œ์•„๊ฐˆ ์–ธ์–ด๋ฅผ ๋ชฉํ‘œ๋กœ ์—ฐ๊ตฌํ–ˆ์–ด์š”.

๐Ÿš€ ์–ด๋–ค ์ ์ด ํ˜์‹ ์ ์ด์—ˆ๋‚˜?

  1. ํ”Œ๋žซํผ ๋…๋ฆฝ์„ฑ: โ€œWrite Once, Run Anywhereโ€
    • ์ž๋ฐ” ๊ฐ€์ƒ๋จธ์‹ (JVM) ์œ„์—์„œ ์ฝ”๋“œ๊ฐ€ ๋Œ์•„๊ฐ€๊ธฐ ๋•Œ๋ฌธ์—, OS๋งˆ๋‹ค ์ผ์ผ์ด ํฌํŒ…ํ•  ํ•„์š”๊ฐ€ ์ค„์–ด๋“ฆ.
  2. ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ: ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(GC) ๋„์ž…
    • C/C++์ฒ˜๋Ÿผ ์ˆ˜๋™์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น/ํ•ด์ œํ•˜์ง€ ์•Š์•„๋„ ๋ผ์„œ, ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ.
  3. ๊ฐ์ฒด์ง€ํ–ฅ(OOP) ์ง€ํ–ฅ์˜ ๊น”๋”ํ•œ ๋ฌธ๋ฒ•
    • C++๋ณด๋‹ค ๊ฐ„๋‹จํ•˜๋ฉด์„œ๋„ OOP ๊ฐœ๋…์„ ๊ธฐ๋ณธ์œผ๋กœ ์ฑ„ํƒ.

๐Ÿš€ ์ฃผ์š” ์‚ฌ์šฉ ์‚ฌ๋ก€ & ์—ํ”ผ์†Œ๋“œ

  • ์ดˆ๊ธฐ: ์›น ๋ธŒ๋ผ์šฐ์ € ์•ˆ์—์„œ Java ์• ํ”Œ๋ฆฟ(Applet)์„ ๋Œ๋ ค โ€˜๋ฆฌ์น˜โ€™ํ•œ ์›น์„ ๋งŒ๋“ค๋ ค๊ณ  ํ–ˆ์œผ๋‚˜, ์ด๊ฒƒ์€ ํฌ๊ฒŒ ํžˆํŠธํ•˜์ง€ ๋ชปํ•จ. (๋ณด์•ˆยท์†๋„ ๋ฌธ์ œ ๋“ฑ)
  • ๊ทธ๋Ÿฌ๋‚˜: ์„œ๋ฒ„ ์‚ฌ์ด๋“œ(J2EE, ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ฐœ๋ฐœ, JSP/Servlet)์—์„œ ๊ณง ์—„์ฒญ๋‚œ ์„ฑ๊ณต์„ ๊ฑฐ๋‘ . ๋Œ€๊ทœ๋ชจ ์›น์„œ๋น„์Šคยท๊ธฐ์—… ์‹œ์Šคํ…œ์˜ ํ•ต์‹ฌ ์–ธ์–ด๋กœ ์ž๋ฆฌ๋งค๊น€ํ–ˆ์–ด์š”.
  • ์ถ”ํ›„: ์•ˆ๋“œ๋กœ์ด๋“œ(2008๋…„๊ฒฝ)๋„ ์ดˆ์ฐฝ๊ธฐ์— Java ๊ธฐ๋ฐ˜์œผ๋กœ ์•ฑ ๊ฐœ๋ฐœ์„ ์ง€์›, ์ž๋ฐ”์˜ ์ƒํƒœ๊ณ„๊ฐ€ ๋”์šฑ ๊ฐ•๋ ฅํ•ด์ง.

5.3 JavaScript(1995)

๐Ÿš€ ๋ˆ„๊ฐ€ ๋งŒ๋“ค์—ˆ๋‚˜?

  • ๋ธŒ๋ Œ๋˜ ์•„์ดํฌ(Brendan Eich), ๋„ท์Šค์ผ€์ดํ”„(Netscape)
  • ๋‹จ 10์ผ ๋งŒ์— ๊ธ‰ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ์–ธ์–ด๋ผ๋Š” ์ „์„ค์ด ์œ ๋ช…ํ•˜์ฃ !

๐Ÿš€ ์–ด๋–ค ์ ์ด ํ˜์‹ ์ ์ด์—ˆ๋‚˜?

  1. ๋ธŒ๋ผ์šฐ์ € ๋‚ด๋ถ€ ์Šคํฌ๋ฆฝํŠธ: HTML๊ณผ ํ•จ๊ป˜ ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)์—์„œ ๋ฐ”๋กœ ์‹คํ–‰
  2. ๋™์  ์–ธ์–ด: ๋ณ€์ˆ˜์— ํƒ€์ž…์„ ๋ช…์‹œํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ณ , ๋Ÿฐํƒ€์ž„์— ์ž์œ ๋กญ๊ฒŒ ๊ฐ์ฒด/ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑ, ์ˆ˜์ • ๊ฐ€๋Šฅ
  3. ์ฆ‰๊ฐ์  ์ธํ„ฐ๋ž™์…˜: ์›นํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜์ง€ ์•Š์•„๋„, ์‚ฌ์šฉ์ž์˜ ํด๋ฆญ์ด๋‚˜ ์ž…๋ ฅ ์ด๋ฒคํŠธ์— ๋ฐ˜์‘ํ•  ์ˆ˜ ์žˆ์Œ

๐Ÿš€ ์ฃผ์š” ์‚ฌ์šฉ ์‚ฌ๋ก€ & ์—ํ”ผ์†Œ๋“œ

  • ์ดˆ์ฐฝ๊ธฐ: ์ฃผ๋กœ โ€œํผ ๊ฒ€์ฆโ€์ด๋‚˜ โ€œ์ด๋ฏธ์ง€ ๋กค์˜ค๋ฒ„โ€ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ๋™์  ๊ธฐ๋Šฅ์— ์“ฐ์ž„.
  • ๋ธŒ๋žœ๋“œ๋ช… ๋ณ€๊ฒฝ: ์›๋ž˜ ์ด๋ฆ„์€ โ€˜LiveScriptโ€™์˜€๋Š”๋ฐ, ๋‹น์‹œ ์ž๋ฐ”(Java)๊ฐ€ ์ธ๊ธฐ๋ฅผ ๋Œ๋ฉด์„œ โ€œJavaScriptโ€๋กœ ๋ฐ”๊ฟจ๋‹ค๋Š” ์†Œ๋ฌธ.
  • ํญ๋ฐœ์  ์„ฑ์žฅ: 2000๋…„๋Œ€ ์ค‘๋ฐ˜์— Ajax ๊ธฐ๋ฒ•(ํŽ˜์ด์ง€ ์ƒˆ๋กœ๊ณ ์นจ ์—†์ด ์„œ๋ฒ„์™€ ํ†ต์‹ )๊ณผ ํ•จ๊ป˜ โ€œ์ง„์งœ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜โ€ ์‹œ๋Œ€๋ฅผ ์—ด์—ˆ๊ณ , 2010๋…„๋Œ€์—” Node.js(์„œ๋ฒ„ ์ธก JS)๋กœ ์˜์—ญ ํ™•๋Œ€ โ†’ ํ˜„์žฌ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ๋‘ฅ์ด ๋์Šต๋‹ˆ๋‹ค!

5.4 PHP(1995) - ๊นœ์ง ์กฐ์—ฐ์ด์ง€๋งŒ ์ค‘์š”ํ•œ ์–ธ์–ด

๐Ÿ’ก ์™œ ํ•จ๊ป˜ ๋“ฑ์žฅ?

  • 1995๋…„์€ Java์™€ JavaScript๋งŒ์ด ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค. PHP ๋˜ํ•œ ์ด ํ•ด์— ์‹œ์ž‘๋˜์–ด, ๋™์  ์›น์‚ฌ์ดํŠธ ๊ตฌํ˜„์„ ๊ฐ„๋‹จํžˆ ํ•ด ์ฃผ๋Š” ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋กœ ๊ธ‰๋ถ€์ƒ.
  • ๋ผ์Šค๋ฌด์Šค ๋Ÿฌ๋„ํ”„(Rasmus Lerdorf)๊ฐ€ ๊ฐœ์ธ ํ™ˆํŽ˜์ด์ง€ ๊ด€๋ฆฌ ์šฉ๋„๋กœ ๋งŒ๋“  ๋„๊ตฌ๊ฐ€ ๋ฐœ์ „ํ•ด, ์ „ ์„ธ๊ณ„ ์ค‘์†Œ๊ทœ๋ชจ ์›นํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ์˜ ํ‘œ์ค€์ด ๋˜์—ˆ์ฃ .

๐Ÿ’ก ์˜ํ–ฅ๋ ฅ

  • ์›Œ๋“œํ”„๋ ˆ์Šค(WordPress), ๋ฏธ๋””์–ด์œ„ํ‚ค(MediaWiki) ๋“ฑ ์œ ๋ช… CMS๊ฐ€ PHP ๊ธฐ๋ฐ˜ โ†’ ์ „ ์„ธ๊ณ„ ์ˆ˜๋งŽ์€ ์›น์‚ฌ์ดํŠธ๊ฐ€ PHP๋กœ ๋Œ์•„๊ฐ.
  • ๋ฌธ๋ฒ•์ด ์‰ฌ์›Œ ์ž…๋ฌธ์ž๋“ค์ด ๋น ๋ฅด๊ฒŒ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์ข‹์•„์š”.
  • ํŽ˜์ด์Šค๋ถ๋„ ์ดˆ์ฐฝ๊ธฐ์— PHP๋กœ ์‹œ์ž‘ํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค! (๋ฌผ๋ก  ์ง€๊ธˆ์€ ๋งŽ์ด ์ˆ˜์ •ํ•˜๊ณ  ๊ณ ์„ฑ๋Šฅํ™”ํ–ˆ์ง€๋งŒ์š”.)

5.5 ์‹œ๋Œ€์˜ ์˜๋ฏธ

  1. ์›น ๋ธŒ๋ผ์šฐ์ €๋ผ๋Š” ๊ณตํ†ต ํ”Œ๋žซํผ์ด ์ „ ์„ธ๊ณ„๋กœ ํผ์ง€๋ฉด์„œ, ์ธํ„ฐ๋„ท ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹œ๋Œ€๊ฐ€ ์—ด๋ฆผ.
  2. Java: ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์„œ๋ฒ„๋ถ€ํ„ฐ ๋ชจ๋ฐ”์ผ(์•ˆ๋“œ๋กœ์ด๋“œ)๊นŒ์ง€ ์•„์šฐ๋ฅด๋Š” ๋ฒ”์šฉ ์–ธ์–ด๋กœ ์Šน์Šน์žฅ๊ตฌ.
  3. JavaScript: โ€œ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ž‘ํ•˜๋Š” ์œ ์ผํ•œ ์–ธ์–ดโ€๋กœ ์ž๋ฆฌ ์žก๊ณ , ์ดํ›„ Node.js์™€ ๋‹ค์–‘ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ(React, Angular, Vue ๋“ฑ)๋กœ ํญ๋ฐœ์  ์„ฑ์žฅ.
  4. PHP: ์ค‘์†Œ๊ทœ๋ชจ ์›น์‚ฌ์ดํŠธ ~ CMS ์ค‘์‹ฌ์˜ ๊ด‘๋ฒ”์œ„ํ•œ ์ƒํƒœ๊ณ„ ํ˜•์„ฑ.

ํ•œ์ค„ ์š”์•ฝ: 1990๋…„๋Œ€ ์ค‘~ํ›„๋ฐ˜์€ โ€œ์›น์€ ๊ณง ๋ฏธ๋ž˜!โ€๋ผ๋Š” ๋ถ„์œ„๊ธฐ ์†์—์„œ, ์ž๋ฐ”(Java)๊ฐ€ ์„œ๋ฒ„๋ฅผ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋ฅผ, ๊ทธ๋ฆฌ๊ณ  PHP๊ฐ€ ์‰ฝ๊ฒŒ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋กœ ๋Œ€์ค‘ํ™”๋˜๋˜ ์‹œ๊ธฐ์˜€์ฃ .


5.6 ์žฌ๋ฏธ์žˆ๋Š” ์—ํ”ผ์†Œ๋“œ ๋ชจ์Œ

  1. Java vs JavaScript ์ด๋ฆ„ ํ—ท๊ฐˆ๋ฆผ
    • ๋งŽ์€ ์ดˆ๋ณด์ž๋“ค์ด โ€œ์ž๋ฐ”์™€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋น„์Šทํ•œ ์–ธ์–ด๋ƒ?โ€๋ผ๊ณ  ๋ฌผ์—ˆ์ง€๋งŒ, ์‚ฌ์‹ค์ƒ ๋ฌธ๋ฒ• ์Šคํƒ€์ผ๋„ ์šฉ๋„๋„ ๊ฝค ๋‹ค๋ฆ„. ์ด๋ฆ„๋งŒ ๋น„์Šทํ•˜๋‹ค๊ณ  ๋ณด๋ฉด ๋ผ์š”.
  2. ๋ธŒ๋ผ์šฐ์ € ์ „์Ÿ(Browser Wars)
    • ๋„ท์Šค์ผ€์ดํ”„ vs ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ(IE) ๊ฐ„ ๋ธŒ๋ผ์šฐ์ € ์‹œ์žฅ ๊ฒฝ์Ÿ์ด ๊ทน์‹ฌํ•ด์„œ, JS ํ‘œ์ค€ํ™”๊ฐ€ ํ˜ผ๋ž€์„ ๊ฒช๊ธฐ๋„ ํ–ˆ์–ด์š”.
  3. โ€˜๋žจํ”„(LAMP)โ€™ ์Šคํƒ
    • Linux, Apache, MySQL, PHP(Python/Perl) ์กฐํ•ฉ์ด ์ €๋ ดํ•˜๋ฉด์„œ๋„ ์•ˆ์ •์ ์ธ ์›น ์„œ๋น„์Šค ์ธํ”„๋ผ๋กœ ๊ฐ๊ด‘๋ฐ›์Œ.
  4. ๋‹ท์ปด ๋ฒ„๋ธ”
    • 90๋…„๋Œ€ ๋ง ~ 2000๋…„๋Œ€ ์ดˆ ์›น ์Šคํƒ€ํŠธ์—…์ด ์šฐํ›„์ฃฝ์ˆœ ์ƒ๊ฒจ๋‚˜๊ณ , ์ฃผ๊ฐ€๊ฐ€ ํญ๋“ฑํ–ˆ๋‹ค๊ฐ€ ๊ฐ‘์ž๊ธฐ ๋ถ•๊ดด๋œ ๊ฒฝ์ œ ์‚ฌ๊ฑด. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ ๊ณผ์ •์—์„œ ์›น ๊ธฐ์ˆ ์€ ๋”์šฑ ์„ฑ์ˆ™ํ•ด์กŒ์Šต๋‹ˆ๋‹ค.

7. 2010๋…„๋Œ€ ์ดํ›„: JavaScript ์ฒœํ•˜ + ๋ชจ๋ฐ”์ผ, AI, ๊ทธ๋ฆฌ๊ณ  ์‹ ํฅ ๊ฐ•์ž๋“ค ๐ŸŒŸ

7.1 ์‹œ๋Œ€์  ๋ฐฐ๊ฒฝ

2000๋…„๋Œ€๊ฐ€ ์›น๊ณผ ๊ธฐ์—… ์„œ๋ฒ„์˜ ๋ฐœ์ „๊ธฐ์˜€๋‹ค๋ฉด, 2010๋…„๋Œ€ ์ดํ›„๋Š” ๋ชจ๋ฐ”์ผ(์Šค๋งˆํŠธํฐ)๊ณผ ํด๋ผ์šฐ๋“œ, AI, ๋น…๋ฐ์ดํ„ฐ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ  ํŒจ๋Ÿฌ๋‹ค์ž„์ด ๊ฒน์ณ์„œ ํญ๋ฐœ์ ์œผ๋กœ ์„ฑ์žฅํ•˜๋Š” ์‹œ๊ธฐ์ž…๋‹ˆ๋‹ค.

  • ์Šค๋งˆํŠธํฐ์ด ์ „ ์„ธ๊ณ„์ธ์—๊ฒŒ ๋ณด๊ธ‰๋˜๋ฉด์„œ, ๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ(iOS, ์•ˆ๋“œ๋กœ์ด๋“œ)์ด ์ค‘์š”ํ•œ ์‹œ์žฅ์œผ๋กœ ๋ถ€์ƒ.
  • ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค(AWS, GCP, Azure)์™€ ๋น…๋ฐ์ดํ„ฐ/AI๊ฐ€ ์ฃผ๋ฅ˜๊ฐ€ ๋˜๋ฉด์„œ, ์„œ๋ฒ„ ์ธก์—์„œ๋„ ๊ณ ์„ฑ๋Šฅ๊ณผ ํ™•์žฅ์„ฑ์„ ๋™์‹œ์— ์š”๊ตฌํ•˜๋Š” ์–ธ์–ด๋“ค์ด ์ฃผ๋ชฉ๋ฐ›๊ฒŒ ๋์ฃ .
  • ๊ทธ๋ฆฌ๊ณ  JavaScript๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋„˜์–ด ์„œ๋ฒ„(Node.js), ๋ฐ์Šคํฌํ†ฑ, ๋ชจ๋ฐ”์ผ ์•ฑ ๋นŒ๋“œ ๋“ฑ ์ „๋ฐฉ์œ„๋กœ ๋ป—์–ด๋‚˜๊ฐ€๋ฉฐ โ€œ๊ฑฐ์˜ ๋ชจ๋“  ๊ณณ์—์„œ JSโ€ ํ˜„์ƒ์ด ๋ฒŒ์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
    ์ž‘์€ ์ด๋ฏธ์ง€

7.2 JavaScript & Node.js: ํ’€์Šคํƒ์œผ๋กœ ํ™•์žฅ

๐ŸŒ ๋ˆ„๊ฐ€/์–ด๋–ป๊ฒŒ?

  • Node.js(2009): ๋ผ์ด์–ธ ๋‹ฌ(Ryan Dahl)์ด ๊ตฌ๊ธ€ V8 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„ ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋ฒ„์—์„œ ๋™์ž‘ํ•˜๋Š” JS ๋Ÿฐํƒ€์ž„์„ ๊ฐœ๋ฐœ.
  • ๊ฒฐ๊ณผ: โ€œํด๋ผ์ด์–ธํŠธ์—์„œ๋งŒ ์“ฐ์ด๋˜ JS๊ฐ€ ์ด์ œ ์„œ๋ฒ„๋„ ์žฅ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค!โ€๋Š” ํ˜์‹ ์  ์‚ฌ๊ฑด.

๐ŸŒ ์–ด๋–ค ์ ์ด ์ธ๊ธฐ ์š”์ธ?

  1. ํ’€์Šคํƒ ๊ฐœ๋ฐœ: ํ”„๋ก ํŠธ์—”๋“œ, ๋ฐฑ์—”๋“œ ๋ชจ๋‘ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์“ฐ๋ฉด, ํ•œ ์–ธ์–ด๋กœ ์ „์ฒด๋ฅผ ์•„์šฐ๋ฅผ ์ˆ˜ ์žˆ์Œ.
  2. ๋น„๋™๊ธฐ I/O, ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ: ์š”์ฒญ ์ฒ˜๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ, ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…ยท์ŠคํŠธ๋ฆฌ๋ฐ ๋“ฑ์— ์œ ๋ฆฌ.
  3. npm(Node Package Manager): ์˜คํ”ˆ์†Œ์Šค ํŒจํ‚ค์ง€๋“ค์ด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์Œ“์ด๋ฉด์„œ, JS ์ƒํƒœ๊ณ„๊ฐ€ ํญ๋ฐœ์  ์„ฑ์žฅ.

๐ŸŒ ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋“ฑ์žฅ

  • React(ํŽ˜์ด์Šค๋ถ, 2013), Angular(๊ตฌ๊ธ€, 2010, AngularJS๋กœ ์‹œ์ž‘), Vue.js(์—๋ฐ˜ ์œ , 2014) ๋“ฑ
  • ์ด์ œ ์›นํŽ˜์ด์ง€๋Š” ๋‹จ์ˆœํžˆ ๋ฌธ์„œ๊ฐ€ ์•„๋‹ˆ๋ผ ์‹ฑ๊ธ€ ํŽ˜์ด์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(SPA) ํ˜•ํƒœ๋กœ ์ง„ํ™”, JS์˜ ์—ญํ• ์ด ๋”์šฑ ์ปค์ง.

๐ŸŒ ์—ํ”ผ์†Œ๋“œ

  • โ€œJS๋Š” ์กฐ์—ฐ์ด ์•„๋‹Œ ์ฃผ์—ฐ!โ€: 90๋…„๋Œ€์—” ๊ฐ„๋‹จํ•œ ์›น ํผ ๊ฒ€์ฆ ์ •๋„์˜€์ง€๋งŒ, ์ง€๊ธˆ์€ ํ”„๋ก ํŠธ์—”๋“œ, ๋ฐฑ์—”๋“œ, ๋ชจ๋ฐ”์ผ(React Native)๊นŒ์ง€ ์ ๋ นํ•˜๋Š” ํ•ต์‹ฌ ์–ธ์–ด๊ฐ€ ๋จ.
  • MEAN, MERN ์Šคํƒ: MongoDB, Express.js, Angular/React, Node.js ์กฐํ•ฉ์œผ๋กœ ์›น ์„œ๋น„์Šค๋ฅผ โ€˜JS๋งŒ์œผ๋กœโ€™ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์‹œ๋Œ€.

7.3 TypeScript(2012): ๋Œ€๊ทœ๋ชจ JS ํ”„๋กœ์ ํŠธ์˜ ํ•ด๋‹ต

๐Ÿ™Œ ๋ˆ„๊ฐ€ ๋งŒ๋“ค์—ˆ๋‚˜?

  • ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ(MS)๊ฐ€ โ€œJavaScript๋Š” ์ข‹์€๋ฐ, ๋Œ€๊ทœ๋ชจ ์ฝ”๋“œ ๊ด€๋ฆฌ๊ฐ€ ํž˜๋“ค์–ดโ€ฆโ€๋ผ๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ.

๐Ÿ™Œ ์–ด๋–ค ํŠน์ง•?

  1. ์ •์  ํƒ€์ž…(Static Type)
    • JavaScript์— ์—†๋Š” ํƒ€์ž… ์„ ์–ธ์„ ์ถ”๊ฐ€ํ•ด, ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ์˜ค๋ฅ˜๋ฅผ ์ฒดํฌ.
  2. JS์™€ 100% ํ˜ธํ™˜
    • ๊ธฐ์กด JS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฒฐ๊ณผ๋ฌผ์€ ํ‘œ์ค€ JS๋กœ ํŠธ๋žœ์ŠคํŒŒ์ผ(transpile)๋จ.
  3. IDEยท์—๋””ํ„ฐ ์ง€์›
    • Visual Studio Code ๋“ฑ์—์„œ ์ž๋™ ์™„์„ฑ, ํƒ€์ž… ํžŒํŠธ๊ฐ€ ๋น›์„ ๋ฐœํ•ด, ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ํ›จ์”ฌ ์ˆ˜์›”.

๐Ÿ™Œ ์˜ํ–ฅ๋ ฅ

  • ์ดˆ์ฐฝ๊ธฐ์— Angular๊ฐ€ ๊ธฐ๋ณธ ์–ธ์–ด๋กœ ์ฑ„ํƒํ•˜๋ฉด์„œ ์œ ๋ช…ํ•ด์กŒ๊ณ , ์ดํ›„ React, Vue.js ๋“ฑ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ๋„ ์ ๊ทน์ ์œผ๋กœ ๋„์ž….
  • ๊ธฐ์—…์šฉ ์›น ํ”„๋กœ์ ํŠธ๋‚˜ ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋„ TS๋ฅผ ์ฑ„ํƒํ•˜๋Š” ์ถ”์„ธ๊ฐ€ ๊ฐ€ํŒŒ๋ฅด๊ฒŒ ๋Š˜์–ด๋‚จ โ†’ TIOBE ์ง€ํ‘œ ๋“ฑ์—์„œ ๋งค๋…„ ์ˆœ์œ„ ์ƒ์Šน ์ค‘.

7.4 Python์˜ AI/๋ฐ์ดํ„ฐ ๊ณผํ•™ ๋…์ฃผ

๐Ÿค– ์–ด๋””์„œ ๊ฐ‘์ž๊ธฐ?

  • ์‚ฌ์‹ค 2000๋…„๋Œ€๋ถ€ํ„ฐ Python์ด ์ธ๊ธฐ๋ฅผ ๋Œ์—ˆ์ง€๋งŒ, 2010๋…„๋Œ€ ์ค‘๋ฐ˜๋ถ€ํ„ฐ ๋น…๋ฐ์ดํ„ฐ, ๋จธ์‹ ๋Ÿฌ๋‹, ๋”ฅ๋Ÿฌ๋‹์ด ๊ฐ๊ด‘๋ฐ›์œผ๋ฉด์„œ ์™„์ „ ํญ์ฃผ ๋ชจ๋“œ๋กœ ๋Œ์ž….

๐Ÿค– ์–ด๋–ค ์ ์ด ๊ฐ•์ ?

  1. ํ’๋ถ€ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ: NumPy, SciPy, Pandas, Matplotlib, Scikit-learn, TensorFlow, PyTorch ๋“ฑ.
  2. ๊ฐœ๋ฐœ ์†๋„ & ์‰ฌ์šด ๋ฌธ๋ฒ•: ์—ฐ๊ตฌ, ์‹คํ—˜, ํ”„๋กœํ† ํƒ€์ดํ•‘์— ์ตœ์ .
  3. ๋Œ€ํ•™ยท์—ฐ๊ตฌ์†Œ ์ฑ„ํƒ: ๊ต์œก๊ณผ ์—ฐ๊ตฌ์—์„œ ํ‘œ์ค€์ฒ˜๋Ÿผ ์“ฐ์ด๋‹ˆ, ๊ฐœ๋ฐœ์ž ํ’€๋„ ์ž์—ฐํžˆ ์ปค์ง.

๐Ÿค– ์—ํ”ผ์†Œ๋“œ

  • โ€œAI ํ”„๋กœํ† ํƒ€์ž…์€ ์ผ๋‹จ ํŒŒ์ด์ฌ์œผ๋กœ ํ•œ๋‹คโ€: ๋งŽ์€ ์Šคํƒ€ํŠธ์—…์ด๋‚˜ ์—ฐ๊ตฌ์†Œ์—์„œ, C++๋กœ ๊ณ ์„ฑ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ ์ „์— Python์œผ๋กœ ๊ฐœ๋… ๊ฒ€์ฆ(PoC)์„ ๋จผ์ € ํ•จ.
  • ๋น…๋ฐ์ดํ„ฐ ํ”Œ๋žซํผ(Spark, Hadoop ์ƒํƒœ๊ณ„ ๋“ฑ)์—๋„ Python API๊ฐ€ ์ œ๊ณต๋˜์–ด, ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ถ„์•ผ์—์„œ ์‚ฌ์‹ค์ƒ 1๋“ฑ ์–ธ์–ด.

7.5 ๋ชจ๋ฐ”์ผ ์‹œ๋Œ€: Swift(2014), Kotlin(2011, 2017 ๊ตฌ๊ธ€ ๊ณต์‹ ์ง€์›)

๐Ÿ“ฑ Swift: iOS, macOS

  • ๋ˆ„๊ฐ€?: ์• ํ”Œ(Apple)์ด Objective-C๋ฅผ ๋Œ€์ฒดํ•˜๋ ค๊ณ  ๋งŒ๋“ฆ.
  • ์žฅ์ : ๋ฌธ๋ฒ• ๊ฐ„๊ฒฐ, ์•ˆ์ „์„ฑ(์˜ต์…”๋„, ARC), ์„ฑ๋Šฅ ํ–ฅ์ƒ.
  • ์—ํ”ผ์†Œ๋“œ: 2014๋…„ ๋ฐœํ‘œ ํ›„, ๋น ๋ฅด๊ฒŒ iOS ๊ฐœ๋ฐœ์ž๋“ค์ด Swift๋กœ ์ „ํ™˜. ์ด์ œ iOS/macOS ๊ธฐ๋ณธ ์–ธ์–ด ์ง€์œ„.

๐Ÿ“ฑ Kotlin: ์•ˆ๋“œ๋กœ์ด๋“œ

  • ๋ˆ„๊ฐ€?: JetBrains(์ธํ…”๋ฆฌJ ๋งŒ๋“  ํšŒ์‚ฌ).
  • ์–ด๋–ค ํŠน์ง•?: Java์™€ 100% ํ˜ธํ™˜ + ๊ฐ„๊ฒฐํ•œ ๋ฌธ๋ฒ• + Null ์•ˆ์ •์„ฑ.
  • 2017๋…„ ๊ตฌ๊ธ€ ๊ณต์‹ ์ง€์› ์„ ์–ธ: ์ดํ›„ ์•ˆ๋“œ๋กœ์ด๋“œ ์ง„์˜์—์„œ โ€œJava ๋Œ€์‹  Kotlinโ€์ด ๋Œ€์„ธ๋กœ ์ž๋ฆฌ ์žก์Œ.

7.6 Go, Rust: ์‹ ํฅ ๊ฐ•์ž๋“ค์˜ ๋“ฑ์žฅ

โ›ต Go(2009, ๊ตฌ๊ธ€)

  • ๊ฐœ๋ฐœ ๋ชฉํ‘œ: C ์–ธ์–ด์ฒ˜๋Ÿผ ๋น ๋ฅธ ์„ฑ๋Šฅ๊ณผ ๊ฐ„๊ฒฐํ•จ, ๋™์‹œ์— ๋„คํŠธ์›Œํฌ/์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ตœ์ ํ™”๋œ ๋ฌธ๋ฒ•.
  • ๊ณ ๋ฃจํ‹ด(goroutine)์œผ๋กœ ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ๋ฅผ ์‰ฝ๊ณ  ํšจ์œจ์ ์œผ๋กœ!
  • DevOps, ํด๋ผ์šฐ๋“œ ๋ถ„์•ผ์—์„œ ์ ์ฐจ ์ธ๊ธฐ ์ƒ์Šน.

๐Ÿฆ€ Rust(2010, ๋ชจ์งˆ๋ผ)

  • ๊ฐœ๋ฐœ ๋ชฉํ‘œ: C/C++์ฒ˜๋Ÿผ ๊ณ ์„ฑ๋Šฅ/์‹œ์Šคํ…œ ๋ ˆ๋ฒจ ์ ‘๊ทผ ๊ฐ€๋Šฅ, ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „์„ฑ ๋ฌธ์ œ๋ฅผ ์ปดํŒŒ์ผ ํƒ€์ž„์— ํ•ด๊ฒฐ.
  • ๋งค๋…„ ๊ฐœ๋ฐœ์ž ๋งŒ์กฑ๋„ 1์œ„๋ฅผ ์ฐ๋Š” ์–ธ์–ด๋กœ ํ™”์ œ!
  • ์ ์ฐจ OS ๊ฐœ๋ฐœ, ๋ธŒ๋ผ์šฐ์ € ์—”์ง„, ๊ฒŒ์ž„ ์—”์ง„, ์ž„๋ฒ ๋””๋“œ ๋“ฑ์—์„œ ์ฑ„ํƒ ์ฆ๊ฐ€.

7.7 ์‹œ๋Œ€์˜ ์˜๋ฏธ

  1. JavaScript โ€˜์›๋งจ์‡ผโ€™?
    • ํ”„๋ก ํŠธ์—”๋“œ โ†’ ๋ฐฑ์—”๋“œ(๋…ธ๋“œ) โ†’ ๋ชจ๋ฐ”์ผ(React Native) โ†’ ๋ฐ์Šคํฌํ†ฑ(Electron) โ€ฆ ์ „๋ฐฉ์œ„ ํ™•์žฅ.
    • TypeScript๊ฐ€ ๋“ฑ์žฅํ•ด ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—๋„ ์ ํ•ฉํ•ด์ง€๋ฉด์„œ ๋”์šฑ ํƒ„ํƒ„ํ•ด์ง.
  2. Python โ€˜๋ฐ์ดํ„ฐ ์™•์ขŒโ€™
    • AI, ๋จธ์‹ ๋Ÿฌ๋‹, ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ถ„์•ผ์—์„œ ์ ˆ๋Œ€์  ์ง€์œ„.
    • ์ดˆ๋ณด์ž์—๊ฒŒ๋„ ์‰ฝ๊ณ , ์ „๋ฌธ๊ฐ€์—๊ฒŒ๋„ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ.
  3. ๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ ์ „๋ฌธ ์–ธ์–ด
    • iOS = Swift, ์•ˆ๋“œ๋กœ์ด๋“œ = Kotlin โ†’ โ€˜๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ=Javaโ€™ ์‹œ์ ˆ์ด ์ ์ฐจ ์žฌํŽธ.
  4. ์‹œ์Šคํ…œ & ์„œ๋ฒ„์— ์‹ ์„ ํ•œ ๋ฐ”๋žŒ
    • Go, Rust ๋“ฑ์€ C/C++ ์˜์—ญ์„ ๋Œ€์ฒดํ•˜๊ฑฐ๋‚˜ ๋ณด์™„ํ•˜๋ ค๋Š” ์‹œ๋„๋กœ ๊ฐ๊ด‘๋ฐ›์Œ.
    • โ€œ์„ฑ๋Šฅ & ์•ˆ์ „์„ฑ๋„ ํฌ๊ธฐํ•  ์ˆ˜ ์—†๋‹ค!โ€๋Š” ์ƒˆ๋กœ์šด ์š”๊ตฌ.

๊ฒฐ๋ก : 2010๋…„๋Œ€ ์ดํ›„, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์‹œ์žฅ์€ โ€œํ•œ ์–ธ์–ด๊ฐ€ ๋ชจ๋“  ๊ฑธ ๋‹ค ํ•˜๋Š” ์‹œ๋Œ€๊ฐ€ ์•„๋‹ˆ๋ผ, ๊ฐ์ž ์ „๋ฌธ ๋ถ„์•ผ์— ๋งž๋Š” ์–ธ์–ด๋“ค์ด ๊ณต์กดโ€ ํ•˜๋Š” ๋ชจ์Šต์ด ๋”์šฑ ๋šœ๋ ทํ•ด์กŒ์–ด์š”.


7.8 ์žฌ๋ฏธ์žˆ๋Š” ์—ํ”ผ์†Œ๋“œ ๋ชจ์Œ

  1. Node.js ํƒ„์ƒ ์Šคํ† ๋ฆฌ
    • ๋ผ์ด์–ธ ๋‹ฌ์ด โ€œ์›น ์„œ๋ฒ„๊ฐ€ ํŒŒ์ผ ์—…๋กœ๋“œ ์ค‘์— ๋ฉˆ์ถฐ์žˆ๋Š” ๋ชจ์Šต(์ฐจ๋‹จ I/O)์„ ๋ณด๊ณ  ์ถฉ๊ฒฉ๋ฐ›์•„โ€ ๋น„๋™๊ธฐ I/O ๋ฐฉ์‹์„ ์—ฐ๊ตฌํ•˜๋‹ค๊ฐ€ Node.js๋ฅผ ๋งŒ๋“ค์—ˆ๋Œ€์š”.
  2. TypeScript vs Flow
    • ํŽ˜์ด์Šค๋ถ์€ JS ํƒ€์ž… ์ฒดํ‚น ๋„๊ตฌ โ€˜Flowโ€™๋ฅผ ๋งŒ๋“ค์—ˆ์ง€๋งŒ, MS์˜ TS๊ฐ€ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ ๋‹ค๊ฐ€์„œ๋ฉด์„œ ๋Œ€์„ธ๊ฐ€ ๋œ ๊ฑด TS ์ชฝ์ด์—ˆ์Šต๋‹ˆ๋‹ค.
  3. Rust์˜ โ€˜๋นŒ๋“œ์—๋Ÿฌโ€™ ์‚ฌ๋‚˜์ด
    • ๋Ÿฌ์ŠคํŠธ๋Š” ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ๋งค์šฐ ์—„๊ฒฉํ•˜๊ณ  ์žฅํ™ฉํ•œ๋ฐ, ์ด๊ฒŒ ์˜คํžˆ๋ ค โ€œ๊ฐœ๋ฐœ์ž๋ฅผ ๋ณด์‚ดํ”ผ๋Š”โ€ ๋ฉ”์‹œ์ง€์ฒ˜๋Ÿผ ๋ฐ›์•„๋“ค์—ฌ์ ธ ์‚ฌ๋ž‘๋ฐ›๊ณ  ์žˆ๋‹ค๋Š” ํ›„๋ฌธ์ดโ€ฆ!
  4. Kotlin = ์ฝ”ํ‹€๋ฆฐ ์„ฌ
    • Kotlin์ด๋ผ๋Š” ์ด๋ฆ„์€ ๋Ÿฌ์‹œ์•„ ์ƒํŠธํŽ˜ํ…Œ๋ฅด๋ถ€๋ฅดํฌ ๊ทผ๊ต์˜ โ€˜์ฝ”ํ‹€๋ฆฐ ์„ฌโ€™์—์„œ ๋”ฐ์˜จ ๊ฑฐ๋ผ๊ณ  ํ•ด์š”. JetBrains ๋ณธ์‚ฌ๊ฐ€ ์ƒํŠธํŽ˜ํ…Œ๋ฅด๋ถ€๋ฅดํฌ์— ์žˆ๊ธฐ๋„ ํ•˜๊ณ ์š”.

8. ํŒŒํŠธ๋ณ„ ์š”์•ฝ & ์•ž์œผ๋กœ์˜ ๋ฏธ๋ž˜ ๐Ÿ”ญ

8.1 ์‹œ๋Œ€๋ณ„ ํ•˜์ด๋ผ์ดํŠธ

์ด์ œ๊นŒ์ง€ ์‚ดํŽด๋ณธ ์‹œ๋Œ€๋“ค์„ ํ•œ๋ˆˆ์— ์ •๋ฆฌํ•ด๋ณผ๊นŒ์š”?

  1. 1950~1960๋…„๋Œ€:

    • ๋Œ€ํ‘œ ์–ธ์–ด: FORTRAN, COBOL, LISP
    • ์ƒ์ง•: ๋ฉ”์ธํ”„๋ ˆ์ž„ + ํŽ€์น˜์นด๋“œ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๊ฐœ๋… ์ž์ฒด๊ฐ€ ์ƒ์†Œํ–ˆ๋˜ ์‹œ์ ˆ
    • ์˜์˜: ๊ณผํ•™ ๊ณ„์‚ฐ(FORTRAN), ๊ธฐ์—… ์—…๋ฌด(COBOL), AI ์—ฐ๊ตฌ(LISP) ๋“ฑ โ€˜๋ชฉ์ ๋ณ„ ์–ธ์–ดโ€™ ์ถœํ˜„
  2. 1970~1980๋…„๋Œ€:

    • ๋Œ€ํ‘œ ์–ธ์–ด: C, Pascal
    • ์ƒ์ง•: ์œ ๋‹‰์Šค(UNIX) ์šด์˜์ฒด์ œ, ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ‘œ์ค€(C), ์ปดํ“จํŒ… ๊ต์œก(ํŒŒ์Šค์นผ)
    • ์˜์˜: C ์–ธ์–ด๊ฐ€ ์šด์˜์ฒด์ œ ๋ฐ ํ•˜๋“œ์›จ์–ด ๋ฐ€์ ‘ ์˜์—ญ์„ ์žฅ์•…, โ€œ๊ณ ์ˆ˜์ค€ ์–ธ์–ด๋กœ OS ๊ฐœ๋ฐœโ€ ์‹œ๋Œ€
  3. 1980~1990๋…„๋Œ€ ์ดˆ์ค‘๋ฐ˜:

    • ๋Œ€ํ‘œ ์–ธ์–ด: C++(๊ฐ์ฒด์ง€ํ–ฅ), Objective-C(์• ํ”Œ ์ƒํƒœ๊ณ„)
    • ์ƒ์ง•: ๊ฐ์ฒด์ง€ํ–ฅ(OOP) ๋ถ, ๋Œ€๊ทœ๋ชจ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์ ํŠธ์˜ ๋“ฑ์žฅ
    • ์˜์˜: C++๊ฐ€ ์„ฑ๋Šฅ+OOP๋ฅผ ๋™์‹œ์— ์ถ”๊ตฌํ•˜๋ฉฐ ๋Œ€๊ธฐ์—…ยท๊ฒŒ์ž„ยท์‹œ์Šคํ…œ ์ „ ๋ถ„์•ผ์—์„œ ๋Œ€์„ธ
  4. 1990๋…„๋Œ€ ์ค‘~ํ›„๋ฐ˜:

    • ๋Œ€ํ‘œ ์–ธ์–ด: Java(์„œ๋ฒ„), JavaScript(ํ”„๋ก ํŠธ), PHP(์›น ์Šคํฌ๋ฆฝํŠธ)
    • ์ƒ์ง•: ์›น ๋ธŒ๋ผ์šฐ์ € ๋ณด๊ธ‰, WWW ํญ๋ฐœ, ๋‹ท์ปด ์—ดํ’
    • ์˜์˜: ์ธํ„ฐ๋„ท/๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ๋Œ€ ๊ฐœ๋ง‰ โ†’ โ€˜์›น ๊ฐœ๋ฐœโ€™์ด๋ผ๋Š” ์ƒˆ๋กœ์šด ํŒจ๋Ÿฌ๋‹ค์ž„
  5. 2000๋…„๋Œ€:

    • ๋Œ€ํ‘œ ์–ธ์–ด: C# & .NET(MS), Python, Ruby on Rails
    • ์ƒ์ง•: ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์‹œ์žฅ(MS vs Java), ์˜คํ”ˆ์†Œ์Šค ์ง„์˜์˜ ๋™์  ์–ธ์–ด ๋ถ€์ƒ, ์›น์„œ๋น„์Šค ๊ณ ๋„ํ™”
    • ์˜์˜: ์ƒ์‚ฐ์„ฑยท๊ฐœ๋ฐœ ํŽธ์˜์„ฑ ์ค‘์‹œ, MVC ์›น ํ”„๋ ˆ์ž„์›Œํฌ(Django, Rails)๋กœ ๋น ๋ฅธ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•ด์ง
  6. 2010๋…„๋Œ€ ์ดํ›„:

    • ๋Œ€ํ‘œ ์–ธ์–ด: JavaScript(Node.js), TypeScript, Python(AI/๋ฐ์ดํ„ฐ), Swift(iOS), Kotlin(์•ˆ๋“œ๋กœ์ด๋“œ), Go, Rust
    • ์ƒ์ง•: ๋ชจ๋ฐ”์ผ ์‹œ๋Œ€, ํด๋ผ์šฐ๋“œยท๋น…๋ฐ์ดํ„ฐยทAI ๋ถ, JS์˜ ์ „๋ฐฉ์œ„ ํ™•์žฅ, ์ •์  ํƒ€์ž… ์–ธ์–ด์˜ ์žฌ์ฃผ๋ชฉ
    • ์˜์˜: โ€˜ํ•œ ์–ธ์–ดโ€™ ๋…์ฃผ ๋Œ€์‹ , ๋ถ„์•ผ๋งˆ๋‹ค ์ตœ์ ํ™”๋œ ์–ธ์–ด๋“ค์ด ๊ณต์กด. JS/TS๋Š” ์›น์„ ๋„˜์–ด ๋ชจ๋“  ํ”Œ๋žซํผ์—์„œ ํ™œ์•ฝ, Python์€ AI ๋ถ„์•ผ ๋…๋ณด์ , ๋ชจ๋ฐ”์ผ์€ SwiftยทKotlin ์–‘๊ฐ•์ฒด์ œ

8.2 ์•ž์œผ๋กœ์˜ ์ „๋ง

  1. AI ์‹œ๋Œ€:

    • Python์ด ๊ฐ•์„ธ ์œ ์ง€ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋‚˜, C++/Rust/Go ๋“ฑ ํผํฌ๋จผ์Šค๊ฐ€ ํ•„์š”ํ•œ ์˜์—ญ์—์„œ๋„ ๋†’์€ ์ˆ˜์š”๊ฐ€ ์ƒ๊ธธ ๊ฒƒ.
    • ์ ์ฐจ AI ๋ชจ๋ธ ์ตœ์ ํ™”, ๊ฒฝ๋Ÿ‰ํ™” ๋“ฑ์„ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์–ธ์–ด์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ˜ผ์žฌํ•  ๋“ฏ.
  2. ์›น ์ƒํƒœ๊ณ„:

    • JavaScript & TypeScript๊ฐ€ ๊ณ„์†ํ•ด์„œ ์›น์˜ ํ‘œ์ค€ ์ง€์œ„๋ฅผ ์ง€ํ‚ฌ ์ „๋ง.
    • WebAssembly(์™€์ฆ˜)๋กœ C/C++/Rust ๋“ฑ๋„ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋Œ๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋ฉด์„œ, JS์™€ โ€œํ•จ๊ป˜โ€ ์“ฐ๋Š” ์‹œ๋Œ€๊ฐ€ ์—ด๋ฆด ๊ฐ€๋Šฅ์„ฑ๋„ ๋†’์Œ.
  3. ํด๋ผ์šฐ๋“œ/์„œ๋ฒ„:

    • Go, Rust, Kotlin, TypeScript(Node.js) ๋“ฑ์ด ์„œ๋ฒ„ยทํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค์—์„œ ๊ฒฝ์Ÿ ์ค‘.
    • ์ปจํ…Œ์ด๋„ˆํ™”, ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋“ฑ ์•„ํ‚คํ…์ฒ˜๊ฐ€ ์„ธ๋ถ„ํ™”๋˜๋ฉด์„œ, ์—ฌ๋Ÿฌ ์–ธ์–ด๊ฐ€ ํ˜ผ์žฌํ•˜๋Š” polyglot ํ™˜๊ฒฝ๋„ ๋งŽ์•„์งˆ ์ „๋ง.
  4. ๋ชจ๋ฐ”์ผยท๋ฉ€ํ‹ฐํ”Œ๋žซํผ:

    • ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ(iOS = Swift, ์•ˆ๋“œ๋กœ์ด๋“œ = Kotlin) ์ฒด์ œ๊ฐ€ ๊ตณ์–ด์กŒ์ง€๋งŒ, ํฌ๋กœ์Šค ํ”Œ๋žซํผ(Flutter, React Native, Jetpack Compose Multiplatform ๋“ฑ)๋„ ์„ฑ์žฅ ์ค‘.
    • ํ•œ ์–ธ์–ด๋กœ ๋ชจ๋ฐ”์ผยท์›นยท๋ฐ์Šคํฌํ†ฑ์„ ๋ชจ๋‘ ์ปค๋ฒ„ํ•˜๋ ค๋Š” ์‹œ๋„๋Š” ๊ณ„์†๋  ๊ฒƒ.
  5. ์–ธ์–ด ์ž์ฒด์˜ ์ง„ํ™”:

    • ๊ธฐ์กด ์–ธ์–ด๋„ ๋ฒ„์ „์—…ํ•˜๋ฉฐ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๋„์ž…(Python 3, C++ 20/23, Java 17+ LTS, C# 11 ๋“ฑ).
    • ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „์„ฑ, ๋น„๋™๊ธฐ ์ง€์›, ๋ฉ€ํ‹ฐ์ฝ”์–ด ํ™œ์šฉ ๋“ฑ ํ˜„๋Œ€ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•ด ๊ธฐ์กด ์–ธ์–ด๊ฐ€ ๋”์šฑ ๋ฐœ์ „ํ•  ๊ฒƒ.

๊ฒฐ๋ก : โ€œํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ดโ€๋Š” ์‹œ๋Œ€ ํ๋ฆ„๊ณผ ํ”Œ๋žซํผ ๋ณ€ํ™”์— ๋”ฐ๋ผ ๊ณ„์†ํ•ด์„œ ์ƒˆ๋กœ์šด ์–ธ์–ด๊ฐ€ ํƒœ์–ด๋‚˜๊ฑฐ๋‚˜, ๊ธฐ์กด ์–ธ์–ด๊ฐ€ ์ง„ํ™”ํ•ฉ๋‹ˆ๋‹ค.
ํ•œ ์–ธ์–ด๊ฐ€ ์™„์ „ํžˆ ๋ชจ๋“  ๊ฒƒ์„ ํ•ด๊ฒฐํ•˜๊ธฐ๋Š” ํž˜๋“ค์ง€๋งŒ, ๊ฐ์ž ์ „๋ฌธ ๋ถ„์•ผ๋ฅผ ๋งก์•„ ๊ณต์กดํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€๊ณ  ์žˆ์–ด์š”.


8.3 ๋งบ์Œ๋ง: ์—ญ์‚ฌ๋ฅผ ์•Œ๋ฉด ๋ฏธ๋ž˜๊ฐ€ ๋ณด์ธ๋‹ค!

์—ฌ๊ธฐ๊นŒ์ง€ 1950๋…„๋Œ€ ๋ฉ”์ธํ”„๋ ˆ์ž„ ์‹œ๋Œ€๋ถ€ํ„ฐ 2010๋…„๋Œ€ ์ดํ›„ ๋ชจ๋ฐ”์ผ & AI ์‹œ๋Œ€๊นŒ์ง€, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋“ค์ด ์–ด๋–ป๊ฒŒ ํฅ๋ง์„ฑ์‡ ๋ฅผ ๊ฑฐ๋“ญํ•ด ์™”๋Š”์ง€ ์‚ดํŽด๋ดค์Šต๋‹ˆ๋‹ค.

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

๋์œผ๋กœ, ์ด ์‹œ๋ฆฌ์ฆˆ๋ฅผ ํ†ตํ•ด โ€œํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์—ญ์‚ฌโ€๊ฐ€ ์กฐ๊ธˆ ๋” ๊ฐ€๊น๊ฒŒ ๋Š๊ปด์ง€๊ธธ ๋ฐ”๋ผ์š”.
์ฆ๊ฑฐ์šด ์ฝ”๋”ฉ ํ•˜์‹œ๊ธธ! ๐Ÿš€


๐ŸŽ‰ ๋ถ€๋ก: ๋” ์ฝ์–ด๋ณผ ๋งŒํ•œ ์ž๋ฃŒ

  • โ€œThe C Programming Languageโ€ (K&R) โ†’ C ์–ธ์–ด ๋ฐ”์ด๋ธ”
  • โ€œStructure and Interpretation of Computer Programsโ€(SICP) โ†’ LISP, ํ•จ์ˆ˜ํ˜• ์‚ฌ๊ณ  ๋ฐฉ์‹์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ๋ช…์ €
  • โ€œDesign Patternsโ€(GoF) โ†’ ๊ฐ์ฒด์ง€ํ–ฅ ํŒจ๋Ÿฌ๋‹ค์ž„์˜ ์ •์ˆ˜
  • โ€œThe Pragmatic Programmerโ€ โ†’ ๋‹ค์–‘ํ•œ ์–ธ์–ด๋ฅผ ํ•™์Šตํ•˜๋ฉฐ ์ฝ”๋”ฉ ์ฒ ํ•™์„ ๋„“ํžˆ๊ธฐ ์ข‹์€ ์ฑ…
  • GitHub, Stack Overflow Developer Survey โ†’ ์ตœ์‹  ์–ธ์–ด ํŠธ๋ Œ๋“œ, ๋งŒ์กฑ๋„, ์ธ๊ธฐ ์ˆœ์œ„๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ํ™•์ธ ๊ฐ€๋Šฅ

์–ธ์ œ๋“  ๊ถ๊ธˆํ•œ ๋ถ€๋ถ„ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š”!
Happy Coding!

profile
๐Ÿฑ ๋„์ฟ„์—์„œ ํ™œ๋™ ์ค‘์ธ ์›น ๊ฐœ๋ฐœ์ž ๐Ÿ‡ฏ๐Ÿ‡ต๐Ÿ’ป ๐Ÿง‘โ€๐Ÿ’ป ์ตœ๊ทผ์—๋Š” ์š”์ฆ˜IT์—์„œ ์ž‘๊ฐ€๋กœ๋„ ํ™œ๋™ ์ค‘์ž…๋‹ˆ๋‹ค! ๐Ÿ“ ์š”์ฆ˜IT ๊ธ€ ๋ชจ์Œ: yozm.wishket.com/@donghyuk65

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

comment-user-thumbnail
2025๋…„ 3์›” 1์ผ

์‹œ๋Œ€๋ณ„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ด์•ผ๊ธฐ" ๊ธ€์„ ํฅ๋ฏธ๋กญ๊ฒŒ ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค! ๐Ÿ“œ๐Ÿ’ป
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๋ฐœ์ „ ๊ณผ์ •์„ ํ•œ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์ •๋ฆฌํ•ด ์ฃผ์…”์„œ ์œ ์ตํ–ˆ์–ด์š”. ํŠนํžˆ, C ์–ธ์–ด๊ฐ€ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋ฏธ์นœ ์˜ํ–ฅ๊ณผ JavaScript์˜ ํ™•์žฅ์ด ์ธ์ƒ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.
์•ž์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์–ด๋–ค ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐœ์ „ํ• ์ง€ ๊ธฐ๋Œ€๋˜๋„ค์š”. ์ข‹์€ ๊ธ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!
poki

1๊ฐœ์˜ ๋‹ต๊ธ€
comment-user-thumbnail
2025๋…„ 3์›” 23์ผ

์ข‹์€๊ธ€์ด๋„ค์š”. ๊ฐœ์ธ์ ์ธ ์ œ ์˜๊ฒฌ์„ ์ด์•ผ๊ธฐํ•˜์ž๋ฉด, ์ž๋ฐ”์—์„œ Swift์™€ Kotlin์œผ๋กœ์˜ ๋ณ€ํ™”๋Š” ๋‹จ์ˆœํžˆ ์ฃผ๋„ ์–ธ์–ด์˜ ๊ต์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฐ์ฒด์ง€ํ–ฅ์—์„œ ํ”„๋กœํ† ์ฝœ ์ค‘์‹ฌ์˜ ์„ค๊ณ„๋กœ ํŒจ๋Ÿฌ๋‹ค์ž„ ์ž์ฒด๊ฐ€ ๋ณ€ํ™”ํ•œ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด์š”.
์ตœ๊ทผ React, SwiftUI, Jetpack Compose ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋“ฑ์žฅ์€ ๊ธฐ์กด์˜ ์ด๋ฒคํŠธ ์ค‘์‹ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์„ ์–ธ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ํ•œ ๋ฒˆ ๋” ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์ „ํ™˜์‹œํ‚จ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋Œ“๊ธ€๋กœ๋Š” ์ƒ๊ฐ์„ ์ •๋ฆฌํ•˜๊ธฐ ์–ด๋ ค์›Œ ๊ธ€๋กœ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์‹ฌ์‹ฌํ• ๋•Œ ์ฝ์–ด๋ณด์„ธ์š”.
https://velog.io/@dolfalf/๊ฐ์ฒด์ง€ํ–ฅ์„-๋„˜์–ด-ํ”„๋กœํ† ์ฝœ-์ง€ํ–ฅ๊ณผ-์„ ์–ธ์ -ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด