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