هو هل فيه لغة برمجة ممكن اطلق عليها انها افضل لغة برمجة؟ الجواب طبعا لا .
مفيش حاجة إسمها افضل لغة برمجة وده سؤال ملوش اجابة وانا كمان إستخدمت العنوان ده عشان بس اجيبك هنا واقولك الكلمتين دول. معظم الناس اللي بتبدا في تعلم البرمجة بيدورا دايما علي افضل واحسن واسرع واكفا لغة برمجة يتعلموها؛ وبتبدا الاسئلة اللي من النوع بتاع كم عدد اللغات اللي انا محتاج اتعلمها؟ ايه الفرق بين الاداة الفلانية وآداة تانية. إيه اللغة اللي راتبها أعلي. واسئلة تانية كتير ممكن بتفضل شاغلانا في البداية .. كتير من الناس بيدخلوا في دوامة المقارنات بين اللغات والـ Tools اللي ممكن يستخدموها. ووقت كتير ممكن يضيع وفي الاخر تلاقي نفسك مش عارف تحكم علي انهي لغة انها الافضل والاكفا والاسرع من بين اخواتها
في الاول. خلينا متفقين إن مفيش حاجة اسمها افضل لغة برمجة. وإن الـ search الدائم علي افضل لغة ده ما هو الا تضييع لوقتك ومجهودك علي الفاضي. ده لان لغات البرمجة كلها بتستخدم في مجالات مختلفة؛ ولكل واحدة نقاط الضعف والقوة الخاصة بيها. اللي تخليها مهما تكن هي مش افضل واحدة فيهم. كل لغة ليها مميزات وعيوب تمنعها من انها تكون افضلهم.
مثلا PHP و c++ يكاد يكون مفيش مقارنة اصلا بينهم. ده لان سي بلس اقوي من ناحية الاداء وانها بستخدم في صناعة الالعاب والتطبيقات المعقدة لكن PHP اقوي من ناحية انها من لغات المستوي المتقدم اللي بتسخدم في صناعة تطبيقات الويب فهي عبارة عن لغة من لغات الـ Scripting languages فـ كل لغة منهم هي الافضل من ناحية معينة لكن مش الافضل ابدا من نواحي تاني كتير. لغات معينة بيكون ليها الاولاوية في عمل projects معينة. وساعت ما تعرف انت عاوز تعمل ايه؛ او عاوز تنتج اي product تحديدا. ساعتها هتعرف اكتر اي اللغة اللي ممكن تستخدمها واللي وقتها هنسميها أنسب لغة تادي الوظيفة دي مش هنسميها الافضل اطلاقا.
لو جلتلك فكرة ويب ابلكيشن وبدات تدور علي اي اللغات اللي ممكن تعمل بيها الابلكيشن ده هتلاقي نفسك دخلت من نتجية لنتيجة وسط حفرة كبيرة من نتايج البحث علي جوجل مرة تلاقي PHP هي الاقوي ومرة حد يقلك Ruby. ومطور جادمد جدا عنده شويه فولورز علي تويتر يقلك لا طبعا بايثون افضل واسرع وغيره يقلك جافاسكربت والتاني يقلك لا لا جافا ليها مجال شغل ووظايف كتير وواحد يرميك من هنا ومقالة توديك هنا بدون رحمة علي الاطلاق وهكذا لحد ما وتتوه وتغرق وسط كل التفاصيل والآراء دي طيب تعمل ايه عشان تحلق نفسك قبل ما تدخل في الدوامة دي؟ إنك لازم تحدد هدفك؛ والهدف هنا هيبقي حاجتين ..
انا مثلا هدفي الشركة X ؛ يبقي ادور ورا الشركة دي اشوف ايه التكنولوجيز اللي بيستخدموها ؛ اشوف الـ tools واللغات اللي بيطلوبها في ديسكربشن الجوبز بتاعتهم. اشوف اعمال ليهم وادي تركيزي كله علي الهدف ده وساعتها ابقي حددت اكتر ورميت كل تركيزي علي حاجة معينة.بعدها علطول بظبط نفسي وبظيط السي في بتاعي زي ما بيقول الكتاب وكان السي في ده متعملش غير عشان يبقي في الشركة دي واكنها طبخة كده جمعت فيها كل المكونات دي واروح بيها للشركة اللي هي الفرن واقولهم عاوز اسوي الطبخة دي عندكم اللي هو يعني انا مش طالع من هنا الا لما نـ discuss the salary مع بعض
أما بقا لو هدفي ابليكشن معين سوا بقا الابلكيشن ده ويب او اندرويد او حتي دسيكتوب؛ ببدا اشوف ايه التقنية اللي هستاعدني بناءا علي طبيعة الابلكيشن ده؛كمان احلل تفاصيل الابلكيشن ده واحدة واحدة اشوف ايه الخدمات اللي هيقدمها للمستخدم؟ ومنها هشوف ايه التفنيات اللي هتادي معايا بنسبة نجاح كبيرة في توصيل الخدمة دي وجعلها مناسبة وسهلة الاستخدام. هتلاقي نفسك بتبحث والبحث بياخدك واحدة واحدة لحد ما بتوصل للتقنية اللي فعلا بيرشحها ناس كتير لنوعية الابلكيشن اللي انت بتفكر تعمله ده. هتحس بارتيحاية كبيرة بعد ما خلاص تقرر ان الاداة X هي انسب اداة او لغة هتنفع معايا في الابلكيشن اللي بحلم بيه.
لو جينا علي سبيل المثال نتخيل قصة كده مع بعض ممكن تفيدنا انه مثلا شخص عادي بدا حياته وطريقه في تتعلم البرمجة بلغة C او C++ وبعدها يبدا يتعلم جافا وشوية فيديوهات علي اليوتيوتوب ودورات يحضرها يبدا واحدة واحدة يبني تطبيق اندوريد مثلا بسيط لاول مرة وشوية شوية يلاقي ميوله اتغيرت ويقرر انه لا مش هكمل اندرويد ويبدا يتنقل من مرحلة للتانية فيحاول في بناء تطبيقات ايوس ويبدا يفهم انه عشان يبني تطبيق ايوس فهو محتاج لجهاز ماك؛ بس هو مش معاه المبلغ الكافي. فيضطر يدور علي كيفية او طريقة لتثبيت نظام ماك علي نظام ويندوز كحاجة Virtual. بعدها يدور اتعلم ايه عشان الايوس فهيلاقي في وشه علطول لغة سويفت. بمرور الوقت يلاق يان سويفت مش هي اللغة الي ترضي شغفه يتخنق منها وميحسش بارتاحية معاها ؛ فتروح تطلعه فكرة ليه ما اعمل تطبيقات اندرويد وايوس في نفس اللحظة؛ فيبدا يدور علي حاجة تجمع بينهم؛ فهيلاقي من ضمن انسب الحلول React طب عشان يتعلم ريكات لازم يتعلم جافاسكربت هنااا تحديدا يبدا يلاقي اللغة المناسبة ليه بالحرف واللي هيحس بارتاحية وهو بيتعملها لانها بمثابة اخر الطريق اللي فضل يقابل فيه عوائق ومطبات لحد ما وصلها؛ ويبدا يتعلم اللغة دي ويتقنها كويس جدا ويتشعب في كل فيرمورك يخصها ويدخله بقلب جامد ولا يهمه ولا يهاب اي تقينة جديدة مبينة علي اللغة مدام هو معاه اللغة نفسها وبيحس بارتياحية وهو بيكتب الكود الخاص بيها لانه خلاص هو فاهم اساسيات اللغة دي وشاربها فيلاقي نفسه مرتاح جدا وهو بيكتب كود خاص بيها.
ايوة اعمل ايه انا دلوقتي؟خد من القصة دي إلهام يخليك تبدا دلوقتي تتعلم من غير خوف وبشغف من غير ما تشغل بالك باسئلة كتيرة هتضيع وقتك واعرف ان اي حاجة هتتعلمها في بداية طريقك هتفيدك وتنفعك حتي لو مرت الايام وقررت تغير المجال اللي بتتعلمه ده )
رفت عن مجال زي الذكاء الإصطناعي وحبيته؛ خلاص ابدا اعمل بوتس تفيد المستخدمين وتساعدهم تلقائي. سمعت عن مجال زي الداتا ساينس وحسيت بان اه ده المجال اللي هحبه؛ إبدا فيه وحلل البيانات وإستنتج تقارير وتنبؤات مستقبلية. كل حاجة إنت ممكن تحبها وتنتج فيها هتفرق وليها اهمية وسط الناس.
خلي كل تفكيرك في انت مش مبرمج؛ إنت Problem Solver إنت مخترع لحلول بتساعد البشرية وتحل مشاكلها. العبرة من كل ده ؛ انه اللغة اللي انت بتدور عليها يتسحيل تلاقيها بتقلك اديني اهو من اول محاولة وفي اول طريقك؛ زي صاحبنا اللي كانت بدايته مع C++ وانتهي بيه الحال الي js و react .كل الاحساس بالحيرة بين اللغات ده صحي وعاااادي جدا؛ لازم هتمر بالمراحل دي؛ لازم هتجرب الاداة دي ولازم تسيب الاداة الفلانية دي وتتعلم لغة وفي نصها تمل منها وتقف. زي القصة اللي تخيلناها دي الشخص ده لو مبداش بالسي والسي بلس مكانش مرت عليه كل التفاصيل دي لحد ما حدد مجال معين هو حس انه هيعرف ينتج فيه كويس ساعتها عرف بالتحديد ايه اللي يركز عشان يحط حد منيع بينه وبين التشتت والتخبط وتضييع الوقت علي الفاضي بين المقارانات وغيرها.
آخر حاجة حابب اني اتكلم عنها اتعلم اللغة اللي تنساب شغلك الفترة دي جافاسكربت كانت في مقدمة اللغات واعلي مربتة بس ده ميديناش التخيل انها ممكن تفضل كده؛ ياما احصاياات اتعملت اكثر اللغات استخداما وياما لغات كتير كانت في المقدمة ودلوقتي معادش ليها مكان فمتشغلش بالك باي افضل لغة واي اللغة اللي محتلة المركز الاول مثلا حاليا ؛ إشغل بالك باي التقنية االلي هتتنساب مع الالبلكشن اللي انت بتفكر تعمله. او مع الشركة اللي انت بتحلم تشتغل فيها. البرمجة ما هي إلا مجرد آداة إنت مش بتتعلم برمجة عشان تبقي مبرمج إنت بتحاول تتقن الاداة دي اللي تخيلك تحل مشكلة اللي تخيليك تطلع منتج جديد يفيد الناس ويسهل عليهم حياتهم.
0 التعليقات