چرا NET Core. سی شارپ را به زبانی مهم برای یادگیری تبدیل کرده است؟

دوشنبه 22 مرداد 1397

آیا درحال حاضر #C بهترین زبان برای آموزش می باشد؟ با تنوع، ویژگی های جدید و OSS گسترده می تواند بهترین گزینه باشد. چگونگی اینکه NET Core . سی شارپ را گام بزرگ بعدی قرار داده است را در این پست متوجه خواهید شد.

چرا NET Core. سی شارپ را به زبانی مهم برای یادگیری تبدیل کرده است؟

برای سال ها من درباره زبان های برنامه نویسی چند منظوره و اینکه چگونه برخی از زبان های جدید یک پدیده ی جالب شدند مطالعه کردم. با گذشت زمان زبان هایی نظیر Ruby، Python، Scala، Go، Node.js، Swift و موارد دیگر به وجود آمدند. جالب است که ببینید مایکروسافت و گروه آن چه کاری را NET Core. انجام دادند و چگونه این زبان به یک پدیده ی جذاب جدید تبدیل شد.

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

اگر بخواهید زبانهای برنامه نویسی زیادی را یاد بگیرید، مسئله ای دشوار خواهد بود و این موضوع فرصت های شغلی را محدود می کند. موضوع فوق العاده درباره ی C# تنوع بالای آن است که می تواند برای طیف متنوعی از اپلیکیشن ها استفاده شود. امروزه با NET Core. حقیقتا کار با MacOS  و لینوکس هیچ محدودیتی وجود ندارد. این موضوع را در ادامه با جزئیات بیشتری بررسی خواهیم کرد.

چرا C# و NET Core. گام های بزرگ بعدی هستند؟

من با NET Core. بیش از یک سال کار کرده ام و بسیار تحت تاثیر آن قرار گرفته ام. حتی یک اپلیکیشن NET. را برای اجرا روی یک Mac پورت کرده ام که دیدن اجرای آن بعد از همه ی این سال ها بسیار شگفت انگیز بود.

از آنجایی که شرکت ما ابزار های توسعه که با NET Core. هم کار می کند، می سازد، احساس می کنم که ما بیشتر با آن چیزی که در حال رخ دادن است مرتبط هستیم. پیش بینی می شود که NET Core. رشدی بسیار سریع خواهد داشت و من پیشبینی می کنم که نیاز به توسعه دهندگان NET Core. در سال 2018 بسیار زیاد خواهد بود. ما هرروزه با مشتریانی که هم اکنون در تولید، درحال اجرای اپلیکیشن های NET Core. صحبت می کنیم.

بنابر شاخص برنامه نویسی TIOBE، C# درحال حاضر یکی از پنج زبان برنامه نویسی برتر است.

6 موردی که باید درباره ی C# و NET Core. بدانید

اگر شما به یادگیری یک زبان برنامه نویسی جدید فکر می کنید، من می خواهم برخی از دلایل خود که چرا C# و NET Core. باید در راس لیست شما قرار بگیرد را در اختیار شما قرار دهم.

یادگیری آسان

اگر شما در C ، جاوا یا حتی جاوااسکریپت برنامه نویسی کرده باشید syntax سی شارپ برای شما بسیار آشنا خواهد بود. خواندن و فهم syntax ساده است. بنابر شاخص TIOBE که پیش تر آن را دیدیم میلیون ها توسعه دهنده وجود دارد که می توانند به راحتی از جاوا یا C به این زبان بیایند.

منابع زیادی برای کمک به شما در یادگیری C# وجود دارد که بسیاری از آن ها رایگان هستند و برخی هم هزینه ی کمی دریافت می کنند.

Pluralsight: هزینه ی اشتراکی کمی را برای محتوا های آموزشی عالی دریافت می کند.

Microsoft Virtual Academy: فیلم ها و ارزیابی های رایگان دارد.

Microsoft Getting Started with C# : آموزش های تعاملی رایگان دارد.

ویژگی های زبان مدرن

NET. سابقه ی طولانی دارد و در طی 15 سال اخیر دائما تغییر و پیشرفت داشته است. در طی سال های اخیر من پیشرفت های بی نظیری از جمله MVC ، generic ها، LINQ، async/awaitو بسیاری موارد دیگر را دیده ام. به عنوان فردی که شخصا وقت خود را وقف این زبان کرده ام، مشاهده ی پیشرفت آن در طی زمان بسیار شگفت انگیز است. NET Core. تغییرات زیادی داشته است از جمله اینکه stack کاملا تغییر کرده است.

در اینجا برخی از ویژگی های برتر را معرفی خواهیم کرد:

-Strongly Typed

class librarie- های پایه ای قوی

-برنامه نویسی ناهمگام (Asynchronous)- سهولت استفاده از الگوی async/await

-کالکشن Garbage و مدیریت خودکار حافظه

LINQ- – زبان تجمیع شده ی کوئری ها

Generic- ها - List<T>, Dictionary<T, T>

-مدیریت پکیج

-قابلیت اشتراک گذاری باینری ها از طریق framework ها و platform های چندگانه

Framework- هایی که استفاده از آن ها برای ساخت وب اپلیکیشن های MVC و API های RESTful ساده است.

تطبیق پذیری: وب، موبایل، سرور، دسکتاپ

یکی از بهترین موارد درباره ی C# و NET. تنوع بالای آن است. من می توانم اپلیکیشن های دسکتاپ،وب اپلیکیشن ها ،سرویس های پیش زمینه ای و حتی اپلیکیشن های موبایل را با استفاده از Xamarin بنویسیم. درکنار C# تمام چیزی که باید بدانم کمی جاوااسکریپت (به کمک TypeScript) برای هک برخی از کد های UI (که من هنوز سعی می کنم از آن جلوگیری کنم) می باشد. templateها ی ASP.NET Core حتی از layout های Bootstrap و npm برای استفاده از کتابخانه های سمت کلاینت استفاده می کند.

تطبیق پذیری یک چالش بزگ است زیرا سرمایه گذاری برای یادگیری زبان می تواند برای مجموعه ای گسترده از موارد استفاده شود. مجموعه ی مهارت های شما بسیار منعطف است. اگر شما می خواهید مواردی را که درحال انجام هستید را بایکدیگر ترکیب کنید، می توانید از ساخت وب اپلیکیشن ها به ساخت اپلیکیشن های موبایل پرش کنید. این مورد یک تفاوت اساسی با بسیاری از زبان های برنامه نویسی که تنها در سمت سرور کار می کنند، می باشد.

اجازه دهید بهترین پشتیبانی از Microsoft Azure را فراموش نکنیم. هیچگاه مانند الان اجرا و توسعه در کلود تنها با چند کلیک ساده نبوده است. همچنین از مخازن Docker نیز پشتیبانی می شود که توسعه ی اپلیکیشن ها AWS یا ارائه دهندگان هاست دیگر را آسان می کند.

ابزار های توسعه ی عالی

ویژوال استدیو همیشه به عنوان یکی از بهترین IDE های دردسترس برای توسعه دهندگان معرفی شده است. این IDE یکی از بهترین ویرایشگر های کد است که از ویژگی هایی نظیر کد کامپلیشن،دیباگ کردن، پروفایلینگ، ادغام با Git ، تست unit و بسیاری موارد دیگر پشتیبانی می کند. در حال حاضر ویژوال استدیو یک نسخه ی کامل رایگان را به عموم ارائه می دهد.

همچنین ممکن است که برای NET Core. به عنوان فایل های متنی پایه ای با ویرایشگر متنی مورد علاقه ی خود کدنویسی کنید. شما همچنین می توانید از Visual Studio Code برای هر سیستم عاملی به عنوان یک ویرایشگر کد عالی استفاده کنید. برای افرادی که هیچگاه از vim یا emacs دست نمی کشند باید بگوییم که شما می توانید C# را نیز توسعه دهید.شما همچنین می توانید یک پلاگین برای ویژوال استدیو برای اضافه کردن همه ی کلید های میانبر مورد علاقه ی خود نصب کنید.

تمام محیط NET. سرشار از ابزار های توسعه ای شگفت انگیز است. برای مثال من کار بدون Resharper از Jetbrains را نمی توانم تصور کنم. تعداد زیادی از ابزار های عالی وجود دارد که شامل ترکیبی از محصولات open source و تجاری می باشد.

استاندارد سازی مهارت ها

NET. با مجموعه ای از class librarie های بسیار عالی همراه است. برخلاف Node.js توابع رشته ای ساده نظیر LeftPad() وجود دارد. آرایه ی وسیعی از کلاس های پایه ای واقعا نیاز به پکیج های خارجی را کاهش می دهد. مایکروسافت به برخی از پروژه های عمومی نظیر JSON.NET برای اینکه یکی از کتابخانه های کلیدی که در بسیاری از پروژه ها استفاده شود، نیز تکیه کرده است.

مایکروسافت مجموعه ی بسیار خوبی از طرح ها و تمرینات برای NET. ارائه می دهد. برای مثال دسترسی به داده های استاندارد (entity framework) و frameworkهای آماده ی model-view-controller (MVC)  وجود دارد. بسیاری از توسعه دهندگان از این framework های استاندارد استفاده می کنند. این ویژگی به توسعه دهندگان امکان جابجایی بین تیم ها و استانداردسازی های سریع ازاینکه چگونه موارد کار می کنند را می دهد. با این امکان دانش و مهارت شما قابل انتقال می شود.

دات نت کور ، Open Source است

یکی از بزرگترین تغییراتی که در NET. اتفاق افتاده است Open Source کردن کد ها بوده است. درحال حاضر به صورت مجازی تمام کد ها در GitHub برای عموم به منظور مشاهده، بررسی و مشارکت دردسترس است. این تغییر بزرگی بود که اکثر افراد در این حرفه فکر نمی کردند اتفاق بیفتد. (سورس کد)

به عنوان یک توسعه دهنده نیاز دارید که عمیقا بررسی کنید که کد شما واقعا چه کاری انجام می دهد برای مثال در گذشته، یکبار فکر کردم که اگر Dispose() را در database connection فراخوانی کنم آیا ارتباط را می بندد یا نه. اگر شما بتوانید به نحوی به source code دسترسی داشته باشید به سرعت می توانید اینگونه سوال ها را بررسی کنید.

حتی اگر در source code مشارکتی نداشته اید از اجتماع بزرگی که در آن هستید سود خواهید برد. مسائل و بهبود ها به سرعت بحث کدزنی می شوند و برای استفاده در اختیار شما قرار می گیرد.

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید