Fish ๋ํํ ์ ํ์ ๋ฆฌ๋์ธ Peter Ammon์ ํ๋ก์ ํธ ๊ฐ๋ฐ์ Rust ์ธ์ด๋ก ์ด์ ํ๋ ค๋ ๊ณํ์ ๋ฐํํ์ต๋๋ค. ๊ทธ๋ค์ ์์ ์ฒ์๋ถํฐ ๋ค์ ์์ฑํ์ง ์๊ณ ์ ์ฐจ์ ์ผ๋ก ๋ชจ๋๋ณ๋ก C++์์ Rust ์ธ์ด๋ก ๋ฒ์ญํ ๊ณํ์ ๋๋ค. Fish ๊ฐ๋ฐ์์ ๋ฐ๋ฅด๋ฉด Rust๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉํฐ์ค๋ ๋ฉ ๊ด๋ จ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ , ๋ณด๋ค ์ต์ ์ ๊ณ ํ์ง ์ค๋ฅ ๊ฐ์ง ๋๊ตฌ๋ฅผ ์ป๊ณ , ๋ฉ๋ชจ๋ฆฌ ์์ ์ฑ์ ํฅ์ํ๊ณ , Fish๊ฐ ์ฌ์ฉํ๋ ๋ฌธ์์ด์ ์ฒ๋ฆฌํ ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํด์ ๋ ํ ๋ฉ๋ชจ๋ฆฌ์ ์ก์ธ์คํ๋ ๊ฒ๊ณผ ๊ฐ์ ์ค๋ฅ๋ฅผ ์ ๊ฑฐํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค. wchar_t ์ ํ.
๊ฐ๋ฐ์๋ค์ C++ ์ธ์ด์ฉ ๋๊ตฌ๋ฅผ ๊ตฌ์์ผ๋ก ๊ฐ์ฃผํ๊ณ C++๋ฅผ ๊ณ์ ์ฌ์ฉํ๋ฉด ํฅํ ์๋ก์ด ํ๋ก์ ํธ ์ฐธ๊ฐ์๋ฅผ ์ฐพ๋ ๋ฐ ์ด๋ ค์์ด ์ปค์ง ๊ฒ์ด๋ผ๋ ์ฐ๋ ค๊ฐ ์์ต๋๋ค. Rust ์ธ์ด๋ ํ์ฌ Fish ๊ฐ๋ฐ์์๊ฒ ์ด๋ฏธ ์น์ํ๊ณ ํ๋ก์ ํธ๊ฐ ์๊ณ ์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ํ๋ฐํ๊ณ ์ฑ์ฅํ๋ ์ปค๋ฎค๋ํฐ๋ฅผ ํตํด ๋์ฑ ์ ๋งํ๊ณ ์ ๊ทน์ ์ผ๋ก ๊ฐ๋ฐ๋๋ ์ธ์ด๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
์ ํ ๊ธฐ๊ฐ ๋์ FFI(Foreign Function Interface) ๋ฐ์ธ๋ฉ์ ์ฌ์ฉํ์ฌ C++ ๋ฐ Rust ์ฝ๋์ ๊ณต์กด์ด ๋ณด์ฅ๋ฉ๋๋ค. ๊ถ๊ทน์ ์ผ๋ก ๋ค์ ์ฃผ์ ๋ฆด๋ฆฌ์ค์์๋ ํ๋ก์ ํธ๋ฅผ Rust ์ธ์ด๋ก ์์ ํ ๋ฒ์ญํ ๊ณํ์
๋๋ค.
์ถ์ฒ : opennet.ru