كيف أكون جافاوي؟

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

485480_853716504674651_7828093348867430734_n

دايما بتسأل السؤال دة، إزاي ابقى جافاوي؟ أبدأ أتعلم جافا إزاي؟ منين؟ آخد كورس ولا لأ؟ محتاج وقت أد إيه؟ أمشي إزاي؟ إيه المهم؟ الى آخر هذه الأسئلة اللي في أوقات كتير بتبقى محيرة… هي الناس اللي بتعرف جافا دي عرفتها منين؟

هحاول على اد ما اقدر أرد على الأسئلة دي من وجهة نظري الشخصية على صورة حوار…

إزاي ابقى جافاوي؟
الجافاوي هو إنسان عادي جداً زي أي إنسان تاني، مش محتاج يكون عبقري، ومش محتاج يكون متفوق في دراسته، ومش محتاج يكون له أي ميزة عن الآخرين… بس، الموضوع محتاج تعب واجتهاد زي أي مجال تاني بنفكر في احترافه…

اشمعنى الجافا؟
مطلوبة في سوق العمل… لغة قديمة ومواكبة للعصر حتى يومنا هذا… فكر راقي… عمل احترافي… مجتمع نشط وفعال… لها مستقبل كبير في الوسفت ويير والهارد ويير كمان…

لازم آخد كورس؟
لأ… أفضل طريقة لاحتراف الجافا هي إنك تتعب فيها وتاخدها self study… وإنت مش أقل من اللي هيديلك الكورس… وفر فلوسك واعتمد على نفسك…

طب أبدأ منين؟
الصن تيتوريلز أحسن مكان تبدأ منه، وكل منشورات صن هي الأفضل، بشهادة بيتر نورفدج، مدير البحث العلمي في شركة جوجل، واللي بيرفض بشدة الكتب من نوعيات How to Program، Teach yourself، الخ…

إيه أحسن IDE استخدمه عشان أتعلم؟الـ Netbeans… بيقدم جميع الأدوات والخدمات اللي محتاجها سواء كمبتدأ أو كمحترف، أو كدارس للغة…

طب عايز طريق واضح شوية أمشي فيه؟

أولاً: اتعلم أساسيات اللغة…
ثانياً: اتعلم الـ Object-Oriented Programming حتى الإتقان…
ثالثاً: ابدأ اتعلم ومارس عمل الـ GUI باستخدام الـ Swing…
رابعاً: اتسلى كل يوم في عمل برنامج مختلف باستخدام API جديدة بعد لما تتعلمها وتقرا عنها من الصن تيتوريلز واللي فيها كل الـ APIs تقريباً…
خامساً: قزقز الـ Netbeans Tutorials… جامدة جداً وبتعلمك نقاط جميلة في النت بينز وفي الجافا كمان…
سادساً: مارس ثم مارس ثم مارس، لأن مفيش يوم هييجي وتقول خلاص، أنا النهاردة تمام وبقيت جافاوي… إنما دة تراكم خبرات بيزد يوم بعد يوم… والجافاوي اللي على حق، ميقولك للخبرة لأ… ولا كفاية…

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

وبعدها أستخدام أندرويد أستوديو

طب لو عايز اتعلم باحتراف أكتر، أعمل إيه؟

أولاً: استخدم الـ Java Language Specification في القراءة أكثر عن تفاصيل الـ constructs المختلفة للغة، ولا تثق في أي مصدر تاني إلا دة، لأن الكتب مليانة أخطاء بما فيها الكتب الخاصة بكبرى شركات التدريب… واستخدام الـ Java Language Reference يتطلب منك إنك تتعلم الـ Backus-Naur Form (BNF)، ودي بتدرسها في مادة الكومبايلر في الكلية…

ثانياً: استخدم الـ Java SE APIs Specification، بتشرح الـ APIs أحسن من أي كتاب… وفيها أمثلة وتعريف بكل class…

ثالثاً: حاول تحفظ التعريفات وتفهم النظري الموجود في الجافا… والرسومات والأشكال كمان… وصدقني هتحتاج كل دة يوم ما تقدم في انترفيوو في شركة كبيرة، واسأل أي حد قدم…

رابعاً: ركز كويس وإنت بتتعلم كل class في الـ APIs بتورث من إيه وبتـ implement إيه لسببين، أول سبب عشان تفهم أكتر الـ API، وتاني سبب عشان مع الوقت دة هينمي فيك أكثر فكر الـ analysis والـ design…

خامساً: اتعود تعرف رسائل خطأ الكومبايلر وسببها، والـ exceptions وسببها… ودايماً اتمرن على استخدام الـ debugger لما يواجهك bug في أي مشروع… متنساش الحاجات دي في وسط المعمعة لأنها مهمة جداً… فيه ناس بتفضل تبرمج شهور لكن لسة مبتعرفش تقرأ رسائل الخطأ بتاعت الكومبايلر….

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

هو أنا لازم أقرأ كتب؟
تخيل نفسك بتبص لشخص ناجح أوي أوي في مجالنا، مدير شركة آي بي إم إيجيبت مثلاً… تفتكر عمره قرأ كتب؟

طب لازم أعرف النظري؟ مش الموضوع ممارسة بس؟
لأ طبعاً… النظري أهم قبل الممارسة… لأن النظري هو الفكر، حتى لما تشوف برنامج حلو تقول، والله الواد دة بيفكر… بدون نظري لا يستطيع المخ إنه يفكر أو يحلل أو يفاضل بين خيار والتاني… كمان يوم الانترفيو أو يوم ما تحب تكون في مكانة كبيرة، أهم شيء في الجافاوي إنه يقدر يعبر عن نفسه وعن أفكاره… المبرمج المحترف يقدر يختار الكلمات العلمية المظبوطة وصياغات الجمل السليمة… ودة بيتطلب فهم عميق للمصطلحات والجوانب النظرية من المجال…

محتاج وقت أد إيه عشان أبقى كويس وأقدر أشتغل؟
انت ومجهودك… بس على الأقل لازم تقضي من 6 شهور لسنة متواصلة بتبذل مجهود في البرمجة… ومتصدقش حد بيقولك أنا يا عم واحد قريبي أخد كورس في 3 أسابيع وراح اشتغل ديفيلوبر… دايماً فيه تفاصيل خفية في قصص النجاح الوهمية دي… لو كان الموضوع بالبساطة دي مكنش حد غلب…

طب أنا اتخرجت وأبيض وعايز اشتغل بأي شكل، أعمل إيه؟
مش عيب إنك تتأخر في الشغل لحد ما تتعلم، بس العيب إنك تقدم على شغل وتحرج نفسك هناك… مش عيب إن أهلك يصرفوا عليك سنة زيادة، واجبهم يقفوا جنبك لحد ما تقف على رجليك…

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

1- Programming Concepts.
2- Writing Code.
3- Compiling Code.
4- Debugging Code.
5- Runtime Imagination.

في الآخر المشوار طويل في الجافا وطريق الآلف ميل بيبدأ بخطوة

Learning online

يرجي تقييم الموضوع

Facebooktwittergoogle_plusredditpinterestlinkedinmailby feather
The following two tabs change content below.

عهود على

Latest posts by عهود على (see all)

Comments

comments

الوسوم

تعليق وحيد علي “كيف أكون جافاوي؟

  1. بجد كلام فوق الرائع
    تسلم الدماغ الي طلع منها الكلام دا بجد

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *