Skip to content

مرحباً بك في لغة ص! 👋

لغة برمجة عربية حديثة — تكتب بها كما تفكر، وتبني بها ما تتخيل.


🧭 أين أنت الآن؟

اختر المسار المناسب لك:


🌱 مسار المبتدئ

الخطوة 1 — ثبّت لغة ص (دقيقة واحدة)

powershell
irm https://sad-lang.org/install.ps1 | iex
bash
curl -fsSL https://sad-lang.org/install.sh | bash

تحقق من التثبيت:

bash
sad --version

الخطوة 2 — أول برنامج لك

أنشئ ملفاً باسم مرحبا.ص واكتب:

sad
اطبع_سطر("مرحباً بالعالم!")

ترجِمْه ثمّ شغّلِ الناتج — وهما خطوتان، إذ للغةِ محرّكٌ واحدٌ هو المترجِّم:

powershell
sad-build مرحبا.ص -o مرحبا.exe
.\مرحبا.exe
bash
sad-build مرحبا.ص -o مرحبا
./مرحبا

النتيجة:

مرحباً بالعالم!

الخطوة 3 — تعلّم الأساسيات

الموضوعالرابطالوقت المتوقع
المتغيرات والأنواع📖 اقرأ15 دقيقة
الشروط والحلقات📖 اقرأ20 دقيقة
الدوال📖 اقرأ20 دقيقة
المصفوفات📖 اقرأ15 دقيقة

الخطوة 4 — تدرّب بالمسار التعليمي

المسار التعليمي يأخذك من الصفر إلى الاحتراف بتمارين تفاعلية:

🎓 انطلق في المسار التعليمي


⚡ مسار المبرمج

إذا كنت تعرف لغة برمجة أخرى، فلغة ص ستبدو مألوفة. إليك المقارنة السريعة:

Python مقابل لغة ص

python
# Python
def greet(name):
    return f"مرحباً {name}!"

numbers = [1, 2, 3, 4, 5]
doubled = [x * 2 for x in numbers]
print(greet("أحمد"))
sad
# لغة ص
دالة greet(name)
    ارجع "مرحباً " + name + "!"
نهاية

متغير numbers = [1، 2، 3، 4، 5]
متغير doubled = numbers.خريطة(لامدا س -> س * 2)
اطبع_سطر(greet("أحمد"))

JavaScript مقابل لغة ص

javascript
// JavaScript
class Animal {
    constructor(name) {
        this.name = name;
    }
    speak() {
        return `${this.name} يتكلم`;
    }
}
sad
# لغة ص
صنف حيوان
    متغير عام الاسم

    باني(اسم)
        هذا.الاسم = اسم
    نهاية

    دالة عام تحدث()
        ارجع هذا.الاسم + " يتكلم"
    نهاية
نهاية

مرجع سريع للتحويل

المفهومPythonJavaScriptلغة ص
متغيرx = 5let x = 5متغير س = 5
دالةdef f():function f()دالة ف()
شرطif x > 0:if (x > 0)إذا (س > 0)
حلقةfor i in range(5):for (let i=0; i<5; i++)لكل ي في مدى(5)
صنفclass A:class A {}صنف أ
طباعةprint()console.log()اطبع_سطر()

📋 الورقة المرجعية الكاملة


🔥 مسار المتقدم

الميزات المتقدمة

البرمجة الكائنية الكاملة

sad
صنف شكل مجرد
    دالة مجرد مساحة() ← فراغ
نهاية

صنف دائرة يرث شكل
    متغير خاص نصف_القطر

    باني(ر)
        هذا.نصف_القطر = ر
    نهاية

    دالة مساحة()
        ارجع 3.14159 * هذا.نصف_القطر ** 2
    نهاية
نهاية

البرمجة غير المتزامنة

sad
دالة غير_متزامن جلب_البيانات()
    متغير استجابة = انتظر http.احصل("https://api.example.com/data")
    ارجع استجابة.json()
نهاية

مطابقة الأنماط

sad
طابق (القيمة)
    عندما 0:
        اطبع("صفر")
    عندما 1..100:
        اطبع("بين 1 و 100")
    عندما [أ، ب، ...باقي]:
        اطبع("قائمة تبدأ بـ " + أ)
    افتراضي:
        اطبع("غير معروف")
نهاية

الخيوط الخفيفة والقنوات

sad
متغير قناة_رسائل = قناة(10)

أطلق
    قناة_رسائل.أرسل("مرحباً من خيط 1!")
نهاية

متغير رسالة = قناة_رسائل.استقبل()
اطبع_سطر(رسالة)

روابط للمتقدمين

الموضوعالرابط
البرمجة الكائنية الكاملة📖 التوثيق
async/await📖 التوثيق
مطابقة الأنماط📖 التوثيق
السمات (Traits)📖 التوثيق
المترجِّم sad-build📖 التوثيق

🛠️ إعداد بيئة التطوير

VS Code (موصى به)

  1. ثبّت VS Code
  2. ابحث عن امتداد "Sad Language" في متجر الامتدادات
  3. افتح مجلد مشروعك وابدأ البرمجة!

الميزات في VS Code

  • ✅ تلوين النصوص البرمجية
  • ✅ الإكمال التلقائي
  • ✅ فحص الأخطاء مباشرة
  • ✅ تصحيح الأخطاء (Debugging)
  • ✅ التنسيق التلقائي

🎮 جرّب مباشرة بدون تثبيت

لا تريد التثبيت الآن؟ جرّب Playground في المتصفح:

🎮 افتح Playground


📚 مسارات التعلم

🌐 تطوير الويب

بناء تطبيقات ويب كاملة

  1. التثبيت
  2. الأساسيات
  3. async/await
  4. مكتبة HTTP
  5. مشروع CLI

📊 معالجة البيانات

تحليل البيانات والملفات

  1. التثبيت
  2. المصفوفات والخرائط
  3. مكتبة JSON
  4. نظام الملفات
  5. مشروع CSV

🎓 التعليم والأكاديمية

تعلّم البرمجة من الصفر

  1. مقدمة
  2. أول برنامج
  3. المسار التعليمي
  4. التمارين
  5. الكتاب الشامل

❓ أسئلة شائعة

هل لغة ص مجانية؟

نعم، لغة ص مفتوحة المصدر بالكامل تحت رخصة MIT — يمكنك استخدامها ومشاركتها وتعديلها بحرية.

هل تعمل على Windows وLinux وMac؟

نعم! لغة ص تدعم Windows وLinux وmacOS بالكامل.

كيف يُنفَّذُ برنامجي؟ أهناك مفسّر؟

لا مفسّرَ في لغة ص. للغةِ محرّكٌ واحدٌ هو المترجِّم: يُحوَّلُ ملفُّك إلى ملفٍّ تنفيذيٍّ أصيلٍ عبرَ LLVM، ثمّ تُشغِّلُ الناتج:

bash
sad-build برنامجي.ص -o برنامجي.exe
هل يمكنني استخدام لغة ص في مشاريع تجارية؟

نعم، رخصة MIT تسمح بذلك بالكامل.

كيف أحصل على مساعدة؟

🚀 جاهز؟

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