ماه دسامبر یک ماه زیباست!


باز ماه دسامبر، ماه زیبای من آمد و باز من حس و حال نوشتن به سرم زد. ماه دسامبر ماه پایانی سال میلادی و ماه آغازین زندگی من هست که تقریبا هر ساله این ماه حس و حال نوشتن پیدا می‌کنم یا یه حس خوبی بهم دست میده که یه کاری کنم. ماه‌ها بود که پست نذاشته بودم با این که تقریبا هر روزه به اینجا سر میزنم یا دلم می‌خواد به یه بهونه‌ای یه ایده‌ای برای نوشتن پیدا کنم اما حس و حالش نبود و تا به الان که ساعت ۵ بامداد هست و بعد از کلی کلنجار با خودم بالاخره شروع به نوشتن کردم.

موشی‌شی

این عکس مربوط به انیمه‌ای به اسم mushishi هست که به یکی از قسمت‌های مورد علاقه‌ی من اشاره می‌کنه و قضیه‌ی این قسمت از این قراره که اون پسر که نشسته فردی هست با قدرت خداوندی در یکی از دستانش و با نوشتن چیزی روی کاغذ با اون دستش … اون نوشته جان می‌گیره و از کاغذ خارج شده و زندگی رو شروع می‌کنه به صورت یک mushi که دنیایی از نکات فلسفی با خودش به همراه داره، درسته این یک انیمه‌ی فلسفی هست و این چیزی بود که منو به خودش جذب کرد و حسی که من به نوشتن دارم هم تقریبا به همین شکل هست، که نوشته‌های ما ممکنه توی ذهن بعضی از خواننده‌هامون شروع به زندگی کنن و به نوعی نگارش خوب توانایی خداوندگاری هست برام درست مثل کدنویسی که به یک راه حل مسئله، درون کامپیوتر جان میدیم …

اما این مدت که نبودم کارای مختلفی کردم و تصمیمات مختلفی هم گرفتم که می‌خوام ازشون یاد کنم و بنویسم تا شاید ایده‌ای یا درسی برای یک فرد علاقه‌مند به دانایی و مطالعه باشه:

برنامه‌نویسی به زبان C

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

اما همه‌ی اینا به کنار، برنامه‌نویسی توی C به آدم یاد میده که چطور فکر کنیم و برنامه‌نویسی واقعا چیه.

بعضی‌ها وقتی به C میرسن کلی از مشکلات و مسائل رو پیش می‌کشن و آخر به این نتیجه میرسن که نباید یاد بگیرن از جمله این مسائل به اینا میشه اشاره کرد:

قدیمی بودن

اتفاقا این یکی از مزیت‌های یک زبان هست که حسابی جا افتاده و مخصوصا C که تقریبا تمام زیرساخت‌های جهان دیجیتال با این زبان نوشته شده و همه جا درگیر این زبان هستن اما از نظر سرعت توسعه بعضی از دوستان منظورشون هست که درسته و هر زبانی بر اساس شرایط یک پروژه انتخاب میشه با این حال این زبان برای پروژه‌هایی که سرعت و بهینه بودن نرم‌افزار حرف اول رو میزنه یکه‌تاز هست و الان می‌بینیم که در زیرساخت‌های شبکه، سیستم‌عامل‌ها، دنیای IOT، برنامه‌های سیستمی و ساخت کامپایلر زبان‌های دیگه مثل PHP و مخصوصا اهمیت فراوان C در دنیای امنیت و هک که در نوشتن rootkit ها به شدت مورد نیاز هست. در ضمن با دونستن C شما تقریبا برنامه‌نویسی رو یاد گرفتین و دیگه نیازی به این ندارین که با سوئیچ کردن به زبان دیگه کلی زمان برای یادگیری بذارین و تقریبا فقط زمان برای ابزارای اون زبان و چیزای اضافه‌ترش میزارین …

نبود شغل

نگرانی قابل تعملی هست اما تقریبا اکثر شرکت‌های زیرساخت شبکه نیاز به برنامه‌نویس سیستمی و C و C++ دارن و همینطور شما می‌تونین با توسعه نرم‌افزارای آزاد وارد شرکت‌های بزرگی مثل redhat، SUSE، Intel و … بشید. یادمه مدتی پیش مصاحبه‌ی یکی از هم‌بنیان‌گذارهای آروان‌کلاد رو گوش می‌دادم و متوجه شدم که چقدر توی زیرساخت شبکه‌ای و ابری این شرکت وابسته به یک برنامه‌ی C هست و همینطور شرکت‌های امنیتی و فعال در حوزه‌ی سخت‌افزار و الکترونیک و …

با نوشتن برنامه‌ به زبان C شما در آینده قادر خواهید بود که از دنیایی بی انتها از کتابخانه‌ها و ابزارهایی که طی بیش از نیم قرن نوشته شدن استفاده کنین و یاد بگیرین و از جمله این ابزارها میشه به کتابخانه GTK+ اشاره کرد که به شما اجازه نوشتن برنامه‌های GUI برای دسکتاپ به صورت Cross-Platform میده.

حتی هم اگر با زبان C به شغلی هم نرسید در بدترین حالت ممکن … شما یک برنامه‌نویس تمام عیار شده‌اید و به راحتی می‌تونید به هر زبان مثل جاوا، جاواسکریپ، سی پلاس پلاس، سی شارپ و … سوئیچ کنین .

تصمیم و انگیزه من

انگیزه‌ای که من برای نوشتن برنامه به زبان C دارم از نیازم به یک سری از برنامه‌های بهینه روی دسکتاپم نشات می‌گیره که از جمله نیازهام هستن و از جمله محدودیت‌هایی که دارم محدودیت منابع سیستمی هستن که همیشه باهاشون دست و پنجه نرم کردم و این حل مساله هست که انگیزه‌ای برای من شد تا برنامه‌های مورد نیازم رو به این زبان بسازم.

نوشتن پروژه به زبان PHP

مدت‌هاست که من تحت وب در حال توسعه چه در حوزه‌ی front-end و چه back-end هستم و همینطور که می‌دونین قالب بلاگ‌هام رو خودم می‌نویسیم و یه جورایی به حوزه‌ی توسعه برنامه‌های تحت وب علاقه‌مندم از سال‌های سال و این مسیر رو ادامه دادم. اما چند نوع از طرز فکر هست که توی ذهن برنامه‌نویس‌های علاقه‌مند به برنامه‌نویسی مانع ایجاد می‌کنه:

آچار فرانسه بودن

خیلی‌ها توی حوزه‌ی کامپیوتر معتقد هستن که نمیشه مثلا هم تحت وب کار کرد و عالی بود و هم تحت موبایل یا زمینه‌ی دیگه‌ای یا تخصصی‌تر هم این که یک back-end کار زیاد نباید front-end کار بشه و از این تخیلات … به نظر من که برنامه‌نویس که باشین هر کاری و هر مشکلی رو می‌تونین حل کنین و هیچ غیر ممکنی براتون وجود نداره.

اما مشکل زمان رو قبول دارم ولی این که انسان از علاقش دست بکشه و بگه من چون رفتم توی این دیگه نمی‌تونم کار دیگه‌ای بکنم رو اصلا قبول ندارم.

من به شخصه از C به CSS و JS و Java و Bash و Python و C++ و PHP و … بارها کد زدم و بعضی‌ها رو رها کردم و بعضی‌ها رو که بهشون علاقه‌مند شدم و به کارم اومدن ادامه دادم. به نظرم این طرز فکر که اون چی میگه و این چی میگه بیشتر آدم رو از یادگیری دور می‌کنه تا این که به راه درست راهنمایی کنه … درون هیچ کسی و علاقه‌هاش با فرد دیگری برابر نیست … پس از کدنویسی لذت ببرین …

از جمله کاربردهای خوبی که PHP داره اینه که جامعه بزرگی داره و همینطور برنامه‌ی کم هزینه‌تری میشه باهاش پیاده کرد در مقیاس کوچیک که به درد استارتاپ‌های تازه‌کار خیلی می‌خوره و همینطور برای کسب درآمد و کار کردن به صورت پروژه‌ای. توسعه با این زبان بسیار ساده و تقریبا سریع هست با استفاده از دنیایی از framework های بسیار مناسب و قدرتمندی که داره، انتخاب خیلی خوبی برای کار تحت وب هست.

بخش دیدگاه‌ها

بالاخره بعد از مدت‌ها تونستم این بخش نظرات رو به یه حالتی برسونم که فردی اگه می‌خواد به صورت ساده کامنت بذاره راحت با پر کردن چندتا فیلد بیاد و کامنت بذاره و دیگه نیاز نباشه روی گیتهاب لاگین بشه و این رو مدیون آقای مهدی صادقی نویسنده بلاگ mehdix.ir هستم که تجربیات با ارزششون رو با خواننده‌هاشون به اشتراک میذارن و من با استفاده از راهنمایی‌های ایشون تونستم بلاگم رو از github به netlify منتقل کنم و از form های اون برای دریافت کامنت استفاده کنم ولی هنوز نتونستم ثبت خودکار رو راه‌اندازی کنم و شما می‌تونین کامنت بذارین و من دستی فعلا به هر مطلب اضافه کنم تا بتونم سر وقت برای API نتلیفای یه برنامه‌بنویسم و مطالعه کنم اونو.

پست‌های آینده

یکی از بخش‌هایی که جاش رو توی بلاگ برنامه‌نویسا خالی می‌بینم بخش تجربه‌ی کدنویسی هست. مثل خاطرات کدنویسی ، اشتباهات و چیزایی که می‌تونه به خیلی از برنامه‌نویس‌ها کمک کنه. برای برنامه‌نویس شدن باید با کامپیوتر زندگی کرد و خب حالا باید شاید شدید باشه شما بهتره در نظر بگیرن اگه فکر می‌کنین شدیده … و بخش‌های مختلف که به لیست زیر هستن …

  • خاطرات برنامه‌نویسی
  • آموزش برنامه‌نویسی
  • مدیریت سیستم‌های یونیکسی
  • اخبار به درد بخور
  • تحلیل بعضی از موضوعات مهم
  • داستان‌های برنامه‌نویسی و تاریخ
  • معرفی نرم‌افزار آزاد
  • و …

قصد دارم نوشتن رو شروع کنم و ادامه بدم … خب آخه ماه دسامبر هست دیگه …



دیدگاه‌ها


می‌توانید از مارک‌داون استفاده کنید.