الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طلب منهجية لاتقان واحتراف الجافا بصفة شاملة

بدأه المشاكـس5550 في 1 أغسطس 2012 · 6 رد · 1,682 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

اهلا بكم

اود في البداية ان ابدي اعجابي بحديث الاخ "أحمد الشنقيطي" المتمركز حول الخطوات والمنهجية المتبعة من اجل تعلم اللغة البرمجية ++C .... بارك الله فيك

وابي منكم اخواني المشرفين او الخبراء او الذين لهم تجربة في هاد الشي ذكر الخطوات وال Tools الواجب استعمالها في مسيرتنا التعليمية الجافوية :lol: :lol: :lol: .... تماما مثل ما شرح الاخ أحمد ، يعني يجب التقسيم الى مستويات : مبتدىء-متوسط ، متقدم واحترافي وفي مجال للاضافات طبعا "فكلما كان هناك اضافات كلما كان الامر افضل وامتع وانفع"

رد الاخ "أحمد الشنقيطي": موجود هنا

اما الموضوع فهو :

[تنبيه - لم يستخدم البحث :] منهجية في احتراف و اتقان هذه اللغة رجاء انا محتار

***************************************************************************************

*اذا كان ممكن جعل منهجية مشروحة لل J2SE منفصلة عن منهجية ال J2EE ... بيكون احسن وارجو التوجيه لكلاهما رجاءا *

***************************************************************************************

بارك الله فيكم أجمعين وشكرا لكم على كل شي :happy: :)

556891961.gif

I am learning from you

it is the programmer eye

#2

اقتراح جيد ... اذا كان فيه مسابقات أو مشاريع برمجية كذلك تكون أفضل :wink:

Just Be Nice

#4

السلام عليكم

الجافا أيضا لا تختلف كثيرا عن السي++ و بالتالي يُمكننا القول بأن البرمجة بالــ JavaSE تنقسم إلى 3 مراحل, مبتدئ-متوسط , متقدم و احترافي.

  1. المستوى المبتدئ-متوسط (Console environment) :
    • الخطوة الأولى : تعلم أساسيات اللغة :

      (Control Structures, Loops, Primitive variables, Arrays, Vectors, Hashtable, String objects (StringBuffer and StringTokenizer)).


    • الخطوة الثانية : تعرف على الــ Object-oriented programming :

      (Notion of object and object reference, Inheritance, Polymorphism and Typecasting, Anonymous classes, Abstract class, Multiple Inheritance using Interfaces)


    • الخطوة الثالثة : بقيت متفرقات أخرى أساسية مثل

      (Packages and Access Specifiers, File I/O, Exception, Virtual functions, Threads, Distributed Objects (RMI / CORBA), Servlet).


[*]المستوى المتقدم (GUI environment) :

  • الخطوة الأولى : حدد المكتبة التي تريد العمل عليها, مثل
    (Swing, AWT, SWT).
  • الخطوة الثانية : تعلم أساسيات برمجة الواجهات مثل (إنشاء (النوافذ, الأزار, القوائم, ..), برمجة الأحداث, ربط النوافذ ببعضها البعض ...)
  • الخطوة الثالثة : قم ببرمجة مشروع معين يمَكنك من تطبيق ما تعلمته في الــ GUI.

[*]المستوى الإحترافي (برمجة الشبكات, برمجة الألعاب, ...) :

  • إذا كنت تريد برمجة الشبكات فعليك بدراسة Socket Programming.
  • و إن كنت تريد برمجة الألعاب الثلاثية الأبعاد فيمكنك استخدام المكتبة CEGUI و الإعتماد على Ogre 3D كمحرك ألعاب أو Crystal Space 3D إن أردت.
  • أيضا, ستحتاج إلى (The Gimp, Blender , Wings3D) من أجل تصميم المدينة و شخصيات اللعبة.

أرجو لك التوفيق.

5
#5

:lol: :lol: :lol:

يعني هيك عملت قاعدة معممة .... بارك الله فيك

بانتظار الاعضاء الخبراء والمشرفين :happy:

556891961.gif

I am learning from you

it is the programmer eye

#6

وجهه نظر أخرى:

الخطوة الأولى :

تعلم اللغه والمكتبات في اللغه وحتى مكتبات خارجيه اخرى Grammar And Libraries ، هذا ستجده في اغلب كتب الجافا مثل Java How to Program و Head First Java

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

لذلك قرائه كتاب شامل للأساسيات مثل Java How to Program مفيد جداً للمبتدئ,, اذا كانت لديك خلفية ممتازة بلغة اخرى فيمكنك اختيار Core Java 2 فهو مناسب جداً لمن لديهم خبرة في البرمجة.

الخطوة الثانية :

يهتم كثيراً بتفاصيل اللغه والPractical Usage ومواضيع الConcurrency وكيفية بناء Quality Code وتصميمها بشكل جيد، الكتب التالية هي مفتاحك:

Java Concurrency in Practice

Effective Java

Clean Code

Head First Design Pattern

Refactoring

وبالطبع سوف يستخدم الأدوات التي تسهل عمله ويتعلم الLife Cycle الخاصه بتطوير المنتج ومنهجيات الAgile.

Java Power Tools

Ship It!

Pragmatic Project Automations

Code Complete

JUnit In Action

مهم أيضاً ان تتعلم كيف تحدد زمن المشروع أو المهمة التي عليك انجازها ، كثير من اسباب فشل المشاريع هي في تحديد الوقت الخاطئ وبالتالي ترصد ميزانيه خاطئة ،، هنا قرائه :

Agile Estimation And Planning

The Agile Samurai

Clean Coder

الخطوة الثالثه:

يتعلم كيف يكتب المكتبات والAPI التي يستخدمها المبرمجين ، كتاب Practical API Design: Confessions of a Java Framework Architect ممتاز

اضافه لتعلم تفاصيل الByte Code مثلاً كتاب Covert Java متاسب,

تعلم تفاصيل الJVM وكيفية عمل Performance Tunning لها ، أغلب برامج جافا الكبيرة تحتاج لما يسمى Performance Engineer يقوم بتناول قضايا الJVM وال Memory وكيف يمكن اعداد وتهئية الGC المناسب لبرنامجك.

هنا كتاب Java Performance الأفضل على الاطلاق.

تعلم لغات اخرى تعمل على JVM او ما يعرف ب Polyglot مثلاً Groovy, Scala, Clojure والكتب منتشرة في ذلك.

بالطبع لا غني لأي مبرمج عن المشاركة في الOpen Source Projects فهي السبيل لكي ترى ثمرة ما تقرئه واكتساب خبرة حقيقية في البرمجة.

هذا طبعاً من ناحية الSoftware Engineering Skills الواجبة لأي Modern Java Developer (كثير من الكتب اعلاه تصلح لأي مبرمج بغض النظر عن اللغه) ، اذا أردت التعمق في الGUI أو Network Programming أو Image Processing أو Collection Intelligence فلكل منها كتبها الخاصه،

كمبرمج جيد عليك أن تضيف شيئاً في الProblem Solving Skills ولو في Algorithms And Data Structure هكذا سيزداد ثقلك، كتب Data Structure بالجافا كثيرة وجيدة في الغالب.

لاحظ أنني قسمتهم على اساس خطوات وليس (مبتدئ ، متوسط ، محترف) اذ ان المبتدئ يمكن (أو يجب) ان ينتقل ويأخذ من هنا وهناك، كل ما تزداد معرفتك وتضع في الToolbox الخاصه بك كمية أكبر، كلما تنتقل من مستوى مبتدئ الى متوسط وهكذا ،، فقط استمر بالقرائه والتكويد :),

بالتوفيق،

تم تعديل هذه المشاركة بواسطة Wajdy Essam في 2 أغسطس 2012 في 11:11

5

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#7

بااااااارك الله فيك اخوي وجدي :)

556891961.gif

I am learning from you

it is the programmer eye

مواضيع مشابهة