๋ฐ˜์‘ํ˜•

 

 

์ด ๊ธ€์€ ๊ตญ๋ฏผ๋Œ€ํ•™๊ต ๊ฐ•์Šน์‹ ๊ต์ˆ˜๋‹˜์˜ 'ํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด๋ก ' ์ˆ˜์—…์„ ํ† ๋Œ€๋กœ
๊ฐœ์ธ์ ์œผ๋กœ ํ•™์Šตํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

 

 

 

2.1 ๋””์ง€ํ„ธ ์ปดํ“จํ„ฐ ์ด์ „์˜ ์–ธ์–ด

 

  • ์ตœ์ดˆ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ์ฐฐํ™ํŒ, BC 1500 - 3000 ๋ฐ”๋นŒ๋ก  ๊ทผ์ฒ˜ ๋ฉ”์†Œํฌํƒ€๋ฏธ์•„

    • 60์ง„๋ฒ• ์‚ฌ์šฉ(ํ˜„์žฌ ์‹œ, ๋ถ„, ์ดˆ ๊ฐœ๋…์— ์‚ฌ์šฉ), ๋ถ€๋™ ์†Œ์ˆ˜์ , ๊ฐ€๊ฐ์Šน์ œ ๊ฐ€๋Šฅ

    • ๋Œ€์ˆ˜ํ•™ ๋ฐฉ์ •์‹ ํ•ด๊ฒฐ 

    • ์Œ์ˆ˜, 0 ๊ฐœ๋… ์—†์Œ (if x < 0 then branch ๊ฐœ๋… X)

    • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ˜๋ณต ์ž‘์„ฑ, ์šฐ์ˆ˜ํ•œ ํ‘œ๊ธฐ๋ฒ•์ด์—ˆ์Œ

  • Euclid

    • B. C. 300๋…„, ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ์ˆ 

      => 0 ๊ฐœ๋… ์—†์Œ, ์ˆ˜ 1 ์ด ์ œ์ˆ˜(๋‚˜๋ˆ—์…ˆ์—์„œ ์–ด๋– ํ•œ ์ˆ˜๋ฅผ ๋‚˜๋ˆ„๋Š” ์ˆ˜)๋กœ ์ธ์‹๋˜์ง€ ์•Š์•˜์Œ

    • ํŠน์ˆ˜ํ•œ ๊ฒฝ์šฐ์— ๋ฐ˜๋ณต์‹œํ‚ด

  • Charles Babbage (1792 - 1871)

    • Difference Engine

      • ๊ณ„์‚ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ธฐ๊ณ„
      • ์œ ํ•œ ์ฐจ(finite difference) ์˜ ์›๋ฆฌ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ํ•จ

    • Analytical Engine : ํ˜„ ๋””์ง€ํ„ธ ์ปดํ“จํ„ฐ์˜ ์›๋ฆฌ ํฌํ•จ

      • ํ˜„์žฌ ์ปดํ“จํ„ฐ์™€ ์œ ์‚ฌํ•œ ๊ตฌ์กฐ

      • ํ”„๋กœ๊ทธ๋žจ๊ณผ ์ž๋ฃŒ๋ฅผ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์ €์žฅ์‹œํ‚ค๋Š” ์ €์žฅ ๊ฐœ๋… ์—†์Œ
        (์ฃผ๊ธฐ์–ต์žฅ์น˜ ์—†์ด ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ–ˆ๊ธฐ์— ์—ฐ์‚ฐ ์นด๋“œ, ๋ณ€์ˆ˜ ์นด๋“œ ์‚ฌ์šฉ)

        => ๊ธฐ๊ณ„๋กœ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฑด ๋‹ค ํ•ด๋ด„ ํ•˜์ง€๋งŒ, ์ „์ž ๋ถ€ํ’ˆ์ด ์—†์–ด์„œ ํ•œ๊ณ„๊ฐ€ ์žˆ์Œ

    • Ada Augusta (C. Babbage ์กฐ์ˆ˜)

      • ์ตœ์ดˆ์˜ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ (Analytical Engine ํ”„๋กœ๊ทธ๋ž˜๋จธ)

      • Ada '์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„์„' ์— ๋Œ€ํ•œ ๊ฒฌํ•ด

    • 1930๋…„๋Œ€-1940๋…„๋Œ€
      • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ‘œ๊ธฐ์—์„œ ์ฐฝ์กฐ์ ์ธ ๊ฒƒ๋“ค์ด ๊ธ‰๊ฒฉํžˆ ์ฆ๊ฐ€ํ•จ

        โ€ข Zuse์˜ Plan Calculus
        โ€ข Turing์˜ Turing Machine
        โ€ข Church์˜ Lambda Calculus
        โ€ข Aiken์˜ Mark I
        โ€ข von Neumann์˜ Flow Diagrams

      • ๋””์ง€ํ„ธ ์ปดํ“จํ„ฐ์˜ ์ดˆ๊ธฐ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์•Œ๋ ค์ง€์ง€ ์•Š์Œ

 

2.2 1950๋…„๋Œ€ : ์ตœ์ดˆ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

 

 

 

1950๋…„๋Œ€ ์ดˆ๋ฐ˜

 

๊ธฐ๊ณ„์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์„ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์ด์—ˆ์Œ

 

=> ์ด๋ฅผ ๊ธฐํ˜ธํ™”ํ•˜์—ฌ ์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ด๊ฐ€ ๋‚˜์˜ค๊ฒŒ๋จ
(๊ธฐ๊ณ„ ์˜์กด์ , ์ž์—ฐ์–ด์™€ ์ƒ์ดํ•œ ๊ตฌ๋ฌธ)

 

 

1950๋…„๋Œ€ ์ค‘๋ฐ˜

 

Fortran (Formula TRANslation)

 

=> John Backus์— ์˜ํ•ด ๊ณ ์•ˆ๋œ ์ตœ์ดˆ์˜ ๊ณ ๊ธ‰ ์–ธ์–ด๋กœ Fortran II, Fortran IV, ... , Fortran 90 ๋“ฑ์ด ์žˆ์Œ

 

Fortran ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ํšจ์œจ์ ์ธ ๊ธฐ๊ณ„์–ด ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ฐฐ์—ด, ๋ฐ˜๋ณต ๊ตฌ์กฐ(LOOP), ๋ถ„๊ธฐ๋ฌธ(IF), ๋ถ€ ํ”„๋กœ๊ทธ๋žจ(์„œ๋ธŒ๋ฃจํ‹ด) ๋“ฑ ํ›„์† ์–ธ์–ด์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นจ

 

1950๋…„๋Œ€ ํ›„๋ฐ˜

 

  • COBOL : ์ƒ์—… ์ž๋ฃŒ ์ฒ˜๋ฆฌ์šฉ (์€ํ–‰, ์ •๋ถ€, ํšŒ๊ณ„ ๋“ฑ)
    • ํ”„๋กœ๊ทธ๋žจ์„ ์ฝ๊ธฐ ์‰ฝ๊ณ , ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ์„ค๊ณ„ ๋ชฉ์ ์ž„
    • ๋ ˆ์ฝ”๋“œ ๊ตฌ์กฐ ๋„์ž…

      => ๋ฐ์ดํ„ฐ ๋ฌถ์Œ์„ ๊ตฌ์กฐํ™”ํ•จ (ex. ์ด๋ฆ„, ์ฃผ์†Œ, ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ํ•˜๋‚˜์˜ ๊ณ ๊ฐ ์ •๋ณด๋กœ)

    • ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์‹คํ–‰ ๋ถ€๋ถ„์„ ๋ถ„๋ฆฌ

      => ๋ฐ์ดํ„ฐ๋Š” ๋”ฐ๋กœ ์„ ์–ธ, ์‹คํ–‰ ๋กœ์ง์€ ๋”ฐ๋กœ

    • "PICTURE"๋ฅผ ์จ์„œ ์›ํ•˜๋Š” ์ถœ๋ ฅ ์–‘์‹์˜ ๊ฐ€๋ณ€์„ฑ ๋ถ€๊ฐ€

      => ์ˆซ์ž/๋ฌธ์ž ์ถœ๋ ฅ ํ˜•์‹์„ ์„ค์ • (ex. 000-0000 ํ˜•ํƒœ ์ „ํ™”๋ฒˆํ˜ธ)

  • ALGOL 60 : ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ์ˆ , ๋ฒ”์šฉ

    => ํ•˜๋“œ์›จ์–ด๋Š” ๊ณ„์† ๋ฐœ์ „๋ ๊ฑฐ๋‹ˆ๊นŒ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋‚˜์ค‘์— ์ƒ๊ฐํ•˜๊ณ  ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฝ”๋”ฉํ•˜๋Š” ๊ด€์ ์— ๋งž์ถฐ์ง
    (๋”ฐ๋ผ์„œ, COBOL๊ณผ ๋‹ค๋ฅด๊ฒŒ ๋” ์ด๋ก ์ ์ž„)
    • ์–‘์‹์˜ ์ž์œ ํ™”(free format), ๊ตฌ์กฐ์  ๋ช…๋ น๋ฌธ, begin-end ๋ธ”๋ก

      => ์ฝ”๋“œ ์ค„ ๋„์šฐ๊ธฐ, ๋“ค์—ฌ์“ฐ๊ธฐ ๋“ฑ์ด ์ž์œ ๋กœ์›€
    • ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ์–ธ, recursion, call-by-value ๋งค๊ฐœ ๋ณ€์ˆ˜ ๋“ฑ

      => ํ•จ์ˆ˜์— ์ธ์ž๋ฅผ ๊ฐ’์œผ๋กœ ์ „๋‹ฌ (๋ณต์‚ฌํ•ด์„œ ์ „๋‹ฌ)

    • ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ์‹คํ–‰ ํ™˜๊ฒฝ ๋„์ž…

      => ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์Šคํƒ์— ์Œ“๊ณ  ๊บผ๋ƒ„

    • Backus-Naur Forms(BNF)์„ ์ตœ์ดˆ๋กœ ์‚ฌ์šฉ

      => ๋ฌธ๋ฒ•์„ ์ˆ˜ํ•™์ ์œผ๋กœ ํ‘œํ˜„ํ•œ ๋ฐฉ์‹ 

  • Lisp : ๊ธฐํ˜ธ์—ฐ์‚ฐ, ๋ฆฌ์ŠคํŠธ ์ฒ˜๋ฆฌ์šฉ (์ธ๊ณต์ง€๋Šฅ ์—ฐ๊ตฌ ๋ชฉ์ )

    • ์ผ๋ฐ˜์ ์ธ ๋ฆฌ์ŠคํŠธ ๊ตฌ์กฐ์™€ ํ•จ์ˆ˜์˜ ์ ์šฉ์„ ๊ธฐ๋ณธ์œผ๋กœ ํ•จ

      => (A B C) ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ ๋ฌถ์Œ ์ฒ˜๋ฆฌ ๋ฐ (+ 1 2 ) = 3 ์ฒ˜๋Ÿผ ํ•จ์ˆ˜ ์ ์šฉ ์ค‘์‹ฌ
    • ์ธ๊ณต์ง€๋Šฅ ๋ถ„์•ผ ์‘์šฉ
    • ํ†ต์ผ๋œ ์ž๋ฃŒ๊ตฌ์กฐ, S-expression

      => ์—ฐ์‚ฐ๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ๊ด„ํ˜ธ๋กœ ํ‘œํ˜„ํ•˜๋Š” Symbolic Expression์„ ์‚ฌ์šฉ

      ์œ„์—์„œ (+ 1 2) ๋Š” 1 + 2 ๋ฅผ LISP ์Šคํƒ€์ผ๋กœ ์ž‘์„ฑํ•œ ์˜ˆ์‹œ์ž„
    • ๊ธฐ๋ณธ์ ์ธ ๊ณ„์‚ฐ ํ‘œ๊ธฐ๋ฒ•์— ํ•จ์ˆ˜ ์ ์šฉ

    • garbage collection ๊ฐœ๋… ์†Œ๊ฐœ

      => ์•ˆ ์“ฐ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ž๋™ ์ •๋ฆฌ 

    • Recursion์˜ ์›์กฐ

  • APL : ๋ฐฐ์—ด ์ฒ˜๋ฆฌ์šฉ

    => ํ–‰๋ ฌ/๋ฒกํ„ฐ ์—ฐ์‚ฐ์„ ํ•œ ์ค„๋กœ ์ฒ˜๋ฆฌ (ํ–‰๋ ฌ/๋ฒกํ„ฐ์— ๋งž์ถค)

    ex. A + B -> ๋‘ ๋ฒกํ„ฐ์˜ ์š”์†Œ๋ณ„ ๋ง์…ˆ

 

 

2.3 1960๋…„๋Œ€ : ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ํญ์ฆ

 

  • PL/I

    • Fortran, Cobol, Algol 60์˜ ์žฅ์  ๋ชจ๋‘ ์ˆ˜์šฉ

    • ์ƒˆ๋กœ์šด ๊ฐœ๋… ์ถ”๊ฐ€ (๋ณ‘ํ–‰์„ฑ, ๊ธฐ์–ต ์žฅ์†Œ ํ• ๋‹น, ์˜ˆ์™ธ์ฒ˜๋ฆฌ)
      • ๋ณ‘ํ–‰์„ฑ : ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋™์‹œ์— ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ
      • ๊ธฐ์–ต ์žฅ์†Œ ํ• ๋‹น : ๋™์  ๋ฉ”๋ชจ๋ฆฌ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ

      • ์˜ˆ์™ธ ์ฒ˜๋ฆฌ : ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ on error ๋“ฑ์œผ๋กœ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ

    • ์–ธ์–ด์˜ ๋ฌธ์ œ์  (๋ฐฉ๋Œ€)

      • ์ปดํŒŒ์ผ๋Ÿฌ(๋ฒˆ์—ญ๊ธฐ)๊ฐ€ ํฌ๊ณ  ์ž‘์„ฑ์ด ์–ด๋ ค์›€
      • ์‹คํ–‰ ํšจ์œจ ์ €ํ•˜

        => Potran, C ๊ฐ™์€ exe ํŒŒ์ผ์ด ๊ตฌ์กฐ์ ์œผ๋กœ ๋น ๋ฆ„

      • ๋ฐฐ์šฐ๊ธฐ ์–ด๋ ค์›€, ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์œ ๋„

      • ์–ธ์–ด ํŠน์„ฑ๋“ค์˜ ์ƒํ˜ธ ์ž‘์šฉ์œผ๋กœ ์ธํ•œ ์‹ ๋ขฐ์„ฑ ์ €ํ•˜

        => ๊ธฐ๋Šฅ๋“ค์ด ์„œ๋กœ ์ถฉ๋Œํ•˜๋ฉด์„œ ๋ฒ„๊ทธ ์œ ๋ฐœ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„์ง

  • Algol 68

    • Algol60 + ํƒ€ ์–ธ์–ด์˜ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ + ํ‘œํ˜„๋ ฅ ์žˆ๊ณ  ์ผ๊ด€๋œ ๊ตฌ์กฐ

      => ๋ณต์žกํ•œ ๊ฐœ๋…๋„ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ‘œํ˜„ ๊ฐ€๋Šฅ

    • ์ด๋ก ์ ์œผ๋กœ ์ผ๊ด€์„ฑ ๊ฐ–๋Š” ๊ตฌ์กฐ

      => ๋ฌธ๋ฒ•์ด ์ผ๊ด€๋ผ์„œ ๋ฐฐ์šฐ๊ธฐ๋งŒ ํ•˜๋ฉด ์˜ˆ์ƒ๋Œ€๋กœ ๋™์ž‘ํ•จ

    • ์ผ๋ฐ˜์ ์ธ ํ˜•(type) ์‹œ์Šคํ…œ, ์ง๊ต์„ฑ ๊ฐ•์กฐ

      => ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ๋…๋ฆฝ์ ์ด๋ผ ์กฐํ•ฉ์ด ์‰ฌ์›€ (์ง๊ต์„ฑ)
      (๋ฐฐ์—ด๋„ ํ•จ์ˆ˜์ฒ˜๋Ÿผ ์“ธ ์ˆ˜ ์žˆ๊ณ , ํ•จ์ˆ˜๋„ ๊ฐ’์ฒ˜๋Ÿผ ์“ธ ์ˆ˜ ์žˆ์Œ)

    • ์–ธ์–ด ๊ธฐ์ˆ  -> ์ƒˆ๋กœ์šด ์šฉ์–ด ๊ณผ๋‹ค ์‚ฌ์šฉ

    • ๋””์ž์ธ ์ผ๊ด€์„ฑ, ํŒŒ์ผ ์‹œ์Šคํ…œ, ์‹คํ–‰ํ™˜๊ฒฝ -> ์šฐ์ˆ˜

    • ๋ฒ”์šฉ ์ปดํ“จํ„ฐ ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ (์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌํ˜„์˜ ๋ฌธ์ œ์ )

      => ์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌํ˜„์ด ์–ด๋ ค์›Œ์„œ ์‹ค์ œ๋กœ ์“ฐ๊ธฐ์—” ๋„ˆ๋ฌด ๋ฌด๊ฑฐ์›€

  • Snobol

    • ์ตœ์ดˆ์˜ ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ ์–ธ์–ด, ํŒจํ„ด ๋งค์นญ ๊ธฐ๋Šฅ ๋‹ค์–‘

  • Simula 67

    • ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด (ํด๋ž˜์Šค ๊ฐœ๋… ์ตœ์ดˆ ๋„์ž…)

    • Simula I + Algol 60

    • ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ชฉ์ 

  • Basic

    • ์‹œ๋ถ„ํ• ์šฉ์˜ ๊ฐ„๊ฒฐํ•œ ์–ธ์–ด

      => ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ๋งŒ๋“ฌ
      (๊ฐ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ช‡ ๋ฐ€๋ฆฌ์ดˆ์”ฉ ๋ฒˆ๊ฐˆ์•„ ๋ฐฐ์ •ํ•ด์คŒ)

    • ๋งˆ์ดํฌ๋กœ ์ปดํ“จํ„ฐ ์ด์‹ (๊ต์œก์šฉ, ์‚ฌ๋ฌด์ฒ˜๋ฆฌ์šฉ, ๊ฐ€์ •์šฉ)

      => ์ดˆ๊ธฐ PC(๋งˆ์ดํฌ๋กœ ์ปดํ“จํ„ฐ)์— ์ด์‹๋˜์–ด ๋„๋ฆฌ ์‚ฌ์šฉ๋จ

    • ์–ธ์–ด๊ตฐ (๊ฐ„๊ฒฐํ•˜๊ณ  ๋‹จ์ˆœํ•œ ์„ค๊ณ„ ๋•๋ถ„์— ๋‹ค์–‘ํ•œ ๋ฒ„์ „๋“ค์ด ํŒŒ์ƒ๋จ)

      => ๊ฐ€์žฅ ํ•ต์‹ฌ ๊ธฐ๋Šฅ๋งŒ ํฌํ•จ๋œ minimal BASIC๊ณผ ๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋“ฑ ๋” ํ’๋ถ€ํ•œ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋œ Standard BASIC

    • ํ›„์— ๋‚˜์˜จ Basic : ์ œ์–ด ๊ตฌ์กฐ, ๋ณ€์ˆ˜ ์„ ์–ธ, ํ”„๋กœ์‹œ์ € ์ถ”๊ฐ€

 

 

2.4 1970๋…„๋Œ€ : ๊ฐ„๊ฒฐ์„ฑ, ์ถ”์ƒํ™”, ์—ฐ๊ตฌ์‚ฌํ•ญ

 

1960๋…„๋Œ€์— ์ •๋ง ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๋‚˜์˜ค๋Š” ํ˜ผ๋ˆ ํ›„ ๊ฐ„๊ฒฐ์„ฑ๊ณผ ์ผ๊ด€์„ฑ์ด ์ถ”๊ตฌ๋จ

 

  • Pascal

    • ์ž‘๊ณ , ๊ฐ„๊ฒฐํ•˜๊ณ , ํšจ์œจ์ ์ด๊ณ , ๊ตฌ์กฐ์ ์ด๋ฉฐ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ต์œก์šฉ

    • ๋ถ„๋ฆฌ ์ปดํŒŒ์ผ, ์œ ์šฉํ•œ ๋ฌธ์ž์—ด ์กฐ์ž‘, ์ž…์ถœ๋ ฅ ๊ฐ€๋Šฅ 

      => ์—ฌ๋Ÿฌ ํŒŒ์ผ๋กœ ๋‚˜๋ˆ ์„œ ๊ด€๋ฆฌํ•˜๊ธฐ ์ข‹์Œ (๋ถ„๋ฆฌ ์ปดํŒŒ์ผ ๊ฐ€๋Šฅ)

  • C ์–ธ์–ด

    • Pascal ๊ณผ๋Š” ๋‹ค๋ฅธ ๊ฐ๋„์˜ ๊ฐ„๊ฒฐ์„ฑ

      => Pascal๊ณผ ๋‹ฌ๋ฆฌ ๊ต์œก๋ณด๋‹ค ์‹ค์šฉ์„ฑ์— ์ดˆ์ ์„ ๋‘ 

    • ์ˆ˜์‹ ์œ„์ฃผ๋กœ ํ˜• ์‹œ์Šคํ…œ๊ณผ ์‹คํ–‰ํ™˜๊ฒฝ ์ถ•์†Œ, ํ•˜๋“œ์›จ์–ด ์ ‘๊ทผ ์šฉ์ด

      => ์ฝ”๋“œ๊ฐ€ ์งง๊ณ  ๋น ๋ฅด๋ฉฐ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ, ํฌ์ธํ„ฐ๋ฅผ ์ง์ ‘ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์–ด ํ•˜๋“œ์›จ์–ด ์ ‘๊ทผ์ด ์šฉ์ดํ•จ

    • ์ค‘๊ธ‰ ์–ธ์–ด๋กœ ๋ถ„๋ฅ˜ : ๊ธฐ๊ณ„ ์ ‘๊ทผ์„ฑ ๊ฐ•ํ™” (๊ณ ๊ธ‰ ์–ธ์–ด์™€ ์ƒ๋ฐ˜ ๊ฐœ๋…)

      => ๊ณ ๊ธ‰ ์–ธ์–ด์ฒ˜๋Ÿผ ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ  ์ €๊ธ‰ ์–ธ์–ด์ฒ˜๋Ÿผ ๊ธฐ๊ณ„๋ž‘ ๊ฐ€๊นŒ์šด ์ œ์–ด ๊ฐ€๋Šฅ

    • ์šด์˜์ฒด์ œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์šฉ

      => ์‹ค์ œ๋กœ C ์–ธ์–ด๋กœ UNIX๋ฅผ ๋งŒ๋“ค๋ฉฐ C ์–ธ์–ด๊ฐ€ ๋Œ€์ค‘ํ™”๋จ
C, Pascal ์˜ ๊ฐ„๊ฒฐ์„ฑ, ๋””์ž์ธ ์ผ๊ด€์„ฑ(์†Œ๊ทธ๋ฃน์˜ ๊ณ ์•ˆ)์ด  ์„ฑ๊ณต ์š”์ธ

=> ์†Œ์ˆ˜์˜ ๊ฐœ๋ฐœ์ž ๊ทธ๋ฃน์ด ์ง‘์ค‘ํ•ด์„œ ์„ค๊ณ„ํ–ˆ๊ธฐ์— ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์˜ ์˜๊ฒฌ์ด ์„ž์ด์ง€ ์•Š๊ณ  ํ•˜๋‚˜์˜ ์ฒ ํ•™๊ณผ ์Šคํƒ€์ผ๋กœ ์ผ๊ด€๋˜๊ฒŒ ๋งŒ๋“ค์–ด์กŒ์Œ
(์–ธ์–ด ์ž์ฒด๊ฐ€ ๋ช…ํ™•ํ•˜๊ณ  ํ˜ผ๋ž€์ด ์ ์Œ)

 

 

2.5 1980๋…„๋Œ€ : ํ†ตํ•ฉ๊ณผ ์ƒˆ๋กœ์šด ๋ฐฉํ–ฅ

 

ํ•จ์ˆ˜ํ˜• ์–ธ์–ด์— ์ƒˆ๋กœ์šด ๊ด€์‹ฌ์ด ๋ถ€์—ฌ๋˜์—ˆ๊ณ  ๋…ผ๋ฆฌํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋“ฑ์žฅ ๋ฐ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์— ๋Œ€ํ•œ ํ™œ๋ฐœํ•œ ์—ฐ๊ตฌ ๋ฐ ๊ฐœ๋ฐœ์ด ์ง„ํ–‰๋จ

 

  • Ada
    • ์ž๋ฃŒ ์ถ”์ƒํ™”, ํƒ€์ž… ๋ฉ”์ปค๋‹ˆ์ฆ˜(package), ๋ณ‘ํ–‰ ์ฒ˜๋ฆฌ(task), ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ธฐ ๋„์ž…
      • ์ž๋ฃŒ ์ถ”์ƒํ™” : ์‹ค์ œ ๊ตฌํ˜„ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์ˆจ๊ธฐ๊ณ , ๋ฐ์ดํ„ฐ์™€ ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฐœ๋…

      • ํƒ€์ž… ๋ฉ”์ปค๋‹ˆ์ฆ˜ : ๋ฐ์ดํ„ฐ์™€ ๊ด€๋ จ๋œ ์ ˆ์ฐจ๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ๋Š” ๊ฐœ๋…์œผ๋กœ, ๋ชจ๋“ˆํ™”๋ฅผ ํ†ตํ•ด ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ๊ด€๋ฆฌ ์šฉ์ด์„ฑ์„ ๋†’์ž„

      • ๋ณ‘ํ–‰ ์ฒ˜๋ฆฌ : ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋™์‹œ์— ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ, ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ ๋ฐ ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ์— ๋„์›€์„ ์คŒ
      • ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ธฐ : ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜
    • ๋””์ž์ธ์ด ์„ฌ์„ธํ•˜๊ณ  ์ƒ์„ธํ•จ, ์‚ฌ์šฉ ๊ธ‰์ฆ

    • ๋‹จ์  : ๋ณต์žก ๋ฐฉ๋Œ€(์ œ 2์˜ PL/I ๊ฐ€๋Šฅ์„ฑ)

  • Modula-2

    • Modula ์–ธ์–ด๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ํ•˜๋ฉฐ ์šด์˜์ฒด์ œ ๊ตฌ์ถ•์šฉ

    • Pascal์˜ ๋””์ž์ธ์— ๊ฒฐ์  ๋ณด์™„ (๋‹น์‹œ ์‹คํ—˜์  ์–ธ์–ด)

    • ์ถ”์ƒํ™”, ๋ถ€๋ถ„์  ๋™์‹œ์ฒ˜๋ฆฌ ๊ฐœ๋…

    • ๋‚ด์žฅํ˜• ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชฉ์ 

      => ํ•˜๋“œ์›จ์–ด ์ ‘๊ทผ์ด ์šฉ์ดํ•œ ๋‹ค๋ชฉ์  ์–ธ์–ด

    • ๊ต์œก ๋ชฉ์ ์œผ๋กœ ์ธ๊ธฐ

    • ๊ฐ€๋Šฅํ•œ ํ•œ ์†Œ๊ทœ๋ชจ์˜ ๊ฐ„๊ฒฐํ•œ ์–ธ์–ด๋กœ ์‹œ๋„

      => ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ธฐ๋Šฅ ๋“ฑ ์ œ์™ธ

  • Prolog

    • ๋…ผ๋ฆฌํ˜• ์–ธ์–ด, ์ธ๊ณต์ง€๋Šฅ ๋ถ„์•ผ์—์„œ ์‚ฌ์šฉ

    • ํ˜ธ์ถœ ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ, ๊ทœ์น™์„ ์ •์˜ํ•˜๊ณ  ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์‹ค์„ ์ถ”๋ก ํ•จ
  • SETL
     
    • ์ง‘ํ•ฉ๋ก ์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์‹œ๋„ (๋ฏธ์ ๋ถ„, ์ˆ˜ํ•™์˜ ๊ต์œก ๋ชจ๋ธ๋กœ ์‚ฌ์šฉ)

  • Smalltalk

    • ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์˜ ๋ชจ๋ฒ”

  • C++
    • C์–ธ์–ด๋ฅผ ํ™•์žฅํ•œ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด

  • Eiffel

    • Pascal์— ๊ฐ€๊นŒ์šฐ๋ฉด์„œ ์ผ๊ด€์„ฑ ์žˆ๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด

 

 

1980๋…„๋Œ€ ๋“ฑ์žฅํ•œ ํ•จ์ˆ˜ํ˜• ์–ธ์–ด

 

  • ์Šคํ‚ด(Scheme)

    • Lisp ์–ธ์–ด ๊ฐœ์ •

    • Lisp ๋ณด๋‹ค ํš์ผ์ ์ด๊ณ , lambda calculus์— ๊ฐ€๊น๊ฒŒ ์„ค๊ณ„๋จ

      => ํ•จ์ˆ˜๋งŒ์œผ๋กœ ๋ชจ๋“  ๊ณ„์‚ฐ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” lambda calculus์— ๊ฐ€๊น๊ฒŒ ์„ค๊ณ„๋จ
  • ML(meta language)

    • ๊ธฐ์กด ํ•จ์ˆ˜ํ˜• ์–ธ์–ด์™€ ์ƒ์ด ํ•จ

      => ํ•จ์ˆ˜ํ˜• ์–ธ์–ด ์ค‘์—์„œ๋Š” ๋“œ๋ฌผ๊ฒŒ ๊ฐ•๋ ฅํ•œ ํƒ€์ž… ์ฒดํฌ๋ฅผ ์ง€์›ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ „์— ์—๋Ÿฌ๋ฅผ ์žก์„ ์ˆ˜ ์žˆ์Œ
      (์•ˆ์ •์„ฑ)

    • Pascal๊ณผ ์œ ์‚ฌํ•˜๋‚˜ ์œ ์—ฐ์„ฑ์ด ์žˆ์Œ (๋ฌธ๋ฒ•, ํƒ€์ž… ์ฒดํ‚น์—์„œ)

      => ํƒ€์ž…์„ ๋ช…์‹œํ•˜์ง€ ์•Š์•„๋„ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ž๋™์œผ๋กœ ํƒ€์ž…์„ ์ถ”๋ก ํ•ด์คŒ
      (์œ ์—ฐ์„ฑ)

  • Miranda

2.6 1990๋…„๋Œ€ : World Wide Web ํ”„๋กœ๊ทธ๋ž˜๋ฐ

 

1990๋…„๋Œ€ ์–ธ์–ด๋Š” 

 

  • ์‘์šฉ๋ฌธ์ œ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ตฌํ˜„

  • ์‹ค์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌ

ํ•˜๋ ค๋Š” ํŠน์ง•์ด ์žˆ์Œ

 

=> ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ HTML, Java, Javascript, PHP, ASP ๋“ฑ์ด ๋“ฑ์žฅํ•จ

 

Java ์–ธ์–ด 

 

C++ ๊ธฐ๋ฐ˜์—์„œ ๋งŽ์€ ๊ตฌ์กฐ ์‚ญ์ œ, ์ผ๋ถ€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ, ์ผ๋ถ€ ๊ตฌ์กฐ ์ถ”๊ฐ€ ๋“ฑ์œผ๋กœ C++์˜ ๊ฐ•๋ ฅํ•จ๊ณผ ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•จ
(ํฌ์ธํ„ฐ, ๋‹ค์ค‘ ์ƒ์†๊ณผ ๊ฐ™์€ ๋ถˆํ•„์š”ํ•˜๊ฑฐ๋‚˜ ์œ„ํ—˜ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•จ)

 

=> C++๋ณด๋‹ค ๊ทœ๋ชจ๋Š” ์ž‘์•„์ง€๊ณ , ๋” ๊ฐ„๊ฒฐํ•˜๊ณ , ์‹ ๋ขฐ์„ฑ์ด ์ฆ๊ฐ€๋œ ์–ธ์–ด

 

(C/C++ ๊ฒฐ์  ๋ณด์™„์„ ํ†ตํ•ด Web ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ์‘์šฉ๋ถ„์•ผ๊ฐ€ ํ™•์žฅ๋จ)

 

  • ์ž๋ฃŒํ˜•, ํด๋ž˜์Šค ์ œ๊ณต

  • ๊ธฐ๋ณธ ์ž๋ฃŒํ˜• : ์Šค์นผ๋ผ ํ˜•(๋‹จ์ผ๊ฐ’)๋งŒ ์ œ๊ณต

    => C++ ์ฒ˜๋Ÿผ ๋ณตํ•ฉ ๊ตฌ์กฐํ˜•์€ ์—†์–ด์„œ ๊ฐ„๊ฒฐํ•˜๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ํ•จ

  • ๋ฏธ๋ฆฌ ์ •์˜๋œ ํด๋ž˜์Šค ๊ฐ์ฒด๋กœ ์ œ๊ณต (C++์™€ ๊ตฌ๋ณ„)

    => ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํ„ฐ๋„ ํด๋ž˜์Šค ํ˜•ํƒœ๋กœ ์ œ๊ณตํ•จ (ex. Integer)
    (C++์—์„œ ๊ธฐ๋ณธ ํ˜•์€ ๊ทธ๋ƒฅ ๊ฐ’์œผ๋กœ๋งŒ ์กด์žฌํ•˜๊ณ  ๊ฑฐ๊ธฐ์— ํ•ด๋‹นํ•˜๋Š” ํด๋ž˜์Šค ๋ฒ„์ „์€ ๋”ฐ๋กœ ์—†์Œ)

  • ํฌ์ธํ„ฐ ์‚ญ์ œ -> ์ฐธ์กฐํ˜• ์ œ๊ณต

    => ํฌ์ธํ„ฐ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง์ ‘ ์กฐ์ž‘ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์€ ์œ„ํ—˜ํ•˜๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋งŽ์œผ๋ฏ€๋กœ ํฌ์ธํ„ฐ ๊ฐœ๋…์„ ์—†์• ๊ณ , ๋Œ€์‹  ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์ฐธ์กฐํ˜•๋งŒ ์ œ๊ณตํ•จ (์•ˆ์ •์„ฑ)

    => ํฌ์ธํ„ฐ - ๊ธฐ์–ต์žฅ์†Œ ์ง€์‹œ, ์ฐธ์กฐํ˜• - ๊ฐ์ฒด ์ง€์‹œ

  • ๋…ผ๋ฆฌํ˜• ์ œ๊ณต (์‚ฐ์ˆ  ์—ฐ์‚ฐ์— ์‚ฌ์šฉ ๋ถˆ๊ฐ€ : C/C++ ์™€ ๊ตฌ๋ณ„)

    => C/C++์€ ์ •์ˆ˜ 0, 1์„ ๋…ผ๋ฆฌ๊ฐ’์œผ๋กœ ์ผ์ง€๋งŒ, Java๋Š” ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„

    (Java์—์„œ ์ด๋Ÿฐ true, false๋Š” ์ˆซ์ž์ฒ˜๋Ÿผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์—†์Œ)

  • ๋ถ€ํ”„๋กœ๊ทธ๋žจ(์„œ๋ธŒ๋ฃจํ‹ด) ์ œ๊ณต ์•ˆํ•จ -> ํด๋ž˜์Šค ๋ฉ”์†Œ๋“œ ์ œ๊ณต

    => Java์˜ ๋ชจ๋“  ์ฝ”๋“œ๋Š” ํด๋ž˜์Šค ์•ˆ์— ์žˆ์–ด์•ผํ•จ
    (ํด๋ž˜์Šค ๋ฐ”๊นฅ์— ๋…๋ฆฝ์ ์œผ๋กœ ํ•จ์ˆ˜ ์ •์˜ ๋ถˆ๊ฐ€ - ๊ฐ์ฒด ์ง€ํ–ฅ ์›์น™ ์ค€์ˆ˜)

  • ๋‹จ์ผ์ƒ์†๋งŒ ์ง€์›

    => ๋Œ€์‹  interface๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋‹ค์ค‘ ์ƒ์†์˜ ์œ ์—ฐํ•จ์„ ์œ ์ง€
    (Java์—์„œ class๋Š” ํ•˜๋‚˜๋งŒ ์ƒ์† ๊ฐ€๋Šฅํ•˜์ง€๋งŒ interface๋Š” ์—ฌ๋Ÿฌ ๊ฐœ ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•จ)

  • ๋™์‹œ์„ฑ ์ œ๊ณต (synchronize) - Thread

    => Thread ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•ด ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€์›ํ•จ

    => synchronized ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ณต์œ  ์ž์›์— ์•ˆ์ „ํ•˜๊ฒŒ ์ ‘๊ทผํ•˜๋„๋ก ์ œ์–ดํ•  ์ˆ˜ ์žˆ์–ด ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ์— ์ ํ•ฉํ•จ

  • garbage collector

    => C/C++ ์€ ๋ฉ”๋ชจ๋ฆฌ ํ•ด์ œ๋ฅผ ์ง์ ‘ ํ•ด์•ผํ•˜๊ธฐ์— ์‹ค์ˆ˜๊ฐ€ ์žฆ์€๋ฐ Java๋Š” ์ž๋™์œผ๋กœ ์“ฐ์ง€ ์•Š๋Š” ๊ฐ์ฒด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํšŒ์ˆ˜ํ•จ

  • ๋ฌต์‹œ์  ํ˜• ๋ณ€ํ™” : ํ™•๋Œ€ํ˜•๋งŒ ํ—ˆ์šฉ (widenning)

    => int ์—์„œ long ์ฒ˜๋Ÿผ ์ž‘์€ ํƒ€์ž…์—์„œ ํฐ ํƒ€์ž…์€ ์ž๋™ ํ˜• ๋ณ€ํ™˜์ด ๋˜์ง€๋งŒ ์ถ•์†Œํ˜• ๋ณ€ํ™˜์€ ๋ช…์‹œ์ ์œผ๋กœ๋งŒ ๊ฐ€๋Šฅ
    (์ž๋ฃŒ ์†์‹ค ์œ„ํ—˜ ์ค„์ž„)

  • ์ค‘๊ฐ„ ์–ธ์–ด ์ œ๊ณต (์ด์‹์„ฑ ์ฆ๊ฐ€)

    => Java๋Š” ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋ผ๋Š” ์ค‘๊ฐ„ ์–ธ์–ด๋กœ ์ปดํŒŒ์ผํ•จ (.class)

    => JVM ์œ„์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ ์šด์˜์ฒด์ œ์— ์ƒ๊ด€์—†์ด ์‹คํ–‰ ๊ฐ€๋Šฅํ•จ
    (Write Once, Run Anywhere - WORA)

  • Java applet : ํด๋ผ์ด์–ธํŠธ์—์„œ ์‹คํ–‰  (ํ˜„์žฌ๋Š” ๋ณด์•ˆ ๋ฌธ์ œ ๋ฐ ๋ชจ๋ฐ”์ผ ์›น ํ˜ธํ™˜ ๋ฌธ์ œ๋กœ ๊ฑฐ์˜ ์‚ฌ์šฉ X)

    => Java๋กœ ์ž‘์„ฑํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ๋ฏธ๋ฆฌ ์—…๋กœ๋“œํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ € ์ƒ์—์„œ applet ํƒœ๊ทธ๋กœ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Œ
    (์›น ๋ธŒ๋ผ์šฐ์ € ์•ˆ์—์„œ ์‹คํ–‰๋˜๋Š” Java ํ”„๋กœ๊ทธ๋žจ)

 

2.7 ์–ธ์–ด์˜ ์„ธ๋Œ€๋ก ๊ณผ ๋ฏธ๋ž˜

 

2000๋…„๋Œ€

 

  • C# (GUI์— ์ ํ•ฉ)

    • C++, Java, Delphi, Visual Basic์— ๊ธฐ๋ฐ˜

    • .NET ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ปดํฌ๋„ŒํŠธ SW ๊ฐœ๋ฐœ

  • XSLT

    • XML ๋ฌธ์„œ๋ฅผ ๋‹ค๋ฅธ ํ˜•ํƒœ์˜ ๋งˆํฌ์—… ์–ธ์–ด๋กœ ๋ณ€ํ™˜

  • JSP

 

 

 

  • 4์„ธ๋Œ€ ์–ธ์–ด์˜ ํŠน์ง•

    • ์†Œํ”„ํŠธ์›จ์–ด์˜ ์œ„๊ธฐ (software crisis)

    • 4์„ธ๋Œ€ ์–ธ์–ด๋“ค์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์„ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๋ช…๋ น์–ด๋กœ ์ถœ๋ฐœ ์—๋””ํ„ฐ(editor)๋‚˜ ๋””๋ฒ„๊ฑฐ(debugger), ์„œ๋ฅ˜์ž‘์„ฑ๊ธฐ๋‚˜ ์ œ์–ด์šฉ ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ ๊ฐ™์€ ๊ฐœ๋ฐœ๋„๊ตฌ๋“ค๊ณผ ํ•จ๊ป˜ ๋””์ž์ธ ํ™˜๊ฒฝ์— ํฌํ•จ

    • SQL, Lotus, Delphi ๋“ฑ

    • ๊ฑฐ๋Œ€ํ•œ ํ™”์ผ ์ฒ˜๋ฆฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋ช‡ ๊ฐœ ์•ˆ ๋˜๋Š” ์ฝ”๋“œ๋กœ ์‹ ์†ํ•˜๊ฒŒ ์ž‘์„ฑ

    • ์–ธ์–ด ์„ค๊ณ„ ์ด๋ก ์— ๊ณตํ—Œํ•œ ๋ฐ”๋Š” ์ž‘์ง€๋งŒ ์‹ค์šฉ์„ฑ์ด ํผ

    • ์ตœ๊ทผ์˜ Visual Basic, Visual C++, Power Builder ๋„ ์ด ๋ถ€๋ฅ˜์— ์†ํ•จ

 

  • ๋ช…์„ธ ์–ธ์–ด

    • ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ๋ฐ”๋ฅผ ์„œ์ˆ ํ•˜๋ฉด ์‹œ์Šคํ…œ์ด ์š”๊ตฌ ์‚ฌํ•ญ์„ ๊ตฌํ˜„ํ•ด์ฃผ๋Š” ์–ธ์–ด

 

  • ์†Œํ”„ํŠธ์›จ์–ด ์œ„๊ธฐ (software crisis)์˜ ๊ทน๋ณต

    • ์–ธ์–ด์  ๊ธฐ์ˆ ๋ณด๋‹ค๋Š” ์กฐ์ง์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐ

      • ๊ธฐ์กด ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ ์ฆ๋Œ€

      • ์ด์‹์„ฑ ์ฆ๋Œ€

      • ๋ฌธ๋ฒ• ์œ„์ฃผ์˜ ์—๋””ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์ƒ์‚ฐ์„ฑ ๋†’์ž„

  • ์–ธ์–ด ์„ค๊ณ„์˜ ๋ฏธ๋ž˜

    • ํ•˜๋“œ์›จ์–ด์™€ ์ปดํ“จํ„ฐ ๊ตฌ์กฐ์˜ ๋ฐœ๋‹ฌ์— ์˜ํ•ด ์˜ํ–ฅ ๋ฐ›์Œ

    • ์ƒˆ๋กœ์šด ์–ธ์–ด์˜ ์ถœํ˜„๋ณด๋‹ค๋Š” ๊ธฐ์กด ์–ธ์–ด๋“ค์„ ๊ฐˆ๊ณ  ๋‹ฆ์•„, ์–ธ์–ด ์„ค๊ณ„์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ์ ์ง„์ ์œผ๋กœ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์˜ˆ์ƒ๋จ
๋ฐ˜์‘ํ˜•