سی شارپ و دات‌نت مدرن: پیش گفتار

فهرست مطالبسی شارپ بدون شک زبانی هست که اسمش به گوش هر فردی که تنها مدتی هم با کامپیوتر کار کرده باشه؛ خورده. این زبان از ۲۰۰۲ در صنعت به صورت گسترده مورد استفاده بوده و تعداد بسیار زیادی کتابخانه برای اون هم از سوی خالقش، یعنی مایکروسافت و هم از سوی برنامه نویس ها و شرکت های مستقل برای اون منتشر شده. مایکروسافت این زبان رو کم و بیش همزمان با فریم ورک دات نت توسعه داد و از اونجایی که تا همین اواخر دات نت منحصرا در ویندوز اجرا می شد؛ برنامه نویس های سی شارپ هم عملا محدود به اکوسیستم خود مایکروسافت بودند و کمتر پروژه هایی رو دیدیم که از سی شارپ برای ساخت اپلیکیشن های کراس پلتفرم استفاده کنند. البته مثال های نقض بزرگی مثل یونیتی هم وجود دارند. هر چند موتور یونیتی با C++ نوشته شده و از سی شارپ برای توسعه بازی تحت یونیتی استفاده میشه. به هر ترتیب از سال ۲۰۱۴ یک تغییر جهت بزرگ اتفاق افتاد و مایکروسافت تصمیم گرفت سورس کد سی شارپ رو به طور عمومی منتشر کنه و همچنین شروع به توسعه دات نت Core کرد که هدفش پشتیبانی از سایر سیستم عامل ها به غیر از ویندوز، یعنی مک، iOS و اندروید بود. حالا، یعنی اواخر ۲۰۲۱ وضعیت به گونه ای هست که دات نت فریم ورک عملا از مدار خارج شده و دات نت Core (که حالا فقط به نام دات نت میشناسنش) به پلتفرم اصلی و رسمی مایکروسافت برای سی شارپ تبدیل شده. به عبارت دیگر، امروزه سی شارپ یک زبان کاملا کراس-پلتفرم هست که می تونید ازش برای ساخت اپلیکیشن های native تمام سیستم عامل ها و همچنین وب اپلیکیشن ها استفاده کنید. در دنیایی که تقریبا هر ساله شاهد معرفی پلتفرم ها و زبان های برنامه نویسی جدید و جذاب و قدرتمند از سوی گوگل، فیس بوک و سایر غول های فناوری و البته برنامه نویس های مستقل هستیم؛‌ یادگیری یک زبان تقریبا ۲۰ ساله شاید اونقدر جذاب به نظر نیاد. هر چند تغییر رویه مایکروسافت که در بالا بش اشاره کردم؛ به نوعی جذابیت رو به C# برگردونده و اون رو تبدیل به یک گزینه داغ برای یادگرفتن کرده. البته این داستان روی دیگری هم داره چرا که در طی این دو دهه ورژن های زیادی از دات نت فریم ورک، دات نت کور، دات نت و فریم ورک های جانبی مثل Mono و Xamarin منتشر شده و این کار رو برای فردی که به تازگی قصد یاد گرفتن سی شارپ رو داره یا حتی برنامه نویس هایی (از جمله خود من) که مدتی از اکوسیستم مایکروسافت دور شده بودند؛ کمی پیچیده میکنه. در این سری مطالب قصد دارم که به صورت گام به گام و بخش به بخش شما رو با سی شارپ و روند مدرن کار با دات نت آشنا کنم. انگیزه‌م از ارائه این سری کاملا خود خواهانه‌ست :) اینطور تصور کنید که یک گیک کامپیوتر (که عاشق نوشتن هم هست) برای مدت نسبتا زیادی از تکنولوژی و بلاگینگ به دور بوده و حالا می خواد یه refresh و گرد گیری ای از اطلاعات خودش بکنه. با خودم فکر کردم که احتمالا ایده خوبیه که یادگیری هام تو این مسیر رو با سایر علاقه‌مندان احتمالی هم شر کنم. البته در این سری سعی بر این هست که تا جای ممکن مباحث مرحله به مرحله و از سطح مبتدی توضیح داده بشه که برای دوستانی که به تازگی میخوان برنامه نویسی رو شروع کنند هم مناسب باشه.با این حال این توضیح رو بدم که هدف آشنایی (تا حد امکان جامع) با سی شارپ و اکوسیستم مدرن دات نت هست و هدف آموزش مباحث کلی برنامه نویسی نیست. ضمنا قراره همینطوری غیر رسمی صحبت کنم و فارسی و انگلیسی رو قر و قاطی استفاده کنم. دلیلش هم اینه که فکر می کنم اینطور همه چیز طبیعی تر جلو بره! ضمنا با تمام مطالب به یک دید Beta برخورد کنید. منظور این که بعدا ممکنه بنا به صلاحدید متن ها رو ویرایش کنم و مطالبی رو بشون اضافه یا ازشون کم کنم.این یک پیش گفتار مختصر و (شاید) مفید بود برای شروع این سری. امیدوارم که دنبال کنید و براتون مفید باشه. در قسمت بعدی این سری درباره اکوسیستم دات نت بیشتر صحبت خواهیم کرد و مزایایی که یادگیری سی شارپ در دنیای امروز فناوری میتونه داشته باشه رو با هم مرور می کنیم. شاد باشید‌ :)