عندما قررت الدخول بمجال البرمجة، واستشرت مجموعة من المختصين البعض رشح لي جافا سكريبت وأنه رغم صعوبتها لكن احترافي لها سيمكنني من العمل بتخصصات برمجية مختلفة، أتذكر مقولة أحد المبرمجين الذين أكن له الكثير من التقدير وهو يقول "لا أتوقع أن يكون المبرمج محترفا دون تعلم الجافاسكريبت"، والبعض الآخر رشح لي بايثون لسهولة تعلمها ويمكن الاعتماد عليها أيضا، لذا أصبت بالحيرة وأريد أن استفيد من معرفتكم وخبراتكم حول الأمر، أي منهما ترشح لي أن ابدأ؟ ولماذا؟ وما هي استخدامات كل منهما، ربما هذا سيساعدني على الاختيار أفضل؟
لغة بايثون Python أم جافا سكريبت Javascript لبدء تعلم البرمجة؟
الاختيار بين البدء بتعلم جافا سكريبت أو بايثون يعتمد على عدّة عوامل، منها أهدافك، ونوع المشاريع التي ترغب في العمل عليها، وأسلوب التعلم الذي يناسبك. وإليك أهم الخصائص والاستخدامات الرئيسية لكل لغة :-
جافا سكريبت
- جافا سكريبت تستخدم أساسا في تطوير تطبيقات الويب. يتيح لك إنشاء واجهات مستخدم تفاعلية وديناميات على صفحات الويب. إضافة إلى ذلك، يمكن استخدام جافا سكريبت لتطوير تطبيقات الجانب الخادم باستخدام إطارات مثل Node.js.
- تعتبر جافا سكريبت لغة متعددة الاستخدامات ولديها مجموعة كبيرة من المكتبات والإطارات التي تساعد في تسهيل عملية التطوير. تستخدم أساسا في بيئات المتصفح، ولذا فهي أمر ضروري إذا كنت ترغب في تطوير تطبيقات ويب.
- البداية في جافا سكريبت قد تكون قليلاً صعبة لبعض الأشخاص بسبب تعقيد بعض المفاهيم والتحديات المرتبطة بأمور مثل نمط تفوق الحدث (Event-driven) وأمور تتعلق بنطاق المتغيرات. ومع ذلك، مع ممارسة جيدة والتعلم المستمر، يمكن التغلب على هذه الصعوبات.
بايثون
- بايثون تستخدم بشكل واسع في مجموعة متنوعة من التطبيقات، بدءًا من تطوير تطبيقات الويب باستخدام إطارات مثل Django و Flask، إلى تطوير تطبيقات سطح المكتب، والحوسبة العلمية، وتطبيقات تحليل البيانات.
- بايثون تعتبر سهلة التعلم والقراءة، وهذا يجعلها خيارًا جيدًا للمبتدئين. توفر لغة بايثون العديد من المكتبات والأدوات المفيدة التي تساعد في تسهيل العملية التطويرية.
- بايثون تعتبر من أسهل لغات البرمجة للتعلم، وهذا يجعلها خيارًا جيدًا للمبتدئين. تجمع بايثون بين قوة اللغات المتقدمة وبين بساطتها في الاستخدام.
إذا كان هدفك الرئيسي هو تطوير تطبيقات ويب وإضافة تفاعلية لصفحات الويب، فجافا سكريبت هي الاختيار الأمثل. أما إذا كنت ترغب في تعلم لغة برمجة تكون سهلة التعلم وتتيح لك التنوع في مجالات التطبيقات مثل تطوير الويب، الحوسبة العلمية، وتحليل البيانات، فبايثون قد يكون الخيار المناسب. لاحظ أنه لا يجب أن تكون اختياراً نهائياً. يمكنك بدءاً من إحدى اللغتين وفيما بعد توسيع مهاراتك إلى اللغة الأخرى إذا احتجت.
أعتقد أن البدء في مسار تعلم البرمجة ينبغي أن نبدأه بتعلم الخوارزميات أساسا فهي المفتاح الرئيسي نحو تعلم أي لغة برمجية، مهما تفاوتت درجة صعوبتها
من المهم أيضا وحسب تجربتي كطالب هندسة برمجيات فإن البدء بلغات برمجة قديمة لفهم الأساسيات من خلالها، ثم التعمق فيما بعد في إحدى اللغات الحديثة والسهلة، على حسب نوع المشروع الذي نعمل عليه وعلى حسب متطلباته، لذلك في الجامعة نبدأ بدراسة لغات ك السي وسي بلس بلس وسي شارب وغيرها من أجل الفهم العميق لكيف بدأت وكيف تتطور هذه اللغات، ثم تأتينا بقية اللغات سهلة وبسيطة من خلال تعلم ال Syntax الخاص بها والممارسة المستمرة عبر إنجاز المشاريع المختلفة.
أرى أن بايثون من خلال شرحك تفوقت على جافاسكريبت من حيث الأهمية ومجالات التطبيق.
لاحظ أنه لا يجب أن تكون اختياراً نهائياً. يمكنك بدءاً من إحدى اللغتين وفيما بعد توسيع مهاراتك إلى اللغة الأخرى إذا احتجت.
نعم، لكن بعد أن بدأت بلغة جافاسكريبت وجدت أنها صعبة نوعا ما لذا نشرت هذه المساهمة، ولفت نظري هذه الجزئية، هل يمكنني أن أكون محترفا بالبرمجة دون جافاسكريبت، أم أنها أساسية، فهي موجودة بتطوير الويب خاصة الواجهات الأمامية، وكذلك التطبيقات، فهل يمكنني الاستغناء عنها والاعتماد على لغات أخرى، أم هي شر لابد منه😊؟
هل يمكنني أن أكون محترفا بالبرمجة دون جافاسكريبت
كطالب هندسة برمجيات أستطيع القول نعم تستطيع أن تحترف البرمجة بدون جافاسكريبت، يوجد الكثير من الاختلافات بين المبرمجين و لكن ما يجب أن تركز عليه هو تحديد هدف واحد، دائما ماكنت أردد "عبارة إذا تعددت الأهداف ضاع الهدف" وهذا ما ينطبق على هذا المجال، مثل إذا كان هدفك تطوير برامج سطح المكتب او تطبيقات الهاتف فلا حاجة لك لتعلم الجافاسكريبت و انما استغلال وقتك في تطوير المجال الذي تريده.
"عبارة إذا تعددت الأهداف ضاع الهدف"
هذا المبدأ ليس محصورا فقط على مجال البرمجة، بل يمكن تعميمه على شتى المجالات التعلمية، كلما كثرت المجالات كلما تشتّت الإنسان وسيضعف مردوده سواء في التعلم أو العمل.
دوما ما كنت أطالع منشورات المبتدئين الراغبين في تعلم مجال البرمجة، وأغلب أسئلتهم تكون حول المقارنة بين اللغات البرمجية، أعتقد أنّ المقارنة خاطئة تماما، فكلّ لغة برمجية لديها عيوبها ومميزاتها، ونقاط القوة ونقاط الضعف الخاصة بها، وكل مجال من مجالات التقنية له لغات برمجية خاصة بها، مثلما ذكرت في تطبيقات الهاتف بحيث سيكون تعلم لغات لا دخل لها بهذا المجال مضيعة للوقت، ربما سيكون زادا إضافيا للمتعلم بحيث يطلع على تلك اللغة وتضاف إلى رصيده المعرفي البرمجي، إلا أن المتخصص في مجاله لن يستفيد منها في تخصصه.
بالتأكيد أخي محمد، حتى أن بعض الأشخاص يراه إنجازا بتعلمه للغات برمجة كثيرة و لكن فالحقيقة هو متعلم الأساسيات فقط من كل لغة و إذا تعمقت معه في أحد اللغات ستجده لا يتقنها أصلا.
لا أحبّذ في الحقيقة البداية في تعلّم البرمجة من جافا سكريبت، ولكن لماذا؟ للعديد من الأمور منها أنّها لغة بسرعة بطيئة، بايثون بطيئة ببطئ مماثل برأيي ل C مثلاً أو ++C وطبعاً هي ليست فعالة مثل بعض اللغات الأخرى، هذا يسبب مشكلة إذا كان المبتدئ حصراً يقوم بتطوير تطبيقات حساسة للأداء ومشاريع معقّدة، أمّا الأهم طبعاً وهو السبب الذي يجعلني أقول بأنّ الأفضل أن يبدأ أي مبتدئ من الجافا سكريبت لا من بايثون هو أن بايثون لا تستخدم على نطاق واسع في الصناعة مثل بعض اللغات الأخرى، لا يتم استخدام لغة بايثون مثل Java أو ++C وهذا يمكن أن يزيد من صعوبة العثور على الوظائف التي تستخدم بايثون، طبعاً هنا مرّةً أخرى أتحدّث عن المبُتدئ.
لإنّ أي محترف برمجة لا يمكن أن يعيقه نهائياً تحصيل أي وظيفة عندما يحيط فعلاً بهذا الأمر، حتى مكتبة بايثون الكبيرة جداً لا تعدّ بالنسبة لهُ مرهقة حتى ويمكنه أن يستوعبها مباشرةً، لذا إذا كان الاختيار والنصيحة التي أقدّمها منّي لشخص مبتدئ، أنصحه بأن يبدأ من جافا سكريبت وأن يدع بايثون لفترة لاحقة مقبلة، على الأقل بعد أن يعرف كيف يتعامل مع لغة برمجية متداولة جداً غير بايثون.
التعليقات