چرا زبان C و ++C اینقدر طرفدار دارد ؟ نمی دانم چرا این زبان تحت داس و زشت چهره چرا برای برنامه نویسان اینقدر جذابیت دارد ؟
زبان C++ /C هنوز بهترین زبان برنامه نویسی برای حرفه ها در بسیاری از کشور های دنیا از جمله آمریکا است یعنی بالای 90% از نرم افزارهای تجاری که در منزل با آنها کار می کنید و اگر کسی در دانشگاه در زمینه کامپیوتر و یا برق (در رشته برق برای سخت افزار و درایور نویسی)درس می خواند
باید این زبان را به عنوان زبان اصلی بداند.
هر کسی برای اینکه قادر به خواندن کتاب های تحت سیستم عامل های پیشرفته 32 یا 64 بیتی باشید نیازمند خواندن حداقل 1000 صفحه کتاب در زمینه ++C/C دارد که آن هم مطمئنا تحت Console یا همان داس 16 بیتی می باشد ، حتی کتاب های منتشر شده سال 2007/2006. و سپس قادر به شروع کردن کتاب های پیشرفته بر روی سایر پلتفرم ها هستید ، از جمله :
windows, Linux, Mac OS
موبایل: Symbian-Nokia , Pocket PC
کنسول های بازی : PlayStation , Xbox ,Nitendo Wii
(من خودم ویژوال ++C آن هم تحت ویندوز نه داس کار می کنم و برای شروع بیش از 1500 صفحه کتاب و مقاله در زمینه خود زبان C تحت کنسول و سپس حدود 2000 صفحه در مورد برنامه نویسی API های ویندوز از طریق C خواندم.)
من بارها شنیده ام که #C زبان فدرتمندی است ، ولی نمیدانم چرا ؟ قدرتمند یعنی چه ؟
کدهای زبان ++C و C آن هم به صورت Native یا unmanaged (بدون .Net) بالاترین قدرت و کیفیت اجرائی را دارد و از طریق آن همه چیز در کنترل شماست , اما به دلیل سطح پایین بودن توابع ، سختی ، وقت گیر بودن و هزینه بر بودن آن، امروزه در برخی از موارد در آنجایی که به performance بسیار بالا نیاز نیست( از جمله سیستم های اداری و پایگاه دادهای )می توان به جای آن از زبان های تحت .net استفاده کرد ، که #C با توجه به برخی موارد بهترین انتخاب است، مانند "ساده تر بودن ، کم هزینه تر بودن ، کاهش سرعت زمان برنامه نویسی ، شبیه بودن به زبان C ، دارا بودن این قابلیت که در صورت عدم وجود قابلیتی در .Net بتوان API های ویندوز را که توسط زبان C می باشد فراخوانی و استفاده کرد."
اما برخی از کاستی ها و نقایص آن که باعث می شود برنامه نویسان حرفه ای دنیا در همه موارد آن را جایگزین C نکنند :
- عدم پشتیبانی رسمی مایکروسافت از #C در سایر پلتفرم ها مثل linux, Mac OS, Nokia-symbian و غیره. (در حالی که این کار از C بر می آید.)
- وابسته بودن آن به .Net
- کنترل کامل نداشتن بر روی حافظه و همین طور کاهش اندک سرعت که البته فقط در کارهای high performance مشکل ساز خواهد بود.
ولی چون برنامه نویسی رایج در کشورمان نوشتن سیستم های اداری و نرم افزارهای پایگاه داده ای شده است در نتیجه در کشور ما وضع به گونه ای دیگر شده ، یعنی کلا نابودی C و ++C !!! و این فقر اطلاعاتی در تمامی افراد و حتی برنامه نویسان حرفه ای سایر زبان ها در کشورمان و همین طور دانشجویان به وجود آمده است که حتی پس از فارغ التحصیلی هیچ کدام نمی دانند که C تحت کنسول سیاه رنگ فقط یک شروع است و از طریق آن می توان با برنامه نویسی حرفه ای به تمامی API ها و توابع سیستم عامل دسترسی داشت.