Nim ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ฆด๋ฆฌ์Šค 1.2.0

๋„์ž… ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ฆด๋ฆฌ์Šค ๋‹˜ 1.2. Nim ์–ธ์–ด๋Š” ์ •์  ํƒ€์ดํ•‘์„ ์‚ฌ์šฉํ•˜๋ฉฐ Pascal, C++, Python ๋ฐ Lisp๋ฅผ ์—ผ๋‘์— ๋‘๊ณ  ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. Nim ์†Œ์Šค ์ฝ”๋“œ๋Š” C, C++ ๋˜๋Š” JavaScript ํ‘œํ˜„์œผ๋กœ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค. ๊ทธ ํ›„, ๊ฒฐ๊ณผ C/C++ ์ฝ”๋“œ๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปดํŒŒ์ผ๋Ÿฌ(clang, gcc, icc, Visual C++)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ ํŒŒ์ผ๋กœ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‹คํ–‰ ๋น„์šฉ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š์œผ๋ฉด C์— ๊ฐ€๊นŒ์šด ์„ฑ๋Šฅ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ. Python๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ Nim์€ ๋“ค์—ฌ์“ฐ๊ธฐ๋ฅผ ๋ธ”๋ก ๊ตฌ๋ถ„ ๊ธฐํ˜ธ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋„๋ฉ”์ธ๋ณ„ ์–ธ์–ด(DSL) ์ƒ์„ฑ์„ ์œ„ํ•œ ๋ฉ”ํƒ€ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋„๊ตฌ ๋ฐ ๊ธฐ๋Šฅ์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ ๊ณต๊ธ‰ MIT ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ.

์ƒˆ ๋ฆด๋ฆฌ์Šค์˜ ์ฃผ๋ชฉํ• ๋งŒํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ƒˆ๋กœ์šด ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ARC (โ€œ-gc:arcโ€).
  • ๋ชจ๋“ˆ์—์„œ "์„คํƒ•"์ƒˆ๋กœ์šด ๋งคํฌ๋กœ ์ˆ˜์ง‘, ๋ณต์ œ ๋ฐ ์บก์ฒ˜๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ๋งคํฌ๋กœ "with"๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • strformat.fmt, strtabs.clear, browsers.osOpen, typetraits.tupleLen, typetraits.genericParams, os.normalizePathEnd, times.fromUnixFloat, os.isRelativeTo, times.isLeapDay๋ฅผ ํฌํ•จํ•œ ์ƒˆ๋กœ์šด ํ˜ธ์ถœ์˜ ์ƒ๋‹น ๋ถ€๋ถ„์ด ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. , net.getPeerCertificates, jsconsole.trace, jsconsole.table, jsconsole.Exception, sequtils.countIt ๋“ฑ
  • ์ƒˆ๋กœ์šด ๋ชจ๋“ˆ std/stackframes ๋ฐ std/compilesettings๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • IndexError ๋ฐ OverflowError ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ๊ฐ•์ œ ์ข…๋ฃŒ๋ฅผ ์œ„ํ•œ ์˜ต์…˜ "-asm"(์ƒ์„ฑ๋œ ์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ ๋ถ„์„์šฉ) ๋ฐ "-panics:on"์ด "try" ํ•ธ๋“ค๋Ÿฌ์— ์˜ํ•ด ์ฐจ๋‹จ๋  ๊ฐ€๋Šฅ์„ฑ ์—†์ด ์ปดํŒŒ์ผ๋Ÿฌ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ€๋Šฅํ•œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ ๊ฐ์ง€๊ฐ€ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€