ํ˜‘์—… ์ฝ”๋”ฉ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด Zed ํŽธ์ง‘๊ธฐ๊ฐ€ ์—ด๋ฆฝ๋‹ˆ๋‹ค.

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 ์ฑ„๋„"์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•จ๊ป˜ ํ˜‘๋ ฅํ•˜๊ณ , ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ณ , ํ•จ๊ป˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Zed ์ฑ„๋„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ˆ„๊ตฌ๋‚˜ Zen ์ž์ฒด์˜ ๊ฐœ๋ฐœ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋Š” Fireside Hacks ์ด๋‹ˆ์…”ํ‹ฐ๋ธŒ๊ฐ€ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋Š” GitHub Copilot ์Šคํƒ€์ผ์˜ ์ž์ฒด ์ง€๋Šฅํ˜• ๋ณด์กฐ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ , ์ƒ์šฉ ์ œํ’ˆ ๊ฐœ๋ฐœ ๋ฐ ๊ธฐ์—…์—์„œ์˜ ์‚ฌ์šฉ ํŠน์„ฑ์„ ๊ณ ๋ คํ•œ ์œ ๋ฃŒ ์ „๋ฌธ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜‘์—… ์ฝ”๋”ฉ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด Zed ํŽธ์ง‘๊ธฐ๊ฐ€ ์—ด๋ฆฝ๋‹ˆ๋‹ค.


์ถœ์ฒ˜ : opennet.ru

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