زبان برنامه نویسی کامپیوتر به کاربر این امکان را میدهد تا دستورالعملهای مورد نظر را با زبان و روشی وارد کامپیوتر کند که کامپیوتر متوجه آن شود. همانطور که تعداد بسیار زیادی زبان انسانی وجود دارد، مجموعهای از زبان های برنامه نویسی رایانه نیز وجود دارند که برنامه نویسان میتوانند از آنها برای برقراری ارتباط با رایانه استفاده کنند. زبانی که کامپیوتر میتواند آن را بفهمد دودویی (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) یک فریم ورک و زبان برنامه نویسی بسیار کاربردی پیشرو و همه منظوره است. این زبان برنامه نویسی در سال ۱۳۷۰ هجری شمسی (۱۹۹۱ میلادی) توسط «Sun Microsystems» به عنوان یک زبان برنامه نویسی سطح بالا، کامپایل شده و مدیریت همراه با حافظه، ارائه شده است. ساختار نوشتار (Syntax) برنامه نویسی جاوا شبیه به برنامه نویسی C و ++C است، یکی از تفاوتهایاین زبان با آنها داشتن آکولاد برای بسته شدن و نقطه ویرگول (Semicolon) برای دستورات پایانی به حساب میآید.
مدیریت خودکار حافظه یکی از ویژگیهایی است که برنامه نویسی جاوا را به سرعت پس از انتشار اولیه آن، بسیار محبوب کرد. قبل از معرفی شدن زبان برنامه نویسی جاوا، بیشتر انواع زبان های برنامه نویسی که به مدیریت حافظه دستی نیاز داشتند، مانند زبان برنامه نویسی C و ++C مورد استفاده قرار میگرفتند. تخصیص دستی حافظه خسته کننده و مستعد خطا است، بنابراین زبان جاوا به عنوان یک گام بزرگ رو به جلو برای توسعه دهندگان برنامهها مورد استقبال قرار گرفت.
برنامه نویسی جاوا، به برنامه نویسان وعدههای بسیار و فراتر از مدیریت حافظه داده بود که از جمله آنها میتوان به قابلیت چند سکویی (Cross-Platform) اشاره کرد. ماشین مجازی جاوا (Java Virtual Machine | JVM) توسط کد بایتی برنامه نویسی جاوا اجرا میشود که توسط زبان جاوا کامپایل شده است. استفاده از ماشین مجازی جاوا در اکثر سیستم عاملها مانند لینوکس (Linux)، مک و ویندوز امکانپذیر است. این ماشین مجازی همیشه بینقص نیست، اما زمانی که کاری را انجام میدهد، یک برنامه نوشته شده با برنامه نویسی جاوا میتواند روی هر پلتفرمی اجرا شود که با ماشین مجازی جاوا سازگار است.
برنامه نویسی جاوا در کسب و کارها، توسعه نرم افزار، وب و اپلیکیشنهای موبایل مورد استفاده قرار میگیرد. این زبان یکی از انواع زبان های برنامه نویسی اصلی و پایه برای سیستم عامل اندروید گوگل در نظر گرفته میشود. همچنین برنامه نویسی جاوا میلیونها ستاپ باکس (Set-Top Boxes) و دستگاههای تعبیه شده (Embedded Device) را تامین میکند. به صورت کلی، میتوان گفت که مهارتهای توسعه جاوا بسیار مورد توجه واقع شده است. به لحاظ محبوبیت جاوا در رده محبوبترین زبانهای برنامه نویسی قرار میگیرد و میزان دشواری یادگیری آن بالاتر از سطح متوسط است. در ادامه مقاله «فهرست انواع زبان های برنامه نویسی» به بررسی زبان برنامه نویسی «C» پرداخته میشود.
زبان برنامه نویسی C
قبل از اینکه زبان جاوا معرفی شود، زبان برنامه نویسی «C» سطح بالاترین زبان برنامه نویسی به حساب میآمد. این زبان برنامه نویسی برای اولین بار در سال ۱۳۵۱ شمسی (۱۹۷۲ میلادی) معرفی شد. در آن زمان، اولین نسخههای سیستم عامل یونیکس (Unix) که به زبان برنامه نویسی اسمبلی (Assembly) نوشته شده بودند به زبان C منتقل شدند و سپس در توسعه سایر سیستم عاملهای اولیه، از جمله «IBM System/370» از زبان برنامه نویسی C استفاده شد.
زبان برنامه نویسی C سابقه طولانی در توسعه سیستمهای قدیمی با پردازندههای کندتر و حافظه کم دارد. برنامههایی که به زبان برنامه نویسی C نوشته میشوند باید بسیار کارآمدتر باشند. بنابراین زبان C در مواردی که سرعت مهم است به عملکرد بالا شهرت دارد. برنامه نویسی C به دلیل استفاده از آن در توسعه سیستمها، از جمله سیستم عاملها، دستگاههای تعبیه شده، «Firmware»، درایورهای سخت افزاری و کاربردهای عمومی بسیار محبوب است. کتابخانه استاندارد زبان C به بسیاری از پلتفرمها منتقل شده است، بنابراین در حوزههای گوناگونی کاربرد دارد.
با این حال، برنامه نویسی سیستمهای سطح پایین که معمولاً از زبان برنامه نویسی C استفاده میکنند، مهارتی تخصصیتر از برنامه نویسی در کاربردهای عمومی دارند و همین موضوع نشان میدهد که چرا دومین زبان محبوب دنیا نسبت به سایر زبان های موجود، موقعیتهای شغلی کمتری دارد. بازار کار این زبان برنامه نویسی با بازار کار زبان برنامه نویسی ++C همپوشانی دارد و تقریباً یکسان هستند. به طور کلی میتوان گفت زبان برنامه نویسی «C» محبوبیت متوسطی دارد و سطح یادگیری آن نیز متوسط به حساب میآید. در ادامه این فهرست از انواع زبان های برنامه نویسی، به بررسی زبان برنامه نویسی پایتون پرداخته شده است.
زبان برنامه نویسی پایتون
زبان برنامه نویسی پایتون به طور نسبی یکی از انواع زبان های برنامه نویسی جدید به حساب میآید که برای اولین بار در سال ۱۳۶۸ هجری شمسی (۱۹۸۹ میلادی) معرفی شده است. زبان برنامه نویسی پایتون، یک زبان تفسیری است که از مدیریت خودکار حافظه و برنامه نویسی شی گرا پشتیبانی میکند. پایتون برای برنامه نویسی همه منظوره از جمله برنامههای کاربردی تحت وب بسیار محبوب است و همچنین در سالهای اخیر در حوزه برنامه نویسی هوش مصنوعی و شبکههای عصبی مورد استفاده فراوان قرار گرفته است. مشاغلی که از برنامه نویسی پایتون استفاده میکنند بسیار زیاد هستند و پیدا کردن شغل در این زمینه کار سادهای است. سطح یادگیری این زبان برنامه نویسی آسان و متوسط به حساب میآید.
زبان برنامه نویسی ++C
زبان برنامه نویسی ++C، همان زبان برنامه نویسی C است که با ویژگیهای شی گرایی آن را گسترش دادهاند. وجود دو علامت به اضافه در ادامه حرف C در نام این زبان به افزوده شدن قابلیت عملگر افزایشی در آن اشاره دارد. زبان برنامه نویسی ++C برای انتقال ویژگیهای زبان های برنامه نویسی قدیمی به پلتفرمهای سریعتر و قدرتمندتر جدید به وجود آمده است. بازار کار زبان برنامه نویسی ++C تقریباً مشابه زبان برنامه نویسی C به حساب میآید، از جمله این بازار کار میتوان به برنامه نویسی سیستمها، توسعه سخت افزار سطح پایین، خدمات تحت وب و کاربردهای عمومی و اختصاصی اشاره کرد.
در طول سالهای اخیر، کتابخانههای استاندارد زبان برنامه نویسی ++C و خصوصیات آنها بهطور قابلتوجهی گسترش یافتهاند، که منجر به انتقاداتی از سوی برنامه نویسان شده است که عقیده دارند باعث پیچیدگی بیش از حد و دشواری در یادگیری این زبان برنامه نویسی میشود. در نهایت، به طور کلی زبان برنامه نویسی ++C یکی از زبان های دشوار از نظر سطح یادگیری است اما محبوبیت بالایی دارد.
زبان برنامه نویسی Visual Basic .NET
زبان برنامه نویسی ویژوال بیسیک دات نت (Visual Basic.NET | VB.NET) پیادهسازی مایکروسافت از زبان ویژوال بیسیک است که به وسیله زبان واسط دات نت (NET.) کامپایل میشود. زبان برنامه نویسی «VB.NET» به توسعه دهندگان این امکان را میدهد تا برنامههای دات نت را با استفاده از ویژوال بیسیک بنویسند. کم و بیش در سطح برنامههای توسعه داده شده با سایر زبانهای برنامه نویسی هستند.
با این حال، این زبان برنامه نویسی هیچ وقت برای استفاده در برنامههای تجاری و کسب و کارها محبوب نشده است و توسعه دهندگان و برنامه نویسان، زبان های برنامه نویسی C++ ،C و #C را بیشتر ترجیح میدهند. اکثر برنامههای کاربردی نوشته شده با زبان برنامه نویسی VB.NET قدیمی هستند و به عنوان برنامههای منسوخ شده در نظر گرفته میشوند و بیشتر برای از کار انداختن یا توسعه مجدد استفاده میشوند.
در کل میتوان گفت که این زبان برنامه نویسی محبوبیت کمی دارد و سطح سختی یادگیری آن متوسط است. زبان VB.NET در توسعه برنامههای عمومی و تحت وب کاربرد دارد. در این بخش به بررسی زبان برنامه نویسی قدیمی ویژوال بیسیک دات نت پرداخته شد و بخش بعدی به شرح زبان برنامه نویسی #C اختصاص داده شده است.
زبان برنامه نویسی #C
برنامه نویسی #C (سی شارپ) در سال 1379 هجری شمسی (2000 میلادی) توسط مایکروسافت به همراه فریم ورک دات نت (NET Framework.) توسعه داده و معرفی شد. از لحاظ ساختار نوشتاری، زبان برنامه نویسی #C بسیار شبیه به زبان های برنامه نویسی جاوا، ++C و C است. زبان #C، یک زبان کامپایل شده و شی گرا به حساب میآید که با زبان واسط دات نت کامپایل میشود. در ابتدا، زبان برنامه نویسی #C فقط برای توسعه فرمهای (Form) ویندوز متمرکز بر مایکروسافت و توسعه وب با «ASP.NET» استفاده میشد. فریم ورک NET. اخیراً با معرفی دات نت استاندارد و «NET Core.» تکامل یافته است. این چارچوبها و استانداردهای جدید پلتفرم چند سکویی هستند و روی ویندوز، لینوکس و مک اجرا میشوند.
برنامه نویسی #C برای برنامه نویسی اپلیکیشنهای کاربردی عمومی و تحت وب، در سیستمهایی که بر اساس فناوری مایکروسافت توسعه یافتهاند و یک زبان محبوب به حساب میآید. فریم ورک زامارین (Xamarin) مایکروسافت به توسعه دهندگان و برنامه نویسان اجازه میدهد تا برنامههای سیستم عاملهای اندروید و «iOS» را در #C بنویسند. این فریم ورک در برخی موارد برای برنامه نویسی سیستمها نیز مناسب و دارای کتابخانههایی برای سیستمهای تعبیه شده است. زبان #C جزء زبانهای برنامه نویسی محبوب در دنیای امروز به حساب میآید و سختی یادگیری این زبان در حد متوسط است.
زبان برنامه نویسی PHP
زبان برنامه نویسی «PHP» در ابتدا مخفف عبارت «صفحه اصلی شخصی» (Personal Home Page) بود و نام اصلی آن به این صورت بود که در ادامه عبارت «PHP» مخفف «Forms Interpreter» (مفسر فُرمها) نیز به صورت «PHP/FI» استفاده میشد. مخفف رسمی که امروزه برای برنامه نویسی «PHP» در نظر گرفته میشود «پردازشگر فرامتن» یا به زبان انگلیسی «Hypertext Processor» است. برنامه نویسی و توسعه اپلیکیشنهای تحت وب در سمت سرور کاربرد اصلی زبان برنامه نویسی PHP به حساب میآید.
زبان برنامه نویسی پی اچ پی در ابتدا جهت گسترش یک برنامه واسط دروازه مشترک (Common Gateway Interface | CGI) برای پشتیبانی از فرمهای «HTML» و دسترسی به پایگاه داده (Database) توسعه داده شد. با ترکیب کدهای یک برنامه به زبان «PHP» با کدهای «HTML»، کدهایی شبیه به صفحات فعال سرور کلاسیک مایکروسافت یعنی «قبل از دات نت» تولید خواهد شد. در این ترکیب، مفسر مورد نظر برنامه «HTML» و کدها را میخواند و بخشهای کد صفحات سرور را اجرا میکند.
یکی از دلایلی که زبان برنامه نویسی «PHP» بسیار محبوب و پرطرفدار به حساب میآید، آسان بودن یادگیری آن است. همچنین این زبان برنامه نویسی، پایه برنامههای محبوب مبتنی بر وب مانند وردپرس (WordPress) و جوملا (Joomla) به شمار میرود. نسخههای اولیه این زبان برنامه نویسی فاقد کنترلهای امنیتی و یک سری ویژگیهای کاربردی بودند و توسعه برنامههای بسیار امن را دشوار میکردند. پیشرفتهای اخیر در فریم ورک زبان «PHP» و کتابخانههای آن، باعث بهبود امنیت برنامههای این زبان برنامه نویسی شده است.
مشاغل زیادی برای زبان برنامه نویسی «PHP» وجود دارند، از جمله آنها میتوان به استفاده از آن در سیستمهای مدیریت محتوا (Content Management Systems) مانند وردپرس و سیستمهای اختصاصی توسعه یافته در «PHP» اشاره کرد.
زبان برنامه نویسی جاوا اسکریپت
زبان برنامه نویسی جاوا اسکریپت (JavaScript)، یک زبان برنامه نویسی سطح بالا، پویا و تفسیری است. زبان تفسیری زبانی است که عبارتهای آن یکی پس از دیگری ترجمه و اجرا میشوند و در مقابل آن زبان های برنامه نویسی کامپایلی وجود دارند که قبل از اجرا تمام عبارتهای آن به یک باره ترجمه میشوند. ایده نامگذاری این زبان به این دلیل بوده که سازندگان آن قصد داشتند جاوا اسکریپت را به عنوان یک زبان اسکریپتی مکمل برای همراهی با جاوا ارائه دهند که یک زبان کامپایلی است. همچنین برخی بر این عقیده هستند که انتخاب چنین نامی برای جاوا اسکریپت با اهداف بازاریابی و رسیدن به محبوبیت بیشتر انجام شده است. زبان برنامه نویسی «JavaScript» در سال 1374 هجری شمسی (1995 میلادی) همزمان با روزهای اولیه ظهور اینترنت عمومی، معرفی شد.
زبان برنامه نویسی جاوا اسکریپت در ایجاد کدهایی کاربرد دارد که در مرورگرهای وب در سمت کلاینت اجرا میشوند. همچنین، این زبان در بخشهایی از بک اند نیز به کار گرفته میشود. در ابتدای معرفی «Google Maps»، پیمایش بینهایت (Infinite Scrolling) در نقشهها با استفاده از زبان برنامه نویسی جاوا اسکریپت انجام میشد. از زمانی که این زبان برنامه نویسی معرفی شد، پشتیبانی زبان برنامه نویسی جاوا اسکریپت به تمام مرورگرهای وب اصلی اضافه شده است. فریم ورکهای جاوا اسکریپت از جمله React ،Angular و Vue.js یک الگوی توسعه کاربردی «مدلنما کنترلگر» (Model-View-Controller | MVC) را ارائه میدهند که به طور کامل در مرورگر اجرا میشوند.
زبان برنامه نویسی جاوا اسکریپت از اپلیکیشنهای تحت وب پشتیبانی میکند، به همین دلیل است که اکثر ابزارهای نظارت کاربر واقعی (Real User Monitoring Tools)، زبان برنامه نویسی جاوا اسکریپت را تامین میکنند. همچنین زبان جاوا اسکریپت یکی از انواع زبان های برنامه نویسی است که این امکان را دارد با زبان برنامه نویسی «HTML» ترکیب شود تا اپلیکیشنهای موبایلی پلتفرم چند سکویی ایجاد کند. «Node.js» یک سرور تحت وب است که زبان برنامه نویسی جاوا اسکریپت را در سمت سرور اجرا میکند. برنامههای سرور تحت وب «Node.js» به طور کامل با زبان برنامه نویسی «JavaScript» نوشته میشوند.
با توجه به موارد گفته شده درباره نوع استفاده و پشتیبانی این زبان برنامه نویسی، زبان جاوا اسکریپت محبوب و دارای تقاضای بسیار برای کار و یادگیری است. یادگیری این زبان برنامه نویسی خیلی سخت نیست و از نظر درجه سختی میتوان گفت که در حد متوسط قرار دارد، اگرچه این زبان برنامه نویسی دارای تکنیکهای برنامه نویسی پیشرفتهای نیز هست که تسلط بر آنها زمان میبرد. اگر برنامه نویس با زبان های شی گرا راحتتر باشد، میتواند از فریم ورک «TypeScript» استفاده کند. فریم ورک «TypeScript» ویژگیها و ساختار نوشتاری شی گرایی این زبان برنامه نویسی را پوشش (Overlay) و به زبان جاوا اسکریپت اصلی انتقال میدهد. در ادامه مقاله «فهرست انواع زبان های برنامه نویسی» به بررسی زبان برنامه نویسی «SQL» پرداخته شده است.
زبان برنامه نویسی SQL
زبان برنامه نویسی اس کیو ال یا سیکوئل (Structured Query Language | SQL)، برای پرس و جو (Query) و تغییر دادهها در یک سیستم مدیریت بانک اطلاعاتی رابطهای (Relational Database Management System | RDBMS) استفاده میشود. نرم افزارهای بانک اطلاعاتی زیادی وجود دارند مانند PostgreSQL ،PL/SQL (Oracle) و T-SQL که هر کدام ویژگیهای خاصی ارائه میدهند.
زبان «SQL» یک زبان برنامه نویسی عمومی مانند انواع زبان های برنامه نویسی دیگر نیست که بتوان از آن برای نوشتن برنامهها استفاده کرد. با این حال، یک مهارت مفید و مورد نیاز برای اکثر توسعه دهندگان به حساب میآید. اصطلاح «برنامه نویسی فول استک» (Full-Stack Developer) به توسعهدهندهای با مجموعهای از مهارتهای کامل گفته میشود که همه جنبههای یک برنامه کاربردی را بررسی میکند. این جنبههای برنامههای کاربردی شامل دسترسی و ذخیره دادهها در پایگاه داده میشود. یادگیری زبان برنامه نویسی «SQL» در ابتدا کار سختی نیست، اگرچه استفاده پیشرفته از سیکوئل در دادههای کلان (Big Data) و تجزیه و تحلیل دادهها (Data Analysis) به تجربه قابل توجهی نیاز دارد.
زبان برنامه نویسی SQL یکی از انواع زبان های برنامه نویسی به شمار میرود که در بین توسعه دهندگان و مدیران پایگاه داده بسیار محبوب است، بنابراین مشاغلی که به مهارتهای SQL نیاز دارند، فراوان هستند. با این حال، این زبان دستوری یک مهارت کامل نیست. داشتن تجربه در زمینه SQL امتیاز بزرگی در رزومه محسوب میشود، اما به ندرت به عنوان تنها مهارت اولیه مورد نیاز برای یک موقعیت شغلی در نظر گرفته میشود.
زبان برنامه نویسی Objective-C
زبان برنامه نویسی «Objective-C»، یک زبان برنامه نویسی شی گرا، همه منظوره و کامپایل شده به حساب میآید. ساختار نوشتاری آن بر پایه زبان برنامه نویسی قدیمی «Smalltalk» است. تا سال 1393 هجری شمسی (2014 میلادی)، یعنی زمانی که شرکت اپل (Apple) زبان برنامه نویسی سوئیفت (Swift) را معرفی کرد، زبان برنامه نویسی «Objective-C»، زبان اصلی بود که توسط شرکت اپل برای توسعه برنامههای کاربردی سیستم عامل «MacOS» و «iOS» استفاده میشد. زبان برنامه نویسی «Objective-C» به دلیل بالا بودن تعداد برنامههای موجودی که با استفاده از آن نوشته شدهاند، هنوز نسبتاً محبوب است.
اکنون که توسعه سیستم عامل «MacOS» و «iOS» مدرن عمدتاً در برنامه نویسی سوئیفت انجام میشود، احتمالاً با کاهش تعداد برنامههای کاربردی پشتیبانی شده توسط برنامه نویسی «Objective-C» در طول زمان، محبوبیت این زبان برنامه نویسی در نهایت کاهش خواهش خواهد یافت. یادگیری زبان برنامه نویسی «Objective-C» آسان نیست. این زبان از دستورات نحوی و ساختاری استفاده میکند که در سایر زبان های برنامه نویسی مشترک نیستند، بنابراین تجربه کار با انواع زبان های برنامه نویسی دیگر برای این زبان تاثیری در یادگیری آن ندارد.
برای توسعه نرم افزاری سیستم عاملهای شرکت اپل، بهترین ایده یادگیری هر دو زبان برنامه نویسی «Objective-C» و «Swift» است. با یادگیری هر دو زبان به برنامه نویس این امکان داده میشود تا بتواند روی برنامههای قدیمی نوشته شده به زبان «Objective-C» کار کند و برنامههای جدید را به زبان برنامه نویسی «Swift» بنویسد. برای این دو زبان «Objective-C» و «Swift»، مشاغل بسیار زیادی موجود است.
زبان برنامه نویسی پاسکال شی گرا و دلفی
دلفی یک کامپایلر و یک محیط توسعهدهنده یکپارچه (Integrated Developer Environment | IDE) برای زبان شی گرا پاسکال (Object Pascal) است. این زبان برنامه نویسی یکی از مشتقات شی گرای گرفته شده از زبان برنامه نویسی پاسکال به حساب میآید که در اواخر دهه 1330 هجری شمسی (دهه 1960 میلادی) توسعه یافته است. «Delphi | Object Pascal» به این دلیل در فهرست ذکر شده قرار دارد که نرم افزارهای زیادی وجود دارند که با «Object Pascal» نوشته شدهاند. در گذشته این زبان برای کاربردهای عمومی نیز مورد استفاده قرار میگرفت. در واقع زبان برنامه نویسی پاسکال شی گرا، یک زبان مرده و منسوخ شده به حساب میآید و یادگیری آن دیگر سودی ندارد. در ادامه به بررسی زبان برنامه نویسی روبی (Ruby) پرداخته شده است.
زبان برنامه نویسی روبی
زبان برنامه نویسی روبی (Ruby) یک زبان تفسیری، پویا و شی گرا است که برای اولین بار در اواسط دهه 1360 هجری شمسی (اواسط دهه 1990 میلادی) معرفی شده است. این زبان برنامه نویسی از انواع زبان های برنامه نویسی دیگر از جمله Lisp ،Perl و Ada الهام میگیرد. زبان برنامه نویسی روبی برای توسعه اپلیکیشنهای تحت وب بسیار پرطرفدار به شمار میرود. فریم ورک روبی آن ریلز (Ruby on Rails) که به اختصار «Rails» نامیده میشود، یک فریم ورک تحت سرور به شمار میرود که به زبان «Ruby» نوشته شده است.
زبان برنامه نویسی اسمبلی
لوگو زبان برنامه نویسی اسمبلی
زبان اسمبلی (Assembly Language) یک اصطلاح عمومی برای کدهای سطح پایین است که دستورالعملهای ماشین را برای یک ریزپردازنده (Microprocessor) معین نشان میدهد. اکثر زبان های مقاله «فهرست انواع زبان های برنامه نویسی»، زبان های سطح بالا هستند که از نظر نحوی و دستور نوشتاری به زبان انگلیسی نزدیکترند. کدهای زبان های سطح بالا با یک بایتکد (Bytecode) واسط یا مستقیماً در دستورالعملهای ماشین کامپایل میشوند، اما کدهای زبان اسمبلی، به جای کامپایل، اسمبل شدهاند.
این برنامه نویسی بین برنامه نویسان و توسعه دهندگان محبوبیت کمی دارد. یک خط از کدهای نوشته شده برای مثال به زبان برنامه نویسی «C» و یا «Ruby» به راحتی فقط با خواندن آنها قابل درک است. در مقابل این موضوع، درک زبان اسمبلی بدون مطالعه دقیق کل برنامه بسیار دشوار میشود. هر عملیات، از جمله عملیات ریاضی و انتقال دادهها به داخل و خارج از رجیسترها، یک عملیات کامل در زبان اسمبلی است. این موضوع بدین معنی است که برای انجام یک مقدار کار یکسان، کدهای اسمبلی بسیار بیشتری نسبت به کدهای برنامه نویسی «C» نیاز است.
کدهای اسمبلی زمانی که هدف اصلی برنامه کارایی آن است بسیار مفید و کارآمد هستند. این زبان برنامه نویسی، برای برنامه نویسی سیستمی سطح بسیار پایین استفاده میشود، یا در برخی موارد ممکن است با کدهای برنامه برای افزایش عملکرد ترکیب شود. زبان برنامه نویسی اسمبلی جهت برنامه نویسی سیستمی و توسعه سخت افزار و فریمویر (Firmware) مورد استفاده قرار میگیرد. در ادامه مقاله ارائه شده، به بررسی زبان برنامه نویسی سوئیفت پرداخته شده است.
زبان برنامه نویسی سوئیفت
لپگو زبان برنامه نویسی سوئیفت
شرکت اپل (Apple) در سال ۱۳۹۳ هجری شمسی (۲۰۱۴ میلادی)، زبان برنامه نویسی مدرن سوئیفت (Swift) را برای جایگزینی با زبان برنامه نویسی قدیمی «Objective-C» معرفی کرده است که این زبان برنامه نویسی نیز در بخشهای پیشین این مقاله مورد بررسی قرار گرفت. یکی از اهداف مهم زبان برنامه نویسی سوئیفت این بود که اشکالزدایی را سادهتر از زبان برنامه نویسی «Objective-C» انجام دهد. ساختار نوشتاری و نحوی این زبان برنامه نویسی مدرن، سادهتر از زبان برنامه نویسی «Objective-C» است و این برنامه نویسی به کدهای کمتری برای برنامهای یکسان نیاز دارد. با این حال، شکستن تغییرات ارائه شده با نسخههای جدید ممکن است باعث تغییراتی در کدهای آن شود.
تعداد شغلهای در دسترس برای زبان برنامه نویسی سوئیفت بسیار زیاد است، بنابراین احتمال منسوخ نشدن این برنامه نویسی بالاست. همانطور که در بخش زبان برنامه نویسی «Objective-C» ذکر شد، اگر شخصی قصد برنامه نویسی در زمینه سیستمهای شرکت اپل را دارد، بهتر است هر دوی این برنامه نویسیها را بیاموزد. این زبان از نظر محبوبیت درجه متوسط را دارد و از نظر یادگیری درجه متوسط رو به سخت را داراست. زمینههای کاربردی آن در برنامههای موبایل و دسکتاپ شرکت اپل یعنی در مکبوک، آیفون و آیپد به حساب میآید.
چطور زبان برنامه نویسی مورد علاقه خود را انتخاب کنیم؟
زبان های برنامه نویسی ابزاری برای بیان کردن هدف به صورت ساختاری هستند. توسعهدهندگان نرمافزاری همانطور که یک کارگر ساختمانی ابزاری را انتخاب میکند، زبان مورد نظر خود را برای هدفی انتخاب میکنند که در نظر دارند. زبان های موجود در مقاله فهرست انواع زبان های برنامه نویسی، همگی دارای یک یا چند ویژگی مختلف هستند و میتوان آنها را در دستههای مختلفی قرار داد. برخی از این ویژگیها در ادامه فهرست شدهاند:
رویهای (Procedural)
شی گرایی (Object Oriented)
دستوری (Imperative)
اعلانی (Declarative)
تابعی (Functional)
این ویژگیها و دستههای مربوط به انواع زبان های برنامه نویسی ، همراه با الزاماتی که یک وظیفه تعریف شده برای توسعه نیاز دارد، باعث پیشرفت برخی از زبانها برای رسیدن به هدف و کارایی بهتر نسبت به زبان های دیگر میشوند. فهمیدن تفاوت میان این ویژگیها، ترکیب آنها و استفاده از تجربیات گذشته، به توسعه دهندگان و برنامه نویسان کمک میکند تا بهترین ابزار و روش را برای کار خود انتخاب کنند. انتخاب زبان مناسب همراه با ترکیب علم و تجربه یک تیم توسعه، باعث تکامل زبان و کتابخانههای پشتیبان آن و موارد دیگر میشود.