دسته بندی زبان های برنامه نویسی و کاربردهای آنها
در حال حاضر صدها و شاید هزاران زبان برنامه نویسی وجود دارد که به انواع مختلف دسته بندی می شوند و دستهبندیهای مختلفی برای زبانهای برنامهنویسی میتوان در نظر گرفت. به عنوان مثال:
زبان های برنامه نویسی بر اساس نوع مدیریت حافظه
زبان های برنامه نویسی بر اساس کاربرد
زبان های برنامه نویسی بر اساس سطوح
زبان های برنامه نویسی بر اساس نوع ترجمه
هر روزه زبان های برنامه نویسی متعددی جهت ساخت برنامه های کاربردی مورد نیاز مردم طراحی می شوند. این زبان ها همه روزه ساده تر و قدرتمند تر می شوند و مردم نیز بسته به قابلیتی که این زبان ها دارند از آنها استفاده می کنند. معمولاً هر یک از زبان های برنامه نویسی برای کاربرد خاصی طراحی شده است. و تعدادی از زبان های برنامه نویسی همه منظوره هستند که البته تعدادشان خیلی کم است.
در ادامه تعدادی از زبان های برنامه نویسی و کابرد آنها (چه کاری انجام می دهند) را مورد بررسی قرار می دهیم. اگر به دنبال شغل برنامه نویسی کامپیوتر یا یک رشته فناوری دیگر هستید، آشنایی با این زبان های برنامه نویسی می تواند به شما کمک کند. تا بتوانید مسیر خود را انتخاب کنید و از دیگران متمایز باشید.
– زبانهای (Procedural) رویه ای
زبانهای رویهای بر اساس محدوده مشاهده دادههای یک عبارت کد هستند یعنی عملیات در آن یکی پس از دیگری و به ترتیب اجرا می شوند. به عنوان مثال می توان به Java ،PASCAL ،FORTRAN ، Ada، BASIC، C++،C ،JavaScript اشاره کرد.
– زبانهای (Functional) تابعی
زبانهای تابعی از دادههای ذخیرهشده برای انجام توابع بازگشتی استفاده میکنند، که فرآیندی را اجرا میکنند و سپس آن را تکرار میکنند تا خطاهایی را که در طول برنامهنویسی ایجاد میشود حل کنند. به عنوان مثال می توان به Agda، لیسپ (Lisp)، Scheme، کلوژر (Clojure)، Wolfram Language، Racket، ارلنگ (Erlang)، OCaml، هسکل (Haskell)، اف شارپ (#F)، PureScript و APL اشاره کرد.
– زبان های (Machine) ماشینی
زبانهای ماشین از کد باینری تشکیل شدهاند که یک سری 0 و 1 هستند و در زمان طراحی سخت افزار، زبانی منحصر به فرد و مختص همان دستگاه تعریف میشوند و شامل دستورالعملهایی است، که به طور مستقیم توسط آن دستگاه قابل اجرا هستند. این زبان عموما شامل رشته ای از اعداد است که موجب میشود، دستگاه عملیات اصلی که در ارتباط با خود است را در هر بار راه اندازی اجرا نماید. یکی از نمونه های زبان ماشین، فرترن است.
– زبان های (Assembly) اسمبلی
زبانهای اسمبلی به روشی مشابه زبانهای ماشین با استفاده از کدهای کوتاه برای ارائه دستورالعملهای رایانه کار میکنند. به عنوان مثال می توان به لوتوس 1-2-3 و توربو پاسکال اشاره کرد.
زبان ماشین و زبان اسمبلی هر دو به جزو زبان برنامهنویسی سطح پایین-Low Level Programming Language- محسوب میگردند. کدهای نوشته شده بر مبنای زبان برنامه نویسی ماشین و زبان برنامهنویسی اسمبلی به معماری پردازنده مرکزی کامپیوتر (CPU) وابسته هستند، با این توضیح که در صورتیکه معماری پردازنده مرکزی تغییر کند، کدهای نوشته شده نیز تغییر مییابند و کدها بایستی مجدداً نوشته شوند.
زبان برنامهنویسی ماشین نسبت به زبان برنامهنویسی اسمبلی به زبان کامپیوتر نزدیکتر است.
در کد نویسی با زبان اسمبلی از کلمات اختصار یافته که به SYNTAX و یا MOV معروف است استفاده میگردد، حال آنکه در زبان ماشین از رشته کدهایی برای انتقال و تفهیم اطلاعات به پردازنده مرکزی بهره گرفته میشود.
– زبان های برنامه نویسی (Logic) منطقی
این نوع از زبان های برنامه نویسی به برنامه نویسان این امکان را میدهند که عبارتهای اعلانی (Declarative) ایجاد کنند، سپس به ماشین اجازه میدهند درباره پیامدهای آن عبارتها استدلال کنند. به صورت کلی میتوان گفت که این نوع از زبان های برنامه نویسی به رایانهها نمیگویند چگونه کاری را انجام دهند، بلکه محدودیتهایی را در مورد انجام وظایف، اعمال میکنند.. به عنوان مثال می توان به Prolog، ASP و Datalog اشاره کرد.
– زبان های داده گرا (Data-oriented)
زبان های داده گرا یا داده محور راه های مختلفی را برای جستجو و ویرایش جداول موجودیت-رابطه (entity-relationship) ارائه می دهند. به عنوان مثال می توان به Clarion، Gremlin، WebDNA و Wolfram Language اشاره کرد.
– زبان های (Business-oriented) تجاری محور
شرکتها از زبانهای تجاریمحور برای کار با مقادیر زیادی داده در سیستمهای مختلف استفاده میکنند. هر زبان برنامه نویسی که قابلیت هایی نظیر ارتباط با دیتابیس، ابزارهای تولید نرم افزار، کتابخانه های ارتباطی، ابزار تولید سیستم های کلاینت سرور و توزیع شده (تحت شبکه)، امکان اجرا برروی پلتفرم های مختلف و … را داشته باشد برای تولید سیستم های تجاری مناسب است. به عنوان مثال می توان به SQL و COBOL اشاره کرد. و همینطور زبان برنامه نویسی جاوا و پلتفرم Java EE و یا زبان برنامه نویسی C# و .NET را می توان بعنوان زبانهای برنامهنویسی تجاری محبوب بین سازمان ها معرفی کرد.
– زبان های (Object-oriented) شی گرا
این رویکرد از برنامه نویسی، بر پایه مفهوم «شی» (Object) شکل گرفته است. به عبارتی، در زبان برنامه نویسی شی گرا، کلیه «متغیرها» (Variables)، «ساختارهای داده» (Data Structures) و توابع به عنوان شی تلقی میشوند. زبان شی گرا هر چیزی را که با آن روبرو می شود به عنوان اشیایی که داده های داخلی و خارجی دارند شناسایی می کند و سپس بر اساس انتقال این “اشیاء” به جایی که باید باشند انجام می دهد. به عنوان مثال می توان به PHP، C#، جاوا، ویژوال بیسیک دات نت، روبی (Ruby) و پایتون اشاره کرد.
– زبان های اسکریپت (Scripting)
زبانهای اسکریپت مشکلات برنامهنویسی کوچکتری را حل میکنند و میتوانند برای نوشتن برنامههای کاربردی سیستم عامل استفاده شوند. «اسکریپتها» (Scripts) برنامههای کوچکی هستند که با زبانهای برنامه نویسی نوشته شدهاند و هدف از نوشتن آنها جلوگیری از انجام وظایف تکراری و خودکار کردن آنها است. در زبانهای اسکریپتی احتیاجی به کامپایل نیست؛ این بدان معنی است که مرحله خطایابی و اجرا همزمان انجام میشوند. به عنوان مثال می توان به Perl، PHP، جاوااسکریپت JavaScript و پایتون Python اشاره کرد.
– زبان های قالب بندی اسناد (Document formatting)
زبانهای قالببندی اسناد، متن و گرافیک چاپ شده را سازماندهی میکنند و برخی از آنها مانند یک واژهپرداز عمل میکنند. به عنوان مثال می توان به TeX، PostScript و SGML اشاره کرد.
– زبان های نمایش وب (World Wide Web)
از زبان های نمایش وب برای طراحی صفحات وب و ارائه عملکردهای مورد نظر مانند بازیابی صفحه از طریق پیوندها (links) استفاده می شود. به عنوان مثال می توان به HTML، XML و CGI اشاره کرد.
زبان های برنامه نویسی جلویی (Front end)
زبان های توسعه فرانت اند برای کدنویسی جنبه های بصری وب سایت ها، بازی ها، نرم افزارها و برنامه ها استفاده می شوند. Front Endدر یک وبسایت یا وباپلیکیشن به بخشهایی گفته میشود که کاربران به طور مستقیم با آنها در تعامل هستند. مواردی مثل رنگها و استایل متنها، تصاویر، جداول و گرافها، دکمهها، رنگها و نوار وضعیت صفحات وب، همگی مربوط به Front End هستند. رایج ترین برنامه های فرانت اند HTML، CSS و Javascript هستند. ولی برنامه های React، Vue، TypeScript، Elm، JQuery، Angular، Swift نیز جزو زبان های برنامه نویسی فرانت اند هستند.
– زبان های برنامه نویسی پایگاه داده (Database)
زبان های برنامه نویسی پایگاه داده به ایجاد پایگاه داده و دستکاری نحوه ذخیره داده ها در آنها کمک می کنند. به عنوان مثال می توان به C++، COBOL، Java و Perl اشاره کرد. زبان های برنامه نویسی پایگاه داده در طراحی سایت شامل JavaScript، Python، SQL، PHP، NET. و Angular می باشد.
– زبان های کامپایل شده (Compiled)
زبان های کامپایل شده توسط برنامه های کامپیوتری از یک زبان برنامه نویسی به زبان دیگر ترجمه شده اند و اطلاعات را مستقیماً به کد تبدیل می کنند که فرآیند برنامه نویسی را ساده می کند. به عنوان مثال می توان به ActionScript، Ballerina، ++C و ALGOL اشاره کرد.
– زبان های برنامه نویسی بک اند (Back end)
زبان های برنامه نویسی بک اند که عهده دار کارهای پشت صحنه است. سرورهای برنامه را کد می کنند تا صفحات وب ظاهر شوند و به درستی کار کنند. به عنوان مثال می توان به پیاچپی (PHP)، پایتون (Python) ، جاوا (Java)، جاوا اسکریپت (JavaScript)، پرل (Prel) و روبی (Ruby) اشاره کرد.
– زبان های سیستم (System)
برنامه نویسی سیستمی نوعی زبان پیشرفته است که با هدف تولید برنامه های مرتبط با سخت افزار تولید و تهیه می شوند. تفاوت اصلی آن با دیگر زبان ها در این است که زبان های عادی برای تولید نرم افزار به کار میروند ولی برنامه نویسی سیستم برای تولید سیستم عامل به کار می رود. زبانهای سیستم میتوانند وظایفی مانند مدیریت حافظه یا مدیریت وظایف را هنگام برنامهنویسی کل سیستم تکمیل کنند.
برنامه نویسی سیستمی به میزان آگاهی افراد از سخت افزار بستگی دارد هرچه که شما با ساختار سخت افزار ها آشنا تر باشید و بتوانید با روند کار سخت افزارها آشنا باشید می توانید برنامه های کارآمد تر و هدفمند تری را تولید کنید. زیرا این برنامه ها مستقیماً با سخت افزارها سروکار دارند و باید به بهترین شکل ممکن از منابع سخت افزاری استفاده کنند.
زبان C یکی از قدیمی ترین و محبوب ترین زبانهای برنامه نویسی است که در برنامه نویسی سیستمی بسیار محبوب و پر کاربرد می باشد. از دیگر زبان های برنامه نویسی سیستمی می توان به Swift، Rust، ++ C و Nim اشاره کرد.
– زبان های رابط خط فرمان (Command-line)
زبان های رابط خط فرمان از خطوط متنی برای ارسال دستورات به برنامه های کامپیوتری استفاده می کنند. به عنوان مثال می توان به دسته، CLIST، TACL و 4DOS اشاره کرد.
– زبان های محاسباتی (Computational)
زبانهای محاسباتی بهطور آشکار منطق و عملکردهای یک فرمان رایانه را با یکدیگر ارتباط میدهند. به عنوان مثال می توان به Wolfram ، Gremlin، QML و Mercury اشاره کرد.
– زبان های تصویری یا بصری (Visual)
زبانهای بصری برنامهها را به روشهای دو بعدی از طریق انواع طرحبندیهای گرافیکی مشخص میکنند. در برنامهنویسی تصویری از عبارات تصویری و نمادهای گرافیکی برای برنامهنویسی استفاده میشود. بیشتر زبانهای برنامهنویسی تصویری بر پایه ایده “جعبهها و پیکانها” هستند. در این روش از جعبههایی به عنوان اشیای صفحهای و پیکانها یا خطهایی برای ارتباط دادن این جعبهها به هم استفاده میشود. به عنوان مثال می توان به Grasshopper، GameMaker Language، XOD و ToonTalk اشاره کرد.
– زبان های مدیریت نحوی (Syntax handling)
زبانهای مدیریت نحو، تحلیلگرهایی تولید میکنند که دنبالههای کاراکتر را به دنبالههای نشانهای تبدیل میکنند که معانی مشخصی برای گرامر بدون متن دارند. به عنوان مثال می توان به ANTLR، lex، Prolog و JavaCC اشاره کرد.
– زبان های تفسیری (Interpreted)
زبانهای تفسیر شده به برنامهها اجازه میدهند به جای کامپایل شدن، از کد منبع و با کمک مفسر اجرا شوند. به عنوان مثال می توان به Apache Ant، JavaScript، PostScript و Windows PowerShell اشاره کرد.
– زبان های تحلیل عددی (Numerical analysis)
زبانهای تحلیل عددی عمدتاً برای محاسبات فنی استفاده میشوند. به عنوان مثال می توان به Wolfram Language، Analytica، Fortran و MATLAB اشاره کرد.
– زبان های قابل جاسازی (Embeddable)
زبانهای قابل جاسازی در کد منبع، برای سرورها و توسط کلاینتها برای جاسازی کد در متن آزاد استفاده میشوند. به عنوان مثال می توان به PHP، VBScript، ActionScript و JavaScript اشاره کرد.
– زبان های آرایه ای (Array)
زبان های آرایه از اسکالرها برای اعمال عملیات بر روی بردارها، ماتریس ها و دیگر آرایه های با ابعاد بالا استفاده می کنند. به عنوان مثال می توان به Analytica، BASIC، MATLAB و Fortran 90 اشاره کرد.
– زبان های برنامه افزودنی (Extension)
زبان های برنامه اکستنشن در برنامه های دیگر تعبیه شده اند تا از ویژگی های آنها در اسکریپت های افزونه استفاده کنند. به عنوان مثال می توان به JavaScipt، Perl، Squirrel و CAL اشاره کرد.
– زبان های توصیف سخت افزار (Hardware description)
زبان های توصیف سخت افزار، طراحی، ساختار و عملکرد مدارهای منطقی الکترونیکی و دیجیتالی را توصیف می کنند. به عنوان مثال می توان به Verilog، VHDL، Java و Ruby اشاره کرد.
– زبان های جدول تصمیم (Decision table)
زبان های جدول تصمیم، منطق یک برنامه را قبل از نوشتن آن در یک زبان برنامه نویسی دیگر روشن می کنند. به عنوان مثال می توان به Filetab و FORTAB اشاره کرد.
– زبان های حالت تعاملی
زبانهای حالت تعاملی اجازه میدهند تا عبارات وارد شوند و ارزیابی خود را بلافاصله نشان دهند. به عنوان مثال می توان به BASIC ،ECMAScript ،Wolfram Language و Python اشاره کرد.
پرکاربردتربن زبانهای برنامه نویسی کدامند؟
– پرکاربردتربن زبانهای برنامه نویسی سیستمی: سی (C)، سی پلاس پلاس (C++)، سی شارپ (C#)، جاوا (Java)، پایتون (Python)، دلفی (Delphi)، فاکس پرو (Fox Pro)، ویژوال بیسیک (Visual Basic)، پرل (Perl)، روبی (Ruby)، گو یا گولنگ (Golang/ Go).
– پرکاربردتربن زبانهای برنامه نویسی تحت وب: HTML،CSS ،Javascript ،jQuery،ASP.NET ،PHP ،Ruby ،Java ،Python ،Golang
– پرکاربردترین زبانهای برنامه نویسی برای اپلیکیشن موبایل: سی شارپ (C#)، پایتون (Python)، جاوا (Java)، سویفت (Swift)، روبی (Ruby)، جاوا اسکریپت (Javascript)، پرل (Perl).
– پرکاربردترین زبانهای برنامه نویسی چند منظوره: سی (C)، سی پلاس پلاس (++C)، سی شارپ (C#)، پایتون (Python)، روبی (Ruby)، جاوا (Java)، گو ( Go)، اسکالا.