μΆμ²
https://ko.wikipedia.org/wiki/%ED%8C%A8%EB%9F%AC%EB%8B%A4%EC%9E%84
ChatGPT
ν¨λ¬λ€μμ΄λ
μ΄λ€ ν μλμ μ¬λλ€μ 견ν΄λ μ¬κ³ λ₯Ό κ·Όλ³Έμ μΌλ‘ κ·μ νκ³ μλ μΈμμ 체κ³. λλ, μ¬λ¬Όμ λν μ΄λ‘ μ μΈ νμ΄λ 체κ³.
μ΄λ€ νΉμ ν λΆμΌλ νλ¬Έμμ λ리 λ°μλ€μ¬μ§κ³ μλ μ¬κ³ λ°©μμ΄λ λ¬Έμ λ₯Ό 보λ κ΄μ .
νΉμ ν μκΈ°λ λ§₯λ½μμ μ¬λλ€μ΄ λ¬Έμ λ₯Ό λ°λΌλ³΄κ³ ν΄κ²°νλ ν. μκ°μ λ°λΌ λ°λλ€.
νλ‘κ·Έλλ° ν¨λ¬λ€μμ΄λ
νλ‘κ·Έλλ°μ ν¨λ¬λ€μ νν. νλ‘κ·Έλλ¨Έμκ² νλ‘κ·Έλλ°μ κ΄μ μ κ°κ² ν΄μ£Όκ³ , κ²°μ νλ μν μ νλ€. νλ‘κ·Έλ¨μ μ€κ³νκ³ κ΅¬ννλ λ° μ¬μ©νλ κΈ°λ³Έμ μΈ μ κ·Ό λ°©μμ΄λ μ² νμ μλ―Ένλ€. κ°λ°μκ° νλ‘κ·Έλ¨μ μμ±ν λ, λ¬Έμ λ₯Ό μ΄λ»κ² λΆμνκ³ ν΄κ²°ν μ§λ₯Ό κ²°μ νλ νλ μμν¬ λλ μ¬κ³ λ°©μμ΄λΌκ³ ν μ μλ€.
κ° νλ‘κ·Έλλ° ν¨λ¬λ€μμ νΉμ ν μ½λ© μ€νμΌκ³Ό μμΉμ λ°λ₯Έγ·λ. νλ¬λ€μμ λ°λΌ μ½λμ κ΅¬μ± λ°©μ, λ°μ΄ν° μ²λ¦¬ λ°©λ², μν κ΄λ¦¬ λ°©μ λ±μ΄ λ¬λΌμ§λ€.
νλ‘κ·Έλλ° ν¨λ¬λ€μμ ν΅μ¬ κ°λ
λ¬Έμ ν΄κ²° λ°©λ²
νλ‘κ·Έλλ° ν¨λ¬λ€μμ λ¬Έμ λ₯Ό μ΄λ»κ² μ κ·Όνκ³ ν΄κ²°ν μ§λ₯Ό μ μνλ€.
μ΄λ€ ν¨λ¬λ€μμ λ¬Έμ λ₯Ό λ¨κ³λ³λ‘ ν΄κ²°νκ³ , μ΄λ€ ν¨λ¬λ€μμ λ°μ΄ν°μ νλ¦μ μ€μ¬μΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°νλ€.
μ½λ ꡬ쑰ν λ°©μ
ν¨λ¬λ€μμ μ½λκ° μ΄λ»κ² ꡬ쑰νλμ΄μΌ νλμ§λ₯Ό μ μνλ€.
μλ₯Ό λ€μ΄, ν¨μ, κ°μ²΄, λͺ λ Ήμ΄ λ±μ μ΄λ―κ² μ¬μ©νλμ§ μ μνλ€.
μν κ΄λ¦¬μ λ°μ΄ν° μ²λ¦¬ λ°©μ
ν¨λ¬λ€μμ νλ‘κ·Έλ¨ λ΄μμ λ°μ΄ν°κ° μ΄λ»κ² λ³νκ³ , μνκ° μ΄λ»κ² κ΄λ¦¬λλμ§λ₯Ό κ²°μ νλ€.
μλ₯Ό λ€μ΄, κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μμλ κ°μ²΄κ° μνλ₯Ό κ°μ§κ³ , ν¨μν νλ‘κ·Έλλ°μμλ μν λ³νλ₯Ό μ΅μννλ €κ³ νλ€.
μ£Όμ νλ‘κ·Έλλ° ν¨λ¬λ€μ
1. λͺ λ Ήν νλ‘κ·Έλλ° Imperative Programming
μ μ
νλ‘κ·Έλ¨μ΄ μ΄λ»κ² λμν΄μΌ νλμ§λ₯Ό λͺ μμ μΌλ‘ μμ±νλ λ°©μ. λ¨κ³λ³ λͺ λ Ήμ΄λ₯Ό ν΅ν΄ μνλ₯Ό λ³νμν€λ©° λ¬Έμ λ₯Ό ν΄κ²°νλ€. μ»΄ν¨ν°κ° μνν λͺ λ Ήλ€μ μμλλ‘ μ λ νλ‘κ·Έλλ° μν κΈ°λ².
μμ
C, Java, Python(λͺ λ Ήν μ€νμΌ)
νΉμ§
μν λ³νμ λͺ λ Ήμ΄κ° μ€μνλ©°, νλ‘κ·Έλ¨μ νλ¦μ μ μ΄νλ κ²μ΄ ν΅μ¬
2. μ μ°¨ν νλ‘κ·Έλλ° Procedural Programming
μ μ
λͺ λ Ήν νλ‘κ·Έλλ°μ νμ κ°λ . νλ‘κ·Έλ¨μ μΌλ €μ μ μ°¨(λλ ν¨μ)λ‘ λλμ΄ μ²λ¦¬νλ λ°©μ. μμμ μλλ‘ μμ°¨μ μΌλ‘ μ§νλμ΄ νλ‘κ·Έλ¨μ΄ μ κΈ°μ μΌλ‘ μ°κ²°λλλ‘ κ΅¬μ±νλ κ°λ° λ°©μ
μμ
C, Pascal
νΉμ§
μ μ°¨(ν¨μ)λ₯Ό μ€μ¬μΌλ‘ νλ‘κ·Έλ¨μ ꡬ쑰ννλ©°, μ½λμ μ¬μ¬μ©μ±μ΄ λμ
π€νλ‘κ·Έλ¨μ ꡬ쑰νλ 무μμΈκ°?
μ½λλ₯Ό λ Όλ¦¬μ λ¨μ(μ: ν¨μ, λͺ¨λ)λ‘ λλμ΄ μ¬μ¬μ©μ±κ³Ό κ°λ μ±μ λμ΄λ κ²
3. κ°μ²΄μ§ν₯ νλ‘κ·Έλλ° Objected-Oriented Programming, OOP
μ μ
νλ‘κ·Έλμ κ°μ²΄λΌλ λ 립λ λ¨μλ‘ λλμ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ λ°©μ. κ°μ²΄λ λ°μ΄ν°(μμ±)κ³Ό νλ(λ©μλ)λ₯Ό ν¬ν¨νλ©°, κ°μ²΄λ€ κ°μ μνΈμμ©μ ν΅ν΄ νλ‘κ·Έλ¨μ΄ λμνλ€. λͺ λ Ήν νλ‘κ·Έλλ°μ νμ₯λ κ°λ μ΄λ€.
μμ
Java, C++, Kotlin, Python(OOP μ€νμΌ)
νΉμ§
μΊ‘μν, μμ, λ€νμ± κ°μ κ°λ μ μ€μ¬μΌλ‘ νλ‘κ·Έλ¨μ μμ±νλ©°, 볡μ‘ν μμ€ν μ μ½κ² κ΄λ¦¬νκ³ νμ₯ν μ μλ€.
4. μ μΈν νλ‘κ·Έλλ° Declarative Programming
μ μ
무μμ ν κ²μΈμ§λ₯Ό μ€λͺ νλ λ°©μμΌλ‘, μ΄λ»κ² ν κ²μΈμ§μ λν ꡬ체μ μΈ μ μ°¨λ₯Ό λͺ μνμ§ μλλ€.
μμ
SQL, HTML, CSS
νΉμ§
λͺ λ Ήν νλ‘κ·Έλλ°μ²λΌ λ¨κ³λ³λ‘ μ€λͺ νμ§ μκ³ , λͺ©νλ μνλ κ²°κ³Όλ§ ννν¨. νΉν λ°μ΄ν° μ²λ¦¬λ κ΅¬μ± μ€μ λ±μ λ§μ΄ μ¬μ©λλ€.
5. ν¨μν νλ‘κ·Έλλ° Functional Programming
μ μ
νλ‘κ·Έλ¨μ μνμ ν¨μμ μ‘°ν©μΌλ‘ νννλ©°, μμ ν¨μμ μν λ³ν μλ νλ‘κ·Έλ¨μ κ°μ‘°νλ ν¨λ¬λ€μ. μ μΈν νλ‘κ·Έλλ°μ νμ κ°λ .
π€ μμ ν¨μλ?
μ λ ₯κ°λ§μ μ¬μ©νμ¬ νμ κ°μ μΆλ ₯κ°μ λ°ννκ³ , λΆμμ©μ΄ μλ ν¨μ.
π€ λΆμμ©μ΄λ?
ν¨μκ° μΈλΆ μνλ₯Ό λ³κ²½νκ±°λ, ν¨μ μΈλΆμ μν₯μ λ―ΈμΉλ νλ
μμ
Haskell, Scala, Kotlin(ν¨μν μ€νμΌ), JavaScript(ν¨μν μ€νμΌ)
νΉμ§
μν λ³νλ₯Ό μ΅μννκ³ , λΆμμ© μμ΄ λ¬Έμ λ₯Ό ν΄κ²°. λΆλ³μ±κ³Ό κ³ μ°¨ ν¨μλ₯Ό νμ©ν΄ μ½λμ μμΈ‘ κ°λ₯μ±κ³Ό μμ μ±μ λμ
π€ κ³ μ°¨ ν¨μλ?
λ€λ₯Έ ν¨μλ₯Ό μΈμλ‘ λ°κ±°λ ν¨μ μ체λ₯Ό λ°ννλ ν¨μ
6. λ Όλ¦¬ν νλ‘κ·Έλλ° Logic Programming
μ μ
λ Όλ¦¬μ μΈ μ§μ μ κΈ°λ°μΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°νλ©°, νλ‘κ·Έλ¨μ΄ μ΄λ»κ² μνλ μ§λ₯Ό λ Όλ¦¬μ μΈ κ·μΉμ ν΅ν΄ μ μνλ€. μ μΈν νλ‘κ·Έλλ°μ ν κ°λμ΄λ€.
μμ
Prolog
νΉμ§
μ¬μ€κ³Ό κ·μΉμ κΈ°λ°μΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°νλ©°, μ»΄ν¨ν°λ μ£Όμ΄μ§ κ·μΉμ μ΄μ©ν΄ κ²°κ³Όλ₯Ό μΆλ‘ νλ€. ν΄κ²°μ μ°ΎκΈ° μν λ¨κ³(μ μ°¨)λ³΄λ€ ν΄κ²°μ μμ±λ€(무μμ΄ μ°Έμ΄κ³ 무μμ΄ κ±°μ§μΈμ§)μ μ£Όλͺ©νλ€.
νλ‘κ·Έλλ° ν¨λ¬λ€μμ΄ μ€μν μ΄μ
1. λ€μν λ¬Έμ ν΄κ²° λ°©μ μ 곡
ν¨λ¬λ€μμ λ¬Έμ λ₯Ό μ¬λ¬ κ°μ§ λ°©μμΌλ‘ ν΄κ²°ν μ μλ νμ μ 곡νλ€. νΉμ λ¬Έμ μ λ§λ ν¨λ¬λ€μμ μ ννλ©΄ λ ν¨μ¨μ μ΄κ³ , κ°κ²°νκ² ν΄κ²°ν μ μλ€.
2. 볡μ‘μ± κ΄λ¦¬
ν¨λ¬λ€μμ μ½λμ 볡μ‘μ±μ μ€μ΄κ³ , μμ€ν μ ν¨μ¨μ μΌλ‘ μ€κ³νκ³ μ μ§λ³΄μν μ μλλ‘ λλλ€. μλ₯Ό λ€μ΄, κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ 볡μ‘ν μννΈμ¨μ΄ μμ€ν μ λ 립μ μΈ κ°μ²΄λ‘ λλμ΄ μ½κ² κ΄λ¦¬νλλ‘ νλ€.
3. μ½λ κ°λ μ± λ° μ μ§λ³΄μμ± : μ½λμ νμ§ ν₯
νΉμ ν¨λ¬λ€μμ μ½λμ μΌκ΄μ±κ³Ό κ°λ μ±μ λμ¬ νμ μ΄λ μ μ§λ³΄μ μμ λμμ΄ λλ€. ν¨μν νλ‘κ·Έλλ°μ μμ ν¨μμ λΆλ³μ±μ ν΅ν΄ λ²κ·Έλ₯Ό μ€μ΄κ³ , μμΈ‘ κ°λ₯ν μ½λλ₯Ό μμ±νκ² ν΄μ€λ€.
4. μλ‘μ΄ ν¨λ¬λ€μμ λ°μ
μννΈμ¨μ΄μ μꡬ μ¬νμ΄ λ³νν¨μ λ°λΌ μλ‘μ΄ ν¨λ¬λ€μμ΄ λ±μ₯νκ³ , κΈ°μ‘΄ ν¨λ¬λ€μμ΄ νΌν©λμ΄ λ°μ νλ€. νλ μΈμ΄λ μ¬λ¬ ν¨λ¬λ€μμ μ§μνλ λ©ν° ν¨λ¬λ€μ μΈμ΄κ° λ§μμ‘λ€.
π€ λ©ν° ν¨λ¬λ€μ νλ‘κ·Έλλ° μΈμ΄
λ©ν° ν¨λ¬λ€μ νλ‘κ·Έλλ° μΈμ΄λ€μ νλμ ν¨λ¬λ€μμ κ΅νλμ§ μκ³ , μ¬λ¬ ν¨λ¬λ€μμ νΌν©ν΄μ μ§μνλ€. μ΄λ¬ν μΈμ΄λ€μ κ°λ°μκ° νΉμ λ¬Έμ μ λ§λ ν¨λ¬λ€μμ μ μ°νκ² μ νν μ μκ² νλ€.
μμ
Python, JavaScript, Kotlin λ±μ λͺ λ Ήν, κ°μ²΄μ§ν₯, ν¨μν νλ‘κ·Έλλ°μ λͺ¨λ μ§μνλ€.
'λΉ κ΅¬λ© μ±μ°κΈ°' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ°] RPC Remote Procedure Call μ격 νλ‘μμ νΈμΆ (3) | 2024.10.14 |
---|---|
[νλ‘κ·Έλλ°] ν¨μν νλ‘κ·Έλλ° (3) | 2024.10.11 |
[νλ‘κ·Έλλ°] μ μ νμ μ§μ μΈμ΄ (1) | 2024.10.09 |
[νλ‘κ·Έλλ°] μμ νΉν μΈμ΄, Domain Specific Language (1) | 2024.10.09 |
[Java] I/O Stream (2) | 2024.10.07 |