Skip to content

مقارنة لغة ص مع اللغات الأخرى

الميزة🇸🇦 لغة ص🐍 Python🌐 JavaScript⚙️ C++🐹 Go🦀 Rust
لغة عربية أصيلة
كلمات مفتاحية عربية❌ (إنجليزية)
مفسر فوري
مترجم أصيل✅ LLVM
البرمجة الكائنية (OOP)جزئيجزئي
السمات (Traits/Interfaces)ABCجزئيInterfaces
البرمجة غير المتزامنة✅ async/await✅ C++20✅ goroutines
المولداتC++23❌ جزئي
مطابقة الأنماط✅ 3.10+C++23
تعابير Lambdaمحدودة

مقارنة الكود — نفس البرنامج بلغات مختلفة

مرحبا بالعالم (Hello World)

sad
اطبع_سطر("مرحباً يا عالم!")
python
print("Hello, World!")
javascript
console.log("Hello, World!")
cpp
#include <iostream>
int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}
go
package main
import "fmt"
func main() {
    fmt.Println("Hello, World!")
}
rust
fn main() {
    println!("Hello, World!");
}

الفيبوناتشي

sad
دالة فيبو(ن)
  إذا (ن <= 1)  ارجع ن  نهاية
  ارجع فيبو(ن - 1) + فيبو(ن - 2)
نهاية

لكل ي في مدى(0، 10)
  اطبع(فيبو(ي) + " ")
نهاية
python
def fib(n):
    if n <= 1: return n
    return fib(n-1) + fib(n-2)

for i in range(10):
    print(fib(i), end=" ")
javascript
function fib(n) {
    if (n <= 1) return n;
    return fib(n-1) + fib(n-2);
}
Array.from({length:10}, (_,i) => i)
  .forEach(i => process.stdout.write(fib(i) + " "));
cpp
#include <iostream>
int fib(int n) {
    if (n <= 1) return n;
    return fib(n-1) + fib(n-2);
}
int main() {
    for (int i = 0; i < 10; i++)
        std::cout << fib(i) << " ";
}
go
package main
import "fmt"
func fib(n int) int {
    if n <= 1 { return n }
    return fib(n-1) + fib(n-2)
}
func main() {
    for i := 0; i < 10; i++ {
        fmt.Printf("%d ", fib(i))
    }
}
rust
fn fib(n: u64) -> u64 {
    if n <= 1 { return n; }
    fib(n-1) + fib(n-2)
}
fn main() {
    for i in 0..10 { print!("{} ", fib(i)); }
}

صنف وكائن (OOP)

sad
صنف حيوان
  باني(اسم، صوت)
    هذا.اسم = اسم
    هذا.صوت = صوت
  نهاية
  دالة تحدث()
    اطبع_سطر(هذا.اسم + ": " + هذا.صوت + "!")
  نهاية
نهاية

صنف كلب يرث حيوان
  باني(اسم)  الأساس(اسم، "هاو")  نهاية
نهاية

متغير ك = جديد كلب("ريكس")
ك.تحدث()  # ريكس: هاو!
python
class Animal:
    def __init__(self, name, sound):
        self.name = name
        self.sound = sound
    def speak(self):
        print(f"{self.name}: {self.sound}!")

class Dog(Animal):
    def __init__(self, name):
        super().__init__(name, "Woof")

d = Dog("Rex")
d.speak()  # Rex: Woof!
javascript
class Animal {
    constructor(name, sound) {
        this.name  = name;
        this.sound = sound;
    }
    speak() { console.log(`${this.name}: ${this.sound}!`); }
}
class Dog extends Animal {
    constructor(name) { super(name, "Woof"); }
}
new Dog("Rex").speak(); // Rex: Woof!
cpp
#include <iostream>
#include <string>
class Animal {
  std::string name, sound;
public:
  Animal(std::string n, std::string s): name(n), sound(s) {}
  virtual void speak() { std::cout << name << ": " << sound << "!\n"; }
};
class Dog : public Animal {
public:
  Dog(std::string n): Animal(n, "Woof") {}
};
int main() { Dog d("Rex"); d.speak(); }
go
package main
import "fmt"
type Animal struct { Name, Sound string }
func (a Animal) Speak() { fmt.Printf("%s: %s!\n", a.Name, a.Sound) }
type Dog struct { Animal }
func NewDog(name string) Dog { return Dog{Animal{name, "Woof"}} }
func main() { NewDog("Rex").Speak() }
rust
struct Animal { name: String, sound: String }
impl Animal {
    fn speak(&self) { println!("{}: {}!", self.name, self.sound); }
}
struct Dog(Animal);
impl Dog {
    fn new(name: &str) -> Self { Dog(Animal { name: name.into(), sound: "Woof".into() }) }
    fn speak(&self) { self.0.speak(); }
}
fn main() { Dog::new("Rex").speak(); }

الخلاصة

لغة ص — نقاط القوة الفريدة

  • الميزة الوحيدة في العالم: لغة برمجة عربية كاملة بكلمات مفتاحية عربية
  • مزدوجة التنفيذ: مفسر فوري + مترجم أصيل LLVM في حزمة واحدة
  • أدوات مدمجة: مدير حزم + منسّق + LSP دون تثبيت إضافي
  • منحنى تعلم منخفض: خاصة للعرب الذين لا يتقنون الإنجليزية

ما زال في طور النمو

  • مجتمع المطورين ناشئ مقارنة باللغات الأخرى
  • المنظومة البيئية (المكتبات) في طور البناء
  • بعض ميزات المكتبة القياسية قيد التطوير

مُرخَّص بموجب رخصة MIT