چگونه NET Core. راه را برای یادگیری #C باز می‌کند؟

آیا واقعا سی‌شارپ باحال‌ترین و مهم‌ترین زبانی است که باید برای برنامه‌نویسی یاد گرفت؟ باوجود همه‌کاره بودن آن و داشتن قابلیت تطابق‌پذیری و برخی ویژگی‌های جدید، بعید هم نیست که این‌طور باشد! در این مقاله قصد داریم بفهمیم که NET Core. چگونه سی‌شارپ را به زبانی مهم برای یادگیری تبدیل کرده است. احتمالا راجع به برنامه‌نویس‌های چندزبانه و این‌که چگونه بعضی زبان‌های جدید خیلی گل کرده‌اند شنیده‌اید (یا حتی شاید خودتان جزو آن دست برنامه‌نویس‌ها باشید!) از جمله زبان‌هایی که در این سال‌ها خیلی روی کار بوده‌اند می‌توان به Ruby ،Python ،Scala ،Go ،Node.js ،Swift و یک سری دیگر اشاره کرد اما الان دانستن این‌که مایکروسافت و گروهش با دات‌نت‌کور چه کرده‌اند و چگونه دات‌نت آن‌قدر مشهور شده است می‌تواند دیدگاه اپن‌سورسی‌ها را نسبت به مایکروسافت تغییر دهد،‌ موضوع جالبی باشد. پس در ادامه با سکان آکادمی همراه باشید!

مشکلی که در رابطه با بسیاری از زبان‌های برنامه نویسی وجود دارد این است که آن‌ها فقط در یک پلتفرم خاص کارآمد هستند؛ مثلا زبان‌های Ruby و PHP در برنامه‌های تحت وب خوب عمل می‌کنند یا Swift و Objective-C برای ایجاد برنامه‌های iOS یا MacOS عالی هستند. اگر می‌خواهید یک بک‌گراند سرویس بنویسید می‌توانید از Python ،Java یا زبان‌های دیگر استفاده کنید اما علاوه بر سی‌شارپ، جاوا اسکریپت و جاوا احتمالا تنها زبان‌هایی هستند که می‌توانند برای موارد متعددی استفاده‌ شوند.

این‌که بخواهید برای همه‌فن‌حریف به نظر رسیدن، زبان‌های برنامه‌نویسی متعددی یاد بگیرید مسئله‌ای دشوار است و باعث محدود شدن فرصت‌های شغلی‌تان می‌شود؛‌ نکتهٔ جذابی که راجع به سی‌شارپ وجود دارد تطابق‌پذیری گستردهٔ آن است که بواسطهٔ این قابلیت می‌توان از آن در نوشتن تعداد برنامه‌های بیشتری استفاده‌کرد. در حال حاضر با دات‌نت‌کور که سازگار با مک و لینوکس هم هست، دیگر هیچ محدودیتی برای شما وجود ندارد.

چرا #C و NET Core. مهم هستند؟
به‌نظر می‌رسد که دات‌نت‌کور جای خودش را در بازار باز کرده و پیش‌بینی می‌شود که تقاضای زیادی برای دولوپرهای این فریمورک در سال جاری و سال ۲۰۱۸ وجود داشته‌ باشد. باتوجه به شاخص برنامه‌نویسی TIOBE، سی‌شارپ در حال حاضر یکی از ۵ زبان برنامه‌نویسی تاپ است که در این دسته‌بندی زبان‌های جاوا، سی، سی‌پلاس‌پلاس و پایتون هم در کنار سی‌شارپ قرار دارند. روی هم رفته‌، اگر جزو آن دسته از برنامه‌نویسانی هستید که دوست دارند با چندین زبان مختلف کد بزنند و به یادگیری زبان برنامه‌نویسی جدیدی فکر می‌کنند، در ادامه نکاتی را به شما معرفی خواهیم‌ کرد در مورد این‌که چرا باید سی‌شارپ و دات‌نت‌کور را در ابتدای لیست خود قراردهید.

یادگیری آسان
اگر با سی و جاوا و حتی جاوا اسکریپت برنامه‌نویسی کرده‌ باشید، سینتکس سی‌شارپ که به آسانی خوانده و فهمیده می‌شود به‌نظرتان خیلی آشنا خواهد آمد. بر اساس شاخص TIOBE که در بالا به آن اشاره شد، میلیون‌ها دولوپر وجود دارند که می‌توانند مسیرکاری‌شان را از جاوا و سی به سمت سی‌شارپ تغییر دهند (لازم به ذکر است که منابع آنلاین رایگان زیادی وجود دارند که به شما در یادگیری سی‌شارپ کمک خواهند کرد.)

ویژگی‌های یک زبان مدرن
دا‌ت‌نت مدت طولانی است که بر سر کار بوده و در طول ۱۵ سال گذشته به‌طور پیوسته تغییر و پیشرفت داشته‌است؛ مانند تغییرات چشم‌گیری که در MVC، جنریک‌ها، LINQ (مخفف Language Integrated Quary ) و Async/Await داشته‌ است. مشاهدهٔ پیشرفت دات‌نت در طول زمان جالب است؛ با دات‌نت‌کور چیزهای زیادی تغییر کرده‌است، از جمله تمام استک ASP.NET که به‌طور کامل دوباره مورد بررسی قرار گرفته است که روی هم رفته برخی از ویژگی‌های برتر آن عبارتند از:

ـ Strongly Typed
ـ لایبرری‌های قدرتمند بیس کلاس
ـ برنامه‌نویسی Asynchronous
ـ گاربج‌ کالکشن و مدیریت خودکار حافظهٔ 
ـ LINQ (زبان جست‌و‌جوی یکپارچه)
ـ جنریک‌ها
ـ مدیریت پکیج
ـ قابلیت به اشتراک‌گذاری فایل‌های باینری در فریمورک‌ها و پلتفرم‌های مختلف
ـ آسان جهت استفاده از فریمورک‌ها برای ایجاد برنامه‌های تحت وب با معماری MVC و API‌های Restful (رست‌فول یک معماری وب سرویس است که از HTTP برای انتقال اطلاعات میان کلاینت و سرور استفاده می‌کند؛ جهت آشنایی بیشتر با این مفهوم، به آموزش آشنایی با مفهوم RESTful API مراجعه نمایید.)

تطبیق‌پذیری و همه‌کاره بودن: وب، موبایل، سرور، دسکتاپ
یکی از بهترین چیزها راجع به دات‌نت و سی‌شارپ قابلیت تطابق‌پذیری آن‌ها است؛ مثلا علاوه بر سی‌شارپ، دانستن کمی جاوا اسکریپت و یا تایپ‌اسکریپت، می‌توان در زمینهٔ طراحی رابط کاربری هم دستی بر آتش داشت. جالب است بدانید که تمپلیت‌های ASP.NET Core از لی‌اوت‌های بوت‌استرپ و npm برای به‌دست آوردن لایبرری‌های سمت کلاینت استفاده‌ می‌کنند.

تطابق‌پذیری یک موضوع مهم است چون وقتی برای یادگیری زبانی سرمایه‌گذاری می‌کنید، تطابق‌پذیری و همه‌کاره بودن آن می‌تواند باعث استفادهٔ آن زبان برای موارد متعددتری شده و از طریق یادگیری یک زبان تطابق‌پذیر، مجموعه مهارت‌های شما بسیار قابل استفاده‌تر و کاربردی‌تر خواهند بود. اگر بخواهید کاری که می‌کنید را ادغام کنید، این امکان را خواهید داشت که از سمت برنامه‌های وب به سوی ساخت اپ‌های موبایلی مهاجرت کنید. این تفاوت آشکارا و مهمی با دیگر زبان‌های برنامه‌نویسی‌ای که فقط سمت سرور هستند می‌باشد.

البته ساپورت فرست کلاس برای Microsoft Azure و ساپورت کانتینرهای داکر که باعث سازگاری آسان برنامه‌های شما با AWS ( سرویس وب آمازون) و دیگر ارائه‌دهندگان هاستینگ می‌شود را هم فراموش‌ نکنید و این را درنظر داشته باشید که استفاده از کلود تابه‌حال به این آسانی نبوده است.

ابزارهای جذاب برای دولوپرها
ویژوال استدیو همواره به عنوان یکی از بهترین IDE (مخفف واژگان Integrated Development Environment)های موجود یاد شده‌ است؛ ویژوال استدیو یک کد ادیتور عالی است که ویژگی‌هایی مانند کد کامپلیشن، دیباگینگ، پروفایلینگ، یونیت تستینگ و غیره را ساپورت می‌کند. ویژوال استدیو اکنون ارائه‌دهندهٔ یک نسخهٔ کامل، رایگان و با تمام ویژگی‌ها برای کاربران سیستم‌عامل‌های مختلف است.

نوشتن کد برای دات‌نت‌کور با کد ادیتور مورد علاقه‌ٔتان نیز امکان‌پذیر است؛ همین‌طور شما می‌توانید از کد ویژوال استدیو بر روی هر سیستم عاملی، به عنوان یک کد ادیتور عالی و کاربردی استفاده‌ کنید. کسانی که از vim یا emacs استفاده‌‌ می‌کنند هم می‌توانند از سی‌شارپ استفاده‌ کنند. همچنین می‌توانید یک پلاگین نصب کنید تا بتوانید همهٔ کلیدهای میانبر مورد علاقه‌ٔتان را به آن اضافه‌ کنید. کل اکوسیستم دات‌نت پر از دولوپر-تولزهای شگفت‌انگیز از جمله ترکیبی از مجصولات اپن‌سورس و تجاری که هدف همگی آن‌ها تنها یک چیز است: آسان‌تر کردن زندگی دولوپرها!

استانداردسازی مهارت‌ها
دات‌نت حاوی لایبرری‌های خیلی خوب بیس‌ کلاس است؛ برخلاف Node.js، فانکشن‌های سادهٔ کار با استرینگ‌ها در آن گنجانده شده است که از آن جمله می‌توان به ()LeftPad اشاره کرد. مجموعهٔ گستردهٔ بیس‌کلاس‌ها واقعا نیاز به پکیج‌های خارجی را کاهش می‌دهند. مایکروسافت هم بر روی برخی پروژه‌های جمعی مانند JSON.NET تکیه کرده‌ است تا از لایبرری‌های کلیدی‌ای باشند که به‌طور گسترده در اکثر پروژه‌ها استفاده می‌شوند.

مایکروسافت مجموعه‌ای بسیار خوب از پترن‌ها و دستورات برای دات‌نت فراهم کرده‌ است مانند دسترسی استاندارد به داده‌ها از طریق Entity Framework و زیرساخت‌های پیش‌فرض MVC. اکثر دولوپرها از این فریم‌ورک‌های استاندارد استفاده‌ می‌کنند و این باعث می‌شود که به‌عنوان دولوپر، به آسانی بین پروژه‌های مختلف حرکت کنند و به‌سرعت متوجه جریان چگونگی کارکردن سورس‌کد و برنامه شوند. چنین قابلیت‌هایی است که منجر به این خواهند گشت تا دانش و مهارت شما هم قابل استفاده‌تر و کارآمدتر شوند.

دات‌نت‌کور اپن‌سورس است
یکی از بزرگترین تغییراتی که تابه‌حال شامل حال دات‌نت شده است، اپن‌سورس شدن آن بوده‌ است و این تغییری بزرگ است که کسی هرگز فکرش را هم نمی‌کرد از طریق مایکروسافت اتفاق افتد!؛ درحال حاضر تقریبا تمام سورس‌کد دات‌نت‌کور برای همه به‌منظور مشاهده، بررسی، مشارکت و بسط دادن آن در گیت‌هاب در دسترس است (مشاهدهٔ پروفایل دات‌نت‌کور در گیت‌هاب.) 

حتی اگر در نوشتن سورس‌کد هم مشارکت نمی‌کنید، می‌توانید از کارگروه بزرگی که آن‌را می‌نویسند و در آن مشارکت دارند بهره ببرید؛ امروزه مشکلات و پیشرفت‌ها فناورانه به‌سرعت مورد بررسی قرار می‌گیرند، کدنویسی می‌شوند و برای استفادهٔ شما به‌صورت منظم در دسترس قرار می‌گیرند و دیگر روزهایی که باید به‌خاطر پیشرفت‌های بزرگ و رفع اشکالات جزئی معطل آپدیت می‌ماندید، به‌سر آمده است!

حال نوبت به نظرات شما می‌رسد؛ آیا تاکنون تجربهٔ کار با دات‌نت‌کور و زبان قدرتمند سی‌شارپ را داشته‌اید؟ به نظر شما آیا آینده می‌تواند در دست این زبان باشد؟ نظرات و دیدگاه‌های خود را با ما و سایر کاربران سکان آکادمی به اشتراک بگذارید.

Why .NET Core Made C# Your Next Programming Language to Learn

0


نهال سهیلی فر

من با بیش از 9 سال تحصیل زبان انگلیسی در آموزشگاه، در حال حاضر دانشجوی کارشناسی مترجمی فرانسه در دانشگاه الزهرا هستم و سابقهٔ فعالیت به‌عنوان مترجم سایت، فیلم و سریال، توانایی ترجمهٔ همزمان، توانایی ترجمهٔ فارسی به انگلیسی و بلعکس رو دارم.






از طریق این فرم، می توانید بدون ثبت نام نظر دهید و یا اگر قبلا ثبت نام کرده اید، با ورود ناحیه ی کاربری می توانید علاوه بر ثبت نظر، به مدیریت نظرات خود نیز بپردازید.
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)