نیمقرن با Emacs؛ نگاهی به تاریخچه و تأثیرگذاری یکی از قدیمیترین ابزارهای برنامهنویسی — Emacs Turns 50
خلاصه
ویرایشگر متن محبوب Emacs امسال وارد پنجاهمین سالگرد خود شد. این ابزار قدرتمند که ریشه در آزمایشگاه هوش مصنوعی MIT دارد، نقش کلیدی در شکلگیری جنبش نرمافزار آزاد و سیستمعامل گنو ایفا کرد و هنوز هم الهامبخش مهندسان نرمافزار است.
مقدمهای بر تاریخچه ویرایشگرهای متن
تجربه برنامهنویسی در دهههای اولیه رایانش با امروز تفاوت زیادی داشت. پیش از ظهور صفحهنمایشهای امروزی، برنامهنویسان با کارتهای پانچ، نوار کاغذی و در نهایت خطفرمانها و «خطکشها» کار میکردند. در اواسط دهه ۱۹۶۰ میلادی، ویرایشگرهای متنی تمامصفحه وجود نداشتند و ابزارهای خطی مانند TECO در دانشگاه MIT استفاده میشدند. از دل همین نیازها بود که در سال ۱۹۷۶، ابزاری به نام EMACS متولد شد که امسال پنجاهمین سالگرد خود را جشن میگیرد.
ریشههای ساخت EMACS و نقش ریچارد استالمن
همهچیز از زبان برنامهنویسی و ویرایشگر TECO شروع شد. در سال ۱۹۷۱، برنامهای به نام Control-R برای TECO نوشته شد که از پایانههای نمایشی جدید پشتیبانی میکرد و تغییرات فایل را بلافاصله روی صفحه نشان میداد. در سال ۱۹۷۶، Richard M. Stallman پس از بازدید از آزمایشگاه هوش مصنوعی استنفورد و الهام گرفتن از ویرایشگر E، تصمیم به توسعه و بهبود Control-R گرفت.
بزرگترین تحول ساختاری استالمن این بود که هر کلید را به یک ماکرو متصل کرد تا سفارشیسازی ابزار بسیار سادهتر شود. با این حال، از آنجا که هکرهای مختلف در آزمایشگاه MIT دستورات متفاوتی نوشته بودند، مشکلاتی در دیباگ کردن کدهای دیگران ایجاد شد. این چالش اجتماعی باعث شد افرادی مانند Guy Steele و David Moon با همکاری استالمن، مجموعه استانداری از دستورات مبتنی بر کلید Meta را ایجاد کنند و نام آن را EMACS (مخفف Editing Macros) بگذارند.
توسعه نرمافزار آزاد و پروژه GNU
استالمن در ابتدا EMACS را به هر کسی که یک نوار مغناطیسی و پاکت تمبردار ارسال میکرد، میداد و از آنها میخواست بهبودهای خود را بازگردانند. با این حال، وقتی برخی توسعهدهندگان مانند James Arthur Gosling (که بعدها زبان جاوا را رهبری کرد) نسخههای تجاری و پولی از EMACS ساختند، استالمن تصمیم گرفت پروژه GNU را برای ساخت یک سیستمعامل کاملاً آزاد راهاندازی کند. اولین برنامه بزرگ این پروژه، GNU Emacs بود که ابتدا روی Unix اجرا میشد.
چرا Emacs هنوز برای مهندسان مهم است؟
بحثهای انجمن Hacker News نشان میدهد که Emacs فراتر از یک ویرایشگر ساده است:
- محیط کاملاً قابل هک: بسیاری از کاربران آن را به یک «ماشین Lisp» تشبیه میکنند که در آن کد همان API است و میتوانید بدون محدودیت هر بخشی را تغییر دهید.
- بهرهوری بالا: برنامهنویسان قدیمی و جدید همچنان گزارش میکنند که پس از آزمون ابزارهای مدرنتر مانند VSCode یا Zed، بازگشت به Emacs به دلیل یکپارچگی و قابلیت سفارشیسازی بالا با کمک ابزارهای هوش مصنوعی، بهرهوری آنها را افزایش میدهد.
- میانبرهای پنهان: حتی در سیستمعاملهایی مانند macOS هنوز هم میانبرهای کلیدی برگرفته از Emacs (مانند کنترل حرکت مکاننما) به صورت پیشفرض فعال هستند.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل