لقد اعتدنا على الوصول السريع إلى المعلومات والاستيعاب السريع بنفس القدر. نحن نفضل مقاطع فيديو مدتها خمس دقائق على المحاضرات العميقة والمقالات القصيرة على الكتب. لن أدعي أن كتابًا جيدًا عن البرمجة سيحل محل أي مقال، فالأمر ليس كذلك. ومن المؤكد أنها لن تحل محل الممارسة. ومع ذلك، بالنسبة لي شخصيًا، جاء الفهم الحقيقي لأساسيات البرمجة بعد أن قمت بحل مئات المشكلات في دورة برمجة JavaRush وقراءة الكثير من المقالات، وبدأت في دراسة النظرية من الكتب في نفس الوقت وتعمقت فيها. لقد كنت أبحث عن "أفضل برنامج تعليمي لـ Java للمبتدئين" منذ فترة طويلة. فيما يلي العديد من كتب Java التي كانت مفيدة لي بدرجة أكبر أو أقل في مراحل مختلفة من دراستي.
العودية والحفظ والتلاعب قليلا.
البحث والرسم البياني والخوارزميات الجينية.
التجميع (طريقة k-means) والشبكات العصبية والبحث التنافسي.
كتب للمبتدئين
لقد قمت في هذا القسم بجمع الكتب التي ستحتاجها لاتخاذ خطواتك الأولى في تعلم برمجة Java.1. رئيس فيرست جافا وكاثي سييرا وبيرت بيتس
لقد بدأت بهذا الكتاب ليس لأنه المفضل لدي، بل لأنه الأبسط. يعتبر هذا الكتاب، وفقًا للعديد من المبرمجين، أفضل برنامج تعليمي لجافا من الصفر. علاوة على ذلك، فهي حقًا من الصفر تمامًا، أي أنها مناسبة لأولئك الذين بدأوا للتو ولا يفهمون تمامًا نوع البرمجة الوحشية. أعترف أن الأمر جاء لي متأخرًا جدًا. أعتقد أن هذا هو السبب وراء عدم قدرتي على تقدير ذلك. لقد كان من الممتع للغاية أن "أقرأه للتو"، لكن الأمر استغرق مني وقتًا طويلاً للبحث عن أي شيء محدد فيه. يتم تقديم المادة بشكل واضح، ولكن بشكل سطحي (لأنها من الصفر!) والعديد من المواضيع والتفسيرات الضرورية ببساطة غير موجودة. لكن صديقي، الذي ورثه، كان سعيدًا به وصرخ أن هذا لم يكن مجرد أفضل كتاب جافا للمبتدئين، ولكنه تحفة عالمية مباشرة وهذه هي الطريقة التي يجب بها تقديم المواد المعقدة.مزايا:
- أفضل برنامج تعليمي لـ Java من الصفر، للدمى الكاملة، مكتوب بلغة حية.
- الرسوم التوضيحية باردة والفكاهة.
- الشرح بأمثلة من الحياة الواقعية.
عيوب:
- العديد من المياه لأولئك الذين دخلوا الموضوع بالفعل.
- ليست الألغاز والتمارين ناجحة دائمًا.
2. جافا للدمى، باري بيرد
يجب أن أعترف أن هذا الكتاب جاء إلي بالفعل عندما كنت أعمل كمبرمج. في نسخة سابقة من المقال عن الكتب المفيدة، تم طرح سؤال حولها في التعليقات، وعندما رأيتها مع أحد المختبرين في العمل، قررت أن ألقي نظرة فاحصة عليها. يعد Java for Dummies من تأليف Barry Bird كتابًا مثيرًا للاهتمام للمبتدئين الذين يرغبون في استخدام العديد من الموارد لمساعدتهم على التعلم. هذا ليس برنامجًا تعليميًا للمبتدئين، ولكنه كتاب مرجعي أول لـ Java. من الأكثر فعالية دراستها بالتوازي مع الدروس خطوة بخطوة (كما هو الحال في JavaRush) و(مطلوب!) لتعزيز ما تعلمته عمليًا على الفور. بناءً على العرض التقديمي، تعرفت على الفور على المؤلف كمدرس، لأنه في الأماكن يتوقف في أماكن غير متوقعة للوهلة الأولى ويفحص القضايا المثارة بتفصيل كبير. وهذا ليس من قبيل الصدفة: فقد كان طلابه يتعثرون في أغلب الأحيان بشأن هذه الأسئلة. لكن بعض المواضيع يتم تناولها بشكل سطحي... ومع ذلك، هذا كتاب للمبتدئين، لا ينبغي أن تتوقع منه عمقًا. لنفترض أن الفصلين الأولين جيدان للمبتدئين، ومن الأفضل دراسة OOP (الفصل 3) في كتاب آخر، لكن الفصول 4 (تقنيات البرمجة المتقدمة - شرح كيفية استخدام الفئات والأساليب، وبدء المجموعات، وتعدد مؤشرات الترابط، ومعالجة الاستثناءات) والخامس (نصائح لتجنب الأخطاء) أعتبرها ناجحة ومفيدة للغاية. علاوة على ذلك، فإن Java For Dummies سهل القراءة ومليء بالأمثلة الملونة والمضحكة. يمكن قراءتها بسهولة في أي مكان على الطريق أو قبل النوم. إذا كنت راضيًا عن أسلوب المؤلف بالطبع. وتذكر: لا يوجد كتاب في هذا العالم يمكنه أن يحولك إلى مطور برامج. الممارسة فقط يمكن.مزايا:
- لغة سهلة.
- نصيحة سليمة ومقدمة جيدة لعدد من المواضيع (الفصول 1، 2، 4).
- أمثلة جيدة.
عيوب:
- لا يتم عرض جميع المواضيع بشكل جيد على قدم المساواة.
- لن يحب الجميع أسلوب المؤلف.
3. جافا: أساسيات البرمجة للمبتدئين، ناثان كلارك
كتاب آخر للقراء الذين ليس لديهم خبرة في البرمجة. أود أن أقول إن ميزتها الرئيسية هي طبيعتها خطوة بخطوة. إنه يشرح جيدًا النقاط التي عادة ما تسبب صعوبات لأولئك الذين يواجهون البرمجة لأول مرة. ستتعلم هنا كيفية اختيار IDE وكيفية كتابة برنامجك الأول. سيشرح الكتاب ماهية Java Development Kit وJava Runtime Environment وسيقدم أمثلة على كل جزء من التعليمات البرمجية. لكن... لا توجد ترجمة روسية لهذا الكتاب، لذا أنصح به لمن يعرف اللغة الإنجليزية على الأقل في المستوى B1. وبالمناسبة، يحتاج كل مطور إلى معرفة اللغة الإنجليزية في هذا المستوى، لذا يمكنك ضرب عصفورين بحجر واحد من خلال تعلم لغة Java من كتاب باللغة الإنجليزية. هناك ما يكفي من هذه الكتب في هذه المقالة.مزايا:
- مقدمة سلسة للبرمجة والوظائف الأساسية للغة جافا.
- تسلسل العرض.
عيوب:
- لا يوجد شرح متعمق لمفهوم البرمجة الشيئية، لذا فإن بعض الأمثلة العملية يمكن أن تكون مربكة.
- لا توجد ترجمة روسية.
4. فكر في جافا: كيف تفكر كعالم كمبيوتر، ألين داوني وكريس مايفيلد
كتاب آخر مثير للاهتمام متاح باللغة الإنجليزية. كما لاحظ المؤلفون، فإن الهدف الرئيسي للكتاب هو مساعدة القراء على تطوير مهارات التفكير اللازمة لحل المشكلات المتأصلة في علوم الكمبيوتر. الكتاب مخصص للمبتدئين، لذا يبدأ المؤلفون بالأساسيات التي يمكن أن يفهمها أولئك الذين ليس لديهم خبرة في البرمجة أو معرفة بجافا. إنه مكتوب ببساطة، ويمكن أن يكون مفيدًا للطلاب أو الأشخاص الذين يدرسون أنفسهم والذين يرغبون في إتقان البرمجة وتطوير مهارات التفكير الخوارزمي. مثل العديد من الكتب الأخرى، يبدأ الكتاب بمقدمة عن OOP. يحتوي كل فصل على أقسام من المفردات والتمارين لتعزيز النظرية ومهارات البرمجة الرئيسية.مزايا:
- سهلة وممتعة للقراءة.
- يقدم الكتاب مفاهيم البرمجة المعقدة بطريقة يسهل الوصول إليها والفهم.
- أمثلة وتمارين لائقة.
عيوب:
- عدم وجود نهج خطوة بخطوة.
- قد تُترك لدى بعض القراء أسئلة بعد بعض الأقسام حيث لا يوجد دائمًا شرح تفصيلي لموضوعات معينة.
5. جافا. دليل المبتدئين، هربرت شيلدت
بعد الاطلاع على هذا الكتاب المدرسي، اعتقدت أنه سيكون مناسبًا تمامًا لأولئك الذين يحبون العرض التقديمي التقليدي للمادة أكثر من Headfirst، ولكنهم يبحثون أيضًا عن برنامج تعليمي من الصفر. في بعض الأماكن، يكون العرض التقديمي في الكتاب مفصلاً للغاية، ويذكرنا بالوثائق الموسعة والمترجمة مع الأمثلة المرئية الجيدة. في بعض الأحيان، بالنسبة لي، يتجاوز المؤلف الخط ويبدأ في المضغ كثيرًا، وتصبح القراءة مملة... وفجأة - شقلبة - ويتم تفويت مكان معقد إلى حد ما على الفور تقريبًا، وتكون في حيرة تامة عندما تحاول فهم ماذا وأين فاتك. ومع ذلك، لا يوجد الكثير من هذه الأماكن في الكتاب، وأعرف الأشخاص الذين يعتقدون أن دليل المبتدئين هو أفضل برنامج تعليمي لجافا لأولئك الذين لا يعرفون أي شيء بعد. أنا شخصياً وجدت الكتاب غير متساوٍ. لنفترض أنني بدأت في فرز المجموعات وبدلاً من الشرح البشري، أعطوني مهمة إنشاء مجموعة بشكل مستقل بناءً على المصفوفات. مشكلة رائعة، ولكن أود أن أفهم بشكل أفضل ما هي المجموعات القياسية أولاً! على الرغم من أن هذا الكتاب، مثل الكتاب السابق، يعتبر كتابًا مدرسيًا للمبتدئين، إلا أن تجربتي كمدرس تشير إلى أنه جيد فقط مع المواد الأخرى: بالنسبة لمحول العلوم الإنسانية، لن يكون كل شيء بسيطًا وواضحًا. "دليل المبتدئين" مناسب لشخص درس البرمجة بطريقة أو بأخرى (على سبيل المثال، في الجامعة)، وقد تخلى عنها منذ فترة طويلة، وفي نفس الوقت يحب أسلوب عرض المؤلف. ومن دواعي السرور بشكل خاص أن الكتاب المدرسي يتم تحديثه باستمرار، وهو يغطي ميزات Java 8، والإصدار الحالي (العاشر) يأخذ في الاعتبار JDK 9 وJDK 10.مزايا:
- العرض التقليدي المدروس للأساسيات.
- أمثلة جيدة.
عيوب:
- هناك قفزات من "مضغ جدًا" إلى "قيل بشكل عابر"
- إنه ممل في بعض الأماكن.
أدلة لأولئك الذين يواصلون أو يبدأون من جديد
الكتب التالية هي الأنسب لأولئك الذين لديهم بالفعل بعض الفهم للبرمجة ويريدون التعمق أكثر في Java أو البدء في التدريب بشكل أكثر شمولاً. هناك كتيبات وكتب مرجعية وبرامج تعليمية حول ميزات Java الجديدة أو الجديدة نسبيًا والتي لا يتعرف عليها الأشخاص عادةً على الفور، بالإضافة إلى الكتب الموجودة على Android (على وجه التحديد، كتاب واحد عن Android).6. جافا. الدليل الكامل، هربرت شيلدت
أعترف: ذات مرة قمت بتنزيل هذا الكتاب من الإنترنت من أجل تقييمه، ثم شرائه أو عدم شرائه. ليست مزحة، 1300 صفحة من النص! والسعر ليس أقل إثارة للإعجاب من الحجم. فعلت الشيء نفسه مع "مكتبة المحترفين" المكونة من مجلدين من تأليف كاي هورستمان (المزيد حول هذا الموضوع أدناه). بالنظر إلى المستقبل، سأقول أنني اخترت الخيار الثاني. لماذا؟ لأنه في كتاب جافا. "الدليل الكامل" لقد رأيت نفس أوجه القصور الموجودة في "دليل المبتدئين". في بعض الأحيان يتم مضغ التفسيرات، وأحيانا يتم سحقها، ولكن في الوقت نفسه لا يتم سحقها فقط، ولكن بطريقة أو بأخرى لفظيا. ولعل هذا هو أسلوب المؤلف وأعتقد أن هناك من سيعجبه، أو بالأحرى حسب تفكيره. بشكل عام، يعد Java 8: الدليل النهائي كتابًا مرجعيًا جيدًا لـ Java. لكني شخصياً أحببت عرض نفس الأشياء أكثر في كتاب آخر.مزايا:
- دليل كامل. ويبدو أن هناك كل المواضيع التي يحتاج المبتدئ إلى معرفتها، وليس مجرد مبتدئ.
- تفسيرات مفصلة.
عيوب:
- الكثير من الماء (ولكن قد يحب البعض ذلك!).
- الترجمة الروسية ليست الأفضل.
7. جافا. مكتبة المحترفين، كاي س. هورستمان، هاري كورنيل
غالبًا ما تتم مقارنة كتب شيلدت وهورستمان ببعضهما البعض. كلاهما لديه معجبين مخلصين. بالنسبة لي، يعد كتاب هورستمان المكون من مجلدين أفضل كتاب مدرسي في لغة جافا. لقد أصبح كتابًا مرجعيًا بالنسبة لي في المستويين المبتدئ والمتوسط في JavaRush. عندما لم أفهم موضوعًا ما، كنت أتوجه غالبًا إلى هورستمان، وكان يوضح لي الكثير من الأمور. يغطي الكتاب كل شيء بدءًا من بناء الجملة وحتى البرمجة متعددة الخيوط وتوطين البرامج والعمل باستخدام XML. ولا تدع اسم "مكتبة المحترفين" يخيفك (وهذا ما أخافني)، فالأساسيات مغطاة جيدًا. بالإضافة إلى ذلك، من المفيد إعادة قراءته بشكل دوري لتحديث معلوماتك وتنظيمها.مزايا:
- مع وجود عدد مذهل من الصفحات، هناك القليل من الماء (على عكس شيلدت).
- يحتوي على كل ما يحتاجه المبتدئين.
- يوسع Java 8، ويأخذ في الاعتبار التغييرات في JDK 9 و10 و11.
- عرض جيد للمواضيع المتعلقة بالمجموعات والأسماء العامة.
- يتناسب بشكل جيد مع JavaRush. انتقل إلى الموضوع وحل المشكلات، عاجلاً أم آجلاً لا تفهم شيئًا ما - شاهد هورستمان، حاول مرة أخرى.
عيوب:
- قد يجد البعض الكتاب جافًا.
- لا ممارسة.
- الترجمة الروسية بها أخطاء.
8. Java 8 قيد التنفيذ: Lambdas، Streams، والبرمجة ذات النمط الوظيفي
مع الإصدار الثامن، جاءت وظائف جديدة إلى عالم Java مهمة جدًا ومختلفة عما كانت عليه من قبل، لذا يُنصح بدراسة هذه المواضيع بشكل منفصل عن كل شيء آخر. علاوة على ذلك: حتى الآن لم يكن هناك تحديث لغوي أكثر أهمية. إذن أمامنا Java 8 قيد التنفيذ، وهو كتاب مثير للاهتمام حول Java 8. ومن المهم أن نشير على الفور إلى أنه مصمم لأولئك الذين يعرفون بالفعل أساسيات Java "فقط". ما يجعل هذا الكتاب جيدًا جدًا هو أنه يحتوي على العديد من المسائل التدريبية المتنوعة والمفيدة. تتضمن الأمثلة نماذج التعليمات البرمجية "الصحيحة" و"غير الصحيحة". الشيء الرئيسي هو عدم الخلط.مزايا:
- الممارسة الموجهة.
- يظهر الفرق بين الكود الصحيح وغير الصحيح.
عيوب:
- هناك حاجة إلى موارد إضافية للحصول على فهم أعمق لأساسيات Java.
9. Java الأساسية لمن لا يصبرون (الإصدار الثالث) أو Java SE 9. الدورة الأساسية، كاي هورستمان
في الأصل، يُطلق على هذا الكتاب اسم Core Java لمن لا يتحلى بالصبر، أي "Java Core لمن لا يتحلى بالصبر". لا أعرف لماذا لم يتم تضمين ذلك في الترجمة. وفي رأيي أن هذا من شأنه أن يساعد الكتاب على عدم الضياع بين أقرانه. توجد ترجمة للطبعة الثانية من الكتاب باللغة الروسية، ويوجد بالفعل طبعة ثالثة باللغة الإنجليزية، تم تحديثها إلى Java 17. تم تنظيم الكتاب كمرجع سريع، وهو مناسب جدًا للاستخدام للعثور على إجابة سؤال محدد إذا نسيت شيئًا ما أو قمت بالبرمجة مسبقًا بلغات أخرى. ما أعجبني بشكل خاص هو أن النصوص قصيرة جدًا، بدون مضغ أو ماء بشكل أساسي. يقدم الكتاب وصفًا جيدًا لتعبيرات لامدا، وتدفقات الإدخال/الإخراج، والوحدات النمطية. ومع ذلك، فإن هذا الكتاب لن يشرح ما هو المتغير أو الحلقة. ولكن هناك، بالإضافة إلى ذلك، كما ذكرت بالفعل، الهياكل الأساسية، والمجموعات، والشروح، والأدوية العامة، وقطع الأشجار، وتعدد مؤشرات الترابط - كل ما ستعمل معه في الممارسة العملية. بصراحة، أنا حقًا أحب هذا الكتاب، وحتى الآن أقرأه أحيانًا. فقط تذكر أن هذا الكتاب غير مناسب لأولئك الذين لا يعرفون شيئًا عن البرمجة. من الأرجح بالنسبة لأولئك الذين درسوا بالفعل بعض اللغات الأخرى أو نفس جافا، ولكن لفترة طويلة وليس تماما.مزايا:
- كتل معلومات قصيرة. كل شيء في هذه النقطة.
- لا توجد مواضيع غير ضرورية.
- مجموعة جيدة جدًا من المواضيع الحالية التي يمكن لمبرمجي Java المبتدئين دراستها.
- أمثلة ناجحة.
عيوب:
- الكتاب غير مناسب لمن بدأ بتعلم البرمجة من الصفر.
10. جافا. دليل المطور، بنيامين ج. إيفانز، ديفيد فلاناغان
كتاب مرجعي عالمي جيد، بديل لكتب هورستمان. يحتوي على معلومات مفيدة لكل من المبتدئين ومطوري Java الذين يواصلون التعمق في البرمجة. الإصدار الأخير وقت كتابة هذه العبارة (السابع) يعتمد على Java 11. الكتاب ليس طويلاً، وهناك العديد من الأمثلة، وتتم مناقشة Java API وأفضل ممارسات التطوير. الكتاب سهل القراءة ومنه يمكنك تعلم أساسيات اللغة وتقنيات البرمجة المفيدة وحتى الاتجاهات الجديدة في لغة Java.مزايا:
- ملخص مختصر وجيد.
- هناك كل ما يحتاجه المبرمج المبتدئ.
- وصف جيد للأدوات الحديثة.
- أمثلة ناجحة.
عيوب:
- لا توجد دائمًا ترجمة مناسبة للمصطلحات إلى اللغة الروسية.
11. نظام وحدة جافا، نيكولاي بارلوغ
هذا الكتاب متوفر باللغتين الإنجليزية والروسية. إنه دليل مفصل للغاية لنظام Java المعياري. يقول المؤلف أنه من الأسهل بكثير إنشاء تطبيق موثوق وآمن إذا تم حزم التعليمات البرمجية في كتل أنيقة. الوحدات النمطية في Java هي أداة جديدة نسبيًا؛ ولم تؤثر التغييرات المعمارية الأساسية على نواة Java إلا منذ الإصدار 9. وعلى الرغم من وجود المزيد والمزيد من المشاريع التي تحتوي على الوحدات النمطية، إلا أن هناك أشخاصًا معتادين على العمل بالطريقة القديمة ولا يعرفون شيئًا عنها ابتكارات مثيرة للاهتمام. بعد قراءة هذا الكتاب، ستفهم كيفية مراقبة كيفية تفاعل ملفات JAR المختلفة والعثور بسهولة على التبعيات المفقودة. إذا كنت جادًا بشأن مشاريع Java المعيارية أو كنت بحاجة إلى تعلم وحدات نمطية للعمل، فاطلع على هذا الكتاب.مزايا:
- الوصف الأكثر اكتمالا لمزايا النظام المعياري.
- أمثلة واستراتيجيات رائعة للانتقال إلى الوحدات النمطية.
عيوب:
- لديها عدد قليل من الأوصاف النحوية، وهو أمر صعب للمبتدئين.
12. Java الحديثة أثناء العمل: Lambdas، والتدفقات، والبرمجة الوظيفية والتفاعلية
على الرغم من أن Java موجودة منذ سنوات عديدة، إلا أن اللغة تكتسب باستمرار إمكانات جديدة. بالطبع، نحن جميعًا بشر، ويتجاهل المبرمجون أحيانًا الميزات والأساليب الجديدة ويترددون في تنفيذها في مشاريع Java. تم تصميم كتب مثل Modern Java in Action للمساعدة في حل هذه المشكلة. يغطي هذا الدليل بالتفصيل الموضوعات التي يتم تناولها غالبًا في الدورات التدريبية القصيرة. اسمحوا لي أن أشير إلى أن هذا التدريب عادة ما يستمر 1-3 أيام، والمعلومات هناك مركزة للغاية. لذا فإن المبرمجين المبتدئين يغرقون ببساطة في المعلومات الجديدة ولا يستوعبونها. وسيأخذك هذا الكتاب خطوة بخطوة من تعبيرات لامدا إلى مراجع الأساليب والواجهات الوظيفية والخيوط، وما إذا كان بإمكانك حلها بعناية.مزايا:
- يحتوي هذا الكتاب على جميع الميزات الحديثة لجافا لذا فهو مفيد جدًا.
- العرض المتسق للمفاهيم المعقدة.
- يقارن المؤلفون الاتجاهات الجديدة بالاتجاهات التقليدية. لذلك يمكن التوصية بهذا الكتاب حتى للمبتدئين.
عيوب:
- بالنسبة لأولئك الذين يعرفون شيئًا عن الموضوع، قد يبدو الكتاب مليئًا بالألفاظ بعض الشيء.
13. رئيس تطوير Android الأول
Java هي اللغة الأم لنظام Android. لذلك، أحد الخيارات الأكثر شيوعًا لبدء تطوير التطبيقات بهذه اللغة هو إنشاء تطبيق Android. هذا الكتاب (توجد ترجمة روسية بعنوان "Head First Programming for Android") هو كتاب آخر من سلسلة Head First. لذا فإن السمات العائلية للسلسلة متأصلة تمامًا في هذا الدليل. وهذا هو، ستجد هنا الكثير من الصور، وأسلوب سهل، وعدد كبير من التمارين دون الخوض بجدية في الجوهر. هذا يعني أنه إذا كنت تريد فهم تطوير تطبيقات Android بشكل كامل، فقد تحتاج إلى إجراء بعض الأبحاث الإضافية والتعمق في المصادر. ولكن إذا كنت تريد البدء بسرعة في البرمجة لهذا النظام، فهذا هو المكان المناسب لك.مزايا:
- أسلوب سهل وصور ومهام متنوعة وتمارين المشروع التي يمكن أن تشرك القارئ بشكل فعال في عملية التعلم.
- البساطة وسهولة الوصول: يحاول المؤلفون شرح المفاهيم المعقدة بعبارات بسيطة، مما يسهل على المبتدئين فهمها.
عيوب:
- التقادم: التغيرات السريعة في التكنولوجيا في عالم البرمجة والأندرويد قد تؤدي إلى عدم احتواء الكتاب على الأساليب والأدوات الحالية.
- يتم التعامل مع بعض المواضيع بشكل سطحي للغاية.
14. تعلم جافا: تقديم البرمجة الواقعية باستخدام جافا
يجب أن أقول على الفور أن هذا الكتاب ليس مخصصًا للمبتدئين. ستحتاج إليها إذا كنت تعرف Core Java على الأقل على المستوى الأساسي ويمكنك كتابة تطبيقات بسيطة. إذا كان الأمر كذلك، سيساعدك هذا الكتاب على فهم المفاهيم المعقدة المتنوعة للغة جافا ويشرح كيفية استخدام كل هذه الفئات والمكتبات وتعبيرات لامدا والإدخال/الإخراج وما إلى ذلك في البرمجة الصناعية الحقيقية. يعتمد الكتاب على الإصدارات الحديثة من Java ويحتوي على أمثلة بسيطة إلى حد ما ولكنها مفيدة للعمل الحقيقي. يتحدث القسم الأخير عن استخدام Java مباشرة لتطبيقات الويب وخوادم الويب، وهو أمر لا تراه كثيرًا في الكتب. بالمناسبة، هذا الكتاب موجود أيضا في النسخة الروسية ("البرمجة في جافا"، مارك لوي).مزايا:
- الإصدارات الحديثة من جافا.
- أمثلة على تطبيقات الويب والخوادم.
عيوب:
- من الصعب للمبتدئين.
الكلاسيكية الخالدة
يمكن تسمية الكتب التي أكتب عنها أدناه بالنصوص المقدسة للمبتدئين والجافين المتوسطين.15. جافا الفعالة، جوشوا بلوخ
إنه كنز، وليس كتابًا، ويركز على المبادئ الأساسية للغة من أحد مؤلفيه، جوشوا بلوخ. على الأرجح أنك استخدمت مكتباتها بالفعل (في مجموعة Java، على سبيل المثال). سأقوم بالحجز على الفور: المبتدئون تمامًا، باستثناء بعض المتسابقين الموهوبين، لا يحتاجون إلى كتاب Java الفعال. أولاً، من الأفضل إتقان بناء الجملة والحصول على بعض التدريب على البرمجة على الأقل، إذا جاز التعبير، والتفكير فيها، ثم البدء في إنشاء جوشوا بلوخ. سيكون الكتاب مفيدًا لأولئك الذين يريدون فهم Java حقًا، وتشكيل النهج الصحيح عند البرمجة بهذه اللغة، وفهم ليس فقط كيفية القيام بذلك، ولكن كل شيء آخر يجب القيام به بهذه الطريقة بالضبط. وأيضًا لأولئك الذين يرغبون في فهم OOP بعمق (من حيث المبدأ، هذه أشياء مترابطة). يعد هذا الكتاب أفضل كتاب مدرسي عن Java في سياق النهج الموجه للكائنات في البرمجة.مزايا:
- عرض تقديمي رائع للمواد حول موضوع OOP.
- يتم توفير أفضل ممارسات البرمجة.
- المؤلف يعرف جافا جيدًا من الداخل.
عيوب:
- من الصعب للمبتدئين.
16. فلسفة جافا، بروس إيكل
عنوان هذا الكتاب يتحدث عن نفسه. هذه ألفا وأوميغا أخرى لكل من يريد أن يعرف جافا! ستجد في هذا الكتاب أمثلة جيدة وواضحة، ومنها سيتبين كيفية عمل لغة Java. من الصعب علي أن أقول أي الكتابين - "فلسفة جافا" أو "البرمجة الفعالة" - هو الأفضل. أود أن أقول إن شركة Eckel أكثر ودية إلى حد ما بالنسبة للمبتدئين، بينما يتطلب Bloch بعض الخبرة. قرأت الفصل الأول من "فلسفة Java" عندما كنت قد بدأت للتو في تعلم JavaRush (أعتقد أنه تم إدراجه على أنه موصى به في أحد المستويات المبكرة). ثم أنها لم تناسبني. ولكن بعد المستوى 10 أو 12 - كانت أغنية! وسأقول، أغنية مفيدة للغاية. لقد عدت إليها لاحقًا، عندما جئت إلى البرمجة الفعالة. سأقول هذا: دع بلوخ وإيكل يتحدثان عن نفس الشيء، ولكن بطرق مختلفة، ويعطيان أمثلة مختلفة.مزايا:
- عرض تقديمي متعمق لمبادئ Java من أحد المحترفين.
- سيكون جيدًا لأولئك الذين يتحولون من لغات أخرى - هناك العديد من المقارنات مع لغة C++، على سبيل المثال.
- يبدو لي أنه يمكنك البدء في قراءته عند المستوى 10، لكن Eckel – بعد ذلك بقليل.
عيوب:
- الترجمات الروسية سيئة للغاية.
كتب البرمجة العامة
الكتب التالية لا ترتبط مباشرة بجافا، لكنها ستكون مفيدة للمطور المبتدئ، لأنها تساعد في تطوير تفكير المبرمج وفهم كيفية عمل الكمبيوتر، والمبادئ والمفاهيم الأساسية للبرمجة، وما هو الكود النظيف وكيفية كتابته هو - هي.17. مشاكل علوم الكمبيوتر الكلاسيكية في جافا
يمكن ترجمة هذا الكتاب من تأليف David Kopec على أنه "المشكلات الكلاسيكية في علوم الكمبيوتر في Java". وهو مخصص لكل من المطورين ذوي الخبرة والمبتدئين الذين يعرفون لغة البرمجة وبدأوا بالفعل في مواجهة مشاكل العالم الحقيقي. أو لأولئك المهتمين بالمهام غير القياسية لتطوير تفكير المبرمج. أو لأولئك الذين يرغبون في تحسين مهاراتهم وتحقيق أداء جيد في المقابلات. تبدو بعض المهام مستحيلة، لكن عالم البرمجة أصغر مما يبدو. على الأرجح، قام شخص ما بحل مشكلتك غير القابلة للحل بالفعل. جمع ديفيد كوبيك في كتابه الحلول والمبادئ والخوارزميات الجاهزة الأكثر فائدة. تحتوي مسائل علوم الكمبيوتر الكلاسيكية على 55 مثالًا عمليًا تغطي أحدث المواضيع: الخوارزميات الأساسية، والقيود، والذكاء الاصطناعي، وما إلى ذلك. المواضيع الرئيسية للكتاب:مزايا:
- جميع الخوارزميات والأساليب المفيدة لها في كتاب واحد.
- أمثلة في جافا.
عيوب:
- بعض الأمثلة يصعب على المبتدئين فهمها.
18. تعلم البرمجة أولاً بقلم إريك فريمان
لقد ذكرت بالفعل كتب Head First مرتين في هذه المقالة. وهنا الثالث! إنه، مثل جميع الكتب الموجودة في السلسلة، مكتوب للمبتدئين تمامًا، وهو مخصص للبرمجة على هذا النحو. إذا كنت قد واجهت السلسلة من قبل، فعندما تفتح هذا الكتاب، ستتعرف بسهولة على أسلوب توقيع Head First. أوصي بهذا الكتاب إذا كنت بحاجة إلى مساعدة في مفاهيم البرمجة الأساسية بطريقة ممتعة وسهلة الفهم.مزايا:
- يوفر فهمًا عامًا للبرمجة.
عيوب:
- يستخدم أمثلة في لغة بايثون (حيث تعتبر أسهل لغة للمبتدئين).
19. الكود النظيف، روبرت س. مارتن
لا يولي المبرمج المبتدئ الكثير من الاهتمام لأسلوب الكود الخاص به. إنه أكثر تركيزًا على مكافحة الأخطاء. ومع ذلك، يعد تحسين أسلوبك أمرًا مهمًا جدًا لعملك المحتمل: فمن الصعب جدًا العمل مع الشخص الذي لا يلتزم بالكود النظيف في المشاريع. من الصعب قراءة الكود الخاص به وصيانته. سيوضح لك هذا الكتاب الفرق بين التعليمات البرمجية الجيدة والسيئة ويعلمك القواعد الأساسية لكتابة تعليمات برمجية نظيفة وقابلة للقراءة باستخدام أفضل الممارسات. اسأل أحد المحترفين، وهناك فرصة جيدة أن يوصي بشدة بهذا الكتاب لكل مطور طموح.مزايا:
- أمثلة ونصائح جيدة لإنشاء تعليمات برمجية قابلة للقراءة.
- أحد الكتب القليلة من نوعها.
عيوب:
- المؤلف في بعض الأحيان دقيق للغاية.
20. الكود: اللغة السرية لعلوم الكمبيوتر، تشارلز بيتزولد
يمكن التوصية بهذا الكتاب لكل من تلميذ المدرسة المهتم بأجهزة الكمبيوتر والمبرمج الذي يتمتع بسنوات عديدة من الخبرة والذي يريد فهم علوم الكمبيوتر بشكل أفضل. لقد عثرت على النسخة الروسية من هذا الكتاب في المدرسة الثانوية وقد ألهمتني بشدة. بل إنه يشرح تصميم الدوائر باستخدام أمثلة بسيطة جدًا، ويبدأ كل شيء بالدجاج ومصباح يدوي أساسي. يغطي المؤلف مجموعة واسعة من المواضيع مثل الكهرباء والدوائر والمرحلات والنظام الثنائي والمنطق والبوابات والمعالجات الدقيقة والرموز وغيرها لبناء فهم تدريجي لكيفية عمل تكنولوجيا الكمبيوتر. بعد قراءة هذا الكتاب، ستفهم ما يوجد خلف وحدات البكسل الموجودة على سطح مكتبك وما يحدث في كل مرة تستخدم فيها أجهزتك.مزايا:
- الغوص العميق في أدنى مستوى من الأجهزة.
عيوب:
- أحياناً يكون الغوص عميقاً جداً :)
21. مقابلة صعبة حول البرمجة، جيل لاكمان ماكدويل
هذا كتاب مثير جدًا للاهتمام لأولئك الذين يخططون للبحث عن وظيفة كمطور برامج في المستقبل القريب. فهو يحتوي على مجموعة واسعة من الأسئلة والحلول العملية التي قد تطرح عليك أثناء المقابلة. وبطبيعة الحال، كل شيء يتدفق، كل شيء يتغير. وتتغير الاتجاهات في "اختبار" المطورين. ومع ذلك، سيساعد هذا الكتاب المبتدئ على فهم ما يمكن توقعه من المقابلة. ومع ذلك، أوصي بتحسين هذه المعرفة في المنتديات ومجتمعات Java.مزايا:
- التحضير لمقابلات برمجة العالم الحقيقي.
عيوب:
- لن يساعد بدون مصادر إضافية.
الخوارزميات وهياكل البيانات
تساعد معرفة الخوارزميات على حل مشكلات تطوير البرمجيات بكفاءة وعلى النحو الأمثل. تساعد معرفة كيفية اختيار هياكل البيانات الصحيحة على تحسين الأداء وتقليل تكاليف الذاكرة وتوفير برامج أكثر استقرارًا وكفاءة. ومع ذلك، عليك أن تعرفهم على الأقل حتى تتمكن من اجتياز المقابلات. لذا فيما يلي بعض الكتب المفيدة.22. خوارزميات التأرجح، أديتيا بهارجافا
كتاب مثير للاهتمام وبسيط إلى حد ما حول أساسيات الخوارزميات. وهو يشرح الخوارزميات الشائعة مثل الفرز والبحث في شكل رسومي. إن مثل هذه الكتب هي التي تساعدك على فهم جمال وتعقيد الخوارزميات وتحبها من كل قلبك. يحتوي الكتاب على الكثير من الصور: يفضل المؤلف الأسلوب البصري في الشرح. الكتاب مقسم إلى أقسام قصيرة مع أمثلة متنوعة لضمان استيعاب المعلومات الجديدة بالنسب الصحيحة.مزايا:
- تفسيرات جيدة مع الرسومات.
- مثيرة للاهتمام حول المجمع.
عيوب:
- أمثلة في بايثون.
23. مقدمة في الخوارزميات، توماس إتش. كورمين، تشارلز إي. ليسرسون، رونالد إل. ريفست، كليفورد ستاين
مقدمة إلى الخوارزميات (العنوان الروسي "الخوارزميات: البناء والتحليل") هو كتاب جيد جدًا عن الخوارزميات لأولئك الذين يحبون العرض المتسق والشامل للمادة. جميع الأمثلة في الكتاب مكتوبة بما يسمى بالكود الزائف، أي ليس بلغة برمجة حقيقية، ولكن بلغة اصطناعية مفهومة للجميع بشكل بديهي. على الرغم من أن الكتاب يوصف بأنه "مقدمة للخوارزميات"، إلا أن المواضيع التي يتناولها واسعة جدًا ويتم شرح مفاهيم هياكل البيانات والخوارزميات بشكل جيد.- الفرز: دراسة تفصيلية لخوارزميات الفرز المختلفة مثل الفرز بالإدراج، والفرز التبادلي، والفرز السريع، والفرز المدمج، وما إلى ذلك.
- البحث: البحث الأمامي، البحث الخلفي، البحث الثنائي وغيرها.
- الأشجار: الأشجار الثنائية، والأشجار ذات اللون الأحمر والأسود، وأشجار AVL وغيرها.
- الرسوم البيانية: اجتياز الرسم البياني، والبحث عن أقصر مسار، والحد الأدنى من شجرة الهيكل العظمي، وما إلى ذلك.
- البرمجة الديناميكية.
مزايا:
- عرض نظري ممتاز لأهم خوارزميات الفرز والبحث والأشجار والرسوم البيانية.
- اللغة الإنجليزية سهلة.
عيوب:
- ليس هناك ما يكفي من الممارسة، والتركيز على الجوانب النظرية للموضوع.
24. فكر في هياكل البيانات: الخوارزميات واسترجاع المعلومات في جافا (ألين ب. داوني)
يعد هذا دليلاً مفيدًا لاستخدام هياكل البيانات في البرمجة مع أمثلة في Java. يركز الكتاب على الممارسة، مما يساعدك على الفهم السريع لكيفية تنفيذ واستخدام الخوارزميات وهياكل البيانات في البرامج الحقيقية. يشرح المؤلف المفاهيم المعقدة للخوارزميات وهياكل البيانات بطريقة يسهل الوصول إليها ومفهومة، لذلك إذا كان لديك على الأقل مهارات البرمجة الأساسية، فهذا الكتاب مناسب لك. يحتوي كل قسم على مقدمة للموضوع وأمثلة وشروحات إضافية وتمارين لتعزيز النظرية. والأمر الجميل بشكل خاص هو أن كل فصل يحتوي على مشاكل في التصميم تسمح للقراء بتطبيق ما تعلموه لإنشاء تطبيقاتهم الخاصة للخوارزميات وهياكل البيانات.مزايا:
- مادة موجزة مع أمثلة مفيدة.
- توافر مهام المشروع.
عيوب:
- قد يكون من الصعب بعض الشيء بالنسبة للمبتدئين.
- لا يتم تناول جميع المواضيع بنفس العمق.
25. الخوارزميات، روبرت سيدجويك، كيفن واين
أحد أشهر الكتب في البرمجة، ألفه خبراء حقيقيون في مجالهم، قاموا بتربية أكثر من جيل من مهندسي البرمجيات. إذا لم تكن خائفًا من العرض التقديمي الأكاديمي الشامل والانغماس الكامل في الموضوع، وإذا كنت مستعدًا لفهم الخوارزميات حقًا، فقم بتحليلها مرة واحدة وإلى الأبد، فادرس هذا الكتاب. إنه خيار جيد للطلاب والمعلمين والمطورين. ومع ذلك، بالنسبة للمبتدئين، قد يستغرق الأمر وقتًا وجهدًا إضافيًا للحصول على فهم جيد للمواد الموجودة في الكتاب. نجح المؤلفون في الجمع بين النظرية والأمثلة العملية في لغة جافا، مما يسهل على القراء فهم المفاهيم المعقدة.مزايا:
- عرض واضح وشامل.
- الكثير من الأمثلة في جافا.
- مجموعة متنوعة من المواضيع: يغطي الكتاب تقريبًا كل ما تحتاج لمعرفته حول الخوارزميات.
عيوب:
- الإفراط في العرض الأكاديمي.
- قد يكون من الصعب دراسة الكتاب بمفردك دون الدعم المناسب
GO TO FULL VERSION