π 2μ₯_νλ‘κ·Έλλ° μΈμ΄λ₯Ό μ‘°κ°νλ€
νλ‘κ·Έλλ° μΈμ΄λ μ΄λ»κ² νμν κ²μΌκΉ?
→ νλ‘κ·Έλλ° μΈμ΄λ μΈκ°μ νΈνκ² νκΈ° μν΄ λ§λ€μ΄μ‘λ€.
νλ‘κ·Έλλ° μΈμ΄ νμμ λͺ©μ
→ νλ‘κ·Έλ¨μ μ΄λ€ κ²μ νΈνκ² νκΈ° μν΄ κ³ μλ κ²μ΄λ€.
μΈμ΄μ λ°λΌ λ€λ₯Έ 'νΈλ¦¬ν¨'μ μλ―Έ
→ νλ‘κ·Έλλ° μΈμ΄μ λͺ©μ μ 'νΈλ¦¬ν¨' μ΄λ€.
κ·ΈλΌ μΈμμλ μ μλ§μ μΈμ΄κ° μ‘΄μ¬ν κΉ?
κ·Έκ²μ νΈνλ€λ μλ―Έκ° μ¬λμ λ°λΌ λ€λ₯΄κΈ° λλ¬Έμ΄λ€.
무μμ νΈνκ² νκ³ μΆμ κ²μΈκ°?
C++ μ λΉ λ₯Έ μ€ν μλλ₯Ό μ€μνκ³ μλ μΈμ΄λ€.
Cλ‘ λ§λ μ½λλ³΄λ€ λΉ λ₯Έ μλκ° λ μ μλλ‘ κ³ μνμ§λ§, κ²°κ³Όμ μΌλ‘ μΈμ΄ μ¬μμ΄ λ 볡μ‘ν΄μ‘λ€.
λ°λ©΄μ, Scheme μ μΈμ΄ μ¬μμ μ½κ² νμ ν μ μλλ° μ€μ μ λκ³ μλ€.
κ·Έλ¬λ κ΅¬λ¬Έμ΄ μλ§μ κ΄νΈλ‘ μ΄λ£¨μ΄μ Έμμ΄ μ«μ΄νλ μ¬λλ λ§λ€.
μ΄λ€ νλ‘κ·Έλ¨μ νΈνκ² λ§λ€κ³ μΆμκ°?
Python μ λ€λ₯Έ μ¬λμ΄ μ΄ μ½λλ₯Ό μ½κ² ν΄μν μ μλλ° μ€μ μ λκ³ μλ€.
Scheme λ³΄λ€ Cμ κ°κΉκ³ λ§μ μ μ΄ κ΅¬λ¬Έμ μ±μ©νκ³ μμΌλ©° μΈν λ ( Intend, λ€μ¬μ°κΈ° ) λ₯Ό κ°μ‘°νκ³ μλ€.
κ·Έλ μ§λ§ μλκ° λ리며, μ¬μλ λ¨μνμ§ μλ€.
μΈμ΄λ 무μμ νΈνκ² λ§λ€λλ‘ νλκ°?
PHP λ μΉ μλΉμ€λ₯Ό μ½κ² λ§λ€ μ μλλ‘ ν΄μ€λ€. κ·Έλ¬λ λ¬Έμ₯ μ²λ¦¬λ₯Ό νΈνκ² νμ§λ λͺ»νλ€.
λ°λλ‘ Haskell, OCaml λ±μ ML ( Meta - language ) μ²λ¦¬ κ³ν΅ μΈμ΄λ ML μ΄λΌλ μ΄λ¦μ΄ λνλ΄κ³ μλ―μ΄ λ¬Έμ₯ μ²λ¦¬λ₯Ό μ½κ² λ§λ λ€.
νμ§λ§ μΉ μλΉμ€λ₯Ό μν΄ μ¬μ©λ κ²½μ°λ PHP λ§νΌ λ§μ§ μλ€.
μμ½ν΄μ€
λ€μν μ€κ² μΈμ΄κ° μλ κ²μ μ¬λμ λ°λΌ λ€μν λͺ©μ μ΄ μκΈ° λλ¬Έμ΄λ€.
λΉ λ₯Έ μλλ₯Ό μν΄ λ§λ€μ΄μ§ C++μ μ¬μ΄ μ½λ ν΄μμ μν΄ μ€κ³λ Python μ λΉκ΅ν΄μ C++ μ΄ μ½κΈ° μ΄λ ΅λ€λλ Python μ΄ λ리λ€λλ νλ κ²μ μ³μ§ λͺ»νλ€.
νλ‘κ·Έλλ° μΈμ΄λ μ¬λμ νΈνκ² νκΈ° μν΄ λ§λ€μ΄μ‘λ€. κ·Έλ¬λ 무μμ΄ νΈνμ§λ μΈμ΄μ λ°λΌ λ€λ₯΄λ€.
μΈμ΄λ λꡬλ€. μ΄λ€ μΈμ΄κ° μμ μ λͺ©μ μ μ ν©νμ§λ κ·Έ μΈμ΄λ₯Ό μ¬μ©ν λ μμ μ΄ μ΄λ μ λμ μμ°μ±μ λ°νν μ μλμ§λ‘ νλ¨ν μ μλ€.
π 3μ₯_λ¬Έλ²μ νμ
νλ‘κ·Έλλ° μΈμ΄μλ μλ§μ κ·μΉμ΄ μλ€.
무μ λλ¬Έμ λ§μ κ·μΉμ΄ μ‘΄μ¬νλ κ±ΈκΉ?
π€ λ¬Έλ²μ΄λ?
λ¬Έλ²μ΄λ 무μμ νΈνκ² νκΈ° μν΄ λ§λ€μ΄μ‘μκΉ?
μ’ λ κ°λ¨νλ μλμ μΈμ΄μΈ FORTH μ LISP μ λν΄ μμ보μ.
FORTH | λ¬Έλ²μ΄ κ±°μ μλ€. |
LISP | κ΄νΈλ‘ μ½λ ꡬ쑰λ₯Ό νννλ€. |
FORTH μ LISP κ° κ°μ§κ³ μλ κΈ°λ₯μ νμ¬μ νλ‘κ·Έλλ° μΈμ΄μμλ μ€μν μν μ νκ³ μλ€.
π€ λ¬Έλ²μ μΈμ΄ μ€κ³μκ° μ ν κ·μΉ
λ¬Έλ²μ μΈμ΄μ λ°λΌ λ€λ₯Έλ€.
μ°μ°μμ μ’ λ₯λ μΈμ΄μ λ°λΌ λ€λ₯΄λ€.
μ)
C μΈμ΄μμλ '=' κ° μ°μ°μμ΄λ©°, 'μ°κ²°ν©μ± μ°μ°μ' μ΄λ€. κ·Έλμ μμ€ μ½λμ x=y=1 μ΄λΌκ³ μ¨ μλ€λ©΄, μ΄κ²μ x=(y=1) μ΄λΌκ³ ν΄μλλ€.
π€ μ€ν λ¨Έμ κ³Ό FORTH
FORTH λ 1958λ κ²½μ κ°λ°λμ΄ λ¬Έλ²μ΄ κ±°μ μ‘΄μ¬νμ§ μλ μΈμ΄λ€.
μ€κ³μ Charles H. Moore μ λ°λ₯΄λ©΄ 'FORTH λ κ°μ₯ κ°λ¨ν μ»΄ν¨ν° μΈμ΄' μ΄λ€.
FORTH λ ꡬ문μ μ΅λν μ νν¨μΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°νλ€λ κ²μ΄ κ·Έμ μ£Όμ₯μ΄λ€.
FORTH μμλ '1κ³Ό 2λ₯Ό λνλ€'λ μ½λλ₯Ό λ€μκ³Ό κ°μ΄ μ΄λ€.
1 2 +
FORTHμ νΉμ§μΈ 'μ€ν ( Stack )' μ¦, κ°μ μμ λλ μ₯μλ₯Ό μ΄μ©νμ¬ μ½λκ° μ€νλλ€.
μ€νμ 1 μ λ΄μλλ€. λ€μμΌλ‘, 2 μ λ§λμ 2λ₯Ό μ€νμ λ΄λλ€.
+ λΌλ μλλ ' μ€νμμ λ κ°λ₯Ό κΊΌλ΄μ κ·Έκ²μ λν κ²°κ³Όλ₯Ό μ€νμ λ΄μλΌ ' λ λͺ λ Ήμ΄λ€.
κ·Έλμ μ€νμμ 1κ³Ό 2 λ₯Ό κΊΌλ΄μ λν κ²°κ³ΌμΈ 3μ μ€νμ λ΄λλ€.
( 1 + 3 ) * 3 μ μ΄λ»κ² ννν κΉ?
λ€μκ³Ό κ°μ΄ ννν μ μλ€.
1 2 + 3 *
1 + ( 2 * 3 ) μ μ΄λ»κ² ννν κΉ?
λ€μκ³Ό κ°μ΄ ννν μ μλ€.
2 3 * 1 +
π€ νμ¬λ μ΄μμλ μ€ν λ¨Έμ
μ΅κ·Όμ μμ FORTH μ κ°μ΄ μ€ν κΈ°λ°μ μΈμ΄λ₯Ό μ λ ₯νλ κ²½μ°λ λ§μ΄ μ€μμ κ²μ΄λ€.
κ·Έλ¬λ 보μ΄μ§ μλ κ³³μμ μ¬μ©λκ³ μλ€.
μ)
Java, Python λ±μ μ€ν λ¨Έμ νμ VM μ μ¬μ©νκ³ μλ€.
VM μ΄ μ€ννλ λͺ λ Ήμ΄λ FORTH μ κ°μ κ΅¬μ‘°λ‘ λμ΄ μλ€.
Python μ΄λ Java λ‘ νλ‘κ·Έλ¨μ μ§λ©΄ κ·Έ νλ‘κ·Έλ¨μ λ΄λΆμ μΌλ‘ FORTH μ κ°μ νλ‘κ·Έλ¨μΌλ‘ λ³ν ( μ»΄νμΌ ) λμ΄ λμνκ³ μλ κ²μ΄λ€.
π€ ꡬ문 νΈλ¦¬μ LISP
FORTH μ λ¬λ¦¬ 'νλμ ꡬμμ νννκΈ° μν΄ νμ κ΄νΈλ₯Ό μ¬μ©νμ' λΌλ μ νμ ν μΈμ΄κ° μλ€.
1958λ μ νμν LISP μ΄λ€.
1 + 2 λ μ΄λ»κ² ννν κΉ?
( + 1 2 )
( 1 + 2 ) * 3 μ μ΄λ»κ² ννν κΉ?
( * ( + 1 2 ) 3 )
μμ κ³μ°μμ κ·Έλ¦ΌμΌλ‘ νννμλ€.
1. 'λν΄, 1κ³Ό 2λ₯Ό' μ΄λ€. |
2. 'κ³±ν΄, 무μΈκ°μ 3μ' μ΄λ€. |
3. '무μΈκ°' λΆλΆμ 'λν΄, 1κ³Ό2λ₯Ό' μ΄λ€. |
2, 3 κ³Ό κ°μ ꡬ문μ ꡬ문 νΈλ¦¬λΌκ³ νλ€.
FORTH μ LISP μ ꡬ문 νΈλ¦¬ λΉκ΅
μ΄ λ κ°μ μΈμ΄λ νΉμ κ·μΉμ μ¬μ©ν΄ ꡬ문 νΈλ¦¬λ₯Ό λͺ¨λ°©ν κ²λΏμ΄λ€.
μ¦, μΈμ΄μ μκΉμλ ν¬κ² λ€λ₯΄μ§λ§ λμΌν ꡬ쑰λ₯Ό μ¬μ©ν΄μ 'νκ³ μ νλ κ²'μ νννλ€.
π€ μ€μ νκΈ°λ²
FORTH | μ°μ°μλ μ°μ° λμμ λ€μ λ°°μΉλλ€. | νμ νκΈ°λ² |
LISP | μ°μ°μλ μ°μ° λμμ μμ λ°°μΉλλ€. | μ μ νκΈ°λ² |
μ°μ°μλ₯Ό μ°μ° λμμ μ¬μ΄μ λλ κ²μ μ€μ νκΈ°λ²μ΄λΌκ³ νλ€.
FORTRAN μ μ΄ μ€μ νκΈ°λ²μ μ μ©ν μ μλλ‘ λ§λ€μ΄μ‘λ€.
π€ ꡬ문 ν΄μκΈ°
ꡬ문 ν΄μκΈ° ( νμ, Parser ) λ μμ€ μ½λλ₯Ό λ¬Έμμ΄λ‘ μ½μ΄ λ€μ¬ ν΄μνκ³ , κ·Έκ²μ ꡬ문 νΈλ¦¬λ‘ λ§λλ νλ‘κ·Έλ¨μ΄λ€.
FORTRAN μμ νλ‘κ·Έλ¨μ΄ μ»΄νμΌ λ λλ μ΄ κ΅¬λ¬Έ ν΄μκΈ°κ° μμ€ μ½λλ₯Ό λ¬Έμμ΄λ‘ μ½μ΄ λ€μ¬ ꡬ문 νΈλ¦¬λ‘ λ³ννλ μμ μ νλ€.
μμ½ν΄μ€
λ¬Έλ² μ€κ³μ ꡬ문 λΆμκΈ° ꡬνμ νλ‘κ·Έλλ° μΈμ΄μ μΈκ΄μ κ²°μ νλ μ€μ μμλ€.
κ·Έλ¬λ κ³ μν λ¬Έλ²μ΄ ꡬ문 λΆμκΈ°λ‘ κ΅¬νλ μ μλμ§λ λ λ€λ₯Έ λ¬Έμ λ€.
ꡬ문 λΆμ λ°©λ²μ λ°λΌ μ΄λ€ κ·μΉμ μ μ©ν΄μΌ μ λ§€ν λΆλΆ μμ΄ λΆμν μ μλμ§κ° λ¬λΌμ§λ€.
'1 λνκΈ° 2μ 3μ κ³±νλ€' λ λκ°μ μ²λ¦¬λ, μΈμ΄μ λ°λΌ νν λ°©λ²μ΄ ν리λ€.
κ·Έλ¬λ ꡬ문 νΈλ¦¬λ‘ νννλ©΄ κ±°μ λμΌνλ€.
μ΄ μΈμ΄μ μ°¨μ΄κ° μκΈ΄ κ²μ 'μ΄λ€ λ¬Έμμ΄μ μ°λ©΄ μ΄λ€ ꡬ문 νΈλ¦¬κ° μκΈ°λκ°' λΌλ κ·μΉμ΄λ€.
κ·Έλ¦¬κ³ μ΄κ²μ΄ λ¬Έλ²μ΄λ€.
FORTH λ LISP μ κ·μΉμ΄ μ μ κ²μ μ€μνλ€.
κ·Έλ¬λ FORTRAN μ ' x κ° + λ³΄λ€ μ°μ μμκ° λλ€ ' λ±μ μ ν΄μ§ κ·μΉμ λμ ν΄μ ' λ€κ°κ°κΈ° μ¬μ΄ μμ±λ² ' μ μ€μνλ€.
κ·Έλ¦¬κ³ FORTRAN λ°©μμ΄ FORTH, LISP λ³΄λ€ λ§μ μ¬λλ€μκ² μ¬λλ°κ² λμλ€.
λͺ¨μ μμ΄ ν΄μν μ μλ λ¬Έλ²μ λ§λ€μ΄λ΄λ κ²μ μ΄λ ΅λ€.
νΉν λμ€μ μλ‘μ΄ λ¬Έλ²μ μΆκ°ν λ κΈ°μ‘΄ λ¬Έλ²κ³Ό λ§μ°°λμ§ μλλ‘ νλ κ²μ λμ± κ·Έλ λ€.
μ΄ λλ¬Έμ νμ€μ νλ‘κ·Έλλ° μΈμ΄μλ μ΄ν΄νκΈ° μ΄λ €μ΄ μμ±λ²μ΄ μ¬μ ν μ‘΄μ¬νλ κ²μ΄λ€.
- < λμ > μ½λ©μ μ§ν±νλ κΈ°μ
μ½λ©μ μ§ν±νλ κΈ°μ - YES24
νλ‘κ·Έλλ° μΈμ΄ μλ΄μ. μλ§μ νλ‘κ·Έλλ° μΈμ΄λ₯Ό ν¨μ¨μ μΌλ‘ νμ΅ν μ μλλ‘ λλλ€. μΈμ΄ μ€κ³μμ κ΄μ μμ μ¬λ¬ μΈμ΄λ₯Ό λΉκ΅νκ³ μΈμ΄κ° μ΄λ»κ² λ³νλμ΄ μλμ§λ₯Ό μ€λͺ νλ©°, νλ‘κ·Έλ
www.yes24.com