البرمجة

أي لغة برمجة نتعلم؟

اختر لغتك الأولى مما تريد بناءه لا من قوائم الشهرة: PHP وجافاسكريبت للمواقع والعمل الحر، وبايثون للبيانات والذكاء الاصطناعي، وكوتلن وسويفت أو فلاتر للموبايل. واللغة الثانية تأتي أسرع بكثير من الأولى، فالقرار أقل مصيرية مما يبدو.

  • الدرس 3 من 14
  • مبتدئ
  • مجاني، دون تسجيل

سؤال واحد، قبل أي مقارنة

جواب هذا السؤال يرفع نصف قائمة اللغات عن الطاولة.

أتبني شيئا يفتحه الناس، أم شيئا يلتهم البيانات؟

إن كان المخرج صفحة

PHP وجافاسكريبت

  • مواقع الشركات والمتاجر والمدونات ولوحة بسيطة
  • ووردبريس، وهو مكتوب بـPHP
  • كل ما يتحرك داخل المتصفح
  • أقصر طريق إلى أول عمل حر
إن كان المخرج جوابا

بايثون

  • تحليل البيانات والتقارير وتنظيف الملفات الفوضوية
  • العمل مع خدمات الذكاء الاصطناعي وأتمتة المهام
  • مكتبة جاهزة لعمل كنت ستكتبه في أسبوعين
  • لكنها ليست أسرع طريق إلى أول دخل محلي

هذا المفترق لا يغطي كل الفروع. فالموبايل والألعاب فرع ثالث تحدده المنصة، والقسم الرابع من هذا الدرس يتناوله.

آخر مراجعة: تُراجع الحقائق وأسماء الأدوات في هذا الدرس مقابل مصادرها في هذا التاريخ.

ابدأ بأن تقول ما الذي تريد بناءه

سؤال «أي لغة أفضل» لا جواب له. أما سؤال «أي لغة تناسب ما أريد صنعه فعلا» فجوابه قصير، وهذا الفرق وحده هو ما يخرج المرء من دوامة المقارنات.

والشكل في أعلى الصفحة يرسم أكبر مفترق: هل تبني شيئا يفتحه الناس، أم شيئا يلتهم البيانات ويعطي جوابا. وكل الأسئلة التالية تقريبا تقع تحت أحد هذين.

لغة البرمجة أداة، والأدوات تُختار بالعمل لا باستفتاء. فمن يريد بناء مواقع للعملاء ومن يريد تحليل بيانات المبيعات يحتاجان صندوقي عدة مختلفين، وليس أحدهما مخطئا.

وشيء يستحق أن تعرفه مبكرا لأنه يخفف ضغط القرار: اللغة الثانية تأتي أسرع بكثير من الأولى. فالمفاهيم واحدة والإملاء وحده يتغير. الحلقة والشرط والدالة والمصفوفة فكرة واحدة في بايثون وPHP وجافاسكريبت؛ والذي يأخذ وقتا هو التفكير على شكل برنامج لا قواعد اللغة. وإن أردت المسار من أوله، فـمسار البرمجة يبدأ من هنا.

أربعة أهداف شائعة واللغة التي يطلبها كل منها

جد خانتك أولا، ثم ابحث عن اسم لغة.

  • المواقع والمتاجر

    PHP على الخادم وجافاسكريبت في المتصفح. وووردبريس هنا أيضا.

  • البيانات والذكاء الاصطناعي

    بايثون، لأن مكتباتها كُتبت قبل وصولك بسنوات.

  • تطبيقات الموبايل

    كوتلن لأندرويد، وسويفت لـiOS، أو فلاتر وريأكت نيتيف للاثنين.

  • الألعاب

    تختار المحرك أولا وتأتي اللغة معه: يونيتي يريد سي شارب.

الهدف

هذا الجدول يبين البداية لا السقف. ففي مشروع حقيقي تختلط هذه الخانات، ومن أمضى سنوات يعرف عادة أجزاء من ثلاث منها.

للمواقع والعمل الحر: PHP وجافاسكريبت

إن كان هدفك أن تتقاضى أجرا على الشفرة خلال سنة، فهذا الفرع أقصر الطرق. لا لذوق، بل لشكل السوق: أكثر ما يُسند إلى مبرمج جديد موقع، وأكثر المواقع ووردبريس، وووردبريس مكتوب بـPHP.

رقمان يمكن التحقق منهما وقد قُرئا من مصدرهما اليوم: يذكر W3Techs أن PHP تُستعمل في ٧٠.٢ بالمئة من المواقع التي تُعرف لغة خادمها، وأن ووردبريس يدير ٥٨.٩ بالمئة من المواقع التي يُعرف نظام إدارة محتواها، أي ٤٠.٧ بالمئة من كل المواقع. والرقمان عالميان ولا يقولان شيئا عن إيران؛ ونحن لا نملك أرقام السوق الإيرانية ولن نخترع رقما.

أما جافاسكريبت فليست اختيارا بل شرط الوسيط. فكل ما يعمل داخل المتصفح جافاسكريبت ولا طريق ثانيا، وإن سلكت طريق المواقع فستصل إليها عاجلا أو آجلا. والخبر الطيب أنك لا تحتاج كثيرا منها لتبدأ.

وتحذير يُقال عادة متأخرا: تعلم PHP ليس تعلم ووردبريس. الأول لغة، والثاني برنامج ضخم بقواعده الخاصة. فإن كان عملك سيكون ووردبريس، فتعلم من PHP ما يكفي لقراءة دالة ومصفوفة وحلقة وكتابتها، ثم انتقل إلى ووردبريس نفسه. ستة أشهر من PHP الخالصة قبل أول خطاف وقت لا يعود.

والترتيب الذي نقترحه لهذا الفرع بسيط: HTML أولا لتعرف مم تتكون الصفحة، ثم شيء من CSS، ثم جافاسكريبت بقدر ما تمنح الصفحة سلوكا، وPHP حين يصل العمل إلى الخادم. وإن أردت أن ترى إلى أي عمل ينتهي هذا الطريق، قسم العمل الحر عندنا يعرض المشاريع التي تُطلب فعلا.

للبيانات والذكاء الاصطناعي: بايثون

إن كان العمل الذي في ذهنك يتعامل مع ملفات وأرقام ونصوص لا مع صفحة يفتحها أحد، فبايثون هي الباب. تحليل بيانات المبيعات، وتنظيف جدول فوضوي، وقراءة ألف ملف لإخراج تقرير واحد، ومحادثة خدمات الذكاء الاصطناعي: هذه كلها أرض بايثون.

والسبب التقني بسيط ولا علاقة له بجمال اللغة: المكتبات هناك. فعمل يعني أسبوعين من الكتابة بلغة أخرى، له غالبا في بايثون مكتبة جاهزة جُرّبت سنين. وتكاد كل خدمة ذكاء اصطناعي تكتب أول مثال شفرة لها ببايثون.

لكن تلزم هنا صراحة: بايثون ليست أقصر طريق إلى أول دخل محلي. فطلب «اكتب لي سكربت بايثون» أقل كثيرا من طلب «أصلح موقعي». وإن كنت مستعجلا على الدخل فالفرع السابق أسرع جوابا، ويمكن إضافة بايثون لاحقا.

ونحن فعلنا هذا بالضبط ويمكن رؤيته: الموقع الذي تقرؤه الآن PHP، أما الأداة التي تفحص هذا الدرس نفسه قبل نشره فبايثون. ولم يكن أي من الاختيارين ذوقا؛ كل واحد هناك لعمل. وإن أردت البدء من هنا، فدرس بايثون في هذا المسار يمشي بك في التثبيت وأول سكربت خطوة خطوة، وقائمة الدروس كاملة في الصفحة نفسها.

الموبايل والألعاب، حيث تختار المنصة اللغة

في هذين الفرعين ليس القرار لك بل للمنصة. فأندرويد الأصلي يعني كوتلن (وشفرة جافا الأقدم)، وiOS الأصلي يعني سويفت، وإن أردت شفرة واحدة للاثنين فذلك يعني فلاتر بلغة دارت أو ريأكت نيتيف بجافاسكريبت. أما الألعاب فتختار فيها محركا عادة لا لغة: يونيتي يريد سي شارب، ولغودو لغته الخاصة.

وكلمة صريحة قبل أن تقترب من تطبيق: كثيرا ما يكون ما يُسمى «تطبيقا» في الواقع موقعا جيدا على الهاتف، ويفي بنصف الكلفة وعُشر المتاعب. والتطبيق الحقيقي يلزم حين تحتاج الكاميرا والإشعارات والعمل دون اتصال.

وقيد يخصنا نحن: النشر في المتاجر العالمية من إيران له مشكلاته، ولا علاقة لها باللغة التي اخترتها. وذلك نقاش في مكان آخر، في مسار تصميم التطبيقات، وإن أردت العمل جاهزا فصفحة تصميم التطبيقات تشرح شكله.

أسئلة تلتهم وقتك ولا تغير شيئا

«أي لغة أسرع» ليست مشكلتك. ففي العمل الذي يكتبه مبتدئ، يأتي البطء غالبا من استعلام سيئ أو صورة بعشرة ميغابايت أو خوارزمية خاطئة، لا من اللغة. واللغة لا تصير عنق الزجاجة إلا بعد أن تصلح كل ما عداها.

و«أيها أسهل» بلا جواب حقيقي كذلك. ففي الأسبوعين الأولين تتشابه اللغات كلها: متغيرات وشروط وحلقات. والصعوبة تأتي لاحقا ومن المفاهيم لا من القواعد؛ فالمؤشرات والتزامن ونماذج الكائنات صعبة في كل لغة.

و«أيها يدفع أكثر» تجيب عنه القوائم العالمية، وذلك الجواب لا ينفعك، لأنك لا تُوظَّف في السوق العالمية. والرقم المهم هو ما يعني شيئا في المدينة والسوق اللذين فيهما زبائنك، ونحن لا نملك ذلك الرقم.

ودع أيضا «اللغة الفلانية تموت». فالمهم ليس مكانة لغة على شبكات التواصل، بل هل يوجد في متناولك عمل يُنجز بها.

ولا تضخّم كلفة الاختيار الخاطئ: إن اكتشفت بعد أسبوعين أنك سلكت الفرع الخطأ فقد خسرت أسبوعين. أما إن أمضيت ستة أشهر تبحث عن «أفضل لغة» ولم تنه شيئا، فقد خسرت ستة أشهر ولم تتعلم شيئا. وإنهاء شيء صغير أهم من الاختيار الصحيح.

اختبار أسبوعين بدل شهرين من البحث

المخرج من هذا القرار ليس مزيدا من البحث؛ بل تجربة صغيرة واحدة. خذ مرشحين، وابن الشيء الصغير نفسه بكليهما، ودع يدك تقرر لا القوائم.

و«الشيء الصغير» يعني ما تنهيه في أمسية وله مخرج تستطيع عرضه. مثلا: صفحة فيها نموذج يحفظ اسما، أو سكربت يقرأ ملف CSV ويستخرج منه ثلاثة أرقام. اكتب الشيء نفسه باللغتين حتى تكون المقارنة حقيقية.

والشكل أدناه هو تلك الخطوات الخمس. وخذ الرابعة بجدية: عرض ما صنعته على شخص آخر يشغّل فيك ما لا تشغله البرمجة وحدك. وإن لم يشدّك أي من المرشحين بعد أسبوعين فهذا جواب أيضا.

وصندوق عدتنا نحن خرج من هذا النوع من القرار لا من الذوق: الموقع PHP لأن ووردبريس PHP، وأدوات المحتوى بايثون لأن عملها معالجة النصوص، والغراء بينهما واحد وعشرون سكربت باش لأن عملها استدعاء أدوات أخرى. ثلاث لغات، وثلاثة أعمال مختلفة، ولم تُختر واحدة منها لأنها «أفضل».

اختبار الأسبوعين في خمس خطوات

بدل قراءة مقارنات الآخرين، اصنع مقارنة صغيرة خاصة بك.

  1. 1

    اكتب الهدف في جملة واحدة

    إن لم يسع جملة واحدة فليس هدفا بعد، بل أمنية.

  2. 2

    مرشحان اثنان لا خمسة

    بخمسة خيارات تعود إلى البحث الذي كنت تهرب منه.

  3. 3

    ابن الشيء الصغير نفسه بكليهما

    شيء ينتهي في أمسية وله مخرج. لا مشروع.

  4. 4

    اعرضه على شخص واحد

    العرض يشغّل شيئا لا تشغله البرمجة وحدها.

  5. 5

    قرر من تجربتك أنت

    إن لم يشدك أي منهما فهذا جواب أيضا: غيّر الهدف لا اللغة.

هذا الاختبار للاختيار بين مرشحين، لا لتعلم لغة. فأسبوعان لا يكفيان لإتقان أي منهما، وليس هذا هدفهما.

المسار السريع مع الذكاء الاصطناعي

في هذا السؤال بالذات، النموذج اللغوي عرّاف رديء ومحاكٍ جيد. اسأله «أي لغة أتعلم» فيسلمك متوسط ما كُتب على الإنترنت، وذلك المتوسط لا علاقة له بمدينتك. لكن اجعل النموذج نفسه يكتب شيئا صغيرا بلغتين، ثم يقول ما الذي ستواجهه بعد ستة أشهر في كل مسار، فتكون قد ضغطت اختبار الأسبوعين في أمسية. ويكفي هنا نموذج سريع ورخيص؛ واختيارنا الحالي في <a class="text-link" href="/ar/ai/">قسم الذكاء الاصطناعي</a>.

  1. اكتب الهدف بقيودك لا كأمنية: ماذا، ولمن، وحتى متى، وكم ساعة في الأسبوع تملك فعلا.
  2. بدل «أيهما أفضل»، اطلب أصغر نسخة تعمل من الشيء نفسه باللغتين المرشحتين، وبالمخرج نفسه.
  3. شغّل الاثنين بنفسك. فالشفرة التي لم تُشغَّل رأي لا نتيجة.
  4. وأخيرا اسأل عما ستتعامل معه بعد ستة أشهر في كل مسار. هذا الجواب أنفع من أي قائمة شهرة.

وصفة جاهزة للنسخ

هدفي: {الهدف في جملة واحدة}
قيودي: {ساعات في الأسبوع}، {حتى أي تاريخ}، {الجهاز والاتصال اللذان أملكهما}
المرشحان: {اللغة الأولى} و{اللغة الثانية}

افعل لي ثلاثة أشياء ولا تغير ترتيبها:

١. أصغر برنامج يعمل ويُظهر هذا الهدف، مرة بـ{اللغة الأولى} ومرة
   بـ{اللغة الثانية}. على الاثنين أن يعطيا المخرج نفسه تماما. أعطني شفرة
   كاملة لا مقاطع. واذكر منفصلا كل ما يجب تثبيته.
٢. تحت كل برنامج، بيّن الأسطر الثلاثة التي يتعثر فيها المبتدئ وقل لماذا.
٣. ثم اكتب ما الذي سأتعامل معه بعد ستة أشهر في كل مسار: أي أدوات، وأي
   صعوبات، وأي نوع من العمل يُطلب عادة.

لا تقل لي أيهما أفضل. سأقرر بنفسي بعد تشغيل الاثنين.

قبل أن تثق بالناتج: شيء واحد لا يعرفه النموذج ويتكلم عنه بثقة: سوقك المحلية. فقائمة العمل الذي يُطلب في مدينتك ليست في بيانات تدريبه، فزِن بنفسك كل جملة عن «الطلب» بنظرة إلى لوحات الوظائف والمجموعات المحلية. والثاني هو الوصول: قد يقترح النموذج أداة لا يعمل التسجيل فيها ولا الدفع لها من إيران. وقبل أن تبني مسارا على شيء، تأكد أنك تصل إليه فعلا.

الذكاء الاصطناعي في هذا العمل

موقفنا واضح: لاختيار لغة، لا تستعمل النموذج مستشارا بل ورشة. فنصيحته متوسط الإنترنت؛ أما ورشته فأن يضع أمامك البرنامج نفسه بلغتين في أمسية واحدة، لتحكم بيدك أنت. والأدوات الثلاث أدناه تؤدي هذا العمل وتختلف فيه قليلا.

أدوات تساعد فعلا

  • Claude جيد لتمرين النسختين، لأنه يعطي شفرة كاملة وشرحا سطرا سطرا معا. وإيران ليست في قائمة الدول المدعومة لدى أنثروبيك؛ قرأنا ذلك في صفحة أنثروبيك نفسها.
  • Gemini يفهم الفارسية جيدا ويكفي لأول نسخة من برنامج صغير. وصفحة غوغل نفسها تقول إن تطبيق جيميناي على الويب يعمل في أكثر من ٢٣٠ دولة وإقليما، وإيران ليست في تلك القائمة.
  • ChatGPT الخيار الأشيع ومقبول لهذا العمل. وليست لدينا بعد صفحة له في قسم الذكاء الاصطناعي، فلا ندعي هنا شيئا عن وصوله أو سعره.

اين ينقلب ضدك

الخطر الأساسي هنا ليس شفرة خاطئة بل جوابا واثقا. فالنموذج يجيب عن «أي لغة أتعلم» بمتوسط ما كُتب على الإنترنت، وذلك المكتوب إنجليزي في معظمه وأمريكي في معظمه، فيسلمك خارطة طريق مرتبة لا علاقة لها بالعمل المطلوب في مدينتك، ونبرته الواثقة تخفي ذلك بالضبط. والخطر الثاني هو الوصول ويخصنا نحن: قد تحوي الخارطة أداة لا يمكن التسجيل فيها ولا الدفع لها من إيران، والأمر نفسه يصدق على هذه النماذج ذاتها. فإيران ليست في أي من قائمتي الدول المدعومة لدى أنثروبيك، وليست في قائمة غوغل لدول جيميناي؛ قرأنا الاثنتين في صفحتي الشركتين نفسيهما، ولا نقترح طرق التفاف. ولهذا نصيحتنا أن تطلب من النموذج شفرة لا مصيرا: فالشفرة تُشغَّل وتُفحص، وخارطة الطريق لا.

المصادر: Anthropic: supported countries Google: where Gemini Apps are available W3Techs: usage statistics of PHP

حدود هذه النصيحة

هذا الدرس لا يستطيع أن يقول أي مهارة تدفع في مدينتك، لأننا لا نملك أرقام سوق العمل الإيرانية ولن نخترع رقما؛ وما هنا رقمان عالميان وتجربة وكالة واحدة، لا أكثر. وهناك ثلاث حالات تتقدم على كل حجج هذه الصفحة: إن كان لمكان عملك أو دراستك لغة أصلا فتلك اللغة تفوز؛ وإن كنت تدرس لمقرر جامعي فلغة المقرر تفوز؛ وإن وُجد شخص يستطيع الإجابة عن أسئلتك فلغته أثمن من أي اختيار أمثل، لأن البقاء وحيدا أغلى أجزاء التعلم.

من عملنا نحن

صندوق عدتنا نحن، مُحصى اليوم ويمكن التحقق منه على هذا الخادم: قالب هذا الموقع ١٩٣ ملف PHP و٥٩,٣٧٧ سطرا، وإضافاتنا الداخلية ٥٩٢ ملف PHP آخر، والصفحة التي تقرؤها تحمّل ملفي جافاسكريبت اثنين فقط، نحو ستة عشر وخمسة كيلوبايت. وفي المقابل، الأداة التي تفحص هذا الدرس نفسه قبل نشره بايثون: ٢٢ ملفا، أحدها ٢٨١ سطرا عمله كله إيجاد الحروف الممنوعة في أربع لغات. والغراء بينها ٢١ سكربت باش. والنسبة بين هذه الأرقام هي حجة هذا الدرس: العمل هو من اختار اللغة، لا نحن.

اسئلة متابعة حقيقية

الآن والذكاء الاصطناعي يكتب الشفرة، أما زال تعلم لغة ضروريا؟

نعم، لكن لا للسبب القديم. فمن لا يعرف اللغة لا يميز الشفرة العاملة من الشفرة المقنعة، ويقبل أي جواب يصل. وتعلم اللغة اليوم للقراءة والحكم أكثر منه للكتابة، وهذا رفع قيمته لا خفضها.

أنتعلم HTML أولا أم نذهب مباشرة إلى بايثون؟

يعتمد على الفرع لا على ترتيب تقليدي. فإن كنت ذاهبا إلى المواقع فـHTML أول شيء، إذ بدونه لا ترى مخرجك أصلا. وإن كنت ذاهبا إلى البيانات فلا تحتاج HTML، والذهاب مباشرة إلى بايثون صحيح. ثم إن HTML ليست لغة برمجة؛ هي لغة ترميز ولا شرط فيها ولا حلقة.

كم لغة نحتاج للتوظيف؟

واحدة، بقدر أن تكون بنيت بها شيئا. فالإعلانات التي تصف ثماني مهارات جنبا إلى جنب قوائم أمنيات لا شروط دخول، ومن يعرض مشروعا حقيقيا واحدا يتقدم على من يحفظ أسماء أربع لغات. واللغة الثانية تأتي عادة وحدها، لأن مشروعا حقيقيا يفرضها عليك عاجلا أو آجلا.