Hello World!

κ°€μž₯ κ°„λ‹¨ν•œ 러슀트 ν”„λ‘œκ·Έλž¨μœΌλ‘œμ¨, 고전적인 Hello World λ₯Ό μž‘μ„±ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€:

fn main() {
    println!("Hello 🌍!");
}

확인할 수 μžˆλŠ” 것듀:

  • ν•¨μˆ˜λŠ” fn으둜 μ„ μ–Έν•©λ‹ˆλ‹€.
  • C/C++ 와 λ§ˆμ°¬κ°€μ§€λ‘œ μ€‘κ΄„ν˜Έ{}둜 블둝을 ν‘œμ‹œν•©λ‹ˆλ‹€.
  • main ν•¨μˆ˜λŠ” ν”„λ‘œκ·Έλž¨ μ§„μž…μ μž…λ‹ˆλ‹€.
  • λŸ¬μŠ€νŠΈλŠ” λ˜‘λ˜‘ν•œ 맀크둜(hygienic macros) μ‹œμŠ€ν…œμ„ κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€. println!λŠ” κ·Έ μ˜ˆμ‹œμž…λ‹ˆλ‹€.
  • 러슀트의 λ¬Έμžμ—΄μ€ UTF-8둜 μΈμ½”λ”©λ˜λ©° 이λͺ¨μ§€μ™€ 같은 μœ λ‹ˆμ½”λ“œ 문자λ₯Ό 포함할 수 μžˆμŠ΅λ‹ˆλ‹€.
This slide should take about 5 minutes.

This slide tries to make the students comfortable with Rust code. They will see a ton of it over the next four days so we start small with something familiar.

ν‚€ 포인트:

  • λŸ¬μŠ€νŠΈλŠ” C/C++/Java와 같은 전톡적인 λ‹€λ₯Έ 언어와 맀우 μœ μ‚¬ν•©λ‹ˆλ‹€. λŸ¬μŠ€νŠΈλŠ” 절차적 μ–Έμ–΄μž…λ‹ˆλ‹€. μ •λ§λ‘œ ν•„μš”ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄, λŸ¬μŠ€νŠΈλŠ” 이미 μ‘΄μž¬ν•˜λŠ” 것을 μƒˆλ‘œ κ΅¬ν˜„ν•˜λ €κ³  ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

  • λŸ¬μŠ€νŠΈλŠ” μœ λ‹ˆμ½”λ“œ 지원과 같은 ν˜„λŒ€ μ–Έμ–΄μ˜ νŠΉμ§•μ„ μ „λΆ€ μ§€μ›ν•©λ‹ˆλ‹€.

  • Rust uses macros for situations where you want to have a variable number of arguments (no function overloading).

  • λ˜‘λ˜‘ν•œ 맀크둜(hygienic macro)λŠ” λ§€ν¬λ‘œκ°€ μ‚¬μš©λ˜λŠ” μŠ€μ½”ν”„μ—μ„œ μ˜λ„μΉ˜ μ•Šκ²Œ λ³€μˆ˜λ₯Ό κ°€λ‘œμ±„μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 사싀 러슀트 λ§€ν¬λ‘œλŠ” μ™„μ „νžˆ hygenicν•˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€. 링크λ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

  • λŸ¬μŠ€νŠΈλŠ” λ©€ν‹° νŒ¨λŸ¬λ‹€μž„ μ–Έμ–΄μž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ κ°•λ ₯ν•œ 객체 μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ° κΈ°λŠ₯을 μ§€μ›ν•˜κΈ°λ„ ν•˜λ©°, ν•¨μˆ˜ν˜• μ–Έμ–΄λ‘œ λΆ„λ₯˜λ˜μ§€λŠ” μ•Šμ§€λ§Œ 폭넓은 λ²”μœ„μ˜ ν•¨μˆ˜ν˜• 컨셉을 μ§€μ›ν•©λ‹ˆλ‹€.