۲۰۲ هزار پول ریکوئست طی یکسال سبب شدند تا در ۲۰۱۶ زبان برنامهنویسی C نهمین زبان فعال گیتهاب باشد. حال زبان C را با سه زبان برنامهنویسی برتر دنیا مقایسه کنید: جاوا اسکریپت با پول ریکوئست 1604 هزار، جاوا با پول ریکوئست 763 هزار و پایتون با پول ریکوئست 744 هزار. حتی زبانهای«PHP»، «CSS»، «Ruby» و «++C» نیز همگی از زبان C پیشی گرفتهاند.
در نگاه اول، اینطور به نظر میرسد که زبان C نسبت به زبانهای جدیدتر، هیجانانگیزتر و جالبتر، عقب مانده است (C یک زبان 45 ساله است). البته GitHub قضاوت دقیقی نسبت به صنعت نرمافزار ارائه نمیدهد. ابن سایت نگاه جانبدارانهای نسبت به فناوریهای متنباز و موارد دیگری دارد که در بین عموم در حال محبوب شدن هستند.
با این حال زبان C یک زبان مرده نیست. در حقیقت مجله «IEEE» در سال 2017 این زبان را دومین زبان برنامهنویسی و بالاتر از جاوا، جاوا اسکریپت و «#C» معرفی کرده است. اگر همین حالا میخواهید این زبان را یاد بگیرید، مطمئن باشید وقت و انرژی خود را هدر نمیدهید. در ادامه با ۵ دلیل به شما ثابت خواهد شد که زبان C هنوز نفس میکشد.
۱. فهم دقیق از عملکرد رایانه
شاید شنیده باشید که زبان C یک «زبان سطح پایین» (low-level language) است. در برنامهنویسی سطح پایین بودن یک زبان به این مفهوم است که کاربر تا اندازهی زیادی باید کدهای جزئی و ریز را برای ایجاد هر دستور بنویسد. هرچه زبان سطح پایینتر باشد به این معناست که شما در نوشتن به زبان ماشین نزدیکتر شدهاید. در زبانهای برنامهنویسی سطح بالا، نیاز زیادی به کدنویسی کامل و ریز مانند زبانهای اولیه نیست. برای نمونه زبان برنامهنویسی C این امکان را به کاربر میدهد تا با حافظه را به صورت دستی مدیریت کند. در صورتی که در در زبانهای برنامهنویسی سطح بالاتر مانند جاوا، فناوریهای مدرنتر حافظه را به صورت اتوماتیک مدیریت میکنند.
البته این ویژگی یادگیری زبان C را مشکل مینماید. به همین دلیل است که برنامهنویسان C تمایل بیشتری نسبت به دانستن و کنترل نحوه عملکرد رایانهها دارند. برای اینکه یک برنامه خوب با زبان C بنویسید، باید مانند یک رایانه فکر کنید. مدیریت حافظه، جریانهای ورودی و خروجی ، «byte order» و .. از این دستند.
زبانهای سطح پایینتر از C هم وجود دارند که برای نمونه میتوان به «Assembly» اشاره کرد. با این وجود زبان C به همان اندازهای سطح پایین است که به آن نیاز دارید. زبان C بیشترین قدرت و کنترل را در بین زبانهای سطح پایین دارد، کدهای آن به اندازه کافی قابل خواندن توسط انسانها هستند و باعث نمیشود که بخواهید خیلی خودتان را اذیت کنید.
۲. آسان کردن انتخاب زبانهای دیگر
بعضی از برنامهنویسها اعتقاد دارند زمانی که یک زبان برنامهنویسی را یاد میگیرید، تقریبا به همه زبانها تا حد زیادی آگاهی پیدا میکنید. اما این استدلال درستی نیست، مگر اینکه زبان C را یاد بگیرید. در حقیقت حرکت از یک زبان سطح پایین مانند C به زبان سطح بالا مثل پایتون نسبتا آسانتر از رفتن از پایتون به C است. زیرا زبانهای سطح بالا به درک انتزاعی کمتری نیاز دارند و کار کردن با پایتون بسیار سادهتر است.
به مثال دیگری توجه کنید. #C انتخاب اول برای برنامهنویسان تازهکار و علاقهمند به توسعه بازی است. با وجود اینکه دستورات این زبان بسیار جمعوجور و خلاصه شده است، اغلب تازهکارها با آن مشکل پیدا میکنند. این سردرگمی به این دلیل است که آنها نمیدانند کدام بخش از دستورات خلاصه و حذف شده است.
با یادگیری زبان C شما اساسا پایهی زبانهای برنامهنویسی دیگر را یاد میگیرید. اگر واقعا بتوانید زبان C را درک کنید، درک سایر زبانها تقریبا کار راحتی است؛ چون اغلب زبانهای جدید از C سطح بالاترند.
۳. لذت بردن از زبانهای برنامهنویسی دیگر
سطح پائین بودن زبان C باعث شده تا کدنویسی تحت آن پیچیده و خسته کننده باشد. برای اینکه درک بهتری از این مشکلات داشته باشید، تصور کنید در حال آماده کردن ساندویچ هستید. در زبانهای سطح بالا به راحتی با نوشتن تابع «ساندویچ»، یک ساندویچ خواهید داشت! اما در زبان C، باید ابتدا تمام مخلفات را تهیه کنید. سپس آنها را کنار یکدیگر بگذارید و تازه در این مرحله یک تابع پیچیده برای ساندویچ بنویسید.
از این جهت که شما به کل جزئیات تابع خود دسترسی دارید، بسیار عالی است. حتی ممکن است بتوانید تابع ساندویچ خود را سریعتر بنویسید و مراحل خاصی را که مورد نظر شما نیست، رد کنید. اما گاهی اوقات دلتان میخواهد یک نفر دیگر برایتان ساندویچ درست کند و چه بسا برای عدهی زیادی خوردن غذایی که بیدردسر و بدون زحمت حاضر شده لذت بخشتر از غذایی است که برای آن به زحمت افتادهاند. زبانهای برنامهنویسی سطح بالا دقیقاً با همین فلسفه و در پاسخگویی به چنین نیازی پدید آمدهاند.
به زبان سادهتر اکثر زبانهای مدرن در پاسخ به کاستیهای دیگر زبانها ایجاد شدهاند. مثلا ++C در پاسخ به نیازهای C، جاوا در پاسخ به کاستیهای ++C و C شارپ در پاسخ به نیازهای جاوا به وجود آمدهاند. با یادگیری زبان C بهتر درک میکنید که چرا زبانهای برنامهنویسی خاصی به این شکل طراحی شدهاند. همچنین از رویکرد ساده و سطح بالای دیگر زبانها لذت خواهید برد.
۴. پروژههای نامتعارف و برنامههای کاربردی
اکثر زبانهای برنامهنویسی مدرن برای سه هدف مشترک استفاده میشوند: تولید اپلیکیشنهای مربوط به کسبوکار، برنامههای مبتنی بر وب و تلفن همراه و در نهایت تجزیه و تحلیل دادهها. زبانهای سطح بالا برای این سه کاربرد عالی هستند زیرا نیازی به دانستن و کار با جزئیات معماری کامپیوتر نیست.
اما اگر میخواهید نرمافزاری را که مستقیما با سختافزار ارتباط برقرار میکند، توسعه دهید، یک زبان سطح پایین مورد نیاز است. در این بین زبان C بیشترین کاربرد را دارد؛ نرمافزارهای برجستهای مانند سیستمعامل، زبان برنامهنویسی، «کامپایلرها» (compilers)، موتورهای بازی از این دستند.
به عنوان مثال، هسته لینوکس به زبان C و «Assembly» نوشته شده است. زبانهای محبوب مانند Ruby، PHP، پایتون و «Perl» بر مبنای C پیادهسازی شدهاند.
۵. بهبود فرصت های شغلی
دو راه برای تضمین فرصتهای شغلی در صنعت نرم افزار وجود دارد:
- تخصص در موقعیتهای با تقاضای بالا.
- تخصص در حوزههایی که افراد زیادی در آن دست ندارند.
موقعیتهای با تقاضای بالا شامل زبانهای مدرنی میشوند که میتوانند در زمینههای مختلف استفاده گردند؛ جاوا اسکریپت، پایتون و جاوا بهترین نمونه زبانهای برنامه با تقاضای بالا هستند. C زبان محبوبی است که تعداد برنامهنویسان آن این روزها بسیار کم محسوب میشود.
از آنجایی که بیشتر کلاسهای برنامهنویسی و دورههای آنلاین، برنامهنویسان تازهکار را به سمت زبان برنامهنویسی با تقاضای بالا دعوت میکنند، شما می توانید با یادگیری C خود را متمایز کنید. این کار میتواند بسیاری از فرصتهای شغلی را که نه فقط در زبانهای سطح بالا بلکه در زبانهای سطح پایین نیز وجود دارند، در اختیارتان قرار دهد.
شروع به برنامه نویسی تحت زبان C
C برای یادگیری آسان نیست؛ خصوصا اگر اولین زبان برنامهنویسی شما باشد. اگر علاقه به یادگیری زبان برنامهنویسی C دارید، پیشنهاد میکنیم از مطالب زیر استفاده نمایید.
^^
اگه اشتباه نکنم امتیاز Github توسط شرکت میکروسافت خریداری شده، با این حساب زیاد نمیشه به صحت آمار و ارقام اون اعتماد کرد چون C زبان پایه free software movement یا همون نرم افزارهای اپن سورس و آزاده و معلومه که ماکروسافت و امثالهم این جامعه آزاد و دشمن خودوشون میدونن و مرتب با آمار جعلی و مقالات باصطلاح تخصصی و … سعی میکنن زبان C رو به حاشیه برونن
سادگی، هوشمندی، سرعت، سبکی، قدرت و آزادی ویژگی هایی که فقط در زبان C وجود داره، C تقریبا هیچ محدودیتی برای برنامه نویس ایجاد نمیکنه و این مسئولیت رو بعهده خود برنامه نویس میذاره تا از این آزادی درست استفاده کنه. مدل برنامه نویسی شئ گرا ، یه زبان برنامه نویسی نیست تنها یه نوع روش و پارادایم برنامه نویسیه، که میشه تو هر زبانی حتی اسمبلی پیاده کرد تو C با استفاده از pointer, struct، array, typedef هرنوع ساختار داده، کلاس و اشیاء رو میشه ساخت. از C علاوه بر برنامه نویسی سطح سیستم در ساخت بسیاری نرم افزارهای کاربردی مدرن نیز استفاده میشه
با سلام و تشکر از مقاله ارزشمند تان
در زبان C کتابخانه های اپن سورس متنوع و گسترده ای وجود دارد که آشنایی با این کتابخانه ها کار برنامه نویسی را در این زبان بسیار راحت تر و سریع تر میکند مانند GTK, Glib و … به این اضافه کنید APIs کرنل سیستم عامل ها که تقریبا همه انها به C نوشته شده اند و همچنین قابلیت آمیخته شدن این زبان با زبان های سطح بالا مانند Python که در صورت تسلط برنامه نویس به امکانات زبان C، میتواند آزاد و خارج از فضای تجاری که شرکت هایی مانند ماکروسافت، گوگل، اپل و… که در جهت منافع خود و به منظور سلطه بر عرصه دیجیتال طراحی کرده اند، قرار گیرد. سیاست هایی که برنامه نویس و کاربر را در زندان مجلل اندروید، ویندوز و آیوس قرار میدهد و خارج از آن برنامه نویس عملا هیچ دانش بدردبخوری نخواهد داشت و اینها مدام در حال تغییر است یک روز java روز دیگر kotlin یه روز این زبان فردا آن زبان، و نهایتا این شرکت ها که همگی بر گرده و قدرت زبان C و جامعه اپن سورس و آزاد آن سوارند سعی فراوان دارند تا آنرا از دسترس عموم خارج کنند. زبان های سطح بالا و پرکاربرد مانند Python, Ruby و … همگی از جامعه اپن سورس و آزاد C بوجود آمدند، تسلط بر زبان C و امکانات آن به معنای واقعی کلمه از شما یک برنامه نویس “آزاد” می سازد
? ? Perfect
عالی بود.
انگیزه گرفتم مطالعه کنم
عالی بود ممنون✨
هر گونه بهرهگیری از مطالب مجله فرادرس به معنی پذیرش شرایط استفاده از آن بوده و کپی بخش یا کل هر کدام از مطالب، تنها با کسب مجوز مکتوب امکان پذیر است.
© فرادرس ۱۴۰۱
ورود / ثبتنام