تا به حال فکر کردهاید که سر و کلهی اولین زبان برنامه نویسی از کجا پیدا شد؟ ماجرا از جایی شروع شد که یک دستگاه غولپیکر را جلوی اولین برنامهنویس دنیا گذاشتند و از او خواستند تا با این ابردستگاه ارتباط برقرار کند. برنامهنویس محترم هم که حس میکرد چشم یک دنیا به او خیره شدهاست، اول سعی کرد مثل انسانهای نخستین با دود یکی دو تا علامت بفرستد، بعد کمی روی شانهی کامپیوتر زد و …. سرانجام هر طور بود اولین زبان برنامهنویسی به وجود آمد.
مقالهی امروز ما راجع به یکی از پرطرفدارترین زبانهای برنامهنویسی به نام سی شارپ C# است. سی شارپ یک زبان کلاس بالای شیگرا است که… راستش الان خودمان هم حس میکنیم در حال صحبت به زبان یک بیگانهی فضایی هستیم، ولی واقعیت این است که زبانهای برنامهنویسیای مثل c# گاهی به همین پیچیدگی هستند. خبر خوب این که ما قرار است در این مقالهی بامداد یکبار برای همیشه این کلاف پیچیده را باز کنیم.
زبان برنامه نویسی سی شارپ (#C)
کودکی که خیلی زود از نردبام پیشرفت بالا رفت
داستان تولد سی شارپ از یک دعوای ساده شروع شد. شرکت مایکروسافت از شرکت سان اجازه گرفت تا از زبان جاوا استفاده کند، اما خب جناب مایکروسافت کمی انحصارطلب بود و دوست داشت همهی زبانها در زمین خودش بازی کنند، بنابراین کلی به جاوا محبت کرد و کم کم قابلیت استقلال از سیستم عامل را از جاوا گرفت.
این وسط شرکت سان که همان بابای جاوا بود چندان از این کار خوشش نیامد و از مایکروسافت شکایت کرد. مایکروسافت هم مجبور شد با کمک چند برنامهنویس مثل آندرس هلزبرگ، یک زبان جدید خلق کند.
این زبان جدید یکجورهایی فرزند ارتقا یافتهی زبان c++ بود. اوایل سی شارپ را در خانه، کول صدا میکردند، اما بعد دیدند cool خیلی هم با حال نیست، بنابراین سری به ثبت احوال زدند و در نهایت یک شناسنامهی جدید به نام سی شارپ و با علامت تجاریc# تهیه کردند.
C sharp علاوه بر ویژگیهایی که از خانوادهی c به ارث بردهاست، تا حد زیادی هم شبیه به جاوا است، و همین حد وسط بودن باعث شدهاست کلی طرفدار پیدا کند. زبان برنامهنویسی قصهی ما البته کلی مزیت جالب دیگر هم دارد که دربخش بعد راجع به آنها صحبت میکنیم.
پیشنهاد مقاله: بهترین زبان برنامه نویسی، مقایسه کامل سی شارپ و php
مزایای زبان برنامه نویسی سی شارپ (C-sharp)
مجموعهی اشیای با کلاس
c sharp یک زبان شیء گرا است، این جمله را حتما تا به حال هزار بار در مقالههای مختلف خواندید. اما شیگرایی به چه معناست؟ فرض کنید شما قرار است یک بازی کامپیوتری با شخصیتهای مختلف خلق کنید، مثلا یک دایناسور قرار است نقش شرور بازی شما را ایفا کند. این دایناسور چه رنگی است؟ چطور راه میرود؟ غذا چه میخورد؟ تمام این ویژگیها باعث میشوند دایناسور شما جان بگیرد و تبدیل به یک شخصیت واقعی بشود.
شی یا object هم در برنامهنویسی درست مثل همین دایناسور است. شما برای یک مجموعه کد، ویژگیهایی را تعریف میکنید و بعد به جای اینکه در تمام مراحل کدنویسی، مجبور بشوید دوباره ویژگیها را تکرار کنید، فقط مینویسید دایناسور، و برنامه میفهمد منظور شما همان موجود دو متری سبزرنگی است که اول ماجرا تعریفش کردید، اما این اشیا در کدام چارچوبها استفاده میشوند؟ برای فهمیدن جواب سری به بخش بعد بزنید.
زمین بازی بزرگ
مایکروسافت برای اینکه خیال خودش را راحت کند، همان زمان یک فریمورک یا یک زمین بازی تحت اختیار خودش ایجاد کرد به نام .net و از همهی زبانهای خانوادهی c خواست در همین زمین بازی کنند. این فریمورک چیست و چرا انقدر مهم است؟ فریمورک، بهشت برنامهنویسها است، جاییکه در آن کافی است چشمهایشان را ببندند و به یک کد فکر کنند و بعد وقتی چشمشان را باز کردند، کد موردنظر کف دستشان است.
زیادی فانتزی شد؟ بگذارید کمی به واقعیت نزدیکش کنیم. آن دایناسور جالب مثال قبل را خاطرتان هست؟ فریم ورک یکجورهایی مثل یک پارک ژوراسیک بزرگ است که پر از دایناسورهای رنگارنگ است، دایناسورهایی که قبلا توسط برنامهنویسهای کاربلد خلق شدهاند و حالا منتظر هستند تا با کمی تغییر یا به همان شکل در یک برنامهی دیگر مورد استفاده قرار بگیرند. این روزها فریمورکها حسابی پر و بال گرفتند و ممکن است شما اسمشان را به عنوان کتابخانه شنیدهباشید.
فریم ورک net
شعبدههای زیادی در آستین دارد. مثلا به تازگی متن باز یا open source شدهاست، و این بعنی برنامهنویسهای زیادی میتوانند از منابع آن استفاده کنند و یا کدهایی را به کتابخانهاش اضافه کنند. تمام این ویژگیها باعث شدهاند تا زبان c# به همراه فریمورک .net تبدیل به دو یار جدا نشدنی بشوند و تقریبا هر غیرممکنی را ممکن کنند.
معلم سختگیر
فرض کنید یک ربات کوچولوی قشنگ اختراع کردهاید، و انقدر درگیر ساخت و ظاهرش بودهاید که یادتان رفته وسط راه یکی دو تا از پیچ و مهرههایش را چک کنید، درست روز مسابقهی رباتیک متوجه میشوید که یک جای کار ربات قشنگتان حسابی مشکل دارد. حالا چه کار باید بکنید؟
از آنجایی که سی شارپ حسابی به ضربالمثل «علاج واقعه قبل از وقع باید کرد» اعتقاد دارد، در همان زمان کدنویسی، کدها را چک میکند و اگر کدی مشکل داشتهباشد، خوب اجرا نشود یا امکان آسیب به سیستم عامل وجود داشتهباشد، سریع اخطار میدهد، و به کاربر اجازه نمیدهد کد را بنویسد. C# به همین راحتی از تلف شدن وقت خودش و کاربر جلوگیری میکند و مثل یک نقشهخوان حرفهای درمسابقهی رالی، قبل از ورود به پیچهای خطرناک هشدار میدهد.
آشغالهای دوست نداشتنی
دوستی عمیق فریمورک .net و سی شارپ را که هنوز از یاد نبردهاید؟ معلوم شد که این دوتا کلی وجه اشتراک دارند که باعث میشود دوستیشان عمیقتر بشود، مثلا هر دوتایشان عاشق نظم و ترتیب هستند. برای همین، هر چند وقت یکبار یک نگاه به محیط برنامه میکنند و کدهای اضافهای ک هیچوقت استفادهنمیشوند، پاک میکنند.
مثلا شما به عنوان یک برنامهنویس، یک متد ساده را تعریف میکنید، اما هیچکجا از آن استفاده نمیکنید، سی شارپ هم که حوصلهی شلوغی ندارد و میبیند شما آن متد بیچاره را همینجوری در انبار گذاشتید، دست متد محترم را میگیرد و راس ساعت 9 آن را دم در میگذارد. این ویژگی باعث میشود برنامهها حجم کمتری بگیرند و خب حتما میدانید که هنگام اجرای پروژههای سنگین، وجود یک فضای حافظهی کوچک، در حد یک قطعه طلا ارزشمند است.
سکوهای مختلف برای پرش
تا به حال به ساختار منشورها و بازتاب نور از آنها دقت کردهاید؟ با تشکر از درس علوم، همهی ما میدانیم که یک منشور میتواند طیفهای مختلف نور را بازتاب بدهد و بعد یک رنگین کمان قشنگ بسازد، خب این موضوع چه ربطی به بحث ما دارد؟ c sharp به کمک محیط .net دقیقا مثل یک الماس درخشان عمل میکند و از یک زبان واحد، چند خروجی متفاوت برای سیستم عاملهای مختلف میگیرد. سخت شد؟ بگذارید بیشتر توضیح بدهیم.
تا همین چند وقت پیش اگر قرار بود شما برنامهای برای اندروید و ویندوز بنویسید بایدبه سراغ زبانهای اندروید و سی شارپ میرفتید و از کدهای متفاوتی استفاده میکردید. این ماجرا برنامهنویسی را از کار در معدن هم سختتر کردهبود، اما با رشد پلتفرمها و ظهور پلتفرمهای چندسکویی مثل .net و البته فرزند جدیدش یعنی asp.net یا .netcoreبرنامهنویسها حالا میتوانند یک کد را به زبان c sharp بنویسند و بعد از همان کد ساده، چند خروجی متفاوت بگیرند و برنامهشان را در سایر سیستمهای عامل مثل اندروید یا iosو … به راحتی آب خوردن اجرا کنند.
پیشنهاد مقاله: بوتکمپ پرورش و استخدام برنامه نویسی
کاربرد سی شارپ و همهی فیلهایی که هر روز هوا میکند
این همه از مزیتهای مختلف سی شارپ گفتیم و حالا بدون گفتن کاربردهایش بگذاریم و برویم؟ امکان ندارد. سی شارپ تقریبا در تمام امور مربوط به مایکروسافت از توسعهی انواع نرمافزارها تا بازیهای مختلف نقش دارد و حسابی با بابا مایکروسافت در حال توسعه و به روز کردن شغل خانوادگی هستند.
مایکروسافت هم که که میبیند سی شارپ بچهی پایهای است، محدودش نمیکند و مثل یک بابای مهربان میگوید برو پدرجان! برو! و اینطوری است که این روزها اگر بخواهید نرمافزاری را در سیستم عامل مک یا ios و … طراحی کنید یا توسعه بدهید، خیلی راحت میتوانید به سراغ c# بروید و ازش کمک بگیرید.
این روزها سی شارپ در صنعت بازیسازی تقریبا حرف اول را میزند و حتی تازهکارها هم با استفاده از unity3d میتوانند بازی خودشان را بسازند. سی شارپ در طراحی و اجرای وبسایتهای مختلف هم ید طولایی دارد و با کمک asp.net تقریبا میتواند در زمینهی طراحی وبسایت هر کاری بکند. باورنمیکنید؟ سری به دیجیکالا یا سایت ایرانسل بزنید تا ببینید جناب c sharp چقدر خوب قواعد بازی را بلد است.
البته c# بلندپروازتر از این حرفهاست، برای همین چند وقت یکبار سری به دنیای کسب و کار هم میزند و از کیسهاش یکی دو نرمافزار محاسباتی برای اهل تجارت، سوغات میبرد.
سی شارپ عاشق تکنولوژی و اپلیکیشنهای موبایل بوده و هست، برای همین خیلی زود با زامارین که یکی دیگر از بچههای مایکروسافت بود، رفیق شد. آنها به کمک هم خیلی راحت توانستند اپلیکیشنهای مختلف را در زمانی کمتر از سایر زبانهای برنامهنویسی، کد نویسی کنند، و اعتقادشان به ضربالمثل «وقت طلاست» را نشان بدهند.
سی شارپ البته عاشق توسعه هم هست، با کمک این زبان تقریبا میشود هر نرمافزاری که در چارچوب فریم ورک .net نوشته شدهباشد، توسعه داد. برنامههای مثل اتوکد یا شیرپوینت و هزاران برنامهی دیگر هم که از اول با زبان سی شارپ نوشتهشدند، حسابی با سی شارپ دوست هستند و برای توسعه و افزایش کارایی بلافاصله به سراغ c# میروند.
پیشنهاد مقاله: معرفی کامل انواع زبانهای برنامه نویسی
چند نمونه از برنامههایی که با زبان سی شارپ نوشته شدهاند
از آنجایی که مشت نمونهی خروار است، ما هم تصمیم گرفتیم برای آشنایی بیشتر شما در این بخش یکی دو تا برنامهی کاربردی که با سی شارپ نوشته شدهاند، معرفی کنیم تا بهتر بتوانید با این زبان کاربردی دوست بشوید.
آفیس 365: یادتان هست گفتیم سی شارپ و مایکروسافت دائم به دنبال توسعهی کسب و کار خانوادگی هستند؟ این هم شاهدش! آفیس 365 اسم بسیار خوبی برای بستهی آفیس ارائه شده از طرف مایکروسافت است، چرا که این روزها 365 روز سال هم نه، ما تقریبا بیست و چهارساعته با ابزارهای آفیس سر و کار داریم. همین مقاله توسط word تایپ میشود، تصور کشیدن یک جول ساده بدون excel تقریبا غیر ممکن است و هزار و یک کار ریز و درشت دیگر که روزانه با کامپیوترهای خانگی و اداری انجام میدهیم.
آن اوایل ورود آفیس 365 همه فکر میکردند که این نرمافزار جدید فقط تحت وب و به صورت آنلاین کار میکند، اما خیلی زود مشخص شد که این فرزند جدید مایکروسافت، میتواند بدون اتصال به اینترنت هم بعضی از کارهای همیشگیاش را انجام بدهد. بخشهایی مثل word, excel, publisher بدون حمایت وب هم در دسترس هستند، اما در مقابل بعضی از بخشها مثل yammer, flow, powerapps و … به خاطر ماهیت آنلاینشان برای اجرا نیاز به اینترنت دارند.
به هر حال آفیس 360 با وجود ورژنهای خانگی، اداری و تجاری و به روز شدن دائمی، توانست خیلی زود قلب طرفداران مایکروسافت را تصاحب کند و اوج کارایی سیشارپ در ساخت یک برنامه را نشان بدهد.
شیرپوینت: این روزها بیشتر ادارهها و سازمانها، اطلاعات را به صورت الکترونیکی نگهداری میکنند. یا برای کارهای اداری از پرتال داخلی استفادهمیکنند. نرمافزارهای زیادی برای مدیریت فعالیتهای اداری وجود دارد، اما در میان این همه نرمافزار، شیرپوینت، یکجورهایی حکم چوب جادوی هریپاتر را دارد و با یک تکان ساده به تمام نامههای اداری و فعالیتهای سایت شرکت، سر و سامان میدهد.
شیرپوینت مثل یک پیتزای چند تکه میماند و هر تکهی آن یک طعم عالی دارد. یکی از تکههای آن خوراک طبقهبندی اسناد و مدارک است و حسابی باب میل مدیر شرکتهای بزرگ است. مثلا یک شرکت تولید محتوای بزرگ را تصور کنید، با استفاده از شیرپوینت میشود تمام مقالههای فرستاده شده توسط نویسندههای محتوا را مدیریت کرد، برای هر فرد یک رمز جداگانه در نظر گرفت تا فقط به مقالهها و پرتال شخصی خودش دسترسی داشتهباشد، و در مقابل هم میتوانیم برای مدیریت مرکز دسترسی بیشتری را تعریف کنیم تا بتواند به همهی مقالهها سرکی بکشد.
شیرپوینت دیزاینر یکی دیگر از تکههای خوشمزهی شیرپوینت است و همانطور که از اسمش پیداست، برای طراحی وبسایت از آن استفاده میشود. شیرپوینت همچنین دستی هم بر آتش یکپارچهسازی اطلاعات، جستجوی کلمات کلیدی و جستجو در فایلهای سازمان بر اساس دستورات و مقررات تعریف شده، ذخیرهسازی و ویرایش اطلاعات و … دارد.
جهان شیرپوینت بسیار بزرگ است و اگر بخواهیم همهی قابلیتهایش را بگوییم، نیاز به چند دست دیگر برای تمام کردن این مقالهی بامداد داریم. اما از آنجایی که فعلا از دست اضافه خبری نیست، اجازه بدهید فعلا با شیرپوینت خداحافظی کنیم.
پیشنهاد مقاله: آموزش برنامه نویسی – شروع آموزش برنامه نویسی
آیندهی سی شارپ (#C)
C sharp از همان اول هم کمی عجول بود و دوست داشت بداند آیندهاش چه میشود، این بود که یک روز راه هاگوارتز را در پیش گرفت و به سراغ پروفسور تریلانی رفت تا ببیند تکلیفش در آینده چه میشود.
دست آخر سی شارپ فهمید در حدود سال 2018 تبدیل به چهارمین زبان برنامهنویسی دنیا میشود و البته با پیشرفت کتابخانههایش و بزرگتر شدن خانوادهی مایکروسافت، هر روز به محبوبیتش اضافه میشود. اوضاع سی شارپ و برنامهنویسهایی که با این زبان کار میکنند در ایران هم خوب خواهد بود چرا که این زبان در کنار جاوا، پرچمدارهای اصلی کدنویسی برای تولید انواع اپلیکیشنها و بازیهای یارانهای هستند.
در نهایت سی شارپ که از آیندهی روشنش مطمئن بود، خوشحال و خندان از هاگوارتز بیرون زد و تا همین امروز هم کاری کرده که تک تک آن پیشگوییها تبدیل به واقعیت بشوند.
سی شارپ به خاطر شیگرایی و همچنین پشتیبانی مایکروسافت، هر روز محبوبیت بیشتری پیدا میکند، با توسعهی فریمورکهای مختلف از جمله .net core و همچنین ساختارهای چندسکویی مثل زامارین، فعلا نه تنها قصد بازنشستگی ندارد، بلکه تا مدتهای زیاد قرار است عصای دست بسیاری از برنامهنویسها باشد.
از طرف دیگر یادگیری سی شارپ بسیار راحت است و البته با توجه به بازار کاری که دارد به نظر میرسد یادگیری این زبان توجیه اقتصادی خوبی هم داشته باشد.
بازار کار برنامه نویسی سی شارپ
کدام زبان برنامهنویسی را یاد بگیرم؟ پیدا کردن جواب این سوال درست مثل پیدا کردن جواب برای سوال پرتکرار امروز غذا چی درست کنم؟ است. همانطور که انتخاب یک غذا برای پخت، به هزار و یک مورد ریز و درشت بستگی دارد، انتخاب یک زبان برنامهنویسی مناسب برای یادگیری هم به عوامل مختلفی بستگی دارد.
اما اگر بخواهیم خیلی کلی بگوییم اگر دوست دارید در زمینه بازیسازی، توسعه یا ساخت نرمافزارها فعالیت کنید، قطعا c# مناسب شما است. این وسط اگر پیشزمینهای از سایر زبانهای خانوادهی c داشتهباشید، قطعا یادگیری برایتان آسانتر میشود و بهتر میتوانید با سی شارپ ارتباط برقرار کنید.
بازار کار برنامهنویسان سی شارپ همانطور که قبلا گفتیم در ایران خوب است و با یادگیری این زبان، میتوانید در زمینه ساخت و توسعهی انواع اپلیکیشنهای موبایل هم، حرفهای زیادی برای گفتن داشتهباشید.
پیشنهاد مقاله: 8 آموزشگاه برنامه نویسی برتر در تهران
چگونه سی شارپ یاد بگیریم؟
دوره آموزش برنامه نویسی سی شارپ
دنیای برنامهنویسی با حدود بیست و چهار زبان پیچیده که تازه اسم یکیشان هم پایتون است و یکی دیگرشان که اسمش سی شارپ است و آدم را یاد کوسههای تیز دندان میاندازد، دست کمی از یک جنگل ندارد. حالا چه کسانی قرار است شاد و خوشحال در این جنگل به سفرشان ادامه بدهند؟ آنهایی که راه و رسم شکار کردن را بهتر از دیگران یاد گرفتهاند.
خب شما اگر بخواهید یک شکارچی ماهر بشوید از کجا شروع میکنید؟ به سراغ کتابهای خودآموز یا ویدیوهای یوتیوب میروید؟ معلوم است که نه! هیچجایی به جز یک کلاس درست و حسابی نمیتواند شما را برای یک جنگ تمام عیار آماده کند.
ما در بامداد سرمان درد میکند برای ماجراجویی و کشف جنگلهای جدید و البته خوشحال میشویم تجربههایمان از ماجراجویی در دنیای برنامهنویسی را با شما به اشتراک بگذاریم.
ما در کلاسهای بامداد مبانی شیگرایی در سیشارپ، نحوهی کار در چارچوب c#، اصول نامگذاری و … به شما آموزش میدهیم، همچنین شما را با مفاهیمی مثل انواع داده اولیه در سی شارپ، مفهوم حافظهی تصمیمگیری و عملگرهای رابطهای و …آشنا میکنیم، تا در نهایت برای کار با سی شارپ هیچ مشکلی نداشتهباشید و خیلی راحت بتوانید با این زبان قدرتمند دوست بشوید و دنیاهای کدنویسی را یکی پس از دیگری فتح کنید.
نظرات
مطالبتون بسیار جالب و دوست داشتنیه…. واقعا خسته نباشین من هم خیلی به نوشتن علاقه دارم و امیدوارم بتونم یک روزی مثل شما متن های جذاب بنویسم.
میتونید تو کلاس های سئو ما هم که در رابطه با تولید محتوا هم بخش اعظمی ش هستش ثیت نام کنید
میشه راهنماییم کنین بگین چجوری؟؟
دوره های راه اندازی کسب و کارهای اینترنتی، شامل طراحی سایت با وردپرس، کپی رایتینگ و سئو و بازاریابی شبکه های اجتماعی هست. یه مصاحبه اولیه داره و بعدش در صورت پذیرفته شدن در مصاحبه حضوری، ثبت نام می کنید.