🗺️ خريطة تعلم لغة ص
الفلسفة: لغة ص مصممة بنظام الإفصاح التدريجي (Progressive Disclosure) — الأشياء البسيطة بسيطة، والأشياء المعقدة ممكنة. كل مطور يتعلم فقط ما يحتاجه لتخصصه.
🏛️ البنية الطبقية للغة ص
┌─────────────────────────────────────────────────────────────┐
│ الطبقة 5: المجالات التخصصية │
│ ويب │ موبايل │ بيانات │ نظم │ ألعاب │ ذكاء │ IoT │ محتوى │
├─────────────────────────────────────────────────────────────┤
│ الطبقة 4: اللغات الوصفية المدمجة (DSLs) │
│ واجهة: │ تنسيق: │ رسم: │ وثيقة: │ استعلام: │ نمط_بحث: │
├─────────────────────────────────────────────────────────────┤
│ الطبقة 3: المكتبة القياسية │
│ رياضيات│نصوص│ملفات│شبكة│json│تشفير│إحصاء│صوت│صورة│نظام │
├─────────────────────────────────────────────────────────────┤
│ الطبقة 2: أنظمة اللغة المتقدمة │
│ OOP│وظيفي│تزامن│أنماط│ماكرو│قوالب│عقود│أخطاء│ملكية│توجيهات │
├─────────────────────────────────────────────────────────────┤
│ الطبقة 1: النواة الصغرى (15 كلمة) │
│ متغير│ثابت│دالة│ارجع│إذا│وإلا│بينما│لكل│في│نهاية │
│ صحيح│خطأ│لاشيء│توقف│استمر │
│ + دوال مدمجة: اطبع│اطبع_سطر│اقرأ│طول│نوع │
└─────────────────────────────────────────────────────────────┘🎯 اختر مسارك
| المسار | المدة | الصعوبة | المتطلبات |
|---|---|---|---|
| 📝 كاتب المحتوى | ساعتان | ⭐ | لا شيء |
| 🎨 المصمم | نصف يوم | ⭐ | لا شيء |
| 🌐 مطور الويب | 12 يوم | ⭐⭐⭐ | لا شيء |
| 📊 محلل البيانات | أسبوع | ⭐⭐ | لا شيء |
| ⚙️ مطور النظم | 3 أسابيع | ⭐⭐⭐⭐⭐ | خبرة برمجية |
📝 مسار كاتب المحتوى
لا تحتاج أي خبرة برمجية
هذا المسار لغير المبرمجين تماماً.
ما يتعلمه
| العنصر | الوصف | مثال |
|---|---|---|
وثيقة: | بداية الوثيقة | وثيقة: ... نهاية |
عنوان_رئيسي() | عنوان كبير | عنوان_رئيسي("الفصل الأول") |
عنوان_فرعي() | عنوان أصغر | عنوان_فرعي("المقدمة") |
فقرة() | نص فقرة | فقرة("الشرح هنا...") |
قائمة: | قائمة نقطية | قائمة: عنصر("أ") نهاية |
جدول: | جدول | جدول: رأس("أ","ب") صف("1","2") نهاية |
تحذير() | مربع تحذير | تحذير("انتبه!") |
ملاحظة() | مربع معلومات | ملاحظة("نصيحة مفيدة") |
مثال
sad
وثيقة:
عنوان_رئيسي("دليل المستخدم")
فقرة("مرحباً بك في هذا الدليل الشامل.")
عنوان_فرعي("الخطوة الأولى")
قائمة:
عنصر("حمّل التطبيق")
عنصر("سجّل حساباً جديداً")
عنصر("ابدأ الاستخدام")
نهاية
تحذير("لا تشارك كلمة مرورك مع أحد!")
نهاية⏱ المدة: ساعتان
🎨 مسار المصمم
لغة تصميم عربية
بديل عربي لـ CSS وSVG — بدون برمجة.
تنسيق (بديل CSS)
sad
متغير نمط_بطاقة = تنسيق:
لون_خلفية: "أبيض"
حدود_مدورة: 12
ظل: (0، 2، 8، "rgba(0،0،0،0.1)")
حشوة: 16
هامش: 8
نهايةرسم متجهي (بديل SVG)
sad
متغير شعار = رسم(عرض: 200، ارتفاع: 200):
دائرة(س: 100، ص: 100، نصف_قطر: 80، تعبئة: "#1a5276")
نص_رسمي(س: 100، ص: 110، محتوى: "ص"، حجم: 80، لون: "أبيض")
نهاية⏱ المدة: نصف يوم
🌐 مسار مطور الويب
المراحل
المرحلة 1 → المرحلة 2 → المرحلة 3 → المرحلة 4 → المرحلة 5
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
النواة OOP أساسي واجهة: تنسيق: شبكة
15 كلمة صنف، باني زر، حقل ألوان HTTP, JSON
⏱ يوم ⏱ 3 أيام ⏱ 3 أيام ⏱ يومان ⏱ 3 أيامالمرحلة 1: النواة (يوم)
sad
# أول برنامج
اطبع_سطر("مرحباً بالعالم")
# متغيرات
متغير اسم = "أحمد"
ثابت عمر = 25
# شرط
إذا (عمر >= 18)
اطبع_سطر("بالغ")
نهاية
# حلقة
لكل ع في [1، 2، 3]
اطبع_سطر(ع)
نهاية
# دالة
دالة تحية(اسم)
ارجع "مرحباً " + اسم
نهايةالمرحلة 2: OOP (3 أيام)
sad
صنف مستخدم
متغير عام الاسم
متغير عام البريد
باني(هذا.الاسم، هذا.البريد)
نهاية
دالة عام وصف()
ارجع هذا.الاسم + " (" + هذا.البريد + ")"
نهاية
نهاية
متغير م = مستخدم("أحمد"، "a@b.com")
اطبع_سطر(م.وصف())المرحلة 3: واجهات المستخدم (3 أيام)
sad
متغير شاشة_دخول = واجهة:
عمود(محاذاة: وسط)
نص("تسجيل الدخول"، حجم_خط: 24)
حقل_نص(تلميح: "البريد")
ربط: @بريد
نهاية
حقل_نص(تلميح: "كلمة المرور"، نوع: "سري")
ربط: @كلمة_سر
نهاية
زر("دخول")
عند_الضغط: لامدا() => سجل_دخول()
نهاية
نهاية
نهايةالمرحلة 4: التنسيق (يومان)
sad
متغير نمط_بطاقة = تنسيق:
لون_خلفية: "أبيض"
حدود_مدورة: 12
ظل: (0، 2، 8، "#0001")
حشوة: 16
نهايةالمرحلة 5: الشبكة (3 أيام)
sad
استورد شبكة
استورد json
غير_متزامن دالة جلب_بيانات()
متغير رد = انتظر شبكة.طلب_جلب("https://api.example.com/data")
ارجع json.حلل(رد.جسم)
نهايةما لا يحتاجه مطور الويب
- ❌ التزامن المتقدم (goroutines)
- ❌ البرمجة المنخفضة (@غير_آمن)
- ❌ الماكروز والقوالب
⏱ المدة الإجمالية: ~12 يوم
📊 مسار محلل البيانات
المراحل
المرحلة 1 → المرحلة 2 → المرحلة 3 → المرحلة 4
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
النواة رياضيات استعلام: رسم بياني
+ مصفوفات إحصاء من، حيث مخططات
⏱ يوم ⏱ يومان ⏱ 3 أيام ⏱ يومانمثال عملي
sad
استورد إحصاء
متغير درجات = [85، 90، 78، 92، 88، 76، 95، 82، 89، 91]
# تحليل إحصائي
اطبع_سطر("المتوسط: " + إحصاء.متوسط(درجات))
اطبع_سطر("الوسيط: " + إحصاء.وسيط(درجات))
اطبع_سطر("الانحراف: " + إحصاء.انحراف_معياري(درجات))
# تصفية وتحويل
متغير ممتازون = درجات.رشح(لامدا(د) => د >= 90)
اطبع_سطر("عدد الممتازين: " + ممتازون.الطول())⏱ المدة: أسبوع
⚙️ مسار مطور النظم
يتطلب خبرة برمجية سابقة
هذا المسار للمبرمجين المتقدمين.
ما يتعلمه
| الأسبوع | الموضوع |
|---|---|
| 1 | النواة + OOP + الوظيفي |
| 2 | التزامن: أطلق، قناة، اختر |
| 3 | البرمجة المنخفضة: @غير_آمن، @تجميع |
مثال: خادم متزامن
sad
استورد شبكة
دالة عالج_طلب(قناة_طلبات)
بينما (صحيح)
متغير طلب = قناة_طلبات.استقبل()
# معالجة الطلب...
طلب.رد("تمت المعالجة")
نهاية
نهاية
دالة رئيسية()
متغير الطلبات = قناة(100)
# إطلاق 10 معالجين متزامنين
لكل ع في 1..11
أطلق عالج_طلب(الطلبات)
نهاية
# بدء الخادم
شبكة.ابدأ_خادم(8080، الطلبات)
نهاية⏱ المدة: 3 أسابيع
🎓 نصائح عامة
ابدأ من الطبقة 1
كل المسارات تبدأ من النواة الصغرى (15 كلمة). أتقنها أولاً — الباقي يُبنى عليها.
تعلّم ما تحتاجه فقط
لا تحاول تعلم كل شيء. اختر مسارك وركّز عليه.
طبّق ما تتعلمه
البرمجة مهارة تُكتسب بالممارسة. اكتب كوداً كل يوم.
📚 موارد إضافية
- الدروس التفاعلية — تعلّم خطوة بخطوة
- التوثيق المرجعي — مرجع سريع
- التمارين — تدرّب على ما تعلمته
- Playground — جرّب الكود مباشرة
اختر مسارك وابدأ رحلتك! 🚀