Rust κ°κ΄
λ¬μ€νΈλ 2010λ μ λμ¨ μ μ νλ‘κ·Έλλ° μΈμ΄λ€.
νμ΄μ΄νμ€λ₯Ό λ§λ€μκ³ , μΉμ λ°μ κ³Ό μμ λ₯Ό μΆκ΅¬νλ λΉμ리μ¬λ¨ λͺ¨μ§λΌμμ λμμΌλ©°, μ¬μ©λκ³ μλ€.
λΉμ·ν μκΈ°μ λμ¨ κ΅¬κΈμ Go, μ νμ μ€μννΈμ λΉκ΅λκ³€ νλλ° λ¬μ€νΈλ μ§ν₯μ μ΄ λ§μ΄ λ€λ₯΄λ€.
goλ μ€μννΈλ λ νΌλ°μ€ μΉ΄μ΄ν λ± μ€λ²ν€λκ° λ€μ λ°μνλ μμ€ν μ μ±μ©ν΄μ c/c++μλ λΉλΉ μλλ λ΄μ§ λͺ»νλλ°,
Rustλ μ μ΄μ C/C++μ λ체νκ³ μ λ§λ μμ€ν νλ‘κ·Έλλ° μΈμ΄λΌ λλ±ν μ±λ₯μ λ½μλΌ μ μλ€.
Rustκ° μΆκ΅¬νλ κ²μ λΉμ©μλ μΆμνμ μμ ν μμμ κ΄λ¦¬λ€.
κΈ°μ‘΄μ c/c++μμλ μμμ κ΄λ¦¬λ₯Ό νλνλ νμ΄μ€μΌ ν΄μ λΆνΈνλ°λ€ μ€μλ‘ λμκ° λ°μν μνμ΄ λμλ€.(c++μ μ€λ§νΈν¬μΈν°λ₯Ό μ°λ©΄ λκΈ΄νλ€.)
Rustλ μ΄λ¬ν μ μ 보μνκ³ μ c++μ unique_ptr, move semanticκ³Ό μ μ¬ν κΈ°λ₯μ μΈμ΄ μ°¨μμμ μ μ©ν΄μ, μμμ μμ κΆμ λΆμ¬νκ³ μμμ μΆ©λκ³Ό λμλ₯Ό λ―Έμ°μ λ°©μ§νλ€.
κ·Έλ¦¬κ³ νμ€μΌ κ°μ ν¨μνμΈμ΄μ κΈ°λ³Έ μμλ₯Ό μ±μ©ν΄μ μ μΈμ κΈ°λ³Έ ννλ μμκ° λλ€.
let num=5;μ μμκ³
let mut num=6;κ° λ³μλ€.
μ΄μΈμλ νμμ μΈ κΈ°λ₯λ€λ§ λ± λ£κ³ μΈμ΄λ₯Ό κ°λ³κ² νκ³ μ νλ μλκ° λ³΄μΈλ€.
ν€μλμ μλ μλΉν μ κ³ μ¬νν νΈμ΄κ³ , μ€λ²λ‘λ©λ μ‘΄μ¬νμ§ μλλ€.(ν¨ν΄λ§€μΉκ³Ό ννμ μμ©νλ©΄ λ체 κ°λ₯νλ€.)
Rustμ νμ΄ μ€ νλκ° 'μ»΄νμΌ νμμ μ€λ₯λ₯Ό λ€ μ‘κ² λ€!'λ κ²μ΄λ€.
체ν¬νλ κ² λ§μμ μ»΄νμΌμ΄ μ€λ κ±Έλ¦°λ€.
κ·Έλ¦¬κ³ μ€μλ₯Ό λ°©μ§νκΈ° μν΄μ λ¬Έλ²λ μλΉν μ격νκ² κ°λ¬λμλ€.
ν¨λ¬λ€μμ ꡬλΆνμλ©΄ κ°μ²΄μ§ν₯μ +ν¨μν+λͺ
λ Ήν... μΈλ°
κ·Έλ₯ c++μ΄λ μ€μννΈκ°μ 짬λ½μΈμ΄λ€.
κ·Έλ¦¬κ³ λ°μ΄μ£Όλ λμμΈ λͺ¨μ§λΌκ° λΉμ리μ¬λ¨μ΄λΌ..
μΈκΈ°λ λλ¦ λ§μλ° μνκΉκ²λ λ·μ¬μ΄ λΈλ €μ μ¬μ©λ₯ μ λμ§ μλ€.