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

انواع زبان بزنامه نویسی
بر اساس سطح زبان
تذکر: اونی رو که رنگی منگی کردم منطقی ترین حالت خوندنه
1.1. زبانهای سطح پایین (Low-Level Languages)
این زبانها به سختافزار نزدیکتر هستند و مستقیماً با ماشین کار میکنند.
- ویژگیها:
- نیازمند دانش عمیق از معماری سختافزار.
- سرعت بالا و بهینهسازی بیشتر.
- مثالها:
- زبان ماشین (Machine Language): کدهای باینری (0 و 1).
- زبان اسمبلی (Assembly Language): زبان وابسته به سختافزار که از دستورات نمادین استفاده میکند.
1.2. زبانهای سطح بالا (High-Level Languages)
این زبانها خوانایی بیشتری برای انسان دارند و برای توسعه نرمافزارهای پیچیده مناسب هستند.
- ویژگیها:
- مستقل از سختافزار.
- کدنویسی سادهتر و سریعتر.
- نیاز به کامپایلر یا مفسر برای تبدیل به زبان ماشین.
- مثالها:
- Python، Java، C++، C#، JavaScript، PHP، Ruby، Swift، Kotlin، Go، Rust، R، MATLAB، Perl.
2. بر اساس مدل برنامهنویسی (Programming Paradigm)
2.1. زبانهای برنامهنویسی رویهای (Procedural Programming)
این زبانها بر اساس توابع و رویهها عمل میکنند.
- ویژگیها:
- تقسیم برنامه به توابع یا رویهها.
- استفاده از حلقهها و شرطها.
- مثالها:
- C
- Pascal
- Fortran
- BASIC
- COBOL
- Ada
- ALGOL
- Modula-2
- PL/I
- MATLAB (در حالت رویهای)
- RPG
- DCL (Digital Command Language)
- Forth
- Euphoria
- Chapel
- DIBOL
2.2. زبانهای شیگرا (Object-Oriented Programming)
این زبانها از مفهوم شیء (Object) و کلاس (Class) استفاده میکنند.
- ویژگیها:
- استفاده از مفاهیم وراثت، کپسولهسازی و چندریختی.
- مناسب برای پروژههای بزرگ و پیچیده.
- مثالها:
- Java
- C++
- Python
- C#
- Ruby
- Swift
- Kotlin
- Objective-C
- Smalltalk
- PHP (نسخههای مدرن، مانند PHP 5 به بعد)
- Perl (نسخههای مدرن، مانند Perl 5)
- Scala
- Dart
- R (با استفاده از بستههای شیگرا مانند R6)
- Visual Basic .NET (VB.NET)
- Groovy
- MATLAB (در حالت شیگرایی)
- TypeScript
- Simula (اولین زبان شیگرا)
- Eiffel
- Crystal
- Lua (با استفاده از متا جدولها)
- Vala
- D
- Julia (با پشتیبانی از شیءگرایی)
2.3. زبانهای برنامهنویسی تابعی (Functional Programming)
این زبانها بر اساس تعریف توابع ریاضی عمل میکنند.
- ویژگیها:
- بدون تغییر حالت (Immutable State).
- استفاده از توابع به عنوان واحد اصلی برنامه.
- مثالها:
- Haskell
- Lisp
- Scheme
- Clojure
- Erlang
- Elixir
- F#
- Scala
- OCaml
- Racket
- Common Lisp
- ML (Meta Language)
- Standard ML (SML)
- Idris
- Agda
- PureScript
- Elm
- Nim
- Joy
- Wolfram Language (Mathematica)
- Coq
- R (در حالت تابعی)
- Julia (با تمرکز بر توابع)
- Kotlin (با قابلیتهای تابعی)
- JavaScript (در حالت تابعی با مفاهیمی مانند Higher-Order Functions)
2.4. زبانهای برنامهنویسی منطقی (Logic Programming)
این زبانها بر اساس قوانین منطقی و نتیجهگیری عمل میکنند.
- مثالها:
- Prolog (پرولوگ)
- Datalog
- Mercury
- Gödel
- Answer Set Programming (ASP)
- ALF (Algebraic Logic Functional Programming Language)
- Curry (ترکیبی از منطق و تابعی)
- Stratified Datalog
- Logtalk (پیشرفتهتر از Prolog با پشتیبانی از شیگرایی)
- ECLiPSe (یک سیستم منطقی برای حل مسائل بهینهسازی)
- SPARQL (برای پرسوجو در دادههای RDF در وب معنایی)
- CLIPS (یک زبان منطقی برای سیستمهای خبره)
- Constraint Handling Rules (CHR)
- Epilog
- Teyjus (برای منطق Lambda Prolog)
- XSB (یک پیادهسازی پیشرفته از Prolog)
- Flora-2
- YAP (Yet Another Prolog)
- SWI-Prolog
- MiniZinc (زبان مدلسازی برای حل مسائل محدودیتدار)
2.5. زبانهای برنامهنویسی اسکریپتی (Scripting Languages)
این زبانها برای خودکارسازی وظایف و نوشتن اسکریپتها استفاده میشوند.
- مثالها:
- Python
- Ruby
- Perl
- PHP
- Lua
- Tcl (Tool Command Language)
- Groovy
- PowerShell
- Rexx
- Dart (با تمرکز بر محیطهای وب و موبایل)
3. بر اساس هدف کاربرد
3.1. زبانهای عمومی (General-Purpose Languages)
این زبانها برای طیف وسیعی از برنامهها طراحی شدهاند.
- مثالها:
- Python، Java، C++، C#، Ruby، Swift، Kotlin، Go، Rust.
3.2. زبانهای خاص دامنه (Domain-Specific Languages)
این زبانها برای یک حوزه خاص از مسائل طراحی شدهاند.
- مثالها:
- SQL (برای پایگاهدادهها).
- HTML/CSS (برای طراحی وب).
- MATLAB (برای محاسبات ریاضی).
- R (برای تحلیل دادهها).
- Verilog و VHDL (برای طراحی سختافزار).
- LaTeX (برای نوشتن اسناد علمی).
4. بر اساس رویکرد اجرا
4.1. زبانهای کامپایلشده (Compiled Languages)
کد این زبانها قبل از اجرا به زبان ماشین تبدیل میشود.
- ویژگیها:
- عملکرد بالا.
- نیاز به مرحله کامپایل.
- مثالها:
- C، C++، Go، Rust، Swift، Fortran.
4.2. زبانهای مفسری (Interpreted Languages)
کد این زبانها خط به خط در زمان اجرا ترجمه میشود.
- ویژگیها:
- انعطافپذیری بالا.
- سرعت اجرا کمتر نسبت به زبانهای کامپایلشده.
- مثالها:
- Python، Ruby، JavaScript، PHP، Lua، Perl.
4.3. زبانهای نیمهکامپایلشده (Hybrid Languages)
کد این زبانها ابتدا به یک کد میانی (Bytecode) تبدیل شده و سپس اجرا میشود.
- مثالها:
- Java (با JVM)، C# (با .NET Framework).
5. بر اساس سبک استفاده
5.1. زبانهای ایستا (Statically Typed)
در این زبانها، نوع دادهها در زمان کامپایل مشخص میشود.
- مثالها:
- C، C++، Java، Go، Rust، Swift، Kotlin.
5.2. زبانهای پویا (Dynamically Typed)
در این زبانها، نوع دادهها در زمان اجرا مشخص میشود.
- مثالها:
- Python، JavaScript، Ruby، PHP، Perl، Lua.
نویسنده: محمد جواد علی زاده