انواع زبان های برنامه نوسی

در اینجا میخواهیم لیستی از انواع زبان های برنامه نویسی داشته باشیم. این لیست از زبان های برنامه نویسی قابل توجه است که بر اساس نوع گروه بندی شده اند.

هیچ طرح طبقه بندی کلی برای زبان های برنامه نویسی وجود ندارد. بنابراین، در بسیاری از موارد، یک زبان تحت عنوان‌های متعدد فهرست می‌شود .

## '''زبان های آرایه'''
زبان‌های برنامه‌نویسی آرایه(array) (که *بردار* یا *چند بعدی* نیز نامیده می‌شود ) عملیات روی اسکالرها را تعمیم می‌دهند تا به طور شفاف روی بردارها ، ماتریس‌ها و آرایه‌های با ابعاد بالاتر اعمال شوند:

* A+
* Analytica
* APL
* Chapel
* Fortran 90
* FreeMat
* GAUSS
* Interactive Data Language (IDL)
* J
* بندانگشتی|400x400پیکسلJulia
* K
* Mathematica (Wolfram language)
* MATLAB
* Octave
* Q
* R
* S
* Scilab
* S-Lang
* SequenceL
* Speakeasy
* X10

## '''زبان های اسمبلی'''
شاید برایتان سوال باشد که زبان اسمبلی چیست؟ زبان‌های اسمبلی در واقع مستقیماً با یک زبان ماشین مطابقت دارند ، بنابراین دستورالعمل‌های کد ماشین به شکلی قابل درک برای انسان ظاهر می‌شوند، اگرچه ممکن است یک نگاشت یک به یک بین یک عبارت فردی و یک دستورالعمل فردی وجود نداشته باشد. زبان های اسمبلی به برنامه نویسان اجازه می دهند از آدرس های نمادین استفاده کنند که اسمبلر آنها را به آدرس های مطلق یا قابل جابجایی تبدیل می کند . اکثر اسمبلرها از ماکروها و ثابت های نمادین نیز پشتیبانی می کنند .

## '''زبان های برنامه نویسی پیوسته'''
زبان برنامه نویسی پیوسته یک زبان برنامه نویسی کامپیوتری بدون نقطه است که در آن همه عبارات نشان دهنده توابع هستند و کنار هم قرار گرفتن عبارات نشان دهنده ترکیب تابع است . حال عملکرد آن چگونه است؟ برنامه نویسی پیوسته جایگزین برنامه کاربردی تابع ، که در سایر سبک های برنامه نویسی رایج است، با ترکیب تابع به عنوان راه پیش فرض برای ساخت زیر روال ها می شود .

* Factor
* Forth
* jq (function application is also supported)
* Joy
* Kitten
* Lviv
* PostScript
* r3
* Staapl
* Trith
* xs
* 8th

## '''زبانهای کامپایل شده'''
اینها در واقع زبان‌هایی هستند که معمولاً توسط کامپایلرها پردازش می‌شوند ، اگرچه که از نظر تئوری هر زبانی را می‌توان کامپایل یا تفسیر کرد.

* اکشن اسکریپت
** JOVIAL
* ALGOL 60 (طراحی زبان بسیار تاثیرگذار)
** SMALL Machine ALGOL مانند زبان
* بالرین (بایت کد برای زمان اجرا (BVM))بندانگشتی|598x598پیکسل
* بیسیک (از جمله اولین نسخه Dartmouth BASIC)
* BCPL
* C (یکی از پرکاربردترین زبان های رویه ای)
* C++ (زبان چندپارادایمی مشتق شده از C)
* C# (به CIL ، یک زمان اجرا تولید می کند)
* سیلان (به بایت کد JVM )
* سرد
* CLIPPER 5.3 (برای نرم افزار مبتنی بر DOS)
* CLEO برای کامپیوترهای Leo
* Clojure (به بایت کد JVM )
* COBOL
* کبرا
* D (از مهندسی مجدد C++)
* DASL به جاوا، جاوا اسکریپت، JSP، فلکس به عنوان فایل جنگ
* دلفی ( سیستم توسعه آبجکت پاسکال بورلند )
* DIBOL (زبان تجاری تعاملی دیجیتال)
* eC
* ایفل (ساخته شده توسط برتراند مایر )
** Ubercode
* Emacs Lisp
* F# (به CIL ، زمان اجرا را تولید می کند)
* Fortran (اولین بار توسط John Backus از IBM گردآوری شد )
* Gosu (به بایت کد JVM )
* Groovy (به بایت کد JVM )
* HolyC
* Inform (معمولا فایل های داستانی برای Glulx یا Z-code )
* جاوا (معمولا بایت کد JVM ؛ به کد ماشین )
* JOVIAL
* جولیا (در حال پرواز به کد ماشین)
* Kotlin (Kotlin/Native از LLVM برای تولید باینری ها استفاده می کند)
* LabVIEW
* Nemerle (به بایت کد زبان میانی)
* پاسکال (اکثر اجراها)
* PL/I (در اصل برای پردازنده های مرکزی IBM)
* پایتون (به بایت کد VM میانی )
* RPG (سازنده برنامه گزارش)
* Scala (به بایت کد JVM )
* طرح (به عنوان مثال Gambit)
* SequenceL - کاملاً کاربردی، موازی و بدون مسابقه
* Simula (اولین زبان شی گرا، ابر مجموعه ای از ALGOL 60 )
* ML
** استاندارد ML (SML)
** OCaml
* Vala (سیستم نوع GObject)
* Xojo

## '''زبان های جدول تصمیم'''
خب ، زبان های جداول تصمیم می توانند به عنوان کمکی برای روشن کردن منطق قبل از نوشتن برنامه به هر زبانی استفاده شوند، اما در دهه 1960 تعدادی از زبان ها توسعه یافتند که منطق اصلی به طور مستقیم در قالب یک جدول تصمیم بیان می شود، از جمله:

* Filetab

## '''زبان های نسل چهارم'''
زبان‌های برنامه‌نویسی نسل چهارم ،در واقع  زبان‌های سطح بالایی هستند که پیرامون سیستم‌های پایگاه داده ساخته شده‌اند و آنها معمولا در محیط های تجاری استفاده می شوند.

* 1C
* ABAP
* CorVision
* CSC 's GraphTalk
* CA-IDEAL (محیط توسعه تعاملی برای یک عمر برنامه) برای استفاده با CA-DATACOM/DB
* تولید کننده گزارش Easytrieve (اکنون CA-Easytrieve Plus)
* تمرکز
* IBM Informix-4GL
* LINC 4GL
* MAPPER ( Unisys/Sperry ) – اکنون بخشی از BIS است
* MARK-IV ( استرلینگ/انفورماتیک ) اکنون VISION:BUILDER of CA
* طبیعی
* Progress 4GL
* PV-Wave
* LiveCode (بر اساس پایگاه داده نیست؛ با این حال، هدف کار در سطح بالاتری از انتزاع نسبت به 3GL است.)
* SAS
* SQL
* Ubercode (VHLL یا زبان بسیار سطح بالا)
* Uniface
* ویژوال دیتافلکس
* ویژوال فاکس پرو
* xBase

## '''زبان های توصیف سخت افزار'''
و زبان هایی هستند گه سخت افزار را توصیف میکنند، همانکه از اسمشان پیداست! در الکترونیک، زبان توصیف سخت افزار (HDL) یک زبان کامپیوتری تخصصی است که برای توصیف ساختار، طراحی و عملکرد مدارهای الکترونیکی و معمولاً مدارهای منطق دیجیتال استفاده می شود. دو نوع پرکاربرد و با پشتیبانی خوب HDL مورد استفاده در صنعت Verilog و VHDL هستند . زبان های توصیف سخت افزار عبارتند از:

### 1)  HDL برای طراحی مدارهای آنالوگ

### 2)  HDL برای طراحی مدارهای دیجیتال

## '''زبان های کوچک'''
زبان‌های کوچک در واقع همان طور که از اسمشان پیداست یک حوزه تخصصی (کوچک) مشکل را ارائه می‌کنند.

* awk – برای دستکاری فایل های متنی استفاده می شود.
* دنباله دار - برای حل مسائل پیچیده بهینه سازی ترکیبی در زمینه هایی مانند تخصیص منابع و زمان بندی استفاده می شود.
* sed - متن را تجزیه و تبدیل می کند
* SQL - فقط چند کلمه کلیدی دارد و تمام ساختارهای مورد نیاز برای یک زبان برنامه نویسی کامل را ندارد  بسیاری از سیستم های مدیریت پایگاه داده SQL را با ساختارهای اضافی به عنوان یک زبان رویه ذخیره شده گسترش می دهند.

## هم چنین ببینید:

* Programming paradigm
* IEC 61131-3 – a standard for programmable logic controller (PLC) languages
* List of educational programming languages
* Esoteric programming language

## یادداشت ها

# اشیاء SQL مجموعه ای از رکوردهای پایگاه داده هستند که جداول نامیده می شوند. یک زبان برنامه نویسی کامل می تواند الگوریتم ها را بدون توجه به زمان اجرا مشخص کند. بنابراین می توان یک الگوریتم برای تولید نتایج قابل استفاده در نظر گرفت. در مقابل، SQL فقط می‌تواند رکوردهایی را انتخاب کند که به مجموعه فعلی، داده‌های موجود در سیستم، محدود می‌شوند، نه اینکه بیانیه‌ای درباره صحت نتیجه ارائه کند.
# یک استثنای قابل توجه CPU سری 1801 شوروی/روسیه استکه در ابتدا از ISA داخلی خود استفاده می کرد، اما بعداً به عنوان یک تصمیم سیاسی برای سازگاری با PDP-11 دوباره طراحی شد که موفق هم عمل کردند.
# پرش به بالا:مدل‌های فرعی فهرست نشده‌اند، فقط مدل‌های پایه هستند.
# مفهوم *شی* با معنای سنتی OO تک ارسالی در جولیا وجود ندارد، در عوض با ارسال چندگانه کلی تر در انواع مختلف در زمان اجرا.
# سوئیفت از شمارش خودکار مراجع استفاده می کند .

## References
ترجمه شده از مقاله List_of_programming_languages_by_type