منبع اصلی نوشتار زیر در این لینک قرار دارد

کدام زبان های برنامه نویسی را برای لینوکس یاد بگیریم

زبان های برنامه سازی C و ++C را شاید بتوان رایجترین زبان های برنامه سازی در نظر گرفت که از آنها برای نوشتن هسته سیستم عامل لینوکس، میزکارهای مورد استفاده در لینوکس مانند گنوم، نوشتن پوسته های مانند Bash، دستورهای یونیکسی و دیگر دستورها و برنامه ها استفاده شده است. بنابراین یادگیری درست و دقیق آن برای توسعه لینوکس و ابزارهایی برای آن بسیار لازم و ضروری است.

در کنار زبان های C‌ و ++C دیگر زبان ها مانند پایتون و پرل بسیار کاربردی هستند ولی قطعا برای یک مدیر یا برنامه نویس لینوکسی دو چیز واحب تر و ضروری تر از همه زبان های برنامه سازی مانند C و ++C است.

  • نخست اینکه برنامه نویس باید حتما به طور کامل با لینوکس و ساختار آن آشنا باشد.
  • دوم اینکه هم مدیران و هم برنامه نویسان باید با اسکریپت نویسی در پوسته Bash‌ آشنا باشند. البته امکان استفاده پوسته های دیگر در لینوکس نیز وجود دارد ولی پوسته پیشفرض در لینوکس Bash‌ است.

دایرکتوری proc/ در لینوکس در هر لحظه حاوی اطلاعاتی از فعالیت هسته لینوکس است. به طور مثال می خواهید در برنامه خود مدت زمان uptime‌ بودن سیستم لینوکسی خود را گزارش دهید، بنابراین می توانید فایلی که حاوی این نیاز شما است را بخوانید و سپس در متغیری ذخیره و در نهایت در برنامه خود استفاده کنید یا نمایش دهید.

اگر می خواهید از زبان C استفاده کنید، قاعدتا باید زبان برنامه نویسی C را به درستی یاد گرفته باشید. بنیاد نرم‌افزار آزاد کتابخانه glibc را برای سیستم عامل گنو لینوکس نوشته است. glibc پیاده سازی کتابخانه های استاندارد C و استاندارد POSIX است که به صورت پیشفرض در توزیع های لینوکسی نصب می شود. همچنین این کتابخانه برای زبان ++C نیز قابل استفاده است.

کتابخانه glibc چیست

لینوکس سیستم عاملی متن باز است، بنابراین دیگران در توسعه آن شریک هستند و از این تعداد زیادی کتابخانه به صورت متن باز تحت زبان C  و دیگر زبان ها (مانند ++C یا پایتون و پرل) برای استفاده توسعه داده می شوند. به طور مثال کتابخانه libusb برای کار با دوایس های USB توسعه داده شده اند. از طرفی دیگر توسعه دهندگان لینوکسی مانند توسعه دهندگان میزکار گنوم همراه با ارائه محصول خود API هایی را ارائه می کنند. به طور مثال گنوم کتابخانه +gtk را برای توسعه GUI در میزکار گنوم ارائه کرده است.

در کنار زبان های C و ++C شاید بتوان گفت که پایتون بیشترین استفاده را امروزه پیدا کرده است. پایتون زبانی بسیار ساده برای یادگیری و استفاده است و می توان برنامه های نوشته شده در لینوکس را مثلا در ویندوز نیز اجرا کرد. در تمامی توزیع های لینوکسی مفسیر پایتون (که در حال حاظر معمولا نسخه ۲.۷ است) از قبل نصب شده است.

پایتون مانند زبان های C و ++C دارای ماژول های (کتابخانه های) بسیار فراوانی است. شما با پایتون می توانید یک برنامه خط فرمانی یا گرافیکی یا برنامه تحت وب بنویسید. پایتون مانند C و ++C کاربران و توسعه دهندگان و منابع فروانی دارد. معمولا و به احتمال زیاد ماژول های پایتون در تمامی سیستم عامل ها قابل نصب و استفاده است ولی ممکن است ماژولی خاص یک سیستم عامل باشد.

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

 فرقی نمی کند که از کدام توزیع لینوکسی استفاده کنید. یک توزیع لینوکسی از هسته لینوکس و چندین برنامه آزاد و متن باز تشکیل شده است، بنابراین شاید در دو نسخه هسته استفاده شده یا برنامه استفاده شده متفاوت باشند ولی این تفاوت ها ربطی به انتخاب یک توزیع رایج برای برنامه نویسی ندارد. به طور کلی می توان تفاوت های یک توزیع را نسبت به توزیع دیگر اینطور گفت که :

  • ممکن است توزیع ها از نسخه های متفاوتی از هسته استفاده کرده باشند.
  • ممکن است از برنامه ای متفاوت نسبت به توزیع دیگر استفاده کرده باشند.
  • دستور نصب برنامه ها در آنها متفاوت است.

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

توزیع های رایج کلاینتی (به عنوان میزکار)

  • ابونتو
  • فدورا
  • مانجارو
  • اپن سوزه
  • آرچ لینوکس

توزیع های رایج سروری

  • Redhat
  • CentOS
  • SUSE Enterprise Linux
  • Debian

بنابراین یکی از توزیع های بالا و یک زبان را انتخاب کنید و پس از یادگیری درست و دقیق آن حتما برای لینوکس نیز شروع به برنامه سازی نید. لینوکس فقط خط فرمان نیست بلکه میزکارهای گنوم و KDE با قابلیت های فروان بسیار کاربردی هستند. کتابخانه +gtk و QT به ترتیب برای نوشتن برنامه های گرافیکی قابل استفاده هستند. پایتون نیز تعداد زیادی کتابخانه های برای توسعه رابط های گرافیکی است که معروفترین آنها TKinter است.