Atom ํ๋ก์ ํธ(VS Code์ ๊ธฐ์ด) ์์ฑ์์ธ Nathan Sobo์ ์ฃผ๋ โโํ์ Atom ํธ์ง๊ธฐ์ ์ ๊ฐ๋ฐ์์ธ Electron์ด ์ฐธ์ฌํ์ฌ ๊ฐ๋ฐ๋ ๋ค์ค ์ฌ์ฉ์ ์ฝ๋ ํธ์ง๊ธฐ Zed์ ์คํ ์์ค ๋ฐํ ํ๋ซํผ๊ณผ Tree-sitter ๊ตฌ๋ฌธ ๋ถ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. ๋ค์ค ์ฌ์ฉ์ ํธ์ง์ ์กฐ์ ํ๋ ์๋ฒ ๋ถ๋ถ์ ์์ค ์ฝ๋๋ AGPLv3 ๋ผ์ด์ ์ค๋ก ๊ณต๊ฐ๋๊ณ , ํธ์ง๊ธฐ ์์ฒด๋ GPLv3 ๋ผ์ด์ ์ค๋ก ๊ณต๊ฐ๋ฉ๋๋ค. ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์์ฑํ๋ ค๋ฉด Apache 2.0 ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ์ด๋ฆฌ๋ ์์ฒด GPUI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ Rust ์ธ์ด๋ก ๊ฐ๋ฐ๋์์ต๋๋ค. ํ๋ซํผ ์ค ํ์ฌ macOS๋ง ์ง์๋ฉ๋๋ค(Linux, Windows ๋ฐ ์น์ ๋ํ ์ง์์ ๊ฐ๋ฐ ์ค์ ๋๋ค).
Zed ํธ์ง๊ธฐ๋ ๊ณต๋ ๊ฐ๋ฐ์ ์ค์๊ฐ์ผ๋ก ๊ตฌ์ฑํ๊ณ ์ธํฐํ์ด์ค์ ์ต๋ ์ธ๋ จ๋ฏธ, ์์ฐ์ฑ ๋ฐ ๋ฐ์์ฑ์ ๋ฌ์ฑํ๋ ๋ฐ ์ด์ ์ ๋ง์ถ ๊ฒ์ผ๋ก ์ ๋ช ํฉ๋๋ค. ํ๋ก์ ํธ ์์ฑ์์ ๋ฐ๋ฅด๋ฉด ๋ชจ๋ ํธ์ง ์์ ์ ์ฆ์ ์ํ๋์ด์ผ ํ๋ฉฐ ์ฝ๋ฉ ์์ ์ ๊ฐ์ฅ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํด๋ณด์ธ์. Zed๋ ๊ฒฝ๋ ํธ์ง๊ธฐ์ ์ต์ ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ธฐ๋ฅ์ ํ๋์ ์ ํ์ ๊ฒฐํฉํ๋ ค๊ณ ์๋ํฉ๋๋ค. Zed๋ฅผ ๊ฐ๋ฐํ ๋ Atom์ ๋ง๋ ๊ฒฝํ์ด ๊ณ ๋ ค๋์์ผ๋ฉฐ ํ๋ก๊ทธ๋๋จธ์๊ฒ ์ด์์ ์ธ ํธ์ง๊ธฐ๊ฐ ์ด๋ค ๋ชจ์ต์ด์ด์ผ ํ๋์ง์ ๋ํ ๋ช ๊ฐ์ง ์๋ก์ด ์์ด๋์ด๋ฅผ ๊ตฌํํ๋ ค๋ ์๋๊ฐ ์ด๋ฃจ์ด์ก์ต๋๋ค.
Zed์ ๊ณ ์ฑ๋ฅ์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ CPU ์ฝ์ด๋ฅผ ์ฌ์ฉํ๋ ๋ฉํฐ์ค๋ ๋ฉ๊ณผ GPU ์ธก์ ์ฐฝ ๋์คํฐํ๋ฅผ ํตํด ๋ฌ์ฑ๋ฉ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ, ๋ค์ ํ๋ฉด ์ ๋ฐ์ดํธ ์ฃผ๊ธฐ์ ๊ฒฐ๊ณผ๊ฐ ์ด๋ฏธ ํ์๋๋ฉด์ ํค ๋๋ฆ์ ๋ํ ๋งค์ฐ ๋์ ์๋ต๋ฅ ์ ๋ฌ์ฑํ ์ ์์์ต๋๋ค. ์ํ๋ ํ ์คํธ์์ Zed์ ํค ๋๋ฆ์ ๋ํ ์๋ต ์๊ฐ์ 58ms๋ก ์ถ์ ๋ฉ๋๋ค. Sublime Text 4์ ๊ฒฝ์ฐ ์ด ์์น๋ 75ms, CLion์์๋ 83ms, VS Code์์๋ 97ms์ ๋๋ค. Zed์ ์์ ์๊ฐ์ 338ms, Sublime Text 4 - 381ms, VS Code - 1444ms, CLion - 3001ms๋ก ์ถ์ ๋ฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ์๋น๋์ Zed์ ๊ฒฝ์ฐ 257MB, Sublime Text 4์ ๊ฒฝ์ฐ 219MB, VS Code์ ๊ฒฝ์ฐ 556MB, CLion์ ๊ฒฝ์ฐ 1536MB์ ๋๋ค.
Zed ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ฌ๋ฐ๋ฅธ ๊ตฌ๋ฌธ ๊ฐ์กฐ, ์๋ ์์ ์ง์ , ๊ตฌ์กฐ ๊ฐ์กฐ ๋ฐ ์ํฉ๋ณ ๊ฒ์์ ์ํด ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ ์ฒด ๊ตฌ๋ฌธ ํธ๋ฆฌ๋ฅผ ๊ณ ๋ คํฉ๋๋ค.
- ์๋ ์์ฑ, ์ฝ๋ ํ์, ์ค๋ฅ ์ง๋จ ๋ฐ ๋ฆฌํฉํ ๋ง์ ์ํ LSP(Language Server Protocol) ์๋ฒ ํธ์ถ์ ์ง์ํฉ๋๋ค.
- ํ ๋ง๋ฅผ ์ฐ๊ฒฐํ๊ณ ๋ณ๊ฒฝํ๋ ๊ธฐ๋ฅ. ๋ฐ์ ํ ๋ง์ ์ด๋์ด ํ ๋ง์ ๊ฐ์ฉ์ฑ.
- VS Code์ ๊ธฐ๋ณธ ํค๋ณด๋ ๋จ์ถํค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํค๋ณด๋ ๋จ์ถํค ๋ฐ Vim ๋ช ๋ น์ ์ฌ์ฉํ ์ ํ์ ํธํ ๋ชจ๋.
- ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๋ฆฌํฉํฐ๋งํ๋ ๋ฐ ๋์์ด ๋๋ GitHub Copilot๊ณผ์ ํตํฉ์ ์ง์ํฉ๋๋ค.
- ํตํฉ ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ.
- ํ๋์ ๊ณต์ ์์ ๊ณต๊ฐ์์ ์ฌ๋ฌ ๊ฐ๋ฐ์๊ฐ ๊ณต๋์ผ๋ก ์ฝ๋๋ฅผ ํ์ํ๊ณ ํธ์งํ ์ ์์ต๋๋ค.
- ํ ๋ด ๊ณต๋ ํ ๋ก ๋ฐ ์์ ๊ณํ์ ์ํ ๋๊ตฌ์ ๋๋ค. ์์ ๊ด๋ฆฌ, ๋ฉ๋ชจ ์์ฑ, ํ๋ก์ ํธ ์ถ์ , ํ ์คํธ ๋ฐ ์์ฑ ์ฑํ ์ ์ง์ํฉ๋๋ค.
- ๋ก์ปฌ ์์คํ ์ ๋ฐ์ดํฐ์ ์ฐ๊ฒฐ๋์ง ์๊ณ ๋ชจ๋ ์ปดํจํฐ์์ ์ฐ๊ฒฐํ์ฌ ํ๋ก์ ํธ ์์ ์ ์ํํ ์ ์๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ธ๋ถ ํ๋ก์ ํธ ์์ ์ ๋ก์ปฌ ์ปดํจํฐ์ ์๋ ์ฝ๋ ์์ ๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ์ํ๋ฉ๋๋ค.
Zed ๊ฐ๋ฐํ์ ์ ๊ท ์์ ์๊ธ์ ์กฐ๋ฌํ๊ธฐ ์ํด ํ๋ก์ ํธ์์๋ ์ถ๊ฐ ์ ๋ฃ ์๋น์ค ์ ๊ณต์ ๊ธฐ๋ฐ์ผ๋ก ํ ๋น์ฆ๋์ค ๋ชจ๋ธ์ ๊ณ์ ์ฌ์ฉํ ๊ณํ์ ๋๋ค. ์ด๋ฌํ ์๋น์ค ์ค ์ฒซ ๋ฒ์งธ๋ ๋๊ท๋ชจ ํ๋ก์ ํธ์์ ๊ฐ๋ฐ ํ์ ์์ ์ ๊ตฌ์ฑํ๊ธฐ ์ํ ๊ฐ์ ์ฌ๋ฌด์ค์ ๊ตฌํํ๋ "Zed ์ฑ๋"์ ๋๋ค. ์ด๋ฅผ ํตํด ์ฌ๋ฌ ๊ฐ๋ฐ์๊ฐ ํจ๊ป ํ๋ ฅํ๊ณ , ๋ค๋ฅธ ์ฐธ๊ฐ์์ ์ํธ ์์ฉํ๊ณ , ํจ๊ป ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. Zed ์ฑ๋์ ๊ธฐ๋ฐ์ผ๋ก ๋๊ตฌ๋ Zen ์์ฒด์ ๊ฐ๋ฐ์ ์ค์๊ฐ์ผ๋ก ๋ณผ ์ ์๋ Fireside Hacks ์ด๋์ ํฐ๋ธ๊ฐ ์์๋์์ต๋๋ค. ์์ผ๋ก๋ GitHub Copilot ์คํ์ผ์ ์์ฒด ์ง๋ฅํ ๋ณด์กฐ ๊ธฐ๋ฅ์ ๊ฐ์ถ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ , ์์ฉ ์ ํ ๊ฐ๋ฐ ๋ฐ ๊ธฐ์ ์์์ ์ฌ์ฉ ํน์ฑ์ ๊ณ ๋ คํ ์ ๋ฃ ์ ๋ฌธ ์ถ๊ฐ ๊ธฐ๋ฅ์ ๊ตฌํํ ์๋ ์์ต๋๋ค.
์ถ์ฒ : opennet.ru