زبان برنامه نویسی zig و مصاحبه اخیر با اندرو کلی خالق زیگ
زیگ چیست و چرا به وجود آمد؟
در سال 2016 شخصی با نام اندروکلی شروع به ایجاد یک زبان برنامه نویسی جدید کرد و حتی در سال 2018 شغل خود را رها کرد تا روی این پروژه به صورت تمام وقت کار کنه. هدف او ایجاد یک زبان برنامه نویسی همه منظوره و در سطح سیستم است و یک زبان کامپایل شوند است. (سایت رسمی زبان برنامه نویسی زیگ)
هدف اصلی زیگ این است که یک جایگزین مدرن و قابل اعتماد برای زبان C باشه.
ویژگی های کلیدی زیگ عبارت است از:
بدون رفتار پنهان و مبهم: هیچ تخصیص حالظه مخفی نداره
قدرت اجرای کد در زمان کامپایل: به جای ماروهای پیچیده از خود کد های زیگ برای پردازشهای زمان کامپایل استفاده میکنه
سیستم بیلد داخلی و سازگاری با C : زیگ حتی میتواند به عنوان یک کامپایلر برای زبان C/C++ عمل کند و به گونه ای طراحی شده که شما به سادگی از زبان C در پروژه خود استفاده کنید
یک مورد عجیب در باره زبان برنامه نویسی ZIG
با این که این زبان از سال 2016 درحال توسعه است هنوز نسخه 1 (اولین نسخه پایدار برنامه) منتشر نشده که این مورد کمی عجیب است و به تازگی یک مصاحبه ای توسط jetbrains با اندروکلی انجام شده که در این باره از او سوال میکنند که خلاصه ای از این مصاحبه را در این جا مینویسیم (لینک منبع اصلی این مقاله)
دلایلی که اندرو کلی برای منتشر نشدن نسخه 1 اعلام کرد:
1. نسخه 1 یک تعهد فنی است، نه یک برچسب تبلیغاتی:
اندرو کلی معتقد است که نسخه 1.0 صرفاً یک ابزار مارکتینگ برای جلب توجه شرکتها یا جذب سرمایه نیست. از نظر او، وقتی یک زبان نسخه 1 را منتشر میکند، یعنی به برنامهنویسها قول داده که دیگر هیچ تغییر شکنندهای (Breaking Change) در ساختار زبان ایجاد نکند. قفل کردن زودرس زبان باعث میشود که نتوان در آینده بهینهسازیهای عمیق و اساسی روی آن انجام داد.
2. فدا کردن رشد کوتاهمدت برای پایداری بلندمدت:
او در این مصاحبه تایید میکند که اگر نسخه 1 را منتشر کنند، شرکتهای بزرگ خیلی سریعتر به این زبان اعتماد میکنند و پذیرش زیگ در بازار چند برابر میشود. اما تیم زیگ ترجیح میدهد سرعت رشد فعلی را فدای کیفیت و مهندسی دقیق زبان در آینده کند. آنها تمایلی به عجله ندارند و میخواهند خشت اول را درست بگذارند.
3. امروز میشکنیم تا در آینده هرگز تغییر نکنیم:
زبان C چندین دهه است که بدون تغییرات بزرگ دوام آورده؛ زیگ هم میخواهد به همین سطح از ثبات برسد. اندرو میگوید اگر امروز نقصهای طراحی را برای راحتیِ موقتِ کاربران نادیده بگیریم، این نقصها برای همیشه به عنوان بدهی فنی در زبان باقی میمانند. پس بهتر است همین حالا ساختارها را بارها تغییر دهیم و بازنویسی کنیم تا وقتی به نسخه 1 رسیدیم، زبان برای دهههای متمادی کاملاً پایدار بماند.
یک سیاست جالب دیگر در مدیریت پروژه زیگ:
در بخشی از این مصاحبه، اندرو کلی به موضوع هوش مصنوعی اشاره کرد و گفت:
که آنها یک سیاست سختگیرانه برای ممنوعیت کدهای نوشته شده با AI در پروژه زیگ دارند. او توضیح داد که کدهای تولید شده با هوش مصنوعی معمولاً کیفیت سطحی دارند و بررسی کردن باگهای پنهان آنها، وقت گرانبهای تیم کوچک توسعه را تلف میکند. آنها ترجیح میدهند مشارکتها حاصل تفکر عمیق انسانی باشد تا ابزارها قابل اعتماد باقی بمانند.
تیم نیتروکد امیدوار است که این مطلب بتونه کمی کنجکاوی شما را نسبت به زبان برنامه نویسی ZIG جلب کنه