b523db2bbea7098aeccea0f78f41f223
     
     
     
    
    
    
    
    
    
    
 
تقنية و أشياء أخرى
تقنية و أشياء أخرى
مختلف المقالات و النقاشات و الروابط المتعلقة بالتقنية او المواضيع العامة
لماذا تعتبر لغة جافا من أصعب اللغات من ناحية للتعلم
                         عربي     English

لماذا تعتبر لغة جافا من أصعب اللغات من ناحية للتعلم

   محمد جمال الذياب        29-09-2019  
   ali mohamad   
لماذا تعتبر لغة جافا من أصعب اللغات من ناحية التعلم
و هي في حال كان لي معرفة سابقة بلغة الc# و البرمجة كائنية التوجه سيسهل علي الأمر
التعليقات
   عبد الرحمن أحمد   
الصعوبة ليس في اللغة وإنما بمنطق البرمجة نفسه
فمن تعلم وفهم منطق البرمجة وأصبح لديه ملكة التفكير البرمجي تسهل عليه كل اللغات
أما إن لم يتمكن من هذا النمط من التفكير فسيجد صعوبة حتى في أبسط اللغات
خذ مثال :
من لا يعرف الشعر فسيصعب عليه نسج أبيات أو قصيدة حتى بلغته الأم أي العربية
أما من أصبحت لديه موهبة الشعر أو النثر أو القصة أو الرواية
فيستطيع نسج ما يريد سواء بلغته الأم أو بأي لغة جديدة يتعلمها ويتعلم قواعدها
وحالتك كمن لا يعرف بالشعر ثم جاء لينسج قصيدة باللغة الأجنبية فلم يتمكن فقال أن اللغة الأجنبية صعبة جدا
وهذا غير صحيح
في سؤالك الأخير نعم من كان لديه خبرة بلغة ما فمن السهل عليه الانتقال وتعلم أي لغة أخرى وخصوصا إن كانت بنفس النمط
بمعنى لغة مثل سي شارب هي من النمط OOP فمعرفتك بها تسهل عليك تعلم لغة مثل Java
بينما قد تجد صعوبة في تعلم لغة مثل #F لإنها لغة إجرائية و أشبه بنمط البايثون
   م. وائل حسن- أبوإياس   
في رأيي فإن الـjava صعبة بالنسبة للمبتدئين و ليس للمحترفين، بل إنها بالنسبة للمحترفين تعتبر من اللغات ذات الحجم الجيد و القواعد الوسط (ليست بسهولة الـpython و لكنها ليست بتعقيد الـ++C). و مصدر صعوبة الـjava في حالة المبتدئين بشكل أساسي هو أنها تحاول أن تكون \"كائنية التوجه بالكامل pure object oriented\"، و هذا يعني أن المبتدئ الذي يقف علي عتبة المعرفة البرمجية (أي لا يعلم ما معني كلمة \"كود\" من الأصل) سيكون عليه لكتابة سطر واحد علي الشاشة أن يكتب كوداً لتعريف صنف class به دالة method لها الاسم \"main\"، و تأخذ مُعاملاً parameter من نوع مصفوفة نصية array of string:
 
public class main_entry { public static void main(String[] args){ } }
بينما هو لا يعرف أصلاً ما معني كلمة \"أمر برمجي\" !. لذلك تجد المعتاد في مثل هذه المواقف أن المعلم يقول للمبتدئ كلام من عينة: \"لا تهتم بهذه الأمور الآن و اكتبها كما هي، سنعود لها فيما بعد\"!، و هذا لا يزيد الأمور بالنسبة للمبتدئ إلا تخويفاً.
لكن كما قلتُ من قبل، فإنه عند مقارنة الـjava بلغة مثل الـ++C بكل ما فيها من قواعد لا توجد في الأولي (مثل المؤشرات pointers) فإنك ستجد الـjava أبسط بكثير تعليمياً (علي الأقل من وجهة نظري)، كما أنك لو قارنت الـjava من حيث الحجم بلغات مثل visual basic .net لوجدتَ الأولي أصغر بشكل ملاحظ؛ لأن الأخيرة تحمل عبء المكونات القديمة التي تنتمي لعالم VB6 و تم إضافتها إليها لكي تكون (في أعين مبرمجي تلك اللغة الأقدم) خلفاً لها، فينتقلون إليها بصفتها المستقبل و تكسبهم Microsoft كمستخدمين للغتها الجديدة، و لكن ذلك أدي إلي تخمة مبالغ؛ فيها لاحتواء اللغة علي الكثير من المكونات المتشابهة من حيث الشكل و الوظيفة، و لو لم تكن اللغة مرغمة علي هذه الحالة من التوافقية العكسية الجزئية لصارت أخف مما هي عليه بكثير.
الشاهد هنا أن الـjava لغة أبسط من كثير من اللغات الأخري، و أخف وزناً من لغات أخريات، لكنها من الناحية التعليمية ليست بسهولة كثير من اللغات التي أراها تصلح لهذه الجزئية بشكل أفضل (python, ruby و ما شابههن من لغات). إلا أن العامل الوحيد الذي يُغري باستخدام الـjava في العملية التعليمية هي أنها احترافية من الطراز الأول، و أنها تحتل المركز الأول أو الثاني في قائمة المهارات التقنية المطلوبة للعمل، و كذلك فهي تحتل المركز الأول أو الثاني من حيث لغات البرمجة الأكثر استخداماً:
https://www.udemy.com/blog/best-programming-language/
و لو كنتَ أستاذاً جامعياً قادراً علي اختيار لغة برمجة لاستخدامها في تعليم الطلاب، فبما أن الـjava لغة تضمن لطلابك فرصة أكبر في الحياة العملية فستكون لها الأولوية عندك، علي الرغم من تفوق غيرها عليها في الناحية التعليمية.
   bitsnaps   
جافا مبنية على \"اتفاقيات\" Convension إذا فهتمها ستسهل عليك البرمجة بجافا، فمثلا في مثالك السابق اسم الفئة:
main_entry صحيح ولن يحدث أي خطأ، لكنه مخالف للعرف السائد في لغة جافا، إذ أن الفئات (Classes) تكتب بالأحرف الكبيرة في أول كل كلمة مثل: MainEntry... وهكذا...
فيما يخص السؤال، صعب أو سهل الأمر نسبي، جافا بدأت بفلسفة خاصة معتمدة على الآلة للافتراضية لذلك كانت تبدو مختلفة -أو صعبة في نظر البعض-، أيضا قد يسميها البعض صعبة لأنها لغة \"ثرثارة\" verbose أي تكتب كثيرا لتنجز قليلا، لذلك ظهرت فوقها لغات تسهل استخدامها وتقلص من عدد الأسطر المطلوبة للبرمجة، مثل ذلك: Groovy وScala...
   mr.731my - حلمي الذبحاني   
الجافا كغيرها من اللغات , لكن من سيواجه المشاكل اكثر اذا كانت اول لغة يتعلمها وستكون صعبه في نظره
   dexter2016 - The straightforwarded one   
من قال انها صعبة ؟
جرب ال haskell او لغة الاسمبلي و بعدين تعال قل هذه صعبة
   ahmed issa - Ahmed Issa   
Haskell صعبة !! في جامعتي ندرسها باول فصل. :)
   dexter2016 - The straightforwarded one   
حقا ، اين و ماذا تدرس ؟
   ahmed issa - Ahmed Issa   
ادرس بجامعة برلين الحرة ... علوم حاسوب
   dexter2016 - The straightforwarded one   
غريب , اكثر من يدرس علوم الحاسوب يدرس الجافا او السي ++
هل الدرس يحتاج الى الهاسكال ؟ ام خيار الجامعة ؟
   ahmed issa - Ahmed Issa   
الدرس يحتاج الى هاسكل ..
الفصل الاول ندرس Functional programming مع Haskell اسم المادة ALP1
اجد ذلك اختيار مناسب جدا .. لانك تحتاج فهم المنطق ورائها \"Lambda calculus\"
الفصل الثاني Imperative programming & OOP مع Python و java اسم المادة ALP2
الفصل الثالث خورزميات بشكل معمق مع java اسم المادة ALP3
الفصل الرابع concurrent programming لغة go اسم المادة ALP4
الفصل الخامس networks programming لغة Go, Java, Erlang ,Haskell اسم المادة ALP5
Erlang على الخفيف.
اختصار ALP هو خورميات وبرمجة يعني انك تدرس بجانب كل منطق خورزميات الا عند الفصل الثالث التركيز كلها على الخورميات وايجاد خوزميات وفحص سرعتها واثبات صحتها.
لغات اخرى ايضا نتعلمها مع مواد اخرى مثل سي و اسمبلي نتعلهم مع مواد انظمة الحاسوب.
الجيد بالامر ,, انك بنهاية تعلمت كل شئ اساسي ولك الحرية الاختيار بالمستقبل اي لغة تجعلها لغتك الاساسية.
لذلك من نظرتي اصعب شئ اسمبلي.. اجد Go Lang صعبة نسبيا وسبب كان عدم نضوج اللغة عندما كنت اواجه مشكلة عدد المراجع قليل نسبيا.
حاليا ادرس Ruby لمادة اجدها جدا ممتعة اكثر من python :)
   dexter2016 - The straightforwarded one   
جائني اكتئاب من ردك , يبدو انني متأخر جدا في المعلومات بالنسبة لطلبة من الكليات الجيدة
اللعنة على الجامعات العربية , اربع السنوات السابقة التي قضيتها في الكلية لا تساوي شيء
   aswedan - أبوبكر سويدان   
أعزيك، ونفسي.
   mohamed.elazzouzi - محمد ابن العزوزي   
لغة الجافا ليست صعبة في حد ذاتها ولكن استعمال فراموورك framework المحيطة به يتطلب الوقت للتعلم
   Sarah80   
السلام عليكم بالنسبه للدارسين بالمانيا هل من الممكن كتابه منشور عن المواد التي يتم اخذها في كل فصل في تخصص علوم الحاسوب الرجاء المساعده يا اخوان.
   w00967 - أبو حسام   
نعم صعبة بالنسبة للجافا سكربت وبايثون وسي شارب ولوا وأخواتهن
وسهلة بالنسبة لسي بلاس بلاس وباسكال ودلفي وأخواتهن
  الموضوع و التعليقات و باقي البيانات في هذه الصفحة منقولة و معدلة من المصدر على الرابط التالي : https://io.hsoub.com/programming/7097
  هذا الموضوع مرخص تحت : رخصة المشاع الإبداعي BY-SA
المشاركة :
تويتر
فيسبوك
الإيميل
لينكد إن
واتساب
الرابط

التضحية باسبوع دراسي وليلة كاملة من اجل فقط تثبيت برنامج مطور للغة ++C ! التضحية باسبوع دراسي وليلة كاملة من اجل فقط تثبيت برنامج مطور للغة ++C !
سكربت (موقع) لادارة الملفات - ارائكم ونصائح واقترحاتكم رجاء (نحن اخوا) سكربت (موقع) لادارة الملفات - ارائكم ونصائح واقترحاتكم رجاء (نحن اخوا)
مشكلة .. عقلانية .. اوي اياً كان اسمها مشكلة .. عقلانية .. اوي اياً كان اسمها
المدة اللازمة لتعلم البرمجة بالـ php و 3ds max في نفس الوقت المدة اللازمة لتعلم البرمجة بالـ php و 3ds max في نفس الوقت
NO SQL , ماهو ؟ لماذا ؟ هل هو البديل القادم ؟ | مسودة مهندس NO SQL , ماهو ؟ لماذا ؟ هل هو البديل القادم ؟ | مسودة مهندس
لمن يهوى قذف الأشياء وتحطيمها حال الغضب ، هذه أفضل مهنة لمن يهوى قذف الأشياء وتحطيمها حال الغضب ، هذه أفضل مهنة
مازال \" الأكيناتور \" قادراً على تسليتي حتى الآن مازال \" الأكيناتور \" قادراً على تسليتي حتى الآن

gg gg
مراجعات - تقييمات - فديوها - مقالات و مختلف المواضيع التي تهم اللاعبين العرب
http://gg.leomara.com/
الروابط المختصرة    سياسة الخصوصية    شروط الإستخدام    من أنا    من نحن    الأسئلة الشائعة    موضوع عشوائي    اتصل بنا   
                           
Developed by : MJ7.org