السلام عليكم ورحمة الله
من وجهة نظرك ماهي افضل لغة لطوير صفحات الويب .؟
و عليكم السلام و رحمة الله و بركاته
هذه النوعية من الأسئلة تنتهي عادة بعدم اقتناع السائل بالأجوبة. و السبب تعارض الأجوبة.
جوابي الصغير، أفضل لغة لتطوير الويب تختلف من شخص لآخر. و إلا ما رأيت العدد الكبير من لغات البرمجة.
باذكرلك قصتي، و كيف انتهيت للغة اللي أنا عليها.
بدأت في الجامعة بلغة ++C. اعجبت باللغة و بمدى قدرتي على حل المشاكل فيها. وقتها كان أحد أصدقائي يخبرني بمدى قوة لغة java و فضلها على وجود الكثير التقنيات وقتها. لم أقتنع. حاولت ابرمج بلغة Java لكن مبدأ classes في كل شئ كان عائق لي. (حاليا مقتنع أن كل شئ object :) )
في آخر ترم في الجامعة، برمجت بلغة #C و Matlab. فضلت Matlab على #C و ++C لأن نوع المشاكل اختلف. اصبح بحثي أكثر من كونه برمجة. البحثي عادة يفضل فيه استخدام لغة جاهزة بكل ما تتمناه لتوفير الوقت.
بعد الجامعة قررت التوجه للويب. أكثر لغة كان لها شرح و دروس عربية كانت PHP.
اشتريت كتاب و تصفحته و طبقت عدد من الدروس إلى أن برمجت موقع رفع ملفات، جداً بسيط. و هذه نهايتي مع برمجة الويب حينذاك، و السبب توجهي للـ shell scripting و لغة python بسبب دواعي العمل على نظام Linux.
قبل سنة تقريبا قررت الرجوع لعالم الويب، و طبعا اللغة التي قررت تعلمها، من جديد، كانت php. لكن بسبب التطور في لغات البرمجة، أصبحت أكثر اللغات لها تطبيقات و استعمالات في الويب. قررت أعرف أفضل لغة لتطوير الويب، و هذا سؤالك :)
لغة PHP كانت الأسهل في النشر، كل مواقع الاستضافات تدعم بشكل افتراضي لغة PHP. و بسبب قدم اللغة، مجتمع اللغة جداً كبير و اللغة لها حضور عربي ممتاز، و يعتبر الأكبر، و ضخصيا أراه أكبر من كافة مجتمعات اللغات الأخرى العربية مجتمعة. قررت تعلمها، بسبب وجود أطر العمل بدأت بـ codeigniter. قرأت documentation اطار العمل و ارتحت للإطار. لكن من خلال البحث عن دروس للإطار، اكتشفت اطار Symfony2 و laravel. الأول يعتبر الأكبر في لغة PHP و الثاني شخصيا رأيته أفضل من codeigniter. توجهت للثاني بسبب صعوبة الأول.
لكن من خلال تعلمي لإطار laravel، اكتشفت مبدأ bundles، المطبق في Ruby On Rails. نظرت لكيفية عمل Ruby On Rails و اعجبت بكمية المواقع التي تستخدم Ruby On Rails. و documentation الإطار كان جدا مريح.
بعد مقارنات بين لغة Ruby و لغة PHP، اكتشفت أن اللغتين قادرتين على فعل الشئ نفسه لكن لكل لغة قواعد معينة. الاختلاف الوحيد كان في كيفية تنصيب خادم للغة لجعلها قادرة على التعامل مع الويب
بعد اقتناعي بأن اللغتين قادرتين على الشئ نفسه، قررت التوجه للبحث عن أفضل اطار عمل بين اللغتين. و Rails كان الأفضل، بالنسبة لي، لأن Rails يقوم بأغلب تعاملات الطلبات للويب بطريقة خفية مما جعلني أشك أن الإطار مناسب لمن أراد تعلم تطوير الويب بشكل تدريجي، بمعنى أفهم الأساسيات و بعدها أغوص في الإطار لمعرفة الخفايا و كيفية التعامل بشكل أفضل مع طلبات الويب.
لكن كما قلت، لغات كثيرة تطورت و أصبح لها وجود في تطوير الويب. python كانت إحداها و بإطار django، المنافس تقريبا لـ rails. قررت بعد فترة التالي: تعلم أساسيات تطوير الويب باستعمال rails حتى أفهم الأساسيات و من ثم التوجه لـ python بحكم عملي عليه. لكن للأسف rails شدني لدرجة عدم قدرتي على الهروب. Rails سهّل حياتي في تطوير الويب بشكل لا يصدق.
لكن هذا لا يعني Rails الأفضل! في المواقع القائمة على معالجة الأرقام، ستجد أغلبها يستخدم python بسبب وجود مكتبات حصرية مثل numpy
و البعض يستخدم node.js بسبب سهولة تطبيق websocket
للأسف، قد تجد البعض حجته "الموقع الفلاني يستخدم اللغة الفلانية" أو "الموقع الفلاني ترك اللغة الفلانية". أغلب هذه الردود صحيحة لكن بسبب قد يجهله البعض.
مثلا موقع reddit يستخدم لغة python فقط لسهولة قراءة الكود.
موقع Quora يستخدم python لأن المؤسسين لهم خبرة في اللغة أكثر من أي لغة أخرى
facebook يستخدم php لكن يستخدم hiphopphp لتحويل الكود لـ ++C. إذا الموقع يستخدم ++C و ليس php
كتبت رد قبل فترة لسؤال شبيه: http://www.swalif.net/softs...
في النهاية، لا، و لن، توجد لغة اسمها أفضل لغة لتطوير الويب بشكل عام. عليك بالبحث حتى تصل للغتك المفضلة و الأفضل. اقرأ و قارن و ستجدها :)
بالنظر لشخص في بداياته و عدم معرفته بأساسيات تطبيق الموقع على أرض الواقع و __احتمال__ ضعف اللغة الإنكليزية، أقترح PHP.
لغة PHP لها الكثير من الدروس العربية، إما فيدوية أو نصية في منتديات و مدوّنات. بالإضافة، اللغة مجهّزة فقط للتعامل مع الويب، في نسختها و مكتباتها الإفتراضية. أما اللغات الأخرى لها مهام أخرى غير الويب بشكلها الإفتراضي و ستواجه مشكلة وقت التعلم بسبب عدم معرفتك إذا الأمر مجهّز للتعامل مع الويب أو الأنظمة.
هذا السؤال أشبه بالسؤال التالي: ما هي أفضل فاكهة يمكن أن يتناولها الإنسان؟!
أعني: المسألة مرتبطة بخصائص الفاكهة من جهة (القدرات/العرض)، ومدى حاجة الإنسان لهذه الخاصية أو تلك (المتطلبات/الطلب)، هل تقصد الأفضل من حيث الطعم؟ أم من حيث الفائدة الصحية؟...
لنعد لموضوعنا، لغات البرمجة، يمكن على سبيل أن نجيب كما يلي:
الأفضل من حيث الشعبية وتوفر المراجع: PHP
الأفضل من حيث الأداء: Python (على سبيل المثال- قد لا يكون ذلك صحيحاً)
الأفضل من حيث قابلية التعديل والصيانة: Java...
وهلم جرا.
هذا من حيث خصائص اللغات (العرض)، الآن ما هي حاجتك بالضبط (الطلب)؟
إن كنت مهتماً بمدى توفر المراجع فعليك بـ PHP.
إن كنت مهتماً بسرعة أداء اللغة، فعليك بـ Python (بحسب افتراضاتنا).
إن كنت مهتماً بالصيانة والتعديل بصورة دائمة فعليك بـ Java.
المسألة ببساطة مسألة عرض وطلب.
أنت ستشعل حرب هنا، وستجد في الغالب 3 جبهات الأولى php بالإضافة إلى روبي وبايثون وصدقني هذا حوار لن ينتهي لأن كل لغة مميزات وعيوب.
أنا أستخدم php لأنني أعرفها ومرتاح معها ولكنني بدأت في تعلم روبي قليلاً ولا أستطيع أن أحدد أيهما أفضل، ولا أحد في العالم كله يمتلك الإجابة الوافية.
التعليقات