🥸 هر چیزی رو توی اینترنت دیدیم باور نکنیم، خصوصا اگر فنی «به نظر» اومد!

Post Image

🥸 هر چیزی رو توی اینترنت دیدیم باور نکنیم، خصوصا اگر فنی «به نظر» اومد!


وقت ناهار اینو توی توییتر دیدم که به نظرم بودار 🦨 اومد. من راست بلدم و از سی خاطراتی دارم، ولی خودم رو نه راست‌نویس می‌دونم نه سی‌نویس، بلکه به قدر نیاز و هدف.


یه چالشی چند ساله مطرحه که با زبون‌های مختلف کوچک‌ترین hello world باینری رو چجوری می‌شه نوشت (مثلا جایگزینی printf با puts توی سی یا جایگزینی println با syscall_write توی راست و حذف لایبری‌های اضافه و بهبود لینکینگ و...


لذا نشستم کد راست رو بازنویسی کردم و با ۱۴ کیلوبایت جمع شد. ولی آیا اینکه منم یه توییت بزنم بگم دیدی کد راست (مینیمال راست) من از کد سی کوچیک‌تر شد، درسته؟ خیر! بلکه چرندی به چرندیات افزوده‌ام.


چرا؟ چون اونوقت باید کد مینیمال سی رو مقایسه کنیم که احتمالا باز نسبت به کد ۱۴ کیلوبایتی راست چیزی بین نصف تا یک‌سوم باید کوچیک‌تر شه.


ولی چرا باز هم سی کوچیک‌تر از راسته؟ مگه قرار نبود «عصر، عصر راست‌نویسی» باشه؟ 😁


- راست static linking داره

- راست runtime safety داره


من سورس کدم رو توی کامنت می‌گذارم. ولی اصلا نکته این مطلب اینا نبود! اینه که هر چیزی رو توی اینترنت یا از همکار و دوستمون دیدیم حتی اگر با عدد و رقم و کد آمیخته بود، تفکر انتقادیمون رو نسبت بهش حفظ کنیم 😊