الموضوع دا أنا بطرحه للنقاش من قبل المهندسين الى بيدو كورسات على النت و الناس الى بتحاول تتعلم و بتتسيب المجال بسبب الجافا اسكربت و نلاقى الاسئله الى فى كل مكان بعنوان هل هناك بديل للجافاسكريب ؟ أو *أنا مش عارف اتعلم جافاسكريب ممكن كورس كويس ليها * .

أولا أنا هعتمد فى موضوعى على أن الكورسات الى متاحه كويسه بشكلا أو بأخر و دا يرجع لعدده أسباب هى تعدد الكورسات و تعدد اللغات الى بتتعمل بيها الكورسات و تعدد الطرق التعليمه .

فايا كان الطريقه الى انت بتحاول تتعلم بيها هتلاقيها .

السبب الأول :- عدم التأهب النفسي

أنت بتكون مش عارف انت داخل على ايه بظبط و دا بيرجع لنوع الناس الى داخله تتعلم و فى الأغلب بيكونو نوعين .

ناس من خلفيه غير علوم حاسب و حبه تتعلم المجال

معضم الناس لما تخش تتعلم جافا سكريب بتكون جايه من خلفيه ويب HTML و CSS و دول مش لغات برمجه حيث ان مفيش لوجك خالص فى الموضوع فى بيكونو فكرين ان الموضوع هيبقا شبه كدا مش شرط تاجات زى الhtml او خصائص زى css بس هيبقا الموضوع بسيط أوى .... و خصوصا ان حجات كثيير كانت بتعملها الجافاسكريب زمان فى UI و صعب انك تعملها بالcss بقت سهله مع وجود الخصائص الجديده فى الصدار CSS3 زى الانمشمن و الترنزشن .

فا المتعلم لما يلاقى الموضوع فيه لوجك و غير القديم يبقدا يسال هو انا هعرف اشتغل مع نفسي من غيرها ... *الشركات بتطلبها ليه منا ممكن اعمل كل حاجه بلcss او بالبوتستراب يعنى مش لزم افهم الحوار دا *

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

و فى الامثله السابقه انا شرحت حجات مستحيله من غير الجافا سكريبت من غير كلام من نوع انت عمرك ما هتبقي تنين أو محترف فبتالى انا خلقت الحجاه للتعلم و دا اسلوب معروف فى علم التسويق .

و بكدا يبقى متيقن ان اللغه دى هتخليه يعمل حجات مفيش لغه غيرها هتخليه يعملها .

ناس من خلفيه علوم حاسب

أنا هتكلم عن تجربتى الحققيقيه .. لما كنت فى الجامعه كانا بنتعلم C# و انا فاكر لما كانت بتيجى سيره الويب كان بيتم الاستهزاء بشكل صريح من الناس الى بتشتغل فى المجال دا و التقليل من لغه الجافاسكربت و دا زرع عندى جهل و استخفاف بالغه بشكل مبالغ فيه و دا كان صعب عليا التجربه جدا .

سبب الاستخفاف و الذى لايخفى على احد ان زمان قبل ظهور التقنيات القويه بتاعت الجافا سكريب و قبل ما يسطع نجمها زى دلوقتى كان الويب حاجه بسيط أوى فى التعلم يعنى الى كان يعرف جيكورى دا كان سينيور ويب ديفلوبر و كانت الجاكس تقنيه محدش عرفها لانها لسا جديده جدا جدا ... المقصد ان الطريق كان قصير بالنسبه للطرق التانيه و دا كانت معلومه واصله متاخر اوى للمجال الاكاديمى دا غير ان لغه الجافا سكريب مكنتش بنفس كوه السي شارب و لا بنفس قدرتها فى الوقت دا .

و الموقف بتاعى دا انا اعتقد انو اختفى و السبب العصر الى احنا فيه اتغير و الجافاسكريبت بقت من اهم اللغات فى الوقت دا لو مكنتش اهمهم .

السبب الثانى :- عدم فهم الفلسفه الخاصه بالغه

مش هقول أنى اكتر حد فاهم الفلسفه دى بس الاسلوب دا سعدنى كثير

لزم تعرف ان اللغه بتاعت الجافا سكريبت بتتكون من كذا حاجه

اولهم الأساسيات

و دى بتبقي برمجه زى اى برمجه يعنى المتغيرات و انواع البيانات , المعمالت الرياضيه , if , loop, و الحجات الى موجوده فى كل اللغات و الى لو انت عندك خبره فى اى لغه برمجه هتلاقى التشابه كبير و المرجع دا بيقول كدا لان الجافاسكريبت مبنيه على مفاهيم البرمجه الخاصه بالغه جافاسكريبت و سي و سي بلس بلس .

الجافا سكريبت دوم

هنا بقا يبدا المتعلم يحس بالتعقيد و انو مش فاهم و ان اللغه صعبه و الكلام اللطيف دا كولو و دا الى حصلي برضو لان التعامل مع الدوم دا شى مختلف عن الى نعرفه فى لغات البرمجه العاديه و خصوصا ان فى كورسات بتشرح الدوم دى بشئ كبير من التفصيل الى بيخلى المتعلم يبقا فاكر انو لزم يبقى عارف كل كبيرة و صغيره فى الكلام دا .

الى عايز اوصلو لاى مبتدا وصل للجزء دا و حس ان كلامى فعلا لمس مشكلته اتعلم ازاى تحط كلام فى الالمنت و اعرف البقين بشكل سريع و الحاجه ام الاختراع انت التجربه هتخليك تحتاج تعمل حجات انت مش عارفها اوى بس فاكر انها فى الدروس و ازاى تجبها و تقرها سعتها لما تحتجها ابقي طبقها و باحسن صوره كمان

الجافا سكريبت بوم

و دى الامكنياات الى بتخليك تتعامل مع البروزر و زى اى حاجه غير الاساسيات انت ممكن تعلم ابلكشن و اتنين مش محتاجين انك تستعملها ... و ممكن تعمل ابلكشن كولو قايم على الاستخدمات بتعتها فنتا ممكن تاخد فكره و تتعمق بتطبيق فعلى .

ES6

مفيش احلى من انك تشوف واحد و هو بيشرح يقولك ان الاصدار الجديد من اكمه اسكربت دا غير اللغه و مش عارف ايه .

دا خصائص بتضاف مش بتغير اللغخه فكك من الكلام الى بتسمه من غير ما تتعمق بالمحتوى

اجاكس و جيسون

دى واحده من الخصائص الى بتتهالك اللغه و بتخلى شغلك جوده اعلى و بتستهلك ريسورس اقل من السيرفر و الكلاينت .

أنت كدا بعد ما قسمتها هترجع و تشوف ايه الصعب فى اللغه و تعرف تعلجه و تنتقده بدل ما كنت بتنتقد اللغه كا كل و لما تحس انك مش فاهم تعيد الكورس من الول مع حد جديد بدل ما تصلح القديم .

الكورسات

الكورسات الطويله

لغه الجافا سكريبت زى لغات كثير لو حولت تشوفلها كورس هتلاقى كورسات طويله بشكل محبط و دا بيخلى المبرمج فاكر انو لزم يتعلم كل حاجه مهمن كانت صغيره عشان يطبق .. و انا بقولك انت لو اتفركت ع الكورس بتركيز و تمعن برضو هتنسي لان احنا بشر مش كمبيوتر مبنتعلمش غير من الممارسه و الدليل انك لو سالت اى حد عنده 20 سنه او اكبر عن المادة الى قفلها فى الصف الاول الثانوى مش هيفتكر و دا طبيعى

التطبيق

بعض التطبيقات بتبقى هدفا التطبيق على الجافا سكريبت بدون الاهتمام بما يفكر فيه المتعلم

بعض التطبيقات بيكون تطبيقا ممكن باستخدم ال CSS فانا ايه الى يخلينى اتعب نفس و ادوخ روحى و اشتغل جافاسكريب أو مثلا تطبيقا هيبقا اسهل فى الباك اند فى حين ان االافضل يبقى التطبيق على حاجه صعب تتعمل باى تقنيه تانيه فا دا يولد الحاجه للغه الجافاسكريب و الحاجه للتعلم .

الخلاصه

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