در این مقاله قصد داریم بررسی کنیم ببنیم که NET Core. چگونه #C را به زبانی مهم برای یادگیری تبدیل کرده است. احتمالاً راجع به برنامهنویسهای چندزبانه و اینکه چگونه بعضی زبانهای جدید خیلی گُل کردهاند شنیدهاید که از آن جمله میتوان به Ruby ،Python ،Scala ،Go ،Swift و یکسری دیگر اشاره کرد اما الان دانستن اینکه مایکروسافت با NET Core. چگونه میتواند دیدگاه اپنسورسیها را نسبت به این کمپانی تغییر دهد، موضوع جالبی به نظر میرسد.
مشکلی که در رابطه با بسیاری از زبانهای برنامهنویسی وجود دارد این است که آنها فقط در یک حوزهٔ خاص کارآمد هستند؛ مثلاً زبانهای Ruby و PHP در برنامههای تحت وب خوب عمل میکنند یا Swift و Objective-C برای کدنویسی اپلیکیشن iOS یا macOS عالی هستند و اگر هم میخواهید یک بکاند سرویس بنویسید، میتوانید از Python ،Java یا زبانهای دیگر استفاده کنید.
اینکه بخواهید برای همهفنحریف به نظر رسیدن زبانهای برنامهنویسی متعددی یاد بگیرید، مسئلهای دشوار است و ممکن است باعث از دست دادن زمانتان گردد! نکتهٔ جذابی که راجع به #C وجود دارد تطبیقپذیری گستردهٔ آن است که به واسطهٔ این قابلیت میتوان از آن در نوشتن اپلیکیشن برای اکوسیستمهای مختلفی استفاده کرد. در حال حاضر، با داتنتکور، که سازگار با مک و لینوکس هم هست، دیگر هیچ محدودیتی برای شما وجود ندارد.
به نظر میرسد که داتنتکور جای خودش را در بازار باز کرده و پیشبینی میشود که تقاضای زیادی برای دولوپرهای این فریمورک در سالهای پیشرو وجود داشته باشد. با توجه به دادههای وبسایت TIOBE، زبان برنامهنویسی سیشارپ معمولاً یکی از پنج زبان برنامهنویسی محبوب است که در این دستهبندی معمولاً زبانهای جاوا، سی، سیپلاسپلاس و پایتون هم در کنار سیشارپ قرار دارند. روی هم رفته، اگر جزو آن دسته از برنامهنویسانی هستید که دوست دارند با چندین زبان مختلف کد بزنند و به یادگیری زبان برنامهنویسی جدیدی نیز فکر میکنند، در ادامه نکاتی را به شما معرفی خواهیم کرد در مورد اینکه چرا میتوانید سیشارپ و داتنتکور را در ابتدای لیست خود قرار دهید؛ اما پیش از آن، میتوانید به مقاله زیر که مرتبط با NET Core. هست نیز مراجعه نمایید:
- مقایسهٔ NET. و NET Core. و ایجاد اولین پروژه با NET Core. در ویژوال استودیو 2017
یادگیری آسان
اگر با سی و جاوا و حتی جاوااسکریپت کد زده باشید، سینتکس سیشارپ که به آسانی خوانده و فهمیده میشود به نظرتان خیلی آشنا خواهد آمد. بر اساس شاخص TIOBE که در بالا به آن اشاره شد، هزاران دولوپر وجود دارند که با این زبان کد میزنند (لازم به ذکر است که منابع آنلاین رایگان زیادی وجود دارند که به شما در یادگیری سیشارپ کمک خواهند کرد.)
ویژگیهای یک زبان مدرن
داتنت مدت طولانی است که بر سر کار بوده و در طول دههای گذشته به طور پیوسته پیشرفت داشته است؛ مانند تغییرات چشمگیری که در LINQ (مخفف Language Integrated Quary) یا Async/Await و همچنین MVC داشته است. مشاهدهٔ پیشرفت داتنت در طول زمان جالب است و این در حالی است که با داتنتکور چیزهای زیادی تغییر کرده است که از آن جمله میتوان به اِستک ASP.NET که به طور کامل مورد بازبینی قرار گرفته اشاره کرد که روی هم رفته برخی از ویژگیهای شاخص آن عبارتند از:
- Strongly Typed
- لایبرریهای قدرتمند Base Class
- برنامهنویسی Asynchronous
- گاربج کالکشن و مدیریت خودکار حافظهٔ
- LINQ (زبان جستوجوی یکپارچه)
- جنریکها
- مدیریت پکیج
- قابلیت به اشتراکگذاری فایلهای باینری در فریمورکها و پلتفرمهای مختلف
- آسان جهت استفاده از این فریمورک برای ایجاد برنامههای تحت وب با معماری MVC و یکسری API از جنس RESTful (این معماری مرتبط با طراحی وب سرویس است که از پروتکل HTTP برای انتقال اطلاعات میان کلاینت و سرور استفاده میکند که جهت آشنایی بیشتر با این مفهوم میتوانید به آموزش آشنایی با مفهوم RESTful API مراجعه نمایید.)
تطبیقپذیری و همهکاره بودن
یکی از بهترین چیزها راجع به داتنت و سیشارپ قابلیت تطبیقپذیری آنها است؛ مثلاً علاوه بر سیشارپ، با دانستن کمی جاوااسکریپت و یا تایپاسکریپت میتوان در زمینهٔ طراحی رابط کاربری هم دستی بر آتش داشت (جالب است بدانید که تمپلیتهای ASP.NET Core از لیاوتهای Bootstrap و همچنین پَکیج مَنجر npm برای به دست آوردن لایبرریهای سمت کلاینت استفاده میکنند.)
تطبیقپذیری یک موضوع مهم است زیرا وقتی برای یادگیری زبانی سرمایهگذاری میکنید، تطبیقپذیری و همهکاره بودن آن میتواند باعث استفادهٔ آن زبان برای موارد متعددتری شده و از طریق یادگیری یک زبان، مجموعه مهارتهای شما بسیار قابلاستفادهتر و کاربردیتر خواهند شد. همچنین اگر بخواهید کاری که میکنید را توسعه بخشید، این امکان را نیز خواهید داشت تا از سمت برنامههای وب به سوی ساخت اپهای موبایلی مهاجرت کنید که این تفاوت آشکارا و مهمی با دیگر زبانهای برنامهنویسیای که فقط سمت سرور هستند میباشند (البته ساپورت فرست کلاس برای Microsoft Azure و ساپورت کانتینرهای Docker که باعث سازگاری آسان برنامههای شما با AWS و دیگر ارائهدهندگان هاستینگ میشود را هم فراموش نکنید و این را در نظر داشته باشید که کدنویسی برای کلود تا به حال به این آسانی نبوده است.)
ابزارهای کاربردی برای دولوپرها
Visual Studio و Visual Studio Code همواره به عنوان دو IDE محبوب یاد شدهاند به طوری که به منزلهٔ ادیتورهایی عالی هستند که ویژگیهایی مانند کد کامپلیشن، دیباگینگ، پروفایلینگ، یونیت تستینگ و غیره را ساپورت میکنند و این در حالی است که یک نسخهٔ کامل، رایگان و با تمام ویژگیها از Visual Studio Code برای کاربران سیستمعاملهای مختلف است توسط مایکروسافت عرضه شده است (برای کسب اطلاعات بیشتر، به مقالهٔ مایکروسافت Visual Studio Code را به صورت اپنسورس برای Windows، OS X و Linux عرضه کرد مراجعه نمایید.)
نوشتن کد برای داتنتکور با ادیتور مورد علاقهٔتان نیز امکانپذیر است؛ همینطور شما میتوانید از ویژوال استدیو کد بر روی هر سیستمعاملی به عنوان یک کد ادیتور کاربردی و کاربردی استفاده کنید. کسانی که از Vim یا Emacs استفاده میکنند هم میتوانند از سیشارپ استفاده کنند (همچنین میتوانید پلاگینهایی نصب کنید تا بتوانید همهٔ کلیدهای میانبر مورد علاقهٔتان را به آن اضافه کنید.)
استانداردسازی مهارتها
داتنت حاوی لایبرریهای خیلی خوب به اصطلاح Base Class است و این در حالی است که فانکشنهای سادهٔ کار با چیزهای مختلفی منجمله استرینگها در آن گنجانده شده است که از آن جمله میتوان به ()LeftPad اشاره کرد به طوری که مجموعهٔ گستردهٔ بیس کلاسها واقعاً نیاز به پکیجهای خارجی را کاهش میدهند.
مایکروسافت مجموعهای بسیار خوب از پترنها و کامندها را برای داتنت فراهم کرده است؛ مانند دسترسی استاندارد به دادهها از طریق Entity Framework و زیرساختهای پیشفرض MVC. اکثر دولوپرها از این فریمورکهای استاندارد استفاده میکنند و این باعث میشود که به عنوان دولوپر، به آسانی بین پروژههای مختلف سوئیچ کنند و به سرعت متوجه جریان چگونگی کارکرد سورسکد و برنامه شوند. در واقع، چنین قابلیتهایی است که منجر به این خواهند گشت تا دانش و مهارت شما هم قابلاستفادهتر و کارآمدتر شوند.
داتنتکور اپنسورس است
یکی از بزرگترین تغییراتی که تا به حال شامل حال داتنت شده است، #اپنسورس شدن آن بوده است و این تغییری بزرگ است که کسی هرگز فکرش را هم نمیکرد از طریق مایکروسافت اتفاق افتد! در حال حاضر، تقریباً تمام سورسکد داتنتکور برای همه به منظور مشاهده، بررسی، مشارکت و توسعهٔ آن در گیتهاب در دسترس است (مشاهدهٔ پروفایل NET Core. در گیتهاب)
حتی اگر در نوشتن سورسکد هم مشارکت نمیکنید، میتوانید از کارگروه بزرگی که آن را مینویسند و در آن مشارکت دارند بهره ببرید؛ امروزه مشکلات و پیشرفتها فناورانه به سرعت مورد بررسی قرار میگیرند، کدنویسی میشوند و برای استفادهٔ دیگر دولوپرها به صورت منظم در دسترس قرار میگیرند و دیگر روزهایی که باید به خاطر پیشرفتهای بزرگ و رفع اشکالات جزئی معطل آپدیت میماندید، به سر آمده است!
حال نوبت به نظرات شما میرسد. آیا تاکنون تجربهٔ کار با NET Core. و زبان #C را داشتهاید؟ به نظر شما آیا آینده میتواند در دست فناوریهای اپنسورس مایکروسافتی باشد؟ نظرات، دیدگاهها و تجربیات خود را با سایر کاربران سکان آکادمی به اشتراک بگذارید.