بعد از اینکه مقاله برنامه نویسی شی گرا چیست؟ رو منتشر کردیم حال میخواهیم در مورد انواع زبان برنامه نویسی شی گرا صحبت کنیم و ببینیم چه زبان هایی از شی گرایی پشتیبانی می کنند. در این مقاله ابتدا توضیحاتی در مورد شی گرا داده و بعد زبان های برنامه نویسی که از شی گرایی پشتیبانی می کنند را معرفی و در مورد هر کدام توضیحاتی رو ارائه میدهیم. شی گرایی یکی از مباحث مهم و حساس در حوزه برنامه نویسی می باشد که باید کسانی که به سمت برنامه نویسی سوق داده می شوند حتما با این مفهوم آشنا شوند. پس با ما باشید تا انواع زبان برنامه نویسی شی گرا را با هم مورد بررسی قرار دهیم.
برنامه نویسی شی گرا چیست؟
برنامهنویسی شیگرا معمولا با عنوان OOP شناخته می شود که این سه حرف مخفف کلمات Object-Oriented Programming می باشد. یک شیوه برنامهنویسی است که ساختار یا بلوک اصلی اجزای آن، شیها میباشند.
زبان های سطح پایین به زبان ماشین (زبان صفر و یک) نزدیک هستند. اما زبان های سطح بالا برای تعامل بهتر ما با کامپیوتر ها ساخته شده اند. یعنی زبان های سطح بالا به زبان ما انسانها شباهت بیشتری دارند. به همین دلیل میتوانیم اندیشه ها و تفکرات خود را راحت تر به برنامه و کد تبدیل کنیم. شی گرایی هم دقیقا در ادامه همین ساده سازی برنامه نویسی به وجود آمده است. این تفکر دقیقا از روی اشیائی که در زندگی خود می بینیم گرفته شده است. یعنی سعی میکند که همه اجزا برنامه نویسی را با شی مدل کند. در ادامه مفهوم شی گرایی را با مثال هایی به شما توضیح میدهم.
توجه: برای درک بهتر برنامه نویسی شی گرا پیشنهاد میکنم مقاله برنامه نویسی شی گرا چیست؟ را به صورت کامل مطالعه کنید در این مقاله مفهوم شی گرایی را به صورت دقیق باز کرده ایم و این مقاله به شما کمک می کند شی گرایی را بهتر درک کنید.
انواع زبان برنامه نویسی شی گرا
پیشنهاد میکنم حتما قبل از اینکه لیست انواع زبان برنامه نویسی شی گرا را با هم بررسی کنیم مقاله شی گرایی را مطالعه کنید. زبان های زیادی از مفهوم شی گرایی پشتیبانی می کنند. اما در این مقاله فقط انواع زبان های برنامه نویسی شی گرا که بیشتر معروف و محبوب هستند رو با هم مورد بررسی قرار میدهیم. در بخش زیر ۱۰ زبان اصلی که از مفهوم شی گرایی پشتیبانی می کنند را لیست کردیم و در ادامه در مورد هر کدام توضیحاتی را ارائه میدهیم.
- سی شارپ
- سی پلاس پلاس
- روبی
- پایتون
- PHP
- جاوا
- کاتلین
- گو
- جاوااسکریپت
- پرل
۱- زبان برنامه نویسی سی شارپ
وقتی صحبت از انواع زبان برنامه نویسی شی گرا می کنیم اولین زبانی که به ذهن میاد زبان سی شارپ می باشد، سی شارپ (به انگلیسی: C#)، زبانی شیءگرا و سطح بالا از خانوادهٔ زبانهای چارچوب داتنت شرکت مایکروسافت است. زبان سی شارپ، یک زبان برنامهنویسی چند الگویی و منظم شده مدلهای تابعی، امری، عمومی، شیءگرا و جز گرا و در بستر دات نت میباشد. این زبان توسط مایکروسافت و جزئی از دات نت به وجود آمد و بعداً استانداردهای ECMA و ISO را نیز در بر گرفت. سی شارپ یکی از ۴۴ زبان برنامهنویسی است که توسط زمان اجرای زبان مشترک از چارچوب داتنت پشتیبانی میشوند و در همه جا به وسیله مایکروسافت ویژوال استودیو شناخته میشود.
زبان سی شارپ با قدرت و در عین حال سطح بالایی خود توانسته توجه بسیاری از برنامه نویسان را به خود جلب کند.
این زبان برپایه سادگی، مدرن بودن، همه منظوره و شیءگرا بودن ساخته شد. آندرس هجلزبرگ، طراح زبان برنامهنویسی دلفی، سرپرستی تیم طراحان زبان سی شارپ را بر عهده داشت. این زبان دارای دستوری شیءگرا مشابه ++C است و به شدت از زبانهای جاوا و دلفی نیازمند مدرک تأثیر پذیرفتهاست. در ابتدا نام این زبان COOL بود که مخفف C like Object Oriented Language بود، هر چند در ژوئیه ۲۰۰۰، زمانی که مایکروسافت پروژه را عمومی اعلام کرد، اسم آن به سی شارپ تغییر پیدا کرد.
توجه: برای مطالعه بیشتر در مورد زبان برنامه نویسی سی شارپ پیشنهاد میکنم مقاله زبان برنامه نویسی سی شارپ چیست؟ را مطالعه کنید. در این مقاله به صورت کامل در مورد این زبان برنامه نویسی صحبت کرده ایم.
۲- برنامه نویسی سی پلاس پلاس
دومین گزینه از لیست انواع زبان برنامه نویسی شی گرا، زبان سی پلاس پلاس می باشد. سی پلاس پلاس یک زبان برنامه نویسی همه منظوره، سطح میانی و شی گرا است. امروزه در جهان بیشتر نرم افزارهای سیستمی از طریق سی پلاس پلاس نوشته می شوند.
نکته جالب: سی پلاس پلاس یک زبان سطح میانی محسوب می شود ولی دارای قابلیت زبان های سطح بالا و پایین بهصورت همزمان است.
برخی از پروژه های نوشته شده با زبان سی پلاس پلاس :
- سیستم عامل ویندزو
- مروگر وب گردی گوگل کروم
- مروگر وب گردی Opera
- مرورگر وب گردی فایرفاکس
- نرم افزار گرافیک سه بعدی ۳Ds Max
- نرم فزار ارتباط اسکایپ
- نرم افزار گرافیکی فتوشاپ
- نرم افزار ارتباط تیم ویور
- نرم افزار ادوب اکروبات
- بازی معروف GOD of WAR
- بازی معروف CALL of DUTY
- سیستم عامل اوبونتو
- سیستم عامل مک
- سیستم عامل ios
- و . . .
توجه: برای مطالعه بیشتر در مورد زبان برنامه نویسی سی پلاس پلاس پیشنهاد میکنم مقاله سی پلاس پلاس چیست را مطالعه کنید. در این مقاله به صورت کامل در مورد این زبان برنامه نویسی صحبت کرده ایم.
۳- زبان برنامه نویسی روبی
روبی یک زبان برنامه نویسی پویا، شی گرا و انعطاف پذیر است. زبان برنامه نویسی روبی شی گرایی اسمال تاک و ویژگی نگارشی پرل رو با هم در خود دارد. روبی توسط یک برنامه نویس ژاپنی به نام یوکیهیرو ماتسوموتو احتراع شده و ویژگی های گوناگون زبان های پرل، آیفل، لیسپ و اسمال تاک الهام بخش یوکیهیرو ماتسوموتو در ساخت روبی بودند.
نکته ۱ : زبان پرل از برنامه نویسی شی گرایی، تابعی و بازتابی رو پشتیبانی می کند.
نسخه فعلی زبان برنامه نویسی روبی نسخه ۲٫۴٫۰ می باشد که به زبان سی و به صورت زبانی با مفسر تک گذره پیاده سازی شده است.
نکته ۲ : تا سال ۲۰۱۰ گونه های محتلفی از زبان برنامه نویسی روبی توسعه یافته اند که از میان آنها می توان به مکروبی، جیروبی، روبینوس، هاتروبی، آیرنروبی و ام روبی اشاره کرد.
نکته ۳ : زبان روبی یک زبان Open Source و رایگان می باشد.
نکته ۴ : زبان روبی، جز زبان های برنامه نویسی چند منظوره حساب می شود.
نکته ۵ : زبان روبی، یک زبان اسکریپت نویسی سمت سرور همانند زبان پرل و زبان پایتون می باشد.
توجه: برای مطالعه بیشتر در مورد زبان برنامه نویسی روبی پیشنهاد میکنم مقاله روبی چیست را مطالعه کنید. در این مقاله به صورت کامل در مورد این زبان برنامه نویسی صحبت کرده ایم.
۴- زبان برنامه نویسی پایتون
در لیست انواع زبان برنامه نویسی شی گرا به زبان دوست داشتنی پایتون رسیدیم. پایتون یک زبان برنامه نویسی چند منظوره و قدرتمند، که توسط خودوفان روسوم هلندی در سال ۱۹۹۱ طراحی شده است. پایتون یک زبان اسکریپتی و بسیار قدرتمند و گسترده هستش و این روزها می توانید آثاری از نفوذش رو تقریبا همه جا ببینید. پایتون در دنیا به شدت همه گیر شده است. زبان برنامه نویسی پایتون یک زبان شی گرا است و از ویژگی های پیشرفته شی گرایی مثل : وراثت، چندشکلی، سربار گزاری عملگر و . . . پشتیبانی میکند.
نکته: چون زبان برنامه نویسی پایتون با زبان پورتابل سی نوشته شده است میتواند به صورت مجازی بر روی هر سیستم و پلتفرمی کامپایل و اجرا شود.
کاربرد پایتون
کاربرد پایتون در زمینه های مختلفی است که میتوان به موارد زیر اشاره کرد :
- آنالیز دادهها
- یادگیری ماشینی
- خودکارسازی سامانهها
- توسعه وب
- واسطهای برنامهنویسی
- تحلیل دادههای بزرگ در علوم و صنایع
- و . . .
همان طور که در بخش بالا گفتیم پایتون یک زبان برنامه نویسی چند منظوره است و کاربرد پایتون بیش از آنچیزی است که کاربران فکر میکنند. میتوان با پایتون سایت طراحی کرد، میتوان برنامه نویسی موبایل انجام داد.
توجه: برای مطالعه بیشتر در مورد زبان برنامه نویسی پایتون پیشنهاد میکنم مقاله پایتون چیست را مطالعه کنید. در این مقاله به صورت کامل در مورد این زبان برنامه نویسی صحبت کرده ایم.
۵- زبان برنامه نویسی PHP
یکی از زبان های معروف و کاربردی در حوزه وب، زبان برنامه نویسی php است. php یک زبان برنامه نویسی شی گرا برای طراحی وب می باشد.
نکته ۱ : PHP یک زبان برنامه نویسی اسکریپتی اپن سورس Open Source و سمت سرور ( Server Side ) است.
سمت سرور چیست:
وقتی میگوییم سمت سرور است یعنی این که صفحات php در مرحله اول توسط سرور Apache یا IIS پردازش می شوند، سپس در مرحله دوم خروجی به صورت کدهای HTML و JavaScript، به مرورگر کامپیوتر کاربر ارسال میگردد. به همین دلیل به php، سمت سرور میگویند.
نکته ۲ : یکی از دلایل محبوبیت زبان برنامه نویسی php سادگی یادگیری آن است. و دلیل دیگر شباهت آن به زبان برنامه نویسی سی است یا به قول معروف سی بیس است.
چه نرم افزار های وبی با php ساخته شده اند :
بعد از این که جواب سوال PHP چیست رو دادیم بریم به سراغ نرم افزارهای طراحی شده توسط زبان PHP، می توان گفت php نقش اساسی در طراحی و پیاده سازی نرم افزار های معروف وب دارد، میتوان به وردپرس، دروپال و جوملا اشاره کرد که با زبان برنامه نویسی php طراحی و برنامه نویسی شده اند. البته علاوه بر این نرم افزارهای سایت ساز، سایت های زیادی در جهان از طریق زبان php برنامه نویسی شده اند و هر روز به این تعداد اضافه می شود.
توجه: برای مطالعه بیشتر در مورد زبان برنامه نویسی PHP پیشنهاد میکنم مقاله PHP چیست را مطالعه کنید. در این مقاله به صورت کامل در مورد این زبان برنامه نویسی صحبت کرده ایم.
۶- زبان برنامه نویسی جاوا
از بین انواع زبانهای برنامه نویسی شی گرا به زبان جاوا رسیدیم. جاوا یک زبان برنامه نویسی که به صورت شی گرا ارائه شده است. جاوا شبیه به زبان برنامه نویسی سی پلاس پلاس می باشد اما مدل شی گرایی آسانتری نسبت به سی پلاس پلاس دارد.
نکته ۱: زبان برنامه نویسی جاوا از قابلیتهای سطح پایین کمتری پشتیبانی میکند.
نکته ۲: یکی از قابلیتهای بنیادین جاوا این است که مدیریت حافظه را بطور خودکار انجام میدهد.
نکته ۳: ضریب اطمینان عملکرد برنامههای نوشتهشده به زبان جاوا نسبت به زبان های نسل اول C بالا است.
جاوا از چه اسمی گرفته شده و به چه معنی است ؟
نام جاوا از Jsut Another Vague Acronym گرفته شده است و دلیل آن این بود که تیم برنامه نویسان جاوا به قهوه خیلی علاقه داشتند. این موضوع در لوگوی جاوا هم مشهود است.
برنامه های جاوا چطور کامپایل و اجرا می شوند ؟
برنامههای جاوا به صورت بایت کد (کامپایل) میشوند و توسط JVM (ماشین مجازی جاوا) به کدهای ماشین تبدیل و اجرا میشوند. در صورت وجود JVM مانند سایر زبانهای مبتنی بر آن که وابسته به سیستمعامل خاصی نیستند برنامههای نوشته شده به جاوا بر روی هر نوع سیستم عامل و هرگونه وسیلهٔ الکترونیکی قابل اجرا میباشند.
توجه: برای مطالعه بیشتر در مورد زبان برنامه نویسی جاوا پیشنهاد میکنم مقاله جاوا چیست را مطالعه کنید. در این مقاله به صورت کامل در مورد این زبان برنامه نویسی صحبت کرده ایم.
۷- زبان برنامه نویسی کاتلین
کاتلین زبان برنامهنویسی از نوع ایستا است که بر روی ماشین مجازی جاوا اجرا میشود. همچنین میتواند به سورس کد جاوااسکریپت نیز کامپایل شود. اولین توسعهٔ آن از تیم برنامهنویسان JetBrains واقع در سنت پترزبورگ روسیه است (این نام از روی جزیره کاتلین در نزدیکی سنت پتربورگ میآید). کاتلین در ژانویهٔ سال ۲۰۱۲ به عنوان زبان ماه انتخاب شد. با وجود آنکه از نظر syntax با جاوا سازگار نیست، کاتلین طراحی شده تا با کد جاوا همکاری داشته باشد و متکی بر کد جاوا از کتابخانهٔ کلاس جاوا است، مانند مجموعهٔ فریم ورکها.
کاتلین برای چهار هدف قابل استفاده است:
- برای ماشین مجازی جاوا(JVM)
- برای توسعه اپلیکیشن های اندرویدی
- برای مرورگر ها به کمک جاوااسکریپت
- برای Kotlin/Native
۸- زبان برنامه نویسی گو (گولنگ)
گو یا گولینگ یک زبان برنامه نویسی، که توسط شرکت گوگل عرضه و ارائه شده است. زبان گولنگ به صورت Open Source منتشر شده تا برنامه نویس ها بتوانند آن را توسعه دهند. با استفاده از زبان برنامه نویسی Go می شود هر نوع نرم افزاری رو پیاده سازی کرد.
چرا زبان برنامه نویسی گولنگ یک زبان محبوب است ؟
اگر تاریخ برنامه نویسی رو مورد بررسی قرار دهیم متوجه می شویم زبان های برنامه نویسی که توسط یک برنامه نویس (یا چند برنامه نویس) طراحی شده اند (منظور برنامه نویسانی است که روزی پروژهها و سیستمهای واقعی مشغول کار بودند) خیلی خیلی کاربردی تر و محبوب تر از زبان هایی هستند که توسط محققان رایانه ها و با نگرش ایده آل گرا به وجود آمده اند.
نکته: زبان برنامه نویسی گولنگ جزو سریعترین زبانهای برنامهنویسی دنیاست و با یک شیب تند به سوی سریعتر شدن در نسخههای آتی در حرکت است.
مزیت های زبان برنامه نویسی گولنگ :
- برقراری ارتباط و سطح دسترسی بیشتر با سخت افزار
- افزایش سرعت در نوشتن و اجرای برنامه ها
- نوشتن برنامه ها با کیفیت بهتر
- نزدیک بودن به دو زبان انسان و کامپیوتر
- ساخت برنامه های اندروید
- دارای ویژگی های مختصر
- املای آسان، تمیز و کارآمد
- دارای مکانیسم های همپوشانی
- قابلیت کامپایل شدن سریع به زبان ماشین
- زبان Go در حال حاضر بهینه ترین زبان در زمینه های وب، سرور و شبکه در دنیا می باشد
اهداف زبان برنامه نویسی Go
- کارایی زبانهای ترجمهشده دارای سامانه نوع ایستا
- آسانی برنامهنویسی زبانهای پویا
- امنیت نوعها
- امنیت حافظه
- پشتیبانی برای همروندی و ارتباط
- زباله جمعکن کارا، و بدون تأخیر
- زمان ترجمه کوتاه
توجه: برای مطالعه بیشتر در مورد زبان برنامه نویسی گو پیشنهاد میکنم مقاله زبان برنامه نویسی Go چیست را مطالعه کنید. در این مقاله به صورت کامل در مورد این زبان برنامه نویسی صحبت کرده ایم.
۹- زبان برنامه نویسی جاوااسکریپت
در ادامه بررسی انواع زبانهای برنامه نویسی شی گرا به زبان فوق العاده جاوااسکریپت رسیدیم. جاوااسکریپت یک زبان برنامه نویسی سطح بالا، چند رویه و تفسیری است که در کنار html و css، یکی از سه هسته صفحات دنیای وب میباشد. زبان جاوااسکریپت را میتوان به صورت ساخت یافته و شی گرا استفاد کرد. در جاوااسکریپت اشیاء با اضافه شدن متدها و خصوصیات پویا به اشیاء خالی ساخته میشوند. در کل برای ایجاد ارتباط بین کاربر و سایت میتوان از جاوااسکریپت استفاده کرد.
دلیل به وجود آمدن جاوااسکریپت :
وقتی از HTML و CSS استفاده میکنیم صفحات به صورت ایستا ارائه می شوند اگر بخواهیم صفحات وب رو به صورت داینامیک و متحرک طراحی کنیم بهترین گزینه برای داینامیک کردن صفحات وب استفاده از جاوااسکریپت است. شرکت Netscape برای ایجاد و کنترل ارتباط بین مخاطبان سایت و صاحبان سایت از جاوااسکریپت استفاده کرد.
دیدگاه اشتباه ۱ : زبان جاوااسکریپت با زبان جاوا ارتباطی ندارد.
مزایای جاوااسکریپت :
- داینامیک کردن صفحات وب استاتیک
- نزدیک بودن جاوااسکریپت به زبان های سی شارپ، سی، سی پلاس پلاس
- امکان استفاده از کتابخانه های آماده این زبان برنامه نویسی نظیر کتابخانه های استاندارد ریاضی
- سادگی در برنامه نویسی و پیاده سازی بدون درگیر شدن با کامپایلرهای پیچیده
- انجام عملیات های نظیر تعامل با کاربر، یافتن اطلاعات کاربری بازدید کنندگان
- جاوااسکریپت به رویدادها پاسخ میدهد ( مثل کلیک موس،load شدن صفحه و …)
- جاوااسکریپت قابلیتهای زیادی در کنترل browser بیننده دارد
- جاوا اسکریپت میتواند cookie بسازد و استفاده کند
معایب جاوااسکریپت :
- کند بودن در زمان اجرا بدلیل عدم کامپایل شدن کدها
- دیباگ کردن آن بسیار مشکل است
- در صورت خطا در اجرای برنامه، در برخی از موارد بدون دادن هیچ پیامی از برنامه خارج می شود
- بر روی مرورگر اجرا می شود در نتیجه هیچگونه امکانی برای مبادله با سرور سایت را ندارد
توجه: برای مطالعه بیشتر در مورد زبان برنامه نویسی جاوااسکریپت پیشنهاد میکنم مقاله جاوااسکریپت چیست را مطالعه کنید. در این مقاله به صورت کامل در مورد این زبان برنامه نویسی صحبت کرده ایم.
۱۰- زبان برنامه نویسی پرل
پرل یک زبان برنامه نویسی است. و ترکیبی از دو زبان برنامه نویسی می باشد. (زبان های پرل۵ و پرل ۶) زبان برنامه نویسی پرل یک زبان همه منظوره، سطح بالا و دارای مفسر و دینامیک است.
از زبان برنامه نویسی perl می توانید برای مجازی سازی برنامه های کاربردی نیز استفاده نمایید.
شعار زبان برنامه نویسی پرل : بیش از یک روش برای انجام هر کاری وجود دارد.
خصوصیات زبان برنامه نویسی پرل
- سریع بودن
- قابل اعتماد بودن
- یکی از ویژگی های بسیار مهم پرل دارا بودن CPAN (Componencive Perl Archive Network) می باشد.
- سرگرم کننده و مهیج بودن (توسعه دهندگان پرل معتقدند که استفاده از پرل بسیار مهیج و سرگرم کننده است)
کاربرد زبان پرل
زبان برنامه نویسی پرل در خیلی از حوزه ها کاربرد دارد. زبان برنامه نویسی پرل در حوزه های زیر به صورت گسترده کاربرد دارد :
- هوش مصنوعی
- ژنتیک
- نظامی
- تحقیقاتی
- صنعتی
- اتوماسیون
- بیوانفورماتیک
- طراحی سایت
- طراحی اپلیکیشن
- طراحی بازی ها
- و بسیاری موارد دیگر نام برد
توجه: برای مطالعه بیشتر در مورد زبان برنامه نویسی پرل پیشنهاد میکنم مقاله perl چیست را مطالعه کنید. در این مقاله به صورت کامل در مورد این زبان برنامه نویسی صحبت کرده ایم.