hamed hajiloo
hamed hajiloo
خواندن ۲ دقیقه·۲ سال پیش

سفر قهرمانی #C از روزی که به دنیا آمد!

این قهرمان ما از سال ۲۰۰۲ سفر خودش رو همراه با Visual Studio 2002 شروع کرد و تا الان (۲۰۲۳) حدود ۱۱ بار آپدیت های جدید و عالی‌ای رو ارائه داد.

در اوایل کار یه زبانی شبیه به Java بود و صرفا نسبت به زبان های سطح پایین تنها چیزی که اضافه داشت بحث شی‌گرایی بود، اما در ادامه وارد عصر های مختلفی شد که بد نیست یه نگاهی بهشون بندازیم.




عصر نخستین: تبدیل شدن به یک زبان قابل قبول

C# 1.0, C# 1.2, C# 2.0

توی این عصر زبانی رو مشاهده می‌کنیم که تقریبا مثل بقیه زبان های C-Base هست و تفاوت چندانی نمیکنه. میشه گفت اینجا کار کردن با انواع داده‌ها نسبت به بقیه زبان ها آسون‌تره.

با قابلیت های شی‌گرایی شروع کرده و در ادامه به خاطر چالش های نشت حافظه و ... ویژگی های دیگه ای رو هم در ورژن های بعدیش ارائه داد.

عصر دوم: اضافه شدن امکانات منحصر بفرد

C# 3.0 , C# 4.0, C# 5.0

حدود سال ۲۰۰۷ قهرمان ما تصمیم گرفت امکانات منحصر بفردی رو ارائه بده که این زبان رو با بقیه هم ردیف های خودش متمایز کنه.

این امکانات همراه با NET Framework version 3.5 و Visual Studio 2008 وارد بازار شدند.

امکانات نام آشنایی از قبیل Lambda expression ها،Object and collection initializer ها و ... توی این ورژن به سی‌شارپ اضافه شدند.

عصر سوم: باز نویسی کامل کامپایلر با سی‌شارپ (Roslyn)

C# 6.0

سال ۲۰۱۵ سی‌شارپ ۶ همراه با Visual Studio 2015 وارد بازار شد. اینبار سی‌شارپ شروع به اعمال تغییراتی کرد که عمدتا با ذهنیت کد تمیز و ساده همراه بود. از جمله تغییرات مهم هم بازنویسی کامل کامپایلر با خود زبان سی‌شارپ بود.

عصر چهارم: رضایت طرفداران کد تمیز و ساده

C# 7.0 , C# 7.1 , C# 7.2, C# 7.3

استارت تغییرات کوچیک توی ورژن ۶ سی‌شارپ خورده شده بود ولی توی ورژن ۷ به بعد مایکروسافت تمرکز خیلی بیشتری روی این کار داشت و تغییراتش همگی دارای یک هدف مهم بودند. آسون و تمیز بودن کد ها...

امکاناتی از قبلی tuple,out,ref و ... از جمله این تغییرات بودند.

عصر پنجم:‌ دنیای Cross-Platform، خداحافظی با NullReferenceException و تلاش برای شبیه شدن به زبان های اسکریپت نویسی

C# 8.0 , C# 9 , C# 10 , C# 11

با اومدن NET Core. روی کار مایکروسافت امکاناتی رو ارائه داده بود که مبتنی بر توانایی های CLR بود.

سال ها برنامه نویس ها با خطای NullReferenceException دست و پنجه نرم میکردند ولی حالا با استفاده درست از قابلیت Nullable refrence type ها میشد تا حد قابل قبولی جلوی این اتفاق رو گرفت.

در ادامه تغییرات به سمتی میرفت که زبان سی‌شارپ رو شبیه به یک زبان اسکریپت نویسی کرده بود. حالا میشد بدون تعریف کلاس و متد خاصی یک دستور ساده ای رو اجرا کرد. همچنین قابلیت هایی که در pattern maching به سی‌شارپ اضافه شد باعث ساده تر و قابل فهم تر شدن سی‌شارپ میشد.



مشاهده جزئیات ورژن های مختلف سی‌شارپ

csharpmicrosoftdotnetaspnet
حامد حاجیلو هستم، یک NET Full Stack Developer.
شاید از این پست‌ها خوشتان بیاید