برنامه نویسی کرنل لینوکس با راهنمایی The Eudyptula Challenge
عموما کسانی که از گنو/لینوکس به عنوان سیستمعامل اصلیشان استفاده میکنند، همهاش به خاطر چه میدانم، فرهنگ آزاد یا روشهای گیکانه انجام کارهایشان نیست. حتی برای باحالتر به نظر رسیدن هم نیست. حقیقت این است که ما، علاقه به درک بیشتر ابزارهایمان داریم. این علاقه گاها آنقدر مفید است که پس از یک سر و کله زدن عمیق با یکی از همین ابزارها سر حل یک مشکل خیلی کوچک، میبینی معادل ساعتها کلاس درس چیز مجانی و خلاقانه، آن هم نه تنها در خصوص ابزارت، بلکه کل محیط کارت یاد گرفتهای.
مهمترین ابزار مورد استفاده ما گنو/لینوکسیها هم خود هسته لینوکس است. نرمافزاری که همه هنرش این است که بدون در دست و پا بودنش، محیطی برای ارتباط نرمافزارهای دیگر و ماشینهای مورد استفادهمان فراهم کند. همین در دست و پا نبودنش شاید دلیل آن است که کمتر سعی کردهایم بشناسیمش. چه میدانم شاید آنقدر از خوب بودنش تعریف کردهایم که میترسیم پا در کفش طراحانش کنیم. ولی به هر حال همه که قرار نیست برنامه نویس هسته باشند تا نیاز به فهمیدنش داشته باشند… دانش همیشه خوب است، و دانش در رابطه با ابزارهایی که هر روز با آنها سر و کار داریم از آن هم بهتر.
این The Eudyptula Challenge یک اسکریپت ساده و خنگ دارد به اسم little penguin که همه هنرش این است که ازتان سوال بپرسد و جوابهای شما را بررسی کند! برایش یک ایمیل میفرستید و بعد از این که برایتان راهنمای شروع دوره را فرستاد، شروع میکند مرحله به مرحله سوال پرسیدن. هیچ راهنمایی هم درکار نیست. خودتان میگردید در اینترنت، کم کم راه حل را پیدا میکنید و یاد میگیرد. همچین همه تلاشتان هم باید این باشد که نکند از کسی کمک بگیرید. حقیقتش همینطوری هم هست که چیز یاد میگیرید. تنها پیشنیاز مورد نیازتان هم آشنایی پایه با زبان C و Make است. (البته این پیشنیاز اینطور فکر میکند که شما کاربر گنو/لینوکسید و بلدید در طول روز گلیمتان را از آب بکشید)
همینجا هم این را اضافه کنم که سرعت کار این اسکریپت پایین است. همین الان ۳۶ ساعت است که جواب سوالش را دادهام و هنوز تاییدیه جوابم نیامده. آهان، این را هم بگویم که بهتر است از یک کلاینت برای ایمیل استفاده کنید نه رابط کاربری Gmail. ایمیلهایتان باید Plain text باشد و فایلهای پیوستی متن ساده و نه base 64 که Gmail روانه میکند. من از mu4e استفاده کردم و مشکلی پیش نیامد.
اگر هم مثل من زبان C در دوران دانشگاه غول بی شاخ و دم ترسناکی بود که با اشارهگرهایش شما را به ته جهنم راهنمایی میکرد، باید بگویم که Head first C همان اکسیری است که به آن نیاز داشتید. کتاب فوقالعاده آسان و روان کل قضیه را بهتان شرح میدهد.
باز هم بگویید شاهین بد است. little penguin را معرفی کردم بهتان کمک کند تا ببینید خدایگانتان چطور برنامه مینویسند. Head first C را معرفی کردم که یک بار دیگر مثل قدیمهای من فکر نکنید که در جهنم C گیر کردهاید. و it-ebooks را معرفی کردم تا ببیند همهٔ کتابهای برنامهنویسی دنیا را عینالله جعفر نژاد قومی نمینویسد ;-)