انواع زبان بزنامه نویسی
Rate this post

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

بر اساس سطح زبان

تذکر: اونی رو که رنگی منگی کردم منطقی ترین حالت خوندنه 

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.

 

نویسنده: محمد جواد علی زاده

اشتراک گذاری