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

IDE یک جعبه ابزار آماده برای برنامه نویس

IDE یک جعبه ابزار آماده برای برنامه نویس
IDE چیست
 
سلام دوستان امروز می خواهیم درباره IDE صحبت کنیم و با ویژگی های آنها آشنا شویم و در ادامه به معرفی بهترین آنها بپردازیم. پس با ما همراه باشید. اما بهتر است قبل از تعریف IDE یک شناختی از خود این کلمه داشته باشیم.
کلمه Integrated Development Environment یا IDE که ازکلمه های Integrated به معنی یکپارچه یا مجتمع ، Development یا توسعه و Environment یا محیط تشکیل شده  که با  کنار هم قرار دادن این واژه ها، به جمله فارسی محیط یکپارچه ( مجتمع ) توسعه می رسیم.
 
 IDE در برنامه نویسی یعنی:
یک محیط برنامه نویسی که مجموعه ای از نرم افزارها، شامل: ویرایشگر کد برنامه (Code Editor)، کامپایلر (Compiler)، دیباگر (Debugger) و در نهایت رابط گرافیکی یا GUI  را در یکجا جمع کرده و در اختیار برنامه نویس قرار داده است تا بتواند به راحتی و بدون دغدغه کدهای برنامه خود را تولید کند. در واقع به برنامه نویس توسعه دهنده و به محیطی که یک برنامه نویس در آن برنامه نویسی می کند محیط توسعه می گویند.
 
ویژگی های مشترک تمام IDEها:
  1. ویرایشگر سورس کد
این ویژگی باعث می شود که بتوانید در آن، کدهای مورد نظر را بنویسید و آنها را ویرایش کنید که به اصطلاح به آنها Source Code Editor گویند. در واقع این ویرایشگر محیطی است که برنامه نویس کدهای خود را درون آن وارد می کند و کدی که نوشته است توسط کامپایلر یا مفسر تبدیل به زبان ماشین و در نهایت اجرا می شود که از نظر کارکرد بسیار شبیه به ویرایشگر های کدهای HTML متنی است.
  1. کامپایلر یا مفسر
کامپایلری که در IDE تعبیه شده است کد نوشته شده در Source Code Editor را تبدیل به برنامه اجرایی می کند و اگر لازم باشد برنامه بصورت خط به خط توسط مفسر بدون نیاز به کامپایل شدن اجرا می شود.
  1. ابزارهای ساخت اتوماسیون
تمامی فرآیند های مربوط به کامپایل، تفسیر یا Interpret و Debug همگی توسط IDE انجام می شود.
  1. اصطلاح کننده خطا
همه IDE ها دارای Debugger هستند تا متوجه شوند که کجای Source Code برنامه مشکل دارد.
 
IDEهای معروف را می شناسید؟
  • ویژوال استودیو
  • ایکلیپس
  • اندروید استودیو
  • نت بینز
  • سابلیم تکست
آیا برنامه نویس ها ی وب هم نیز نیاز به IDE دارند؟
یک برنامه نویس وب اگر می خواهد وب سایت های حرفه ای یا نرم افزارهای کاربردی تحت وب حرفه ای بنویسد نیاز به یک IDE قوی دارد . درست است که با یک ویرایشگر متنی ساده مثل Notepad هم می شود یک وب سایت را بدون مشکل طراحی کرد اما با داشتن یک IDE حرفه ای، انعطاف پذیری برنامه نویس بسیار بالا می رود و مجبور نیست که چرخ را دوباره اختراع کند.
 
پس چرا برنامه نویسان وب از IDE استفاده نمی کنند؟
یکی از دلایل این می تواند باشد، با توجه به اینکه اکثر زبان های برنامه نویسی وب نیازی به کامپایل شدن ندارند بنابراین نیازی به IDE  ندارند و IDE هایی که در وب استفاده می شود بیشتر یک Debugger زبان جاوا اسکریپت محسوب می شوند. بنابراین نیاز چندانی هم به IDE نیست. اما وقتی صحبت از یک نرم افزار مالی ، یک نرم افزار اتوماسیون ، یک سیستم مدیریت محتوای وب و ... می شود دیگر نمی توان نقش یک IDE قوی را در نظر نگرفت زیرا در چنین شرایطی حتما نیاز به Compiler  وجود دارد.
 
با این تفاسیر می توان گفت:
 زمانیکه می خواهیم یک وب سایت استاتیک طراحی کنیم که کدهای HTML و CSS و برخی اوقات جاوا اسکریپت رادر خود دارند، شاید نیاز چندانی به داشتن یک IDE نباشد اما زمانیکه صحبت از وب سایت های داینامیک برای یک برنامه کاربردی تحت وب یا طراحی نرم افزارهای موبایل می شود باید به فکر استفاده از یک IDE قوی بود.
 
 
+ نوشته شده در  سه شنبه 7 بهمن 1399ساعت 16:03  توسط fattahi 

محبوب ترین فریم ورک های بک-اند که به شما کمک میکند

محبوب ترین فریم ورک های بک-اند که به شما کمک میکند
محبوب ترین فریم ورک های بک-اند
خب دوستان امروز میخواهیم درباره محبوب ترین فریم ورک های سمت بک-اند با شما صحبت کنیم و به معرفی چند تا از آنها بپردازیم. پس در ادامه با ما همراه باشید.
 
Laravel:
لاراول یک فریم ورک وب سه لایه MVC است که از PHP برای توسعه استفاده میکند.
 در ابتدا با ویژگی های پشتیبانی از API ها وارد شد و حالا پکیج های زیادی برای آن آمده است . تا عملکردش را گسترش دهد.
اگر شما یک برنامه نویس PHP هستید کار منطقی این است که برای توسعه وب از لاراول استفاده کنید. 

 

ویژگی های کلیدی لاراول:
موتور مسیریابی ساده و بسیار سریع
دارای CLI اختصاصی خود
سیستم قالب پیشرفته به نام Blade
 
ASP.NET 
ASP.NET Core یک فریم ورک مایکروسافت است که طرفداران زیادی در توسعه وب دارد. به همین دلیل دغدغه طراحان وب پیدا کردن یک دوره جامع ASP.Net mvc هستند. این فریم ورک روی ویندوز ، سیستم عامل مک ، و لینوکس قابل اجرا است.
 
ویژگی های  ASP.NET MVC
  • کنترل کاملی بروی کدهای HTML داشته باشید .
  • بتوانید به کمک ترکیب AJAX و کتابخانه قدرتمند JQuery رابط کاربری قدرتمند تری بسازید .
  • به شما امکان ساخت آدرس های SEO-Friendly برای وب سایت تان می دهد .
  • به راحتی پروژه خود را توسعه داده و آنرا در معرض آزمون قرار دهید .توسعه ی مدرن وب را آسان تر می کند
 
Django:
جنگو نیز یک فریم ورک با معماری MVC است که از پایتون برای توسعه وب استفاده میکند . غول های تکنولوژی بزرگی مثل گوگل، یوتیوب و اینستاگرام از جنگو استفاده میکنند. 
با داشتن ویژگی مثل batteries-included ، این فریم ورک در تایید هویت و پیام رسانی قدرت زیادی گرفته است.
بخاطر بالا بودن امنیت این فریم ورک شما می توانید وبسایت ها و وب اپلیکیشن های ایمنی بسازید.
 
مزایای اصلی فریم ورک جنگو:
  • قابلیت شخصی سازی بسیار بالا
  • بالا بودن سرعت توسعه بالا
  • مقیاس پذیری بسیار بالا
 
Spring boot:
فریم ورک بعدی برا ی استفاده در سمت بک اند کسی نیست جزSpring. این فریم ورک هم از معماری سه لایه MVC بهره میبرد و از جاوا که یکی از محبوب ترین زبان های برنامه نویسی دنیاست استفاده میکند.
وبسایت هایی مثل Wix، TicketMaster و BillGuard از Spring boot استفاده میکنند.
نکته ای که باید بدان اشاره شود این است که اگر با زبان جاوا آشنا نباشید یادگیری این فریم ورک برای شما کار مشکلی خواهد شد! 
 
قابلیت های مهم این فریم ورک:
  • تولید برنامه های مستقل
  • مقیاس پذیری بالا
  • مناسب برای برنامه های بسیار بزرگی که از cloud استفاده می کنند
  • جامعه ی بسیار فعال
 
Express.JS:
با محبوبیتی که Node.js کسب کرده، فریم ورک Express به سرعت در حال تبدیل شدن به یکی از پرطرفدارترین فریمورک های امروزی است.
و در میان شرکت های معروفی مثل IBM و Uber و... طرفدارهای زیادی کسب کرده  که با فریم ورک های Kraken و Sails و Loopback سازگاری بالایی دارد. 
همچنین از برخی از ویژگی های مشهور Node.js نیز بهره میبرد.
برنامه های توسعه  داده شده با این فریم ورک ، انعطاف پذیری بالایی دارند. 
 
ویژگی های کلیدی این فریم ورک:
  • راه اندازی راحت 
  • دارابودن تعداد زیادی از پلاگین های مختلف
 
Ruby on Rails:
ریل یا Rails یک فریم ورک وب سه لایه MVC است که با زبان روبی توسعه داده شده است.
از کاربران اصلی آن میتوان Airbnb، GitHub، Hulu و Shopify را نام برد.
این فریم ورک یک جامعه گسترده و قابل اعتماد به همراه منابع آموزشی استاندارد دارد که باعث شده شما بتوانید بدون هیچ نگرانی، یک متخصص Rails شوید! 
نقطه ضعف اصلی Rails این است که  برای یادگیری آن باید وقت زیادی صرف کرد .چرا که هر چه جلوتر بروید ، منحنی یادگیری تند تر و روند پیشرفت شما کند تر میشود و این طبیعی است؛ فقط باید به کار خود ادامه دهید.
 
مزیت های اصلی این فریم ورک عبارت اند از:
  • دارا بودن کتابخانه های ی بسیاری از پلاگین ها
  • ساخت و مدیریت راحت پروژه های کوچک 

 

Flask:

 

یک فریم ورک دیگر بر پایه ی زبان پایتون است اما برخلاف Django بسیار سبک وزن بوده و برای پروژه های کوچک  مناسب است. این فریم ورک از قابلیت هایی مانند: کوکی های امن،unit testing و...پشتیبانی می کند. 
 
مزایای اصلی این فریم ورک:
  • انعطاف پذیری بالا
  • قابلیت ساخت سریع نمونه های اولیه
 
CakePHP
 یکی از قدیمی ترین فریم ورک های زبان PHP است که در سال 2015 معرفی شده است. از آن زمان تا به حال مدت بسیار طولانی گذشته است و این فریم ورک بارها امتحان خود را پس داده است. البته سابقه دار بودن را نباید به پای قدیمی بودن گذاشت! CakePHP یکی از مدرن ترین فریم ورک های زبان PHP است و از نظر قابلیت چیزی از رقبایش کم ندارد. شهرت CakePHP به این است که توسعه را بسیار سریع می کند و در میدان سرعت کمتر رقیبی برایش یافت می شود. این فریم ورک هم مانند Laravel از معماری MVC استفاده کرده و قابلیت مقیاس پذیری (scale شدن) بالایی دارد.
 
 ویژگی های کلیدی این فریم ورک عبارت اند از:
  • سرعت بخشیدن به فرآیند توسعه
  • اهمیت به موضوع امنیت
  • پیکربندی ساده و راحت برای شروع کار
 
خب دوستان این هم از محبوبترین فریم ورک های بک-اند. اگر شما هم فریم ورک دیگری را میشناسید به ما معرفی کنید. همچنین خوشحال می شویم اگر تجربه های خود در استفاده از فریمورک هایی که نام بردیم با در قسمت نظرات به اشتراک بگذارید.
+ نوشته شده در  شنبه 23 اسفند 1399ساعت 20:35  توسط fattahi 

مبحث چند ریختی در شی گرایی چیست؟

مبحث چند ریختی در شی گرایی چیست؟

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


روش های مختلف چند ریختی در سی شارپ:

  • متدهای مجازی 

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

  • کلاسها ومتدهای انتزاعی

اگر عمق سلسله مراتب وراثت کلاسها بسیار زیاد باشد، کلاسهایی که در بالای سلسله مراتب وجود دارند، دقیقا نمیتوانند نیازهای واقعی کلاسهای مشتق خود را بشناسند. به همین دلیل این کلاسها طوری طراحی میشوند که مشترکات کلاسهای مشتق خود را نگه دارند و کلاسهای مشتق، موارد مورد نیاز شما را پیاده سازی کند. چنین کلاسی، ماهیت متدها و خواصی را که کلاسهای مشتق باید پیاده سازی کنند، تعیین می نماید، ولی خودش آنها را پیاده سازی نمیکند. این کلاسها را کلاسهای انتزاع گویند. کلاسهای انتزاعی قابل نمونه سازی نیستند و با واژه abstract مشخص میشوند. توجه داشته باشید که متدهای static نمیتوانند abstract باشند.

  • delegate ها

متغیرهای عضو کلاس(فیلدها) را میتوان بصورت ثابت const یا readonly اعلان کرد. فیلدهایی که با واژه const اعلان میشوند، در هنگام فراخوانی باید مقدار اولیه بگیرند. فیلدهایی که با واژه readonly اعلان میشوند، میتوانند در سازنده کلاس مقدار اولیه بگیرند، ولی پس از آن مقدارشان قابل تغییر نیست.
گاهی خوب است که اشیا، متدها را بعنوان پارامترها به متدهای دیگر ارسال کنند اما سی شارپ اجازه نمیدهد که مرجع های متد، مستقیما بعنوان پارامتر به متدهای دیگر ارسال شوند به همین دلیل برای ما delegate را قرار داده است.
دلیگیت ها در C# در واقع اشاره گری به متدها هستند. کاربرد اصلی آن جایی است که میخواهیم قطعه کدی را اجرا کنیم اما تا زمان اجرای برنامه آن قطعه کد مشخص نیست کدام قسمت از برنامه است.

  • تعریف مجدد عملگرها

چندریختی در سی شارپ

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

کلام آخر:

خب دوستان این هم بحث چند ریختی در سی شارپ اگر به دنبال آموزش های بیشتری هستید می توانید از سایت خود مایکروسافت استفاده کنید و یا سوال خودتان را در انجمن Stack Overflow  استفاده کنید چرا که جامعه ای بزرگ و فعال در زمینه سی شارپ دارد. موفق باشید.

 

+ نوشته شده در  شنبه 4 بهمن 1399ساعت 20:53  توسط fattahi 

شی گرایی چیست و چه تحولی در دنیای برنامه نویسان ایجاد کرد؟

شی گرایی چیست و چه تحولی در دنیای برنامه نویسان ایجاد کرد؟
شی گرایی چیست
سلام دوستان امروز می خواهیم درباره شی گرایی چیست، صحبت کنیم تا بدانید که چرا به یکی از مهم ترین ها در برنامه نویسی تبدیل شده است؟ مگر زبان های غیر شی گرایی چه مشکلی داشتند؟ پس با ما همراه شوید.
 
برنامه نویسی شی گرا(OOP) چیست
 
Object Orient Programming شیوه ای از برنامه نویسی است که موجودیت‌های نرم افزار را به صورت شی یا Object می‌بیند. قبل از ظهور برنامه نویسی شی گرا ، برنامه‌ها اغلب به شکل رویه ای نوشته می‌شد یعنی برنامه‌ها به توابع تقسیم می‌شدند. 
اما با بزرگ شدن نرم افزار، برنامه نویسان مجبور به تکرار کدها به صورت مکرر می‌شدند. توابع در قسمت‌های مختلف به صورت نامرتب و تو در تو یکدیگر را صدا می‌زدند و برنامه به اصلاح به یک کد Spagetti(اسپاگتی) تبدیل می‌شد. یعنی چون توابع و قطعات کد، به هم وابسته و در هم ریخته بودند در نتیجه تغییر یک تابع باعث به هم ریختن توابع زیادی می‌شد.
پس از ظهور برنامه نویسی شی گرا، توابع و متغیرهای مرتبط در واحدهایی به اسم کلاس (Class) جمع شدند و اشیا از روی این کلاس‌ها ساخته می‌شوند و  به این ترتیب صاحب متدها (Method) و ویژگی‌های (Attribute) آن کلاس‌ می‌شوند. همینطور کلاس‌ها می‌توانند ویژگی‌ها یا توابع را از یکدیگر به ارث ببرند. به این ویژگی ارث بری یا Inheritance می‌گوییم.
 
4 اصل پایه ای برای ساخت کلاس ها در برنامه نویسی شی گرایی:
 
بعد از شناخت برنامه نویسی شی گرایی باید چهار اصل پایه‌ای برای ساخت کلاس‌ها را بدانید که عبارت است از: 
 
  • Abstraction
فرض کنیم در اتاقی نشسته‌ایم و فردی از ما می‌پرسد که لپ تاپ کجاست؟ ما هم جواب فرد مد نظر را داده و می‌گوییم روی «میز» است. وقتی ما واژه ی میز را به زبان می آوریم، هرگز نمی‌گوییم که لپ تاپ روی میزی است که چوبی است، رنگ آن قهوه ای روشن است، روی آن یک شیشه قرار دارد، چهار پایه دارد، طول و عرض آن فلان اندازه است و … ما صرفاً واژه ی میز را به زبان آورده و طرف مقابل کاملاً متوجه می‌شود که منظور ما کدام میز است! هم ما و هم طرف مقابل مان که در اتاق حضور داریم تجربیاتی در برخورد با شیئ به نام «میز» داشته و داریم که به ما کمک کند تا منظور از میز را متوجه شویم. واژه ی Abstraction به معنی «انتزاعی بودن» است. یعنی چیزی که در حد یک ایده است و وجود خارجی ندارد یا این که نمی‌شود آن را لمس کرد و در برنامه نویسی شیء گرا سبب میشود که ما به جای تمرکز روی یک نمونه ی عینی از چیزی، روی مفهوم آنها متمرکز شویم. 
 
  • Polymorphism
آخرین اصل از اصول برنامه نویسی شیء گرا Polymorphism نام دارد. Poly به معنی «چندین» است و Morph هم به معنی «شکل» است که روی هم رفته می‌توان آن را به «چند شکلی» ترجمه کرد. 
به عبارت دیگر، پلی مورفیسم در جاوا به شما اجازه می دهد که یک رابط تعریف کرده و چندین پیاده سازی از آن داشته باشید. به زبان ساده تر، با استفاده از این قابلیت می توان توابع یا متغیرهای مرجع را طوری ایجاد نمود، که در قسمت های مختلف برنامه رفتار متفاوتی داشته باشند. Polymorphism یکی از بخش های مهم شیءگرایی می باشد که در مطلب بعدی بیشتر درباره آن صحبت میکنیم.
 
  • Inheritance
به زبان ساده یعنی «استفاده ی مجدد از کدهای از قبل نوشته شده» اما معنی لغوی آن «وراثت» است. برای روشن‌تر شدن این مسأله مثالی عملی می زنیم.  در زبان‌هایی همچون ++C این امکان در اختیار برنامه نویس قرار گرفته تا بتواند از بیش از یک کلاس والد ارث بری کند که چنین قابلیتی تحت عنوان Multiple Inheritance یا «وراثت چندگانه» شناخته می شود. اگر چه چنین قابلیتی دست برنامه نویسان را خیلی باز می گذارد، اما در عین حال منجر به پیچیده‌تر شدن برنامه هم میشود و به همین دلیل، برخی زبان‌های برنامه نویسی همچون جاوا، سی شارپ، آبجکتیو سی، روبی و … به هیچ وجه اجازه ی ارث بری از بیش از یک کلاس والد را به برنامه نویس نمی دهند.
 
  • Encapsulation
زمانی که ما Attribute ها و رفتارهای  یک آبجکت را در کپسولی فرضی قرار داده و آن‌ها را کنار یکدیگر قرار دهیم در واقع از مفهوم Encapsulation.  در شی گرایی استفاده میکنیم.همچنین خواهیم توانست دسترسی به بخش یا بخش‌هایی از یک کلاس یا آبجکتی که بر اساس آن کلاس نوشته شده را محدود کنیم. 
 
مفاهیم پایه ای در شی گرایی
 
  • شی (Object): یک موجودیت اﺳﺖ ﺑﮕﻮﻧﻪ ای ﮐﻪ دارای ﻫﻮﻳﺖ ﺑﻮده و ﻗﺎدر ﺑﻪ ﺑﺮوز رﻓﺘﺎر و ﺛﺒﺖ ﺣﺎﻻت ﺧﻮد ﻣﯽ ﺑﺎﺷﺪ.
 
  • صفت (property): هر شی یکسری ﺧﺼﻮﺻﯿﺎت دارد ﮐﻪ ﺑﻪ آﻧﻬﺎ  ﺻﻔﺖ ﮔﻔﺘﻪ ﻣﯽ ﺷﻮد و ﯾﮏ مقدار و ارزش مشخصی برای آن به ازای هر شی می تواند، وجود داشته باشد. مانند طول، ارتفاع، رنگ و … .
 
  • روش (Method): هر شی در واقع یک سری رفتار دارد که به آن ها روش یا متد، گفته می شود. ﻣﺘﺪ در واﻗﻊ  ﭘﺎﺳﺦ ﻫﺎﯾﯽ اﺳﺖ ﮐﻪ آن ﺷﯽ در ﻣﻘﺎﺑل تحریکات ﻣﺤﯿﻂ از ﺧﻮد ﻧﺸﺎن می دهد.
 
  • کلاس (Class): به مجموعه ای از اشیا که دارای ویژگی و رفتار مشترک باشند، کلاس می گویند. یک class نمونه ی اولیه ای است که هر object از روی آن ساخته می شود.کلاس دانشجو، کلاس انسان، کلاس ماشین و … کلاس ها مانند نقشه های ساختمان هستند. .ﯾﻚ ﻛﻼس، ﻧﻘﺸﻪ اﯾﺠﺎد ﯾﻚ ﺷﯽ از ﻛﻼس است. همانطور که می توانیم خانه های زیادی از روی یک نقشه بسازیم، می توانیم تعدادی شی از روی یک کلاس، نمونه سازی کنیم.
 
دلیل استفاده از برنامه نویسی شی گرایی:
در حالت عادی شما کل برنامه را در قالب دستورات و توابع پشت سر هم می‌نویسید (Procedural) و برای تغییر هرچیزی از برنامه احتیاج دارید تا کل ساختار برنامه را بررسی کرده و موارد مورد نیاز را تغییر دهید.
 
فرض کنید در حال نوشتن برنامه‌ای در خصوص مدیریت خودروها هستید، شما برای هر مدل خودرو چندین خط کد می‌نویسید، در ادامه تصمیم می‌گیرید ویژگی جدیدی به خودروهای خود اضافه کنید، مثلا میزان شتاب خودرو، در این صورت باید کل دستورات برنامه را جستجو کرده و در تمام خطوط این ویژگی جدید را به تمامی خودروها اضافه کنید.
 
اما اگر برنامه‌ی خود را با استفاده از مفهوم شئ‌گرایی نوشته باشید در این صورت تنها کافیست این ویژگی (Attribute) جدید را به کلاس اصلی برنامه اضافه کنید تا سایر اشیا (خودروها) نیز این ویژگی جدید را به ارث ببرند و آن را درون خود داشته باشند، در این صورت دیگر احتیاجی نیست تک به تک خطوط برنامه را دستخوش تغییر کنید.
 
علاوه بر آن به دلیل ویژگی‌های خاصی که در برنامه‌نویسی شئ‌گرا حاکم است، دسترسی به داده‌های درون کلاس از بیرون امکان‌پذیر نیست و این مورد می‌تواند در حفظ امنیت برنامه‌ها به شما کمک کند.
 
مزایای برنامه‌نویسی شئ‌گرا چیست؟
 
  1. افزایش امنیت برنامه
  2. کاهش هزینه نگهداری
  3. قابلیت استفاده مجدد
  4. تحلیل ساده‌تر برنامه
  5. قابلیت سازمان دهی بهینه تر کدها
  6. عدم نیاز به نوشتن کدهای تکراری و قابلیت‌هایی که قبلا پیاده‌سازی شده‌اند و صرف جویی در استفاده از منابع
  7. قابلیت تقسیم برنامه به برنامه‌های کوچک تر اما مستقل
 
خب دوستان ما سعی کردیم تا مفهوم شی گرایی چیست را به زبانی ساده برای شما بیان کنیم و امیدواریم که مطلب مورد رضایت شما قرار گرفته باشد.
+ نوشته شده در  شنبه 27 دی 1399ساعت 16:26  توسط fattahi 

چه دلایلی سی شارپ را مهم کرده است؟

چه دلایلی سی شارپ را مهم کرده است؟

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

دلایل یادگیری سی شارپ:

  • یادگیری آسان

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

  • پشتیبانی توسط شرکت مایکروسافت

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

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

  • مناسب برای بازی سازی 

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

  • اجرا شدن کد سی‌شارپ در همه جا

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

اگر شما قصد داشته باشید که اپلیکیشن های موبایل طراحی کنید برای اندروید باید زبان java را یاد بگیرید و برای iOS باید swift را یاد بگیرید. یعنی برای طراحی و توسعه اپلیکیشن های موبایل باید دو زبان مجزا را یاد بگیرید که این خود، کار سخت و زمان بری میباشد. زامارین برای مقابله با این مشکل طراحی شده است و شما میتوانید با کدنویسی سی‌شارپ برای هر دو سیستم عامل موبایل یعنی iOS و اندروید برنامه خود را کمپایل  و همینطور از یک زبان  برنامه نویسی میتوانید برای طراحی رابط گرافیکی در هر دو سیستم عامل موبایل نیز بهره ببرید.

  • داشتن جامعه بزرگ

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

و حیاتی ترین دلیل یادگیری سی شارپ تضمین موقعیت شغلی شما در ایران و خارج از کشور است و برای اطمینان پیدا کردن از این موضوع میتوانید به آگهی های استخدامی زبان سی شارپ سر بزنید.

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

خب دوستان امیدوارم که مطلب مورد رضایت شما قرار گرفته باشد. شما هم اگر دلیل دیگری را میشناسید در قسمت نظرات با ما به اشتراک بگذارید.

+ نوشته شده در  دوشنبه 22 دی 1399ساعت 21:16  توسط fattahi 

بین سی شارپ و جاوا کدام یک را انتخاب کنم؟

بین سی شارپ و جاوا کدام یک را انتخاب کنم؟
در یک مسابقه‌ی نهایی، سی شارپ و جاوا همزمان به خط پایان رسیده‌اند، اما هیچ کدام قبول نمی‌کردند که به نفع دیگری کنار برود. به همین دلیل برنامه‌نویس‌ها هم مانده‌اند که با وجود این همه ‌توانایی ، کدام را انتخاب کنند و یادگیری کدام یک از آنها برای افراد تازه ‌وارد مفیدتر خواهد بود؟ ما هم تصمیم گرفتیم تا زبان‌های برنامه ‌نویسی سی شارپ و جاوا را باهم بررسی کنیم، تا هم برنده معلوم بشود و هم شما بدانید از کجا باید شروع کنید ؟
این هم بدانید که براساس شاخص Tiobe، آموزش سی شارپ و جاوا برای سال های متوالی در بین پنج زبان مشهور برنامه نویسی در جهان معرفی شد.
 
زبان جاوا چگونه طراحی شد؟
 
یک روز تیم مهندسی شرکت میکروسیستم سان نشسته‌ بودند و داشتند قهوه می‌خوردند که ناگهان یکی از اعضای تیم گفت:«ای بابا! خسته شدم انقدر با این همه عدد و علامت کلنجار رفتم و کد نوشتم، یعنی میشود روزی به زبان آدمیزاد با این سیستم‌ها حرف زد؟» 
و یکباره تمامی افراد حاضر در شرکت یک‌صدا گفتند:«چرا نمی‌شود؟» و اینطوری بود که جاوا در حدود سال 1995 متولد شد.
 
جاوا محبوبیت خود را چگونه کسب کرد؟

جاوا شباهت زیادی به زبان‌های c  و c++ دارد، اما سطح شی گرایی جاوا از c++ بالاتر و البته امنیت بیشتری هم دارد.
شرکت سان خیلی تنوع طلب بود به همین خاطر تا توانست روی ورژن‌های مختلف جاوا، اسم‌های عجیب گذاشت. مرلین، موستانگ، tiger و دلفین. اینها فقط اسامی عجیب چند تا از نسخه‌های جاوا بودند که در چند سال اخیر به بازار عرضه شدند.
همچنین ابزارها، پلت‌فرم‌ها یا کتابخانه‌های خیلی زیادی از این زبان پشتیبانی می‌کند.
به خاطر امنیت بالای جاوا بسیاری از شرکت‌های بزرگ و دولتی، برای نوشتن برنامه‌هایشان به سراغ این زبان می‌روند.
حوزه‌ی اصلی و تخصصی جاوا، ساخت اپلیکشن در حوزه‌ی اندروید است؛ اصلا اندروید از همان اول، تحت نظر جاوا توسعه پیدا کرد و برای همین است که بدون مشورت با جاوا آب هم نمی‌خورد.
 
چه شد که سی شارپ به وجود آمد؟
 
چند سال بعد از تولد جاوا، مایکروسافت چون از قابلیت‌های جاوا خوشش آمد، رقابت سختی بین این دو شرکت شکل گرفت و بالاخره بعد از کلی کش و قوس، مایکروسافت سرانجام یک زبان ساخت و اسمش را گذاشت باحال یا کول.
 چون نتوانستند یک لوگوی درست و درمان با اسم کول بسازند، دست آخر اسم بچه‌ی باحالشان را c# گذاشتند.
C sharp  مثل جاوا شی‌گرا است و سطحش از زبان‌های c و c++ بالاتر است.  اما نکته‌ی اساسی در رابطه با سی‌شارپ، وابستگی زیادش به سیستم عامل است یعنی از همان بچگی اضطراب جدایی داشت و اصلا نمی‌خواست به شکل مستقل عمل کند. خلاصه انقدر گریه و زاری کرد تا مایکروسافت برایش یک اتاق کار در همان خانه‌ی خودشان یعنی ویندوز ساخت و اسمش را گذاشت محیط  .net .  بعدها که کار و بار سی شارپ گرفت نسخه‌های دیگری از .net مثل .net core و asp.net هم ارائه شد تا  برنامه‌نویس‌های سی شارپ از آن‌ها استفاده کنند.
همین وابستگی، یکی از تفاوت‌های اصلی دو زبان جاوا و سی شارپ است، جاوا به راحتی می‌تواند مستقل از سیستم به کارش ادامه بدهد، اما سی شارپ وابسته به محیط .net است و بدون آن کاربردی ندارد، البته بعدها معلوم شد .net چقدر خوب است، مثلا می‌تواند کدهای اضافی و غیر ضروری را شناسایی و آن‌ها را پاک کند.
از آن‌جایی که سی شارپ خیلی حسود است، با خودش گفت نمی‌شود که جاوا بتواند در همه‌ی سیستم‌ها اجرا بشود، بعد من این‌جا فقط در ویندوز بمانم، برای همین به سراغ رفیقش .net رفت آن هم در رفاقت کم نگذاشت و با ایجاد زبان میانی، کاری کرد که برنامه‌های نوشته‌شده توسط c#  در سایر سیستم عامل‌ها هم بتوانند اجرا بشوند. مثلا اگر شما یک برنامه برای سیستم اندروید بنویسید، می‌توانید با ابزارهای موجود در .net و با کمی تغییر، آن‌ برنامه ‌را در سیستم عامل دیگری هم اجرا کنید، البته به شرطی که فریم‌ورک .net روی سیستم دوم هم نصب شده‌باشد.
سی شارپ خیلی هوای سیستم‌ها را دارد، بنابراین اگر حس کند یک کد ممکن است به سیستم آسب‌بزند، بلافاصله مثل صاعقه از غیب ظاهر می‌شود و اجازه‌ی نوشتن و یا اجرای کد در مراحل بعد را نمی‌دهد.
سی‌شارپ یک زبان کامپایلر است و سرعت اجرای خوبی دارد، بنابراین بسیاری از استارتاپ‌ها برای انجام فعالیت‌های مختلف به سراغش می‌روند. بازی‌سازها هم البته حسابی با سی شارپ رفیق هستند و به کمک ابزار unity3d مرزهای دنیای خیال و واقعیت را جا‌به‌جا می‌کنند.
هر قدر جاوا در محیط با اندروید راحت است، سی‌ شارپ هم در محیط ویندوز آزاد و رها است و به هیچ برنامه‌ای نه نمی‌گوید، پس اگر عاشق محصولات مایکروسافت هستید و یا از محیط ویندوز خوشتان می‌آید، بهتر است هر چه سریع‌تر به سراغ .net و زبان سی شارپ بروید.
سی شارپ در ایران و دنیا بسیار محبوب است و کتابخانه‌ها و فریم‌ورک‌های زیادی از آن پشتیبانی می‌کنند، مایکروسافت هم هر روز با یکی دو ابزار جدید مثل زامارین، راه را برای توسعه و بهبود کارکرد سی شارپ فراهم می‌کند.
 
تفاوت های اصلی بین سی شارپ و جاوا چیست؟
 
  1. یادگیری
گفتیم سی شارپ به محیط .NET محدود است؟ خب این محدودیت موقع یادگیری یک مزیت بزرگ محسوب می‌شود، چون شما می‌توانید به راحتی و با صرف زمانی به مراتب کمتر، سر از کار همه‌ی ابزارهای .NET دربیاورید و خیلی زودتر راهتان را در این فریم‌ورک پیدا کنید. از طرف دیگر به خاطر استقبال بسیاری از برنامه‌نویس‌های داخلی از سی شارپ، تقریبا روزی نیست که یک ویدیوی آموزشی برای بهتر کار کردن با این زبان، تولید نشود.
اما اجتماعی بودن جاوا، این‌جا به ضررش تمام شد. جاوا درست مثل یک ربات است که از دست های مختلفی تشکیل شده و این دست‌های اضافی، همان فریم‌ورک‌های کمکی جاوا هستند؛ پس طبیعی است که یادگرفتن جاوا خیلی سخت‌تر از سی شارپ باشد.
موضوع دیگر بحث شی گراییست، یعنی یادگرفتن شی‌گرایی در جاوا به مراتب سخت تر از سی شارپ است.
 
  1. بازار کار 
 
به خاطر ساده‌تر بودن کارکردن با  سی شارپ و همچنین وجود جعبه ‌ابزار و فریم ورک قدرتمندی مثل .net تقریبا بیشتر برنامه‌نویس‌های ایرانی در زمینه‌ی ساخت نرم‌افزار ترجیح می‌دهند به سرزمین c# کوچ کنند.
سرعت کار با سی شارپ هم کمی بالاتر از جاوا است و از آن‌جایی که استارتاپ جماعت همیشه به دنبال کاهش هزینه‌هاست، بنابراین خیلی طبیعی است که c#  با بیشتر استارتاپ‌ها دوست باشد.
 
توسعه‌ی وب و نرم‌افزارهای تحت وب هم یکی از تخصص‌های اصلی این زبان است.
برای بازی‌سازی هم بسیاری از شرکت‌ها ترجیح می‌دهند به سراغ سی شارپ بروند، چرا که با وجود UNITY 3D ساخت بازی راحت‌تر است و البته در زمان و هزینه هم به مقدار قابل توجهی می‌توان صرفه‌جویی کرد.
پس اگر از کار با استارتاپ‌ها یا بازی‌سازی‌ در داخل کشور لذت می‌برید، می‌توانید با خیال راحت به سراغ سی شارپ بروید.
جاوا تا همین چند وقت پیش، حاکم بی چون و چرای ساخت اپلیکیشن بود، تا این‌که مایکروسافت، زامارین را معرفی کرد و حالا جاوا باید کمی عقب‌نشینی کند، چون سی شارپ هم در زمینه‌ی ساخت اپلیکیشن حرف‌های زیادی برای گفتن دارد. هر چند اگر مایلید در محیط اندروید کار کنید، بهتر است به سراغ جاوا بروید.
پای java به مجلس هم باز شده‌است، بسیاری از اداره‌های دولتی بزرگ مجبور هستند به خاطر امنیت بالای جاوا، از این زبان برای نوشتن برنامه‌هایشان استفاده کنند، از طرف دیگر به نظر می‌رسد جاوا برای انجام محاسبات بزرگ کاربردی‌تر باشد.
اوضاع البته در خارج از کشور متفاوت است و بسیاری از شرکت‌ها هنوز هم برای ساخت اپلیکیشن و ساخت نرم‌افزار اول از همه به سراغ جاوا می‌روند و از وقتی که جاوا با اوراکل رفیق شد، در خارج از کشور یکه ‌تازی می‌کند و در زمینه‌ی ساخت نرم‌افزارهای بانکداری و … حسابی پرکاربرد است.
 
 بالاخره سی شارپ یا جاوا؟
 
 سی شارپ یک زبان وابسته به سیستم است، هر چند با ارائه ورژن‌های جدید .NET تقریبا این مشکل هم برطرف شده، اما محیط .NET هنوز هم طبق سیاست‌های مایکروسافت چندان OPEN SOURCE نیست.
در مقابل جاوا، به سیستم خاصی وابسته نیست و به کمک ماشین جاوا به راحتی می‌توانید بین دنیای سیستم‌ها سفر کنید.
یادگیری سی‌شارپ به خاطر ساده‌تر بودن و محدود بودن به یک فریم‌ورک خاص، خیلی راحت‌تر است و باکمی تلاش می‌توانید به راحتی اسب چموش سی شارپ را رام کنید.  
با تمام این حرف‌ها هیچ کس نمی‌تواند بین سی شارپ یا جاوا یکی را به عنوان بهترین زبان برای آموزش برنامه‌نویسی انتخاب کند چرا که هر کدام از این زبان‌ها ویژگی‌ها و قابلیت‌های خودشان را دارند. بر همان اساس می‌توانند در برخی فعالیت‌ها مفیدتر باشند و در نهایت این شما هستید که باید بر اساس رشته‌ی کاری مورد علاقه‌ خود یکی از این دو زبان را انتخاب و تا آخر کار همراهش شوید.
+ نوشته شده در  سه شنبه 9 دی 1399ساعت 16:37  توسط fattahi 

از آرایه در سی شارپ در چه مواقعی باید استفاده کرد؟

از آرایه در سی شارپ در چه مواقعی باید استفاده کرد؟
اولین چیزی که معمولا در برنامه‌نویسی آموزش داده می‌شود، مقداردهی به متغیرها است. برنامه‌های ساده و تمرینی اکثرا با مقداردهی به یک متغیرمثل X) ) شروع می‌شوند.
اما هرچه جلوتر بروید و وارد دنیای برنامه‌نویسی شوید، نیاز به ذخیره و کار با اطلاعات به صورت دسته‌ای را بیشتر حس می‌کنید. اینجاست که متغیرها دیگر جوابگو نیستند و اگر هم باشند، وقت زیادی را از شما خواهند گرفت. برای حل این مشکل سی شارپ آرایه ها را معرفی کرد. یک آرایه یک نوع داده ای خاص است که می تواند تعداد مشخصی مقدار را در خود به صورت دنباله ای از مقادیر ذخیره کند.
نحوه تعریف آرایه
آرایه با دستور کلی زیر تعریف می‌شود:
 
<span style="font-size: 16px;">type[] arrayName;</span>
 type نوع داده‌های آرایه را مشخص می‌کند (int، double یا…) و در قسمت arrayName نام منتخب برنامه‌‌نویس قرار می‌گیرد. 
روش های مقداردهی یک آرایه
در زبان برنامه نویسی سی شارپ با 5 روش مختلف می توانیم مقدار دهی آرایه ها را انجام دهیم. 
  1. میتوانیم با استفاده از شماره  Index به عنصر مورد نظر دسترسی داشته باشیم و مقدار دهی آن را انجام دهیم.
 string[] leaingSite = new string[10];
leaingSite[0] = "bugeto.net";
  1. این امکان نیز وجود دارد که هنگام تعریف آرایه همان لحظه مقدار دهی آن را انجام دهیم
double[] balance = { 2340.0, 4523.69, 3421.0};
  1. در یک خط کد می توانیم بعد از ایجاد کردن بلافاصله مقداردهی آن را انجام دهیم
int [] num = new int[5]  { 20,  77, 118, 110, 115};
  1. برای مقدار دهی می توانیم اندازه آرایه را وارد نکنیم و همانجا شروع به مقدار دهی کنیم
int [] num = new int[]  { 20,  19, 88, 1399, 1400};
  1. می توانیم با روش زیر یک متغیر را در یک متغیر دیگر کپی کنیم. در چنین حالتی هر دو متغیر به یک مکان از حافظه اشاره می کنند.
int [] num = new int[]  { 20,150,186, 698, 7};
int[] score = marks;
دسترسی به المان‌های یک آرایه
یک المان توسط ایندکس‌های آرایه در دسترس خواهد بود. برای اینکار کافیست ایندکس آرایه را درون براکت آن متغییر قرار دهیم. به نمونه‌ی زیر توجه کنید.
 
double salary = darsman[9];
با دستور فوق اطلاعات مربوط به خانه‌ی شماره ۱۰ (ایندکس ۹) در اختیار قرار بگیرد و درون متغییر salary ذخیره گردد.
به مثال زیر توجه کنید، در این مثال می‌خواهیم اطلاعات تک تک درایه‌های یک آرایه با ۱۰ خانه را نمایش دهیم. توجه داشته باشید که به هنگام تعریف آرایه‌هایی از نوع int مقداردهی اولیه بگونه‌ای است که در ابتدا تمام درایه‌ها ۰ می‌باشد. در این مثال تک تک درایه‌ها با عدد ۱۰۰ جمع شده و مقدار حاصله به همراه نمایش ایندکس آنها چاپ می‌شود:
 
using System;
namespace ArrayApplication
{
   class MyArray
   {
      static void Main(string[] args)
      {
         int []  n = new int[10]; /* n is an array of 10 integers */
         int i,j;
 
         /* initialize elements of array n */
         for ( i = 0; i < 10; i++ )
         {
            n[ i ] = i + 100;
         }
         
         /* output each array element's value */
         for (j = 0; j < 10; j++ )
         {
            Console.WriteLine("Element[{0}] = {1}", j, n[j]);
         }
         Console.ReadKey();
      }
   }
}
بنابراین خروجی مثال فوق به صورت زیر خواهد بود:
 
Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109
استفاده از حلقه‌ی foreach
حلقه‌ی foreach به معنای «به ازای هر» می‌باشد. از این حلقه برای دسترسی به تک تک المان‌ها و آیتم‌های یک آرایه استفاده می‌شود تا از تکرار یک دستور خودداری کنیم. به مثال زیر توجه کنید:
using System;
namespace ArrayApplication
{
   class MyArray
   {
      static void Main(string[] args)
      {
         int []  narray = new int[5] {1,2,3,4,5}; /* n is an array of 10 integers */
         
         foreach ( int i in narray)
         {
             Console.WriteLine("Element = {0}", i);
         }
         
         Console.ReadKey();
      }
   }
}
در این حالت تک تک درایه‌های یک آرایه چاپ می‌شود و خروجی به صورت زیر خواهد بود:
 
Element = 1
Element = 2
Element = 3
Element = 4
Element = 5
کلام آخر:
بحث آرایه در سی شارپ به اینجا ختم نمی شود. چرا که ما تا اینجای کار آرایه های یک بعدی را مورد بررسی قرار دادیم. اما گونه ای دیگر از آرایه ها وجود دارند که دارای ابعاد متفاوت هستند و به آرایه های چند بعدی معروف هستند.
مثلا اگر بخواهیم یک آرایه دوبعدی تعریف کنیم به صورت زیر عمل می کنیم:
 string [,] names;
یا برای تعریف یک آرایه سه بعدی می نویسیم:
int [ , , ] m;
آرایه ها یکی از پرکاربرد ترین ساختار داده ها به حساب می آیند و ما سعی کردیم تا شما را با مباحثی که در این حوزه قرار می گیرد آشنا کنیم.
به عنوان یک دوست که در این راه تجربه های زیادی کسب کردم به شما توصیه میکنم که اگر در مفاهیم ابتدایی این زبان مثل تعریف متغیرها، دستورات شرطی، حلقه های تکرار و.... تسلط کافی  ندارید از آموزش های مقدماتی سی شارپ غاف نشوید.
+ نوشته شده در  شنبه 6 دی 1399ساعت 18:21  توسط fattahi 

زبانی به نام سی شارپ چیست؟

زبانی به نام سی شارپ چیست؟
امروز می خواهیم درباره اینکه سی شارپ چیست و چه کاربردهایی دارد با شما صحبت کنیم.
سی شارپ چیست؟
سی شارپ یک زبان برنامه نویسی چند منظوره عمومی است که حدود سال 2000 میلادی توسط مایکروسافت ساخته و در سال 2003 به عنوان یک زبان برنامه نویسی استاندارد بین المللی تصویب شد.
حالا نرم افزارهایی که میشود با سی شارپ طراحی کرد
سی شارپ یک زبان سمت سرور است. پس میتوان به عنوان یک زبان بک-اند از آن استفاده کرد. اما این تمام ماجرا نیست.
مایکروسافت با خرید شرکتی به نام Xamarin قدمی بزرگ در مسیر رشد هر چه بیشتر استفاده از #C برداشت. این تکنولوژی امکانی را فراهم کرده است که به سادگی می‌توان به کمک زبان #C برای دستگاه‌های اندرویدی و iOS اپلیکیشن تولید کرد.
اگر کسی به شما گفت که هر چه باشد، اپ‌های زامارین مثل اپ‌هایی که با زبان اصلی آن پلتفرم ایجاد شده‌اند نمی‌شود، با خیال راحت به او بگویید که اشتباه می‌کند. اپ‌های تولید شده به کمک #C و زامارین می‌توانند دقیقا همان کارایی و زیبایی اپ‌های به اصطلاح Native برای اندروید یا iOS را داشته باشند.
اگر نیاز به یک وبسایت دارید، کافیست  #C را صدا بزنید تا به کمک تکنولوژی ASP.Net این امکان را فراهم ‌کند که وب‌سایتی بسیار قدرتمند و در عین حال زیبا ایجاد کنید.
در آخر اینکه میتوانید به کمک سی شارپ نرم‌افزارهای تحت ویندوز و macOS تولید کرد. راستش در چند نسخه اخیر ویندوز، مخصوصا Windows 10، بخش زیادی از خود این سیستم عامل به وسیله زبان #C نوشته شده است.
بازار کار زبان برنامه نویس سی شارپ
علاوه بر پشتیبانی قوی، انعطاف‌پذیری و قدرت بالا  که از خصوصیات بارز سی شارپ هستند، نزدیک به 31% توسعه دهندگان از این زبان برای تولید برنامه های خود استفاده می کنند. همچنین در وب سایت Stackoverflow  برای سی شارپ بیش از یک میلیون موضوع طرح کرده که  از این لحاظ سومین جایگاه را دارد.
 این محبوبیت عامل اصلی افزایش نیاز به نیروی کار باتجربه و حرفه ای می باشد. افرادی که در زمینه برنامه نویسی سی شارپ توانایی کافی را داشته باشند، می توانند به راحتی شغل مورد علاقه خود را بیابند. این شغل ها عبارتند از:
  • طراحی برنامه های ویندوز
  • طراحی کتابخانه و برنامه های مکمل
  • طراحی برنامه‌های تحت وب
  • برنامه‌های موبایل برای آندروید و iOS
  • هوش مصنوعی و یادگیری ماشین
  • بلاکچین و ارز های مجازی
  • اینترنت اشیا
  • طراحی بازی های کامپیوتری و …
آینده سی شارپ چیست
این زبان، تمام نشدنی خواهد بود چرا که نسخه های جدید آن نیز هر چند وقت یکبار توسط مایکروسافت ارائه می‌شود و دارای قابلیت‌های جدیدی است.  اگر بخواهیم درباره‌ی رنکینگ و رتبه‌ی آن در دنیا صحبت کنیم می‌توانیم این طور بگوییم که: سی‌شارپ از دیدگاه‌های مخلتف چهارمین و در برخی پنجمین زبان کاربردی، قدرتمند و محبوب دنیا محسوب می شود.
بنابراین این زبان برنامه نویسی از محبوبیت و اعتبار بسیار بالایی برخوردار است.
در ایران دو زبان برنامه نویسی بخش اعظم نرم افزارها و وب سایت های سازمان های دولتی و خصوصی را فرا گرفته است که C# (ASP.NET)  و جاوا پرچم داران آن هستند.
و در  آخر بشنوید از مزایای سی شارپ:
  1. زبانی شیء گرا

یک  زبان شیء گرای محض که این قابلیت را به ما می دهد که برنامه های قابل نگهداری ماژولار و کدهای قابل استفاده مجدد را ایجاد نماییم. 

  1. مجموعه Garbage خودکار

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

  1. عدم بروز مشکل در صورت وجود اختلال در حافظه

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

  1. توسعه راحت تر

کتابخانه های class غنی ، پیاده سازی بسیاری از توابع را آسان می کنند. 

  1. Cross Platform

اگر روی دستگاه خود ، فریم ورک NET. را نصب کرده باشیم ، برنامه های ما به خوبی اجرا خواهند شد.

  1. یکپارچگی بهتر

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

  1. کدنویسی با خوانایی بیشتر

مفاهیم قراردادی در متدهای get-set ، باعث خواناتر شدن کدها می شوند. هم چنین در #C ما نیازی به نگرانی در مورد فایل های هدر نداریم.

  1. کمبود انتخاب

هنگامی که در بستر مایکروسافت کار می کنیم ، برای همه چیز ، ابزاری داریم. از این رو ، اساساً ، ما نیازهای خود را با ابزار مطابقت می دهیم و از آنها استفاده می کنیم. 

خب دوستان مبحث ما درباره سی شارپ چیست به پایان رسید و امیدواریم که از این مطلب لذت برده باشید؛ موفق باشید.
+ نوشته شده در  پنجشنبه 4 دی 1399ساعت 18:43  توسط fattahi