مرحباً بك في لغة ص! 👋
لغة برمجة عربية حديثة — تكتب بها كما تفكر، وتبني بها ما تتخيل.
🧭 أين أنت الآن؟
اختر المسار المناسب لك:
مبتدئ تماماً
لم تبرمج من قبل؟ ابدأ من هنا — سنشرح كل شيء خطوة بخطوة
موصى به للجميعمبرمج بلغة أخرى
تعرف Python أو JavaScript أو غيرها؟ تعلم لغة ص بسرعة
10 دقائق كافيةمتقدم / محترف
تريد الغوص في التفاصيل؟ الميزات المتقدمة والمترجم وOOP
للمتمرسين🌱 مسار المبتدئ
الخطوة 1 — ثبّت لغة ص (دقيقة واحدة)
irm https://sad-lang.org/install.ps1 | iexcurl -fsSL https://sad-lang.org/install.sh | bashتحقق من التثبيت:
sad --versionالخطوة 2 — أول برنامج لك
أنشئ ملفاً باسم مرحبا.ص واكتب:
اطبع_سطر("مرحباً بالعالم!")ترجِمْه ثمّ شغّلِ الناتج — وهما خطوتان، إذ للغةِ محرّكٌ واحدٌ هو المترجِّم:
sad-build مرحبا.ص -o مرحبا.exe
.\مرحبا.exesad-build مرحبا.ص -o مرحبا
./مرحباالنتيجة:
مرحباً بالعالم!الخطوة 3 — تعلّم الأساسيات
| الموضوع | الرابط | الوقت المتوقع |
|---|---|---|
| المتغيرات والأنواع | 📖 اقرأ | 15 دقيقة |
| الشروط والحلقات | 📖 اقرأ | 20 دقيقة |
| الدوال | 📖 اقرأ | 20 دقيقة |
| المصفوفات | 📖 اقرأ | 15 دقيقة |
الخطوة 4 — تدرّب بالمسار التعليمي
المسار التعليمي يأخذك من الصفر إلى الاحتراف بتمارين تفاعلية:
⚡ مسار المبرمج
إذا كنت تعرف لغة برمجة أخرى، فلغة ص ستبدو مألوفة. إليك المقارنة السريعة:
Python مقابل لغة ص
# Python
def greet(name):
return f"مرحباً {name}!"
numbers = [1, 2, 3, 4, 5]
doubled = [x * 2 for x in numbers]
print(greet("أحمد"))# لغة ص
دالة greet(name)
ارجع "مرحباً " + name + "!"
نهاية
متغير numbers = [1، 2، 3، 4، 5]
متغير doubled = numbers.خريطة(لامدا س -> س * 2)
اطبع_سطر(greet("أحمد"))JavaScript مقابل لغة ص
// JavaScript
class Animal {
constructor(name) {
this.name = name;
}
speak() {
return `${this.name} يتكلم`;
}
}# لغة ص
صنف حيوان
متغير عام الاسم
باني(اسم)
هذا.الاسم = اسم
نهاية
دالة عام تحدث()
ارجع هذا.الاسم + " يتكلم"
نهاية
نهايةمرجع سريع للتحويل
| المفهوم | Python | JavaScript | لغة ص |
|---|---|---|---|
| متغير | x = 5 | let 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() | اطبع_سطر() |
🔥 مسار المتقدم
الميزات المتقدمة
البرمجة الكائنية الكاملة
صنف شكل مجرد
دالة مجرد مساحة() ← فراغ
نهاية
صنف دائرة يرث شكل
متغير خاص نصف_القطر
باني(ر)
هذا.نصف_القطر = ر
نهاية
دالة مساحة()
ارجع 3.14159 * هذا.نصف_القطر ** 2
نهاية
نهايةالبرمجة غير المتزامنة
دالة غير_متزامن جلب_البيانات()
متغير استجابة = انتظر http.احصل("https://api.example.com/data")
ارجع استجابة.json()
نهايةمطابقة الأنماط
طابق (القيمة)
عندما 0:
اطبع("صفر")
عندما 1..100:
اطبع("بين 1 و 100")
عندما [أ، ب، ...باقي]:
اطبع("قائمة تبدأ بـ " + أ)
افتراضي:
اطبع("غير معروف")
نهايةالخيوط الخفيفة والقنوات
متغير قناة_رسائل = قناة(10)
أطلق
قناة_رسائل.أرسل("مرحباً من خيط 1!")
نهاية
متغير رسالة = قناة_رسائل.استقبل()
اطبع_سطر(رسالة)روابط للمتقدمين
| الموضوع | الرابط |
|---|---|
| البرمجة الكائنية الكاملة | 📖 التوثيق |
| async/await | 📖 التوثيق |
| مطابقة الأنماط | 📖 التوثيق |
| السمات (Traits) | 📖 التوثيق |
المترجِّم sad-build | 📖 التوثيق |
🛠️ إعداد بيئة التطوير
VS Code (موصى به)
- ثبّت VS Code
- ابحث عن امتداد "Sad Language" في متجر الامتدادات
- افتح مجلد مشروعك وابدأ البرمجة!
الميزات في VS Code
- ✅ تلوين النصوص البرمجية
- ✅ الإكمال التلقائي
- ✅ فحص الأخطاء مباشرة
- ✅ تصحيح الأخطاء (Debugging)
- ✅ التنسيق التلقائي
🎮 جرّب مباشرة بدون تثبيت
لا تريد التثبيت الآن؟ جرّب Playground في المتصفح:
📚 مسارات التعلم
❓ أسئلة شائعة
هل لغة ص مجانية؟
نعم، لغة ص مفتوحة المصدر بالكامل تحت رخصة MIT — يمكنك استخدامها ومشاركتها وتعديلها بحرية.
هل تعمل على Windows وLinux وMac؟
نعم! لغة ص تدعم Windows وLinux وmacOS بالكامل.
كيف يُنفَّذُ برنامجي؟ أهناك مفسّر؟
لا مفسّرَ في لغة ص. للغةِ محرّكٌ واحدٌ هو المترجِّم: يُحوَّلُ ملفُّك .ص إلى ملفٍّ تنفيذيٍّ أصيلٍ عبرَ LLVM، ثمّ تُشغِّلُ الناتج:
sad-build برنامجي.ص -o برنامجي.exeهل يمكنني استخدام لغة ص في مشاريع تجارية؟
نعم، رخصة MIT تسمح بذلك بالكامل.