امروزه موجی عظیم از مشاغل به واسطهی تکنولوژی و پیشرفت آن به وجود آمده است ، خیلی از افراد دوست دارند با این موج همراه شوند و شغل مورد علاقهی خود را از میان آن انتخاب و بهدست آورند.
در این میان منظومهای به نام برنامهنویسی میدرخشد که خود شامل سیارات کوچکتری است ، یکی از این سیارات که از لحاظ عظمت ، چیزی بین خورشید و مشتری است ، به چشم میخورد که نام آن زبان برنامه نویسی c++ است.
169 دانشجو
39 درس
71 کوئیز
همه سطوح
مأموریت این آموزش و در کل مأموریت سایت بکندباز این است که محیطی را برای آموزش آماده کند که بر خلاف آموزش های دیگری که در وب وجود دارد، کاملاً تعاملی و تمرین محور باشد تا علاوه بر اینکه آموزش را شیرین تر می کند، درک مطلب را بالاتر برده و قدرت حل مسئله را نیز در برنامه نویس بیشتر کند. چرا که به عقیده من برنامه نویسی به معنی کد زدن نیست. برنامه نویس کسی است که مهارت حل مسئله خوبی داشته باشد و بتواند برای هر موقعیت بهترین راه حل را پیدا کند که این مورد فقط با حل مسائل مختلف و تمرینات بسیار، محقق خواهد شد.
من، سیده زهره احمدی، در سایت بکندباز در تلاش هستم که تا حد امکان انواع مختلفی از تمرین ها را در کنار آموزش برای دانشجو فراهم کنم. تمرین های مختلفی که با هدف افزایش مهارت حل مسئله، افزایش سرعت کد نویسی، افزایش تسلط بر منابع و توابع و ... ساخته می شوند.
- این آموزش به صورت متنی است و با آموزش های کوتاه متنی و کاربردی تهیه شده است
- بعد از هر بخش آموزشی یک کوئیز برای امتحان کردن دانش جو قرار داده شده است که فقط در صورت پاسخ صحیح دادن به آن می تواند به بخش بعدی آموزش برود
- یک ویرایشگر آنلاین در سایت تعبیه شده است که دانش جو می تواند در بستر همین سایت برنامه نویسی را تمرین کند
- تمرینات متنوعی در سه سطح آسان، متوسط و سخت برای دانش جو محیا شده است.
- این آموزش هم از طریق سایت و هم از طریق اپلیکیشن در دسترس است
- کسانی که به برنامه نویسی بکند، علاقه دارند، یعنی کسانی که به علوم منطقی، کار با داده ها و حل مسئله علاقه مندند
- کسانی که می خواهند برنامه نویسی را به صورت عمیق تر آموزش ببینند
- کسانی که می خواهند سرعت مطالعه شان به خودشان بستگی داشته باشد نه به مدرسی که آن را توضیح می دهد
- کسانی که با آموزش های متنی مثل کتاب و ... بیشتر از آموزش های ویدیویی ارتباط برقرار می کنند
- کسانی که نمی خواهند در سراسر وب و در سایت های انگلیسی زبان به دنبال تمرینات برنامه نویسی بگردند و تمایل دارند تمرینات را به صورت منسجم و در میان آموزش دریافت کنند.
- کسانی که به برنامه نویسی سمت سرور علاقه ای ندارند
- کسانی که به مباحث منطقی و حل الگوریتم علاقه مند نیستند
- کسانی که برنامه نویسی را فقط می توانند از طریق تصویر و ویدیو یاد بگیرند
- کسانی که می خواهند خودشان تمرینات برنامه نویسی و پروژه های تمرینی را در وب جستجو کنند
پس از مطالعه دروس قبلی، این درس برای شما باز خواهد شد
برای مطالعه دروس بیشتر باید در دوره ثبت نام کنید
آموزش C++ از طریق اپلیکیشن
چگونه پاسخ سوالاتی که در طول آموزش برایم ایجاد می شود را پیدا کنم؟
در هر بخش آموزشی، قسمتی برای کامنت گذاری وجود دارد که از طریق آن قسمت می توانید سوالات خود را مطرح کنید. در اسرع وقت سوالات شما بررسی شده و به آن پاسخ داده خواهد شد.
برنامهنویسی چیست؟
قبل از اینکه به سراغ آموزش برنامه نویسی c++ یا همان سی پلاس پلاس برویم باید قبل از آن بدانیم که برنامهنویس چه شخصی است و برنامهنویسی یعنی چه؟
برنامهنویس شخصی است که با نوشتن کدهای خاص و هدفمند به تکنولوژی دستور میدهد که چه کاری را باید انجام دهد و چه کاری را نباید انجام دهد (برنامهنویسی). به طور کلی برنامه نویسی راهی است برای ارتباط انسان با تکنولوژی، این یک تعریف کلی و جامع در مورد برنامه نویس و برنامه نویسی است.
با این وجود، امروزه برنامهنویسی تعاریف خیلی گستردهتر و جزئیتری دارد، برای مثال یک توسعه دهندهی وب برای سایتی که میخواهد یا از او خواسته شده، کد مینویسد و در اصل، به کامپیوتر میگوید که این سایت چه ویژگیهایی داشته باشد. یک مثال دیگر میزنم تا بهتر متوجه شوید، برای مثال یک توسعه دهندهی نرمافزار با توجه به مفاهیمی که در نظر دارد، کد مینویسد و در حقیقت به کامپیوتر میگوید چطور مفاهیم مدنظر را اجرا کند.
برنامه نویسی شئگرا چیست؟
در نگاه اول شاید کمی پیچیده به نظر برسد اما زمانی که وارد این مبحث شوید و در رابطه با آن تمرین کنید برایتان خیلی راحت خواهد بود. برنامهنویسی شئگرا (Object-Oriented Programming) که به صورت خلاصه OOP نیز اسم گذاری شده است، در واقع نوعی منطق یا الگویی است که از زندگی روزمرهی ما الگو برداری شده است و حدودا دردهه ۱۹۶۰ میلادی معرفی شد.
OOP یک شیوهی برنامهنویسی است که الگو و ساختار اصلی آن اشیا میباشند، در این روش از برنامهنویسی، برنامه به شئ گرایش پیدا میکند یعنی دادهها و کدهایی که بر روی این دادهها عمل میکنند، تا حد توان خود در قالبی به اسم شئ در کنار یکدیگر قرار میگیرند. پس از آن جمعبندی شده و یک واحد یا شئ بزرگتر را تشکیل میدهند و نسبت به محیط بیرون خود کپسوله یا قفل میشوند، در نتیجه توابع خارج از آن شئ نمیتوانند در دادههای داخل شئ تغییری ایجاد کنند.
زبان برنامه نویسی یعنی چه؟
هر کاری اصولی دارد که برنامه نویسی هم از این قاعده مستثنی نیست، ما انسانها برای ارتباط برقرار کردن با یکدیگر زبانمان را به طور هدفمند و قاعدهمند حرکت میدهیم و صدا تولید میکنیم، کسانی که توانایی درک این صداها را دارند میتوانند منظور ما را بفهمند.
در حال حاضر زبانهای زیادی وجود دارد مثل فارسی، انگلیسی، فرانسوی، روسی و...، که تنها کسانی میتوانند این زبانها را متوجه شوند که زبان مادریشان باشد و یا هم با شرکت در کلاسها و کسب تجربه زبانهای جدیدی یاد گرفتهاند.
برنامهنویسی هم به همین صورت است یعنی شما زمانی که بخواهید در حیطه توسعه وب فعالیت کنید، زبانهایی مثل جاوا اسکریپت، سی شارپ، پی اچ پی و...، مورد نیازتان خواهند بود.
هر زبان برنامهنویسی در بخش خاصی از تکنولوژی و کامپیوتر کاربرد دارد و فعلا زبانی وجود ندارد که بتواند در همه حیطه ها وارد شود و موفق عمل کند ولی امیدوارم که چنین زبانی به وجود بیاید تا کار برنامهنویسان راحت تر شود.
انواع زبانهای برنامه نویسی
همانطور که احتمالا میدانید برنامهنویسی انواع مختلفی دارد و هر نوع از آن با بخش خاصی از تکنولوژی یا کامپیوتر، سروکار دارد. در ادامه انواع مختلف زبانهای برنامهنویسی را به شما معرفی خواهم کرد تا اطلاعاتتان در این زمینه نیز افزایش یابد.
زبان ماشین
زبان ماشین، شامل کدهای عددی صفر و یک برای عملیاتهایی است که یک کامپیوتر خاص توانایی اجرای آنها را دارد. کدها، رشتههایی از ارقام دوتایی هستند که اغلب برای مشاهده به هگزادسیمال تبدیل میشوند، همانطور که احتمالا متوجه شدید، خواندن و نوشتن زبان ماشین به شدت دشوار و سخت است، چرا که شبیه نماد ریاضی معمولی یا زبان انسان نیست و کدهای آن در کامپیوترها متفاوت است.
زبانهای الگوریتمی
زبانهای الگوریتمی بیشتر برای بیان محاسبات ریاضی و یا نمادها طراحی شدهاند. به کمک آنها میتوان عملیات جبری را با نماد مشابه ریاضی بیان کرد. زبانهای الگوریتمی بحث عمیقتری دارند که میتوانید با جستجو در منابع خارجی بیشتر در موردشان اطلاعات جمعآوری کنید.
زبانهای آموزش محور
این نوع زبانها بیشتر برای آموزش استفاده میشوند و به شما کارهایی مثل برنامهنویسی را میآموزند، از معروف ترینهای این نوع میتوان به بیسیک، پاسکال و هایپرتاک اشاره کرد.
زبانهای شئگرا
این نوع زبانها که کاربردیترین و محبوبترین نوع زبانها هستند به مدیریت پیچیدگی در برنامههای بزرگ کمک میکنند، دادهها و عملیات روی آنها را طوری نشان میدهد که فقط نتیجه عملیات برای عموم قابل دسترسی باشد و جزئیات داخلی دادهها پنهان است. معروفترین و محبوبترین این نوع زبانها را میتوان c++، c#، java و...، معرفی کرد.
زبانهای سطح بالا و سطح پایین
زبانهای برنامه نویسی را میتوان به دو صورت سطح بالا و سطح پایین نیز تقسیم بندی کرد. در ادامه با من همراه باشید تا معنی زبانهای سطح پایین و سطح بالا را برایتان توضیح دهم.
زبانهای سطح بالا( High-Level )
در حال حاضر اکثریت برنامهنویسان از زبانهای سطح بالا برای برنامهنویسی استفاده میکنند. از مهمترین و بهترین ویژگیهای این نوع سطح، میتوان به این مورد اشاره کرد که این نوع زبان، به زبان ما انسانها نزدیکتر است و به برنامهنویس برای درک بهتر و انجام بهتر امور کمک میکند.
ویژگی مهم دیگر این است که با توجه به اینکه به زبان انسانها نزدیک تر است و از زبان و دستورالعملهای ماشین دور است، برای علاقهمندان به حرفهی برنامهنویسی جذابتر و لذتبخشتر است در نتیجه کارایی برنامهنویس را افزایش میدهد.
از رایجترین زبانهای این نوع میتوان به سی پلاس پلاس، جاوا، پایتون، ویژوال بیسیک و پاسکال اشاره کرد.
زبانهای سطح پایین ( Low-Level)
زبانهای برنامهنویسی سطح پایین، زبانهایی هستند که برای نوشتن برنامههایی به کار میروند که مربوط به یک نوع خاص از سختافزار کامپیوتر هستند. در واقع برنامههایی که به واسطهی این زبانها نوشته میشوند، وابسته به سختافزار هستند و قابل حمل و انتقال به سختافزار دیگری نیستند.
این نوع زبانها، به زبان کامپیوتر نزدیک هستند و معروفترین آنها را میتوان زبان ماشین نام برد، کدهایی که به زبان ماشین نوشته میشوند تنها توسط کامپیوتر قابل فهم هستند و برای انسان قابل خواندن و فهم نیستند، بنابراین درک آن برای کاربر برنامهنویس بسیار سخت و دشوار خواهد بود.
زبان برنامه نویسی c++ چیست؟
به بخش اصلی مقاله رسیدیم، زبان سی پلاس پلاس ((c++ یک زبان برنامهنویسی میباشد که همانطور که قبلا گفتم شئگرا و سطح بالا است ولی به طور کلی به آن یک زبان برنامهنویسی سطح میانی میگویند آن هم به این دلیل که دارای قابلیتهای یک زبان سطح بالا است و همزمان دارای قابلیتهای یک زبان سطح پایین نیز است.
این زبان برنامهنویسی بسیار قدرتمند است و از خانواده و فرزندان c محسوب میشود. در ادامه با من همراه باشید تا اطلاعات بیشتری را در مورد این زبان برنامهنویسی قدرتمند به شما بدهم.
تاریخچه زبان c++
سی پلاس پلاس توسط بی یارنه استراس تروپ، ریاضیدان دانمارکی در آزمایشگاههای بل، برای بهبود زبان برنامهنویسی سی و بر مبنا و پایهی آن ساخته شد.
داستراس تروپ کار بر روی زبان «سی دارای کلاس» را در سال ۱۹۷۹ آغاز کرد، ایدهی ساخت این زبان جدید در زمان کار بر روی تز دکترایش به ذهن او خطور کرد، او متوجه این موضوع شد که سیمولا(یک زبان برنامه نویسی) دارای ویژگیهای مناسب برای ساخت برنامههای بسیار بزرگ است اما برای استفادهی علمی از آن، بیش از حد کند است اما پی سی پی ال(یک زبان برنامه نویسی دیگر) با وجود سرعت بسیار زیاد برای ساخت برنامههای بزرگ، بیش از حد ضعیف و پیش پا افتاده است.
زمانی که استراس تروپ کارش را در آزمایشگاه آغاز کرد با مشکل تحلیل هستهی لینوکس با توجه به محاسبات توزیع شده روبه رو شد. با توجه به تجربیاتی که وی در زمان دکتری کسب کرده بود، او زبان سی را با استفاده از ویژگیهای سیمولا گسترش داد، دلیل انتخاب سی این بود که در آن زمان سی یک زبان عمومی، سریع، قابل حمل و همچنین در سطح گستردهای در حال استفاده بود، علاوه بر سی زبانهای برنامهنویسی دیگری نیز بر زبان نو ظهور تاثیر گذار بودند.
کاربردهای c++
این زبان که یکی از محبوبترین و پرکاربردترین زبانهای برنامهنویسی است در بخشهای مختلف مورد استفاده قرار میگیرد و یک زبان قدرتمند است که در بسیاری از موارد مهم به کار میرود. در ادامه برخی از مهمترین کاربردهای این زبان برنامهنویسی را عنوان خواهم کرد.
الف ) سیستم عاملها
اکثر بخشهای سیستم عامل ویندوز و بخشهایی از سیستم عامل مک توسط سی پلاس پلاس کد نویسی میشوند، c++ نقشی بر روی آن کشیده است و در آن مورد استفاده قرار گرفته است، چرا که این زبان فوقالعاده قدرتمند است و میتواند سیستمعامل پر سرعتی بسازد.
ب) مرورگرها
اکثر مرورگرها از جمله کروم و فایرفاکس به وسیله سی پلاس پلاس کد نویسی شدهاند و این زبان برنامهنویسی در این عرصه هم افتخار آفرین شده است.
ت ) برنامههای کاربردی
برنامههای مبتنی بر رابط گرافیکی مثل برنامههای شرکت Adobe به زبان سی پلاس پلاس نوشته شدهاند که در این مورد هم موفق عمل کرده است، همچنین شرکت Adobe یک عضو فعال در سی پلاس پلاس شناخته میشود.
ی ) سایر کاربردها
این زبان برنامهنویسی در حوزههای دیگری نیز نقش فعالی دارد، حوزههایی مثل بازی سازی، انیمیشن سازی، درسترسی به پایگاه داده، ساخت مدیا پلیرها، ساخت کامپایلر ها و....، هرکدام از این حوزهها خود نشان دهندهی عظمت و بزرگی این زبان برنامهنویسی است.
مزایای c++
زبان برنامهنویسی سی پلاس پلاس از آنجا که یک زبان قدرتمند و پر کاربرد است قطعا مزایای زیادی دارد که در ادامه به توضیح برخی از این مزایا میپردازم:
الف ) قابل حمل
سی پلاس پلاس ویژگی قابل حمل بودن یا استقلال پلت فرم را ارائه می دهد که به کاربر اجازه می دهد برنامه مشابهی را بر روی سیستم عامل ها یا رابط های مختلف به راحتی اجرا کند.
فرض کنید برنامه ای را در سیستم عامل LINUX می نویسید و به دلایلی ظاهری به سیستم عامل ویندوز تغییر می دهید، می توانید همان برنامه را در ویندوز نیز بدون هیچ خطایی اجرا کنید. ثابت می کند که این ویژگی برای برنامه نویس راحت است.
ب ) شئ گرا
یکی از بزرگترین مزایای سی پلاس پلاس ویژگی برنامهنویسی شئگرا است که شامل مفاهیمی مثل کلاسها، وراثت، چند شکلی، انتزاع دادهها و کپسوله سازی است که امکان استفاده مجدد از کد را فراهم میسازد و برنامه را هم قابل اعتماد تر میکند.
علاوه بر این، با در نظر گرفتن دادهها به عنوان یک شئ، به ما کمک میکند تا از دنیای واقعی الگوبرداری کنیم که زبان برنامهنویسی سی فاقد این ویژگی بود و از این رو این زبان برنامهنویسی ایجاد شد و اهمیت زیادی پیدا کرد.
این ویژگی سبب شد فرصتهای شغلی جدید و فناوریهای جدید تری به وجود بیاید همچنین نه تنها زبان سی را گسترش داد بلکه یکی از پیشگامان در عرصه زبانهای برنامه نویسی شئ گرا شد.
ج ) چند پارادایم
سی پلاس پلاس یک زبان برنامهنویسی چند پارادایم است، پارادایم یعنی سبک برنامهنویسی که این چند پارادایم یا چند سبک بودن شامل منطق، ساختار و رویه برنامه و شئ گرایی از انواع سبکها در این زبان برنامهنویسی هستند.
حتما تا به حال این پرسش برایتان ایجاد شده است که برنامه نویسی عمومی که قبلا به آن اشاره کردم یعنی چه؟ برنامهنویسی عمومی یعنی به کار بردن یک ایده برای چندین هدف، به این معنا که شما یک ایده خود را پیاده میکنید و در چند جا از آن سود میبرید و به اهداف مختلف میرسید.
د ) دستکاری سطح پایین
از آنجایی که سی پلاس پلاس ارتباط نزدیکی با زبان برنامهنویسی سی دارد و این زبان یک زبان رویه ای است و از آنجایی که نزدیک به زبان ماشین است، اجازه میدهد تا دادهها را در سطح پایین یا همان نزدیک به سخت افزار دستکاری و ویرایش کنید. همانطور که قبلا اشاره کردم سیستم عاملها و کامپایلرها با کمک سی پلاس پلاس ایجاد میشوند.
ی ) مدیریت حافظه
سی پلاس پلاس به برنامهنویس این امکان را میدهد تا کنترل کامل بر مدیریت حافظه داشته باشد، این ویژگی را هم میتوان در مزایای این زبان قرار داد و هم میتوان در معایب این زبان قرار داد چرا که این امر مسئولیت کاربر را برای مدیریت حافظه به جای مدیریت آن توسط برنامههای پاکسازی حافظه افزایش میدهد.
دیدگاهها