Hello World!

๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋Ÿฌ์ŠคํŠธ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ์จ, ๊ณ ์ „์ ์ธ Hello World ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค:

fn main() {
    println!("Hello ๐ŸŒ!");
}

ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋“ค:

  • ํ•จ์ˆ˜๋Š” fn์œผ๋กœ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค.
  • C/C++ ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ค‘๊ด„ํ˜ธ{}๋กœ ๋ธ”๋ก์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • main ํ•จ์ˆ˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์ง„์ž…์ ์ž…๋‹ˆ๋‹ค.
  • ๋Ÿฌ์ŠคํŠธ๋Š” ๋˜‘๋˜‘ํ•œ ๋งคํฌ๋กœ(hygienic macros) ์‹œ์Šคํ…œ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. println!๋Š” ๊ทธ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.
  • ๋Ÿฌ์ŠคํŠธ์˜ ๋ฌธ์ž์—ด์€ UTF-8๋กœ ์ธ์ฝ”๋”ฉ๋˜๋ฉฐ ์ด๋ชจ์ง€์™€ ๊ฐ™์€ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์Šฌ๋ผ์ด๋“œ๋Š” ํ•™์ƒ๋“ค์ด ๋Ÿฌ์ŠคํŠธ ์ฝ”๋“œ์— ์ต์ˆ™ํ•ด์ง€๊ธฐ ์œ„ํ•ด ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ 3์ผ ๋™์•ˆ ๋งŽ์€ ์ฝ”๋“œ๋ฅผ ์ ‘ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์šฐ์„  ์นœ์ˆ™ํ•œ ์ฝ”๋“œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

ํ‚ค ํฌ์ธํŠธ:

  • ๋Ÿฌ์ŠคํŠธ๋Š” C/C++/Java์™€ ๊ฐ™์€ ์ „ํ†ต์ ์ธ ๋‹ค๋ฅธ ์–ธ์–ด์™€ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋Ÿฌ์ŠคํŠธ๋Š” ์ ˆ์ฐจ์  ์–ธ์–ด์ž…๋‹ˆ๋‹ค. ์ •๋ง๋กœ ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด, ๋Ÿฌ์ŠคํŠธ๋Š” ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๊ฒƒ์„ ์ƒˆ๋กœ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ๋Ÿฌ์ŠคํŠธ๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ์ง€์›๊ณผ ๊ฐ™์€ ํ˜„๋Œ€ ์–ธ์–ด์˜ ํŠน์ง•์„ ์ „๋ถ€ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • ๋Ÿฌ์ŠคํŠธ๋Š” ์ธ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ์‚ฌ์ „์— ์ง€์ •ํ•  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์—์„œ ํ•จ์ˆ˜ ์˜ค๋ฒ„๋กœ๋”ฉ๋Œ€์‹  ๋งคํฌ๋กœ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ๋˜‘๋˜‘ํ•œ ๋งคํฌ๋กœ(hygienic macro)๋Š” ๋งคํฌ๋กœ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ์Šค์ฝ”ํ”„์—์„œ ์˜๋„์น˜ ์•Š๊ฒŒ ๋ณ€์ˆ˜๋ฅผ ๊ฐ€๋กœ์ฑ„์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ๋Ÿฌ์ŠคํŠธ ๋งคํฌ๋กœ๋Š” ์™„์ „ํžˆ hygenicํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

  • ๋Ÿฌ์ŠคํŠธ๋Š” ๋ฉ€ํ‹ฐ ํŒจ๋Ÿฌ๋‹ค์ž„ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ•๋ ฅํ•œ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๊ธฐ๋„ ํ•˜๋ฉฐ, ํ•จ์ˆ˜ํ˜• ์–ธ์–ด๋กœ ๋ถ„๋ฅ˜๋˜์ง€๋Š” ์•Š์ง€๋งŒ ํญ๋„“์€ ๋ฒ”์œ„์˜ ํ•จ์ˆ˜ํ˜• ์ปจ์…‰์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.