كيف تصبح مبرمج جافا

مرحبًا إذا كنت تقرأ هذه المقالة ، فمن المرجح أن يكون لديك سؤال حول كيف تصبح مبرمجًا. ربما قررت حتى تعلم لغة برمجة Java ، لكنك لا تعرف من أين تبدأ التعلم. أجرؤ أيضًا على الاعتراف بأن الكثيرين سألوا أنفسهم السؤال: هل من الممكن تعلم جافا في عام واحد؟ ماذا لو لم أدرس في الجامعة كمبرمج؟ ليس لدي حتى تخصص فني. هل سأكون قادرا على ذلك؟ كم من الوقت سأقضيه في هذا الدرس؟ ماذا عليك أن تتعلم؟ من أين تبدأ التدريب؟ إذا كان لديك سؤال واحد على الأقل من هذه الأسئلة ، فأنت الآن في المكان الصحيح.


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


الدافع


قبل أن تبدأ في أي مهمة صعبة تتطلب الكثير من الوقت والطاقة ، يجب أن تفهم سبب ذلك. يجب على كل واحد منا الإجابة على ثلاثة أسئلة مهمة لأنفسنا:


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


ماذا؟ - هذا سؤال منطقي إلى حد ما. ما الذي يجب فعله للنجاح في هذا الأمر. هنا ، قد يطرح نفس السؤال ، أي لغة تختار وما هي المواد اللازمة لدراسته.


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


أي لغة تختار؟


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


أعتقد أن الوقت قد حان لدعم الكلمات بالأرقام. وفقا لاستطلاعات الرأي المختلفة بين القادة الخمسة هم Java و JavaScript و C ++ و C و Python.


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


على سبيل المثال ، وفقًا لإصدار tiobe.com ، الذي ينشر بانتظام ترتيب لغات البرمجة ، ظلت Java رائدة منذ سنوات عديدة . الخمسة الأوائل لديهم أيضا C ++ و Python.


تصنيف لغات البرمجة

مصدر آخر موثوق للإحصاءات ، موقع Stackoverflow ، الذي أجرى استطلاعات بين مستخدميه ، يقول أن JavaScript يأتي أولاً ، بينما Java في السطر الخامس من التصنيف. ولكن هنا تم أيضًا مراعاة لغات ترميز HTML و CSS.


تصنيف لغة برمجة Stackoverflow

يجدر النظر في حقيقة أن العديد من مبرمجي جافا يمكنهم إلى حد ما معرفة جافا سكريبت. من بين مطوري JavaScript ، هناك عدد أقل من الأشخاص الذين يعرفون Java أيضًا. يضيف هذا بضع نقاط إلى JavaScript في استطلاع سابق.


الآن دعونا نلقي نظرة على عدد الوظائف الشاغرة وردود المرشحين بلغات مختلفة. لكي لا أشرح لفترة طويلة ، سأقدم فقط بعض الروابط. على سبيل المثال ، ينشر موقع DOU.ua بانتظام إحصاءات مختلفة عن الوظائف الشاغرة والرواتب ، إلخ. على سبيل المثال ، يمكنك ملاحظة الاتجاهات المثيرة للاهتمام في الزيادة في عدد الوظائف الشاغرة في أفضل اللغات ، وهناك يمكنك استخدام العديد من المرشحات التي تظهر نسبة عدد الوظائف الشاغرة في مدن مختلفة وبلغات مختلفة. البيانات متاحة في شكل جدولي ورسوم بيانية. من بين المفضلة هنا ، كالعادة ، Java و Python و C ++ و .NET. علاوة على ذلك ، فإن نسبة عدد الوظائف الشاغرة / الردود لعام 2018 هي الأفضل لـ C ++ ، 2-3 أشخاص لكل مكان. لسوء الحظ ، لم أتمكن من العثور على إحصائيات مماثلة لدول أخرى. ولكن في حبري هناك مقال جيد مع الرسوم البيانية على وجه التحديد في جافا.


بشكل عام ، تحتاج إلى اختيار واحدة من أفضل اللغات وبعد ذلك في وقت التخرج سيكون لديك فرصة جيدة للعثور على وظيفة.


في رأيي المتواضع ، فإن الخيار الجيد لبدء مهنة هو Java. لغة ليست معقدة للغاية ونطاق كبير وعدد كاف من الوظائف الشاغرة. يتعلق الأمر بجافا الذي سيكون النصف الثاني من مقالنا. إذا كان علي أن أبدأ كل شيء الآن ، يمكن أن تصبح Python بديلاً جيدًا ، لأنها تكتسب شعبية نشطة.


نظرة عامة على النظام البيئي لـ Java


من أجل أن يكون لديك فهم أفضل لما تحتاجه لكي تصبح مبرمج جافا ، سنقدم لمحة عامة صغيرة عن نظام جافا البيئي. أقترح النظر إلى الرسم التوضيحي التالي. من المؤكد أنه لا يغطي جميع الجوانب ، ولكنه سيعطيك بعض الفهم.


تقنية جافا

في وسط الكون ، كالعادة ، لدينا لغة جافا نفسها. بشكل أكثر تحديدًا ، Java Core. في وقت كتابة هذا المقال ، رأى Java JDK 10 الضوء. غيرت أوراكل سياستها للعمل مع إصدارات Java والآن لا يوجد فرق كبير بين الإصدارات كما كان ، على سبيل المثال ، عندما يكون Java 8. على سبيل المثال ، هذا الإصدار هو الأكثر شيوعًا والأكثر استخدامًا في الغالبية العظمى من الشركات والمشاريع. يمكنك البدء في تعلم اللغة بأمان مع هذا الإصدار ، وتعلم رقائق جديدة من خلال فرضها على المعرفة الأساسية. ربما تكون دراسة هذا الجزء أصعب مهمة للمبتدئين. يجب عليك إتقان نوع جديد من النشاط والبدء في التفكير بشكل مختلف. كما يتم فرض كمية كبيرة من المواد التي يجب الحصول عليها على هذا. معظم أولئك الذين بدأوا للتو في التسرب هم بالضبط في هذه المرحلة. كل هذا يتوقف على حافزك.


إذا كان تعلم Java أمرًا جيدًا ، فستحتاج إلى أدوات إضافية ، مثل نظام التحكم في الإصدار (نظام التحكم في الإصدار) ونظامًا لبناء المشاريع. بصفتي VCS ، أوصي باستخدام Git ، الذي يعد القائد المطلق من بين الأنواع الخاصة بهم. جميع الأنظمة الأخرى ، مثل Subversion و Perforce هي شيء من الماضي. بالإضافة إلى ذلك ، يمكنك استخدام مستودعات Github أو GitLab لرموزك مجانًا. مع احتمال كبير في المؤسسة ، ستستخدم BitBucket من Atlassian. لكن هذه مجرد صدفة. إذا تعلمت استخدام Git ، فلن يكون كل شيء آخر ضروريًا. Atlassian هي أيضًا مورد لمنتجات مثل Jira و Confluence ، لكن هذا لا يلعب دورًا في دراستك.


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


بعد التعرف على الأشياء المذكورة أعلاه ، يجدر التفكير في أي طريقة للمضي قدمًا. في الشكل أعلاه ، سترى أربعة اتجاهات رئيسية للحركة: الواجهة الأمامية (HTML ، CSS ، JS) ، الواجهة الخلفية (السبات ، الربيع ، SQL) ، Android والبيانات الضخمة. هذه الأجزاء الأربعة ، على الرغم من فصلها في الشكل ، هي في الواقع مترابطة تمامًا. على سبيل المثال ، إذا قررت أن تصبح مطور Java Full-Stack ، فسيتعين عليك دراسة الجزء الخلفي بشكل جيد والحصول على فهم عام لأساسيات الجزء الأمامي. لا يجب أن تتوقع أن تشارك في تخطيط الموقع ، ولكن يجب أن تعرف HTML. يجب أن أشير أيضًا إلى أنه في قسم Back-End ، يشير Spring بشكل أساسي إلى Spring Core. مع هذا الجزء من الإطار الذي تحتاجه للبدء. الآن نما إلى حد أنه يغطي جميع جوانب تطوير جافا. بدلاً من ذلك ، تحاول Oracle الترويج لمواصفات Java EE ، لكنها لا تعمل جيدًا.


بالنسبة لـ BigData ، هناك أيضًا مجموعة كبيرة من التقنيات. بشكل أساسي ، تم تصميمها جميعًا للتخزين الموزع ومعالجة البيانات الموزعة باستخدام نهج الحد من الخريطة. أقدم وأشهر التكنولوجيا هنا هي Hadoop.


أعتقد أن Android لا يستحق التوضيح. يمكنني فقط أن أقول أنه من أجل كتابة تطبيقات لهذا النظام الأساسي للجوال ، سيتعين عليك تعلم Java.


كما لاحظت ، هناك الكثير من التطبيقات لـ Java ، لذلك في المستقبل المنظور ، بعد أن تعلمت Java ، لن تترك بدون عمل.


من أين تبدأ؟ ماذا تقرأ؟


من الواضح أنك تحتاج إلى البدء بالأساسيات ، أي مع Java Core. ثم Maven ، Git ، ثم الاتجاه الذي تفضله.


هنا لديك ثلاثة خيارات. لا نأخذ بعين الاعتبار الموقف عندما اخترت هذا التخصص في الجامعة. ما زالت لا تستبعد تلك الخيارات الموضحة لاحقًا.


الخيار الأول - كتب جافا

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


من بين الكتب الأكثر شعبية وأفضل للمبتدئين ما يلي (الأسماء باللغة الإنجليزية ، في الحالات التي لم يتم فيها ترجمة الكتاب إلى الروسية أو لم يتم العثور على الترجمة):


  1. Java How to Program - بول دايتل وهارفي دايتل. لقد نجا هذا الكتاب من مجموعة من النسخ ، وربما يكون أكثر دروس جافا شمولية. بالإضافة إلى اللغة نفسها ، لا تزال أساسيات الخوارزميات موضحة جيدًا هناك.
  2. كما حازت فلسفة جافا - بروس إيكيل - على مرتبة الشرف في مكتبة المبرمجين. تفسيرات يسهل الوصول إليها ومفهومة. جيد للمبتدئين.
  3. Head First Java ، الإصدار الثاني - Bert Bates ، Kathy Sierra - كتاب أصبح شائعًا لقدرته على شرح المفاهيم المعقدة مع أمثلة الحياة البسيطة. ليس عميقًا جدًا في المحتوى ، ولكنه لا يزال مثيرًا للاهتمام.
  4. جافا مكتبة احترافية. المجلد 1.2 - كاي هورستمان. استقر هذا الكتاب المرجعي أيضًا على أرفف العديد من مطوري جافا. إنها فقط من فئة تلك الكتب التي تتم قراءة فصول منفصلة لحل المشكلات ، وليس الكتاب بأكمله.
  5. جافا 8. دليل المبتدئين - هربرت شيلدت. لم أقرأ هذا الكتاب بنفسي ، لكني سمعت عدة مراجعات إيجابية. اقرأ أم لا - قرر بنفسك.
  6. هياكل البيانات والخوارزميات في جافا - روبرت لافوريت. واحد من أفضل الكتب عن هياكل البيانات.
  7. جافا البرمجة الفعالة - جوشوا بلوخ. كتاب جافا أكثر تقدمًا بقليل. يحتوي على مجموعة كبيرة من النصائح والحيل حول كيفية تحسين التعليمات البرمجية الخاصة بك. صدر مؤخرا الطبعة الثالثة من هذا الكتاب. نوصي بشدة القراءة.
  8. التزامن جافا في الممارسة - Brian Goetz. يعد دليلًا جيدًا متعدد المسارات في جافا لا يخرج عن الموضة.

أوصي بقراءة الكتب الثلاثة الأخيرة لأولئك الذين هم على دراية بأساسيات برمجة Java ، لكنهم يخططون لمزيد من التطوير. لن يتم إعطاء أمثلة للكتب على أنواع مختلفة من الأطر. وقد كتبوا أيضًا عددًا قليلًا.


الخيار الثاني - دورات فيديو عن البرمجة وليس فقط ...

بدأت دورات الفيديو وأنواع مختلفة من دروس الفيديو في اكتساب شعبية كبيرة. الفكرة نفسها جيدة جدا وأنا شخصيا أحبها. هذا النوع من مواد التدريب مناسب بشكل خاص للمرئيات ، للأشخاص الذين يرون المعلومات بشكل أفضل على الإطلاق بصريًا. بالإضافة إلى ذلك ، يمكنك أيضًا استخدام فهم الاستماع. ميزة واحدة هي السعر المعقول. بالإضافة إلى ذلك ، يمكنك العثور على عدد ضخم من الدروس المجانية على YouTube ، من بينها دروس جيدة جدًا. من بين أوجه القصور في الدروس على YouTube ، يجب أن أشير إلى التجزؤ المتكرر ونقص التنظيم ، بالإضافة إلى حقيقة أن المواد الموجودة فيها يتم تقديمها بشكل سطحي تمامًا. ولكن حتى هنا توجد استثناءات بالمعنى الجيد للكلمة.


يمكن أن تكون دروس YouTube البديلة مثل هذه المواقع:
Safari O'Reilly - مجموعة ضخمة من الكتب ودروس الفيديو والندوات عبر الإنترنت حول مواضيع مختلفة. تعتبر جودة المواد ميزة كبيرة. يتم تسجيل الكتب والتدريب على الفيديو من قبل محترفين معترف بهم في هذا المجال. العيب الرئيسي هنا هو السعر. 400 دولار سنويًا إذا كنت تدفع فورًا أو 480 دولارًا أمريكيًا إذا كنت تدفع شهريًا. جميع المواد باللغة الإنجليزية. إذا قررت الاشتراك ، أوصي بالمواد التي أعدتها دار النشر O'Reilly نفسها ، فهي عادةً أفضل من دروس الناشرين الآخرين.


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


Udemy هي مكتبة كبيرة من الدورات المختلفة. ويختلف في أن الدورات الدراسية هنا ليست باللغة الإنجليزية فقط ، ولكن أيضًا باللغة الروسية. تختلف سياسة التسعير هنا تمامًا عن الموارد السابقة. هنا يمكنك شراء دورة تدريبية وستظل معك إلى الأبد. عند اختيار دورة تدريبية على Udemy ، يجب الانتباه إلى عدد ساعات دروس الفيديو ، وجودة الصوت (عادةً ما تكون عدة محاضرات متاحة بدون تسجيل) ، ومراجعات من مستمعين آخرين. هنا أود أن أوصي بالطبع "جافا. من البسيط إلى المعقد . " من حيث الجودة (عدد الساعات) للسعر ، ربما تكون هذه هي دورة Udemy الأكثر ربحية في روسيا. باتباع الرابط تحصل على سعر ثابت بخصم 90٪. فقط 10 دولارات صغيرة مقابل 33 ساعة من محتوى الفيديو الممتاز. في عملية إعداد الدورة ، قام المؤلف بتحليل عدد كبير من الدورات والكتب والمواد التدريبية ، كما طبق خبرة سبع سنوات في تطوير التطبيقات على مستوى المؤسسة.


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

هنا ، كما هو الحال في دورات الفيديو ، تحتاج إلى الاقتراب بعناية من الاختيار. كما هو الحال في مناطق أخرى ، يخلق الطلب العرض ومن المتوقع أن يكون هناك العديد من الدورات الدراسية منخفضة الجودة بدوام كامل في السوق. تختلف أسباب رداءة الجودة والسبب ليس المعلم دائمًا. المشكلة الشائعة هي أنه من أجل زيادة الدخل ، تكتسب الدورات المدرسية عددًا كبيرًا جدًا من الطلاب ، وحتى أفضل المدربين لن يتمكنوا من تخصيص وقت كافٍ لكل طالب. كلما كبرت المجموعة ، زاد تنوع الطلاب في المجموعة. في النهاية ، تنقسم المجموعة إلى أقوى وأضعف. في النهاية ، إما أن تتعثر على الفور ، لأن المعلم يجب أن يشرح نفس الشيء عدة مرات أو إذا كان لدى معظم المجموعة خبرة أكثر منك ، تبدأ في التأخر بشكل ميؤوس منه. بعد وقت قصير ، يتم فقدان الفائدة ويصبح من الواضح أن المال قد أهدر. عند اختيار الدورات ، انتبه إلى مراجعات أولئك الذين أكملوا الدورات بالفعل ، وعدد ساعات الدورة ، وعدد الأشخاص في المجموعة. مؤشر مهم هو توافر اختبار المدخلات ووصف الحد الأدنى من المتطلبات.


أي خيار تختار؟

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


بمجرد حصولك على الحد الأدنى من المعرفة ، سيكون من الجيد أن تجد مرشدًا. المتعة ليست رخيصة ، ولكن إذا كان المرشد جيدًا ، فسيوفر لك الكثير من الوقت. , — , , , , , .


?


. , . , . . Hello World , . . , . — , .


. , . . . , .


— . , . , . . , .


hackerrank . , . .


GitHub GitLab. , . - . , . , , , , . , . .


في هذا المستوى ، من المحتمل أن تكون قادرًا على التهريب إلى مصدر مفتوح. إذا لم يكن هناك عمل بعد ، تدرب هناك. أنت تستفيد ، يستفيد المجتمع.


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


في الختام ، أتمنى لكم التوفيق. تذكر أن Facebook و Apple أيضًا كانا في السابق شركات صغيرة مع شخص ما في مرآب أو عنبر. فقط بحاجة للتعلم. لا يهم عدد الساعات التي تدرسها في اليوم ، ولكن كم عدد الأيام المتتالية التي تقوم بها.

Source: https://habr.com/ru/post/ar423987/


All Articles