انواع زبان های برنامه نویسی + معرفی، کاربرد، مزایا و معایب
زبان برنامه نویسی چیست ؟
زبان برنامه نویسی کامپیوتر به کاربر این امکان را میدهد تا دستورالعملهای مورد نظر را با زبان و روشی وارد کامپیوتر کند که کامپیوتر متوجه آن شود. همانطور که تعداد بسیار زیادی زبان انسانی وجود دارد، مجموعهای از زبان های برنامه نویسی رایانه نیز وجود دارند که برنامه نویسان میتوانند از آنها برای برقراری ارتباط با رایانه استفاده کنند. زبانی که کامپیوتر میتواند آن را بفهمد دودویی (Binary) نامیده میشود و ترجمه زبان برنامه نویسی به باینری به عنوان کامپایل (Compile) شناخته میشود. هر زبان، از زبان برنامه نویسی C گرفته تا زبان برنامه نویسی پایتون (Python)، ویژگیهای متمایز خود را دارد، اگرچه اغلب اوقات ویژگیهای مشترک بین زبان های برنامه نویسی وجود دارند.
زبان های برنامه نویسی به رایانهها این امکان را میدهند تا با سرعت و کارآمدی بخشهای بزرگ و پیچیدهای از اطلاعات را پردازش کنند. برای مثال، اگر به فردی فهرستی از اعداد تصادفی از یک تا ده هزار داده شود و از آن شخص خواسته شود که اعداد را به ترتیب صعودی مرتب کند، به احتمال زیاد زمان قابل توجهی طول میکشد و احتمال بروز برخی خطاها وجود دارد. امروزه دهها زبان برنامه نویسی در صنعت استفاده میشوند که میتوانند به راحتی و با استفاده از کدها وظایف تکراری و سایر عملیات روزمره را خودکارسازی کنند. در مقاله «انواع زبان های برنامه نویسی» به برخی از مهمترین آنها پرداخته شده است. زبان های برنامه نویسی را میتوان در دستههای مختلفی جای داد و انواع مختلفی از آنها وجود دارد. در بخش بعدی به شرح هر یک از انواع زبان های برنامه نویسی پرداخته شده است.
انواع زبان های برنامه نویسی کدامند؟
زبان های برنامه نویسی انواع مختلفی دارند و هر کدام با یک روش و رویکرد خاص پیش میروند و وظایف خود را انجام میدهند، همچنین هر کدام برای کاربردهای خاصی ایجاد شدهاند. در این بخش از مقاله، انواع زبان های برنامه نویسی مورد بحث قرار میگیرند.
زبان های برنامه نویسی رویهای
زبان های برنامه نویسی رویهای (Procedural Programming) برای اجرای دنبالهای از عبارتهای مورد استفاده قرار میگیرند که منجر به نتیجه میشوند. به طور معمول، این نوع زبان های برنامه نویسی از متغیر چندگانه (Multiple Variable)، حلقههای سنگین (Heavy loop) و عناصر دیگر استفاده میکنند که آنها را با زبان های برنامه نویسی تابعی (Functional Programming) متمایز میکنند. توابع زبان های برنامه نویسی رویهای ممکن است متغیرها را به غیر از مقدار بازگشتی تابع، مانند چاپ کردن اطلاعات، کنترل کنند. برای مثال زبان های برنامه نویسی جاوا اسکریپت (JavaScript)، C و ++C زبان های برنامه نویسی رویهای به حساب میآیند. در بخش بعدی به بررسی زبان های برنامه نویسی تابعی پرداخته شده است.
زبان های برنامه نویسی تابعی چه هستند؟
زبان های برنامه نویسی تابعی معمولاً از دادههای ذخیره شده استفاده میکنند و اغلب در آنها از توابع بازگشتی به جای حلقهها استفاده میشود. تمرکز اولیه برنامه نویسی تابعی روی مقادیر بازگشتی توابع است. به عنوان مثال، در یک زبان برنامه نویسی تابعی، اگر تابعی ایجاد و نامگذاری شود، انتظار میرود که دیگر هیچگونه تغییری در عملکرد آن انجام نشود. با این حال ممکن است فراخوانی الگوریتمی نیز ایجاد کند و پارامترهای این فراخوانیها تغییر پیدا کنند. زبان های برنامه نویسی تابعی معمولاً سادهتر از انواع زبان های برنامه نویسی دیگر هستند و به راحتی میتوان به مسائل انتزاعی با استفاده از آنها در برنامه نویسی اشاره کرد. برای مثال در این نوع از زبان های برنامه نویسی میتوان زبان های اف شارپ (#F)، هسکل (Haskell) و اسکیم (Scheme) را نام برد. در بخش بعد به بررسی زبان های برنامه نویسی شی گرا (Object Oriented Programming | OOP) پرداخته میشود.
زبان های برنامه نویسی شی گرا کدامند؟
این نوع از زبان های برنامه نویسی، همه چیز را به عنوان گروهی از اشیاء میبینند که دارای دادههای داخلی و دسترسی خارجی به بخشهایی از آن دادهها است. هدف این نوع زبان برنامه نویسی تفکیک کدها به مجموعهای از اشیاء و ارائه خدماتی برای حل یک مشکل خاص به حساب میآید. یکی از اصول اصلی زبان برنامه نویسی شی گرا، کپسوله سازی (Encapsulation) به شمار میرود، یعنی هر چیزی که یک شی به آن نیاز دارد باید در داخل شی وجود داشته باشد. همچنین این نوع از زبان های برنامه نویسی قابلیت استفاده مجدد از طریق وراثت (Inheritance) و چندریختی یا همان پلی مورفیسم (Polymorphism) را دارند. زبان برنامه نویسی جاوا (Java)، ویژوال بیسیک (Visual Basic)، روبی (Ruby) و پایتون نمونههایی از این نوع زبان برنامه نویسی هستند. ادامه این بخش از مقاله به زبان های برنامه نویسی اسکریپتی (Scripting Programming Language) اختصاص داده شده است.
زبان های برنامه نویسی اسکریپتی
زبان های برنامه نویسی اسکریپتی، نوعی از زبان های برنامه نویسی رویهای هستند و گاهی شامل عناصر زبان های برنامه نویسی شیگرا نیز میشوند، اما دستهبندی مخصوص به خودشان را دارند، زیرا معمولاً زبانهای برنامه نویسی کاملی نیستند که از توسعه سیستمهای بزرگ پشتیبانی کنند. به عنوان مثال، این نوع از زبان های برنامه نویسی معمولاً قادر به چک کردن نوع زمان کامپایل نیستند. زبان های برنامه نویسی اسکریپتی برای شروع کار و یادگیری به مهارت ساختار نوشتاری کمی نیاز دارند. برای مثال میتوان به زبان برنامه نویسی جاوا اسکریپت، پرل (Perl)، پی اچ پی (PHP) و پایتون اشاره کرد. حال در ادامه این بخش، به بررسی زبان های برنامه نویسی منطقی (Logic Programming Language) پرداخته میشود.
زبان های برنامه نویسی منطقی
این نوع از زبان های برنامه نویسی به برنامه نویسان این امکان را میدهند که عبارتهای اعلانی (Declarative) ایجاد کنند، سپس به ماشین اجازه میدهند درباره پیامدهای آن عبارتهای استدلال کنند. به صورت کلی میتوان گفت که این نوع از زبان های برنامه نویسی به رایانهها نمیگویند چگونه کاری را انجام دهند، بلکه محدودیتهایی را در مورد انجام وظایف، اعمال میکنند. برای مثال زبان برنامه نویسی پرولاگ (Prolog)، یک زبان برنامه نویسی منطقی است. در بخش بعدی از این مقاله به بررسی زبان های برنامه نویسی پایگاه دادهای (Database Programming Languages) پرداخته میشود.
زبان های برنامه نویسی پایگاه دادهای
زبان های برنامه نویسی پایگاه دادهای به ایجاد پایگاه داده و اصلاح و تغییر نحوه ذخیرهسازی دادهها در پایگاه دادهها کمک میکنند. به عنوان مثال میتوان به زبان برنامه نویسی جاوا، کوبول (Cobol)، «++C» و «Perl» اشاره کرد. در ادامه زبان های برنامه نویسی جریان داده (Dataflow languages) مورد بررسی قرار میگیرند.
زبان های برنامه نویسی جریان داده
زبان های برنامه نویسی جریان داده از نمایشی برای مبادله دادهها جهت مشخص کردن برنامهها و پردازش جریانهای داده استفاده میکنند. پردازش موازی (Parallel processing) روشی در محاسبه اجرای برنامهها در دو یا چند پردازنده (CPU) برای رسیدگی به بخشهای جداگانه یک وظیفه کلی است. در حقیقت میتوان گفت که بیشتر زبان های برنامه نویسی شامل ایدهها و ویژگیهایی در حوزههای مختلف هستند که به افزایش سودمندی این نوع زبانها کمک میکنند. با این وجود، بیشتر زبان های برنامه نویسی در همه سبکهای برنامه نویسی بهترین نیستند. در ادامه این مقاله به بررسی برخی از انواع زبان های برنامه نویسی پرداخته شده است.
معرفی برخی از انواع زبان های برنامه نویسی
مهمترین مسئله این مقاله بررسی زبان های برنامه نویسی مهم است. در این قسمت سعی شده است زبان های برنامه نویسی کاربردی و دارای موقعیت شغلی و علمی بررسی شوند. در ادامه ابتدا به بررسی زبان برنامه نویسی جاوا (Java) پرداخته شده است.
زبان برنامه نویسی جاوا
جاوا (Java) یک فریم ورک و زبان برنامه نویسی بسیار کاربردی پیشرو و همه منظوره است. این زبان برنامه نویسی در سال ۱۳۷۰ هجری شمسی (۱۹۹۱ میلادی) توسط «Sun Microsystems» به عنوان یک زبان برنامه نویسی سطح بالا، کامپایل شده و مدیریت همراه با حافظه، ارائه شده است. ساختار نوشتار (Syntax) برنامه نویسی جاوا شبیه به برنامه نویسی C و ++C است، یکی از تفاوتهایاین زبان با آنها داشتن آکولاد برای بسته شدن و نقطه ویرگول (Semicolon) برای دستورات پایانی به حساب میآید.
مدیریت خودکار حافظه یکی از ویژگیهایی است که برنامه نویسی جاوا را به سرعت پس از انتشار اولیه آن، بسیار محبوب کرد. قبل از معرفی شدن زبان برنامه نویسی جاوا، بیشتر انواع زبان های برنامه نویسی که به مدیریت حافظه دستی نیاز داشتند، مانند زبان برنامه نویسی C و ++C مورد استفاده قرار میگرفتند. تخصیص دستی حافظه خسته کننده و مستعد خطا است، بنابراین زبان جاوا به عنوان یک گام بزرگ رو به جلو برای توسعه دهندگان برنامهها مورد استقبال قرار گرفت.
برنامه نویسی جاوا، به برنامه نویسان وعدههای بسیار و فراتر از مدیریت حافظه داده بود که از جمله آنها میتوان به قابلیت چند سکویی (Cross-Platform) اشاره کرد. ماشین مجازی جاوا (Java Virtual Machine | JVM) توسط کد بایتی برنامه نویسی جاوا اجرا میشود که توسط زبان جاوا کامپایل شده است. استفاده از ماشین مجازی جاوا در اکثر سیستم عاملها مانند لینوکس (Linux)، مک و ویندوز امکانپذیر است. این ماشین مجازی همیشه بینقص نیست، اما زمانی که کاری را انجام میدهد، یک برنامه نوشته شده با برنامه نویسی جاوا میتواند روی هر پلتفرمی اجرا شود که با ماشین مجازی جاوا سازگار است.
برنامه نویسی جاوا در کسب و کارها، توسعه نرم افزار، وب و اپلیکیشنهای موبایل مورد استفاده قرار میگیرد. این زبان یکی از انواع زبان های برنامه نویسی اصلی و پایه برای سیستم عامل اندروید گوگل در نظر گرفته میشود. همچنین برنامه نویسی جاوا میلیونها ستاپ باکس (Set-Top Boxes) و دستگاههای تعبیه شده (Embedded Device) را تامین میکند. به صورت کلی، میتوان گفت که مهارتهای توسعه جاوا بسیار مورد توجه واقع شده است. به لحاظ محبوبیت جاوا در رده محبوبترین زبانهای برنامه نویسی قرار میگیرد و میزان دشواری یادگیری آن بالاتر از سطح متوسط است.