زبان برنامه نویسی c شارپ (معرفی، کابردها، معایب و مزایا)

رتبه: 0 ار 0 رای sssss
سی شارپ
نویسنده: میلاد حیدری زمان مطالعه 17 دقیقه
Banner Image

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

با نگاهی به زبان برنامه ‌نویسی #C، ویژگی ‌ها و مشکلات خاص موجود را مورد بحث قرار می ‌دهیم و متوجه می ‌شویم که چگونه آن را با زبان ‌های دیگر مثل جاوا مقایسه کنیم. با تجزیه و تحلیل هر دو جنبه قوی و ضعیف #C، متوجه خواهیم شد که آیا ارزش انتخاب و استفاده را دارد یا خیر.

برنامه نویسی سی شارپ چیست: تاریخچه کوتاهی از توسعه و نحوه عملکرد

سی شارپ یک زبان برنامه نویسی با هدف عمومی و شی گرا است که توسط مایکروسافت طراحی شده است. این نام از نماد sharp الهام گرفته شده است که در نت موسیقی برای بلند کردن یک نت توسط یک نیم پرده استفاده می‌شود. اگر دقت کنید، علامت # شامل چهار علامت مثبت است که در یک شبکه دو در دو قرار گرفته اند. این نشان می دهد که #C افزایشی از C++ است. #C که در سال 2000 منتشر شد، فناوری اصلی برای ایجاد برنامه های دسکتاپ در ویندوز است.

برنامه های نوشته شده بر روی سی شارپ از زمان runtime دات نت، کتابخانه های کلاس و اساساً فریم ورک دات نت استفاده می کنند، بنابراین هر دو فناوری اغلب جدایی ناپذیر دیده می شوند. در حال حاضر، دات نت یک پلتفرم و یک چارچوب برنامه نویسی برای توسعه بین پلتفرمی است.

مقایسه با سی پلاس پلاس: سی شارپ چیست؟ معایب و مزایا و مقایسه با ++C

اولین نسخه C# 1.0 که در سال 2002 با ویژوال استودیو و دات نت عرضه شد، از بسیاری جهات شبیه جاوا بود که در مستندات نیز ذکر شده است. وقتی به عقب برگردید و نگاه کنید، نسخه C# 1.0 که با Visual Studio .NET 2002 منتشر شد، بسیار شبیه جاوا بود. در آن زمان، شبیه جاوا بودن به این معنی بود که #C به آن اهداف اولیه طراحی دست یافته بود. در همان زمان، فاقد قابلیت ‌هایی مانند برنامه‌ نویسی ناهمگام، پشتیبانی چند نخی و فیلتر استثنا (exception) بود تا به‌طور مستقیم با جاوا قابل مقایسه باشد. سی شارپ همراه با دات نت یک فناوری فقط ویندوزی باقی ماند.

با خرید Xamarin و Mono Runtime بومی آن در سال 2016، دات نت و #C برای اولین بار دارای قابلیت های کراس پلتفرم یا چند سکویی شدند. به همین دلیل، برنامه های #C را می توان یک بار کدگذاری کرد و روی هر پلتفرمی راه اندازی کرد، از جمله برنامه های وب، ویندوز، macOS، لینوکس، اندروید و iOS.

ماهیت #C

با این حال، C# 9.0 آخرین نسخه زبانی است که همراه با .NET 5 و .NET Core استفاده می شود. بیایید در مورد ماهیت #C صحبت کنیم که آن را به یک راه حل برای اهداف برنامه نویسی عمومی تبدیل می کند.

  • پلتفرم دات نت: #C از پلتفرم دات نت جدا نیست. برنامه ها را از طریق آن کامپایل و اجرا می کند.
  • Common Language Runtime (CLR) یا هسته ی مرکزی دات نت: .NET 5 آخرین نسخه پلتفرم دات نت است.
  • فریمورک دات نت کور: کور(core) در گذشته یک نسخه چند پلتفرمی از دات نت قدیمی بود. کور کتابخانه ها و عناصر قابل استفاده مجدد را برای سرعت بخشیدن به توسعه برنامه فراهم می کند. از آنجایی که .NET 5 در حال حاضر تمام ویژگی های چند سکویی Core را دارد، آن را می توان تنها محصول جدید .NET در نظر گرفت.
  • ویژوال استودیو: یک IDE معروف برای #C است که به توسعه دهندگان اجازه می دهد زبان را دانلود و نصب کنند، کد بنویسند، اشکال زدایی کنند و آن را اجرا/کامپایل کنند.
  • NET SDK (C# SDK): مجموعه ای از ابزارها و کتابخانه ها که برای توسعه برنامه های #C یا نوشتن کتابخانه های جدید ایجاد شده است.

کامپایل و اجرای #С

سی شارپ یک زبان کامپایل شده است. برای اجرای یک برنامه، معمولا یک توسعه دهنده یا developer کد منبع سی شارپ را به زبان میانی (IL) کامپایل می کند. به این ترتیب، می توان آن را در سیستم های مختلف اجرا کرد. در طول اجرا، کد IL بیشتر در زبان ماشین سیستم هدف فعلی کامپایل می شود و CPU آن را در لحظه اجرا می کند.

کامپایل JIT (Just-in-time) از IL، تطبیق پذیری برنامه های #C را امکان پذیر می کند که می توانند در همه جا اجرا شوند، از ویندوز گرفته تا پلی استیشن. اما مقداری سربار اجرا در مقایسه با C++ ایجاد می‌ کند که بلافاصله قبل از اجرا به زبان ماشین سیستم هدف کامپایل می ‌شود. اما نا امید نشوید، زمان‌ های اجرای مورد استفاده در #C، از مواردی پشتیبانی می‌ کنند که IL قبل از اجرا کامپایل شود. برای مثال، برنامه ‌های iOS همگی نیاز به کامپایل ‌سازی زود هنگام دارند.

آموزش رایگان صفر تا صد همه زبانهای برنامه نویسی در اینجا

دو زمان اجرا (Runtime) اصلی برای سی شارپ وجود دارد.

.NET Common Language Runtime : برای اجرا و کامپایل برنامه های دسکتاپ و وب با نسخه های .NET 5 و Core استفاده می شود و سیستم عامل های ویندوز، لینوکس، MacOS، Android، iOS و اساساً همه پلتفرم های اصلی را پشتیبانی می کند.

Mono Runtime : در ابتدا با Xamarin برای کار بر روی برنامه های تلفن همراه (iOS/Android)، لینوکس و macOS ارائه شد. امروزه، Mono برای برنامه‌ هایی استفاده می ‌شود که الزامات عملکردی حیاتی دارند، مانند بازی‌ ها یا برنامه‌ های موبایل. همچنین از تمامی سیستم عامل های اصلی به همراه برخی از کنسول های بازی پشتیبانی می کند.

 

نکات مثبت برنامه نویسی سی شارپ

#C یک انتخاب عالی برای برنامه های دسکتاپ ویندوز، راه حل های سازمانی و حتی توسعه بازی در نظر گرفته می شود، زیرا موتور بازی Unity بر روی آن ساخته شده است. بنابراین چه چیزی #C را به عنوان زبان برنامه نویسی اصلی شما سودمند می کند؟

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

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

با استفاده از OOP، اشیا را می توان بدون تعامل با ویژگی های درونی آن ها مدیریت و رفتار شی را از طریق اعلان کلاس ها توصیف کرد. زبان‌ های OOP برنامه ‌هایی را تولید می ‌کنند که تست و خواندنشان راحت تر است، پاسخگویی به مشکلات پیش ‌آمده را امکان‌پذیر می‌ کنند، و به طور کلی به معنای رویکرد ناب ‌تری برای نوشتن کد هستند.

زبان سطح بالا با قابلیت دسترسی به حافظه

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

زبان ‌های سطح بالا برای توسعه ‌دهندگان مفیدند زیرا در مقایسه با زبان ‌های سطح پایین مانند C، نحو ساده ‌تری برای درک و مدیریت دارند.

زبان سطح بالا با قابلیت دسترسی به حافظه

اما این نکته کمی بحث برانگیز است. یکی از ویژگی های مهم زبان هایی مانند C این است که می توانند مستقیماً با استفاده از انواع خاصی از دستورات به نام اشاره گر به حافظه دسترسی داشته باشند. در حالی که سی شارپ یک زبان سطح بسیار بالاتر است، طیف محدودی از ویژگی های اشاره گر برای توسعه دهندگان آن در دسترس است.

حتما بخوانید: ۲۰ تا از نکات کلیدی سی شارپ (کدنویسی تمیز)

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

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

دات نت از توسعه دهندگان سی شارپ با انواع مختلف محیط های Runtime مانند Mono و CLI خود مایکروسافت پشتیبانی می کند. Runtime در برنامه ‌های .NET برای ترجمه کد #C به دستورالعمل‌ های ماشین در هر یک از سیستم‌ عامل ‌های تحت حمایت استفاده می ‌شود.

قابلیت همکاری زبان یکی دیگر از ویژگی های دات نت است که برنامه نویسی سی شارپ را راحت می کند. قابلیت همکاری به این معنی است که کد سی شارپ می تواند با برنامه های نوشته شده با زبان های سازگار مانند C++، F#، Visual Basic و Windows PowerShell تعامل داشته باشد. این به توسعه دهندگان اجازه می دهد تا از زبان های مختلف در یک گروه استفاده کنند.

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

خانواده زبان های C

سی شارپ به خانواده زبان های برنامه نویسی C مربوط می شود. اگرچه به خودی خود مفید نیست، اما یادگیری سی شارپ یادگیری C، C++ یا جاوا را آسان‌ تر می‌ کند، زیرا این زبان‌ ها از اصول دستوری و برنامه‌ نویسی مشابهی استفاده می‌ کنند.

برای تجارت نیز مفید است، زیرا توسعه دهندگان می توانند در پروژه های مربوط به C از یکدیگر پشتیبانی کنند. یعنی ویژگی قابلیت همکاری در سی شارپ امکان ادغام پشته های فناوری را در یک پروژه فراهم می کند.

دانلود کنید: ۴ جزوه رایگان و عالی آموزش سی شارپ

ویژوال استودیو به عنوان یک IDE بومی

یک محیط توسعه یکپارچه (IDE) یک فضای کاری برای برنامه نویسان است که ابزاری برای نوشتن، تست، اشکال زدایی و کامپایل کد را در طول توسعه فراهم می کند.

چندین ویژگی ویژوال استودیو آن را به عنوان یک IDE بومی به گزینه ای قابل اعتماد تبدیل می کند:

  • یک فضای کاری واحد برای همه برنامه های NET.
  • پشتیبانی از زبان های دیگر مانند Visual Basic، C، C++ و JSON.
  • یک کامپایلر یکپارچه، دیباگر، و زباله روب.
  • محیط قابل تنظیم و رابط کاربری مناسب.
  • همکاری داخلی از طریق GIT، به این معنی که تیم شما می تواند بر روی یک پایه کد کار کند و برای بررسی کد همکاری کند.

ویژوال استودیو به عنوان یکی از استاندارد های صنعتی در نظر گرفته می شود. برای انواع برنامه های دات نت که به زبان سی شارپ یا هر زبان پشتیبانی شده دیگری نوشته شده اند استفاده می شود. استفاده از سایر زبان های مرتبط با C و فریم ورک های آن ها نیز در ویژوال استودیو امکان پذیر است.

garbage collector یا زباله روب داخلی

مدیریت تخصیص حافظه یکی از وظایف حیاتی برای حفظ عملکرد برنامه است. برای این منظور، سی شارپ دارای یک زباله روب داخلی است.

زباله روب یک مدیر حافظه است که اشیاء استفاده نشده را ردیابی می کند و حافظه را به طور خودکار آزاد می کند. هنگام کار با کد مدیریت شده، معمولاً توسعه دهندگان باید کد اضافی بنویسند تا از نشت حافظه جلوگیری شود. مدیریت خودکار حافظه توسعه دهندگان را از نوشتن دستورات برای بازیابی اشیاء استفاده نشده، پاکسازی حافظه و تخصیص آن به موارد جدید نجات می دهد.

زبان Type-safe یا اطمینان نوع با قابلیت های پویا

سی شارپ از نظر نوع ایمن است به این معنی که یک متغیر نمی تواند نوع خود را در کد تغییر دهد. به عنوان مثال، اگر متغیر GoodDay را به عنوان عدد صحیح اعلام کرده اید، فقط می توانید مقادیر عددی صحیح را به آن اختصاص دهید و مقادیر رشته ای مانند Saturday یا Sunday غیرقابل قبول هستند.

اطمینان نوع تضمین می کند که متغیر به شیوه ای قابل پیش بینی رفتار می کند و هر گونه عملیات روی آن تنها در صورتی امکان پذیر خواهد بود که با نوع آن مطابقت داشته باشد. کد حاوی متغیر GoodDay فقط به آن اسلات های حافظه ای که برای اعداد صحیح در نظر گرفته شده اند دسترسی خواهد داشت. این رویکرد باعث می شود کد منبع به طور کلی خطا کمتری داشته باشد.

برای یادگیری سی شارپ: آموزش صفر تا صد برنامه نویسی سی شارپ

سی شارپ به طور پیش ‌فرض در زمان کامپایل بررسی نوع را انجام می ‌دهد که به آن استاتیک تایپ می ‌گویند. در نتیجه، خطا های نوع در اولین فرصت ممکن، قبل از فاش شدن در محیط اجرا مشخص می شوند. با این حال، از نسخه 4 به بعد، این زبان از نوع پویا نیز پشتیبانی می کند. می ‌توانید اشیایی با نوع پویا یا dynamic ایجاد کنید که اجازه می ‌دهد در زمان کامپایل بررسی نوع را دور بزنند. خطا، در صورت وجود، در Runtime شناسایی می شود.

گزینه پویا به توسعه‌ دهندگان انعطاف‌ پذیری بیشتری می‌ دهد و تعامل با کد ها در Runtime های دیگر، ساده ‌تر می ‌کند. به عنوان مثال، شی شما می تواند مقدار خود را از زبان پویا مانند IronPython دریافت کند.

مستندات کامل

سی شارپ توسط مایکروسافت توسعه و نگهداری می شود. در طی 4 سال گذشته، 3 نسخه اصلی به همراه .NET 5 عرضه شده که تجربه توسعه را به طور قابل توجهی بهبود بخشیده است.

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

جامعه بزرگ

یک توسعه دهنده سی شارپ اغلب به عنوان توسعه دهنده دات نت شناخته می شود، زیرا پشته فن آوری های مورد استفاده برای برنامه نویسی در بیشتر موارد مشابه هستند. سی شارپ بر اساس نظرسنجی توسعه ‌دهندگان Stackoverflow 2021 در میان محبوب‌ترین زبان‌ های برنامه ‌نویسی در جایگاه هشتم قرار دارد.

نظرسنجی توسعه ‌دهندگان Stackoverflow 2021 در میان محبوب‌ترین زبان‌ های برنامه ‌نویسی

در ترکیب با .NET Core که جایگاه پنجم را به خود اختصاص داده است، جامعه بزرگی از برنامه نویسان هستند که از #C استفاده می کنند. این موضوع تضمین می‌ کند که همیشه می‌ توانید پشتیبانی یا فرصت‌ های همکاری را در جامعه #C پیدا کنید.

علاوه بر انجمن دات نت و سی شارپ، یک منبع رسمی به نام .NET foundation نیز وجود دارد که مکانی برای همکاری و اشتراک گذاری ایده هاست.

همه این ویژگی ها #C را به انتخاب خوبی برای راه حل های سازمانی یا تیم های تولیدی بزرگ تبدیل می کند. اگرچه معایبی هم دارد که باید از نظر ویژگی های زبان در نظر بگیرید.

معایب برنامه نویسی سی شارپ

همیشه بین ویژگی های زبان برنامه نویسی تعادل وجود دارد. از آنجایی که آنچه در یک مورد سودمند است، در مورد دیگر می تواند چالش برانگیز باشد.

عملکرد سی شارپ بهترین مطلق نیست

عملکرد یک زبان را می توان بر حسب زمان کامپایل و عملکرد واقعی برنامه اندازه گیری کرد. سی شارپ در مقایسه با نزدیکترین همتای خود جاوا، زمان کامپایل مشابهی دارد. اما معیارهای عملکرد برنامه، نتایج کمی سریع ‌تر را برای #C نشان می‌ دهند.

وقتی صحبت از معیارهای ++C در مقابل #C می شود، اولی برنده می شود. اما به خاطر داشته باشید که تفاوت جزئی بین نحوه کامپایل شدن کد ++C و #C وجود دارد. به طور معمول، سی شارپ دو مرحله از کامپایل را پشت سر می گذارد: اولین مرحله زمانی است که کد در مرحله ساخت به زبان میانی کامپایل می شود و مرحله دوم هنگام کامپایل به زبان ماشین که در runtime اجرا می شود. با توجه به معیارها، تفاوت قابل توجهی بین زبان‌ ++C با C# وجود دارد.

از طرف دیگر، دومی در مرحله ساخت سریعتر کامپایل می شود.

البته موضوع عملکرد به عوامل زیادی مانند بهینه سازی کد و runtime استفاده شده بستگی دارد. اگر چه هیچ برنده مشخصی بین جاوا و سی شارپ وجود ندارد، اما ++C از نظر زمان اجرای کد از هر دوی آن ها جلوتر است.

وابستگی به پلتفرم دات نت

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

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

منحنی یادگیری سخت

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

وجود توابع سطح پایین مانند آرایه های اشاره گر (که دسترسی مستقیم به حافظه را فراهم می کند) نیز می تواند از نظر یادگیری زبان یک مشکل باشد. اگر چه #C یک زبان اطمینان نوع است، توابع اشاره گر توسط بررسی runtime حذف می شوند. که می تواند منجر به عملکرد پایین یا break شود.

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

جایی که #C استفاده می شود: برنامه های کاربردی رایج

اکنون که مزایا و مشکلات کلیدی را مورد بحث قرار دادیم، آخرین سوالی که باید به آن پاسخ داده شود این است: چه زمانی انتخاب #C کاملا منطقی است؟ اگرچه #C به عنوان زبان همه منظوره یاد می شود، اما چندین حوزه وجود دارد که از آن بیشتر استقبال می شود.

برنامه های دسکتاپ ویندوز. #C یک انتخاب استاندارد برای برنامه های کاربردی ویندوز است زیرا از فریمورک های دات نت پشتیبانی می کند. هزاران کتابخانه، مؤلفه‌ ها، کتابخانه ‌های کلاس UI و سایر منابع را فراهم می‌ کند که توسعه را سرعت می ‌بخشند.

وب سرویس ها و برنامه ها. همچنین با کمک .NET Core می توان خدمات وب قابل اعتماد را با استفاده از منابع مشابه پلتفرم دات نت توسعه داد.

برنامه های لینوکس و macOS. با استفاده از Mono Runtime، همین برنامه ها را می توان برای سیستم های مبتنی بر Unix و دستگاه های macOS بهینه کرد. در بسیاری از موارد، Mono نتایج عملکردی قابل مقایسه با runtime دات نت را نشان می دهد. این بدان معناست که تفاوت قابل توجهی در نحوه عملکرد برنامه های #C بر روی پلتفرم های مختلف وجود ندارد.

توسعه موبایل. با Xamarin که از سی شارپ استفاده می کند امکان پذیر می شود. Xamarin یک فریمورک چند پلتفرمی است که مؤلفه ها و کتابخانه های بومی را در لایه .Net قرار می دهد تا برنامه های اندروید و iOS با ظاهری بومی ایجاد کند. توسعه دهندگان را قادر می سازد تا 90 درصد از کد را در دو پلتفرم اصلی موبایل تکرار کنند.

توسعه بازی. همانطور که قبلاً اشاره کردیم، سی شارپ یک زبان پیشرو برای توسعه بازی است، زیرا در موتور بازی Unity استفاده می شود. این بازی ها را می توان برای پلتفرم های مختلفی مانند ایکس باکس، پلی استیشن، دستگاه های نینتندو، بازی های موبایل برای اندروید و iOS و بازی های رایانه شخصی (Win، Mac، Linux) ساخت.

profile name
میلاد حیدری

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

مطالب پیشنهادی برای شما

محصولات مرتبط

مشاهده همه
آموزش ریزن (Reason) از صفر تا صد
آموزش ریزن (Reason) از صفر تا صد
قیمت محصول 11٪ 310,000 تومان 350,000
ادامه مطلب
آموزش تکلا استراکچر از صفر تا صد
آموزش تکلا استراکچر از صفر تا صد
قیمت محصول 147,000 تومان 159,000
ادامه مطلب

دیدگاهتان را بنویسید

1 2 3 4 5

0 نظر درباره «زبان برنامه نویسی c شارپ (معرفی، کابردها، معایب و مزایا)»

    هنوز نظری برای این بخش ثبت نشده است
مشاهده همه نظرات
سبد خرید
سبد خرید شما خالی است
× جهت نصب روی دکمه زیر در گوشی کلیک نمائید
آی او اس
سپس در مرحله بعد برروی دکمه "Add To Home Screen" کلیک نمائید