• 0
Mr.B

أفضل دير النشر المتخصصة بالحاسوب ونصائح في إختيار وقراءة الكتب البرمجية

سؤال

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

كل عام وأنتم بألف خير أعاد الله علينا وعليكم وعلى الامة الاسلامية بالخير واليمن والبركات.

كان الأخ kiooo96 يسأل في موضوع "ما هي أفضل الشركات لإنتاج الكتب الإنجليزية المتعلقة بالبرمجة". وعقبت على إستفساره وإقترح إعادة كتابة الرد في موضوع مستقل.

الكلام عام ولايختص بلغة معينة.

-----------

إنظر ياصديقي, هناك بعض دير النشر المشهورة فأفضل دير النشر التي أقرأ كتبها بالترتيب :

O'Reilly : غالباً ماتكون كتبها جديدة ومؤلفينها من أصحاب الخبرة "العملية" في موضوع الكتاب. إخراجها كتبها وتنسيقها الأفضل.

هناك عناوين الكتب لاحظتها تتكرر:

programming in XXXX غالباً مايكون هذا الكتاب من النوع الذي يبدأ معك من مرحلة المبتدئ ويستمر إلى مستوى متقدم ويغطي موضوعات كثيرة. سيفيدك كثيراً إذا رغبت في التخصص باللغة.

learning XXXX فهذا يعلمك أساسيات اللغة من ألف إلى ياء ولكنه على عكس النوع الأول لايدخل في المواضيع المتخصصة التي قد لايحتاج إليها الجميع.

XXXX cookbook.من إسمه كتاب طبخ, فهذا يعلمك بالأمثلة ويعطي مشاكل وحلولها. مناسب ككتاب إضافي إذا رغبت بعمل شيء معين بسرعة ولاتريد التعمق فيه.

XXXX up and running, فغالباً مايساعدك لتبدأ بسرعة في موضوع معين ويعيك المعلومات الأساسية التي تحتاجها وغالباً لايتعمق كثيراً.

XXXX in nutshell: هذه مناسبة لمن له خبرة برمجية جيدة ويريد الدخول بسرعة.

قد تأتي الكتب بعناوين أخرى الا أن العناوين السابقة تتكرر كثيراً.

Packt كتبها لاتقل روعة عن الكتب التي تنشرها O'Reilly. وتتشابه كثيراً معها. كتبها جميلة لأنها دائماً ماتكون عن موضوعات حديثة ومتخصصة أكثر من كتب O'Reilly, المتخصصة في لغات البرمجة. أفضلها عندما أود تعلم شيء مثل إطار عمل للغة معينة أو أتعلم برنامج أو خادم معين.

Apress كتبها ممتازة جداً وأحياناً تنشر كتب تتكلم عن مواضيع نادرة. كتبها التي تحمل العناوين :

beginning XXXX : هذه مناسبة للمبتدئ.

the definitive guide to XXXX: متخصصة بعض الشيء وتغطي أكثر من موضوع. غالباً ما تجد أن ماتبحث عنه هو فصول محددة من الكتاب.

pro XXXX: غالباً ماتكون متخصصة بمجال معين وتتطلب أن تكون ملم باللغة أو أساسيات هذا الموضوع.

هذه الدير المتخصصة بالبرمجة وعالم الحاسب.

هناك بعض الدير الأخرى ولكنها ليست متخصصة منها :

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

No Starch Press: كتبها جميلة جداً وأفضلها على الجميع فكتبها ليست رسمية وبسيطة وأيضاً تنشر لموضوعات غريبة ومختصرة بطريقة جميلة. مشكلتها أنها نادراً ماتنشر وعدد الكتب التي نشرتها قليل.

Wrox وتلك التابعة لمايكروسوفت لم يسبق أن قرأت كتاب لها, ربما مرور سريع على كتاب أو كتابين لكنها لم تجذبني.

لا أنصحك في الكتب التي على شكل سلاسل أو كتب تعلم في 24 ساعة فكثيراً ماتكون تحت المستوى.وخصوصاً سلسلة for dummy قرأت مرة كتاب عن الـC وكأنه موجه لطلاب الإبتدائية. الكتاب بطييييئ جداً, فصل كامل على كيف تستخدم if بينما تختصره بعض الكتب في صفحين.

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

إذا كنت تريد تعلم C# فهناك كتاب C# 5.0 in a Nutshell: The Definitive Reference, قرأت الفصلين الأولى وكان مناسب جداً. فهرس الكتاب :

Chapter 1. Introducing C# and the .NET Framework
Chapter 2. C# Language Basics
Chapter 3. Creating Types in C#
Chapter 4. Advanced C#
Chapter 5. Framework Overview
Chapter 6. Framework Fundamentals
Chapter 7. Collections
Chapter 8. LINQ Queries
Chapter 9. LINQ Operators
Chapter 10. LINQ to XML
Chapter 11. Other XML Technologies
Chapter 12. Disposal and Garbage Collection
Chapter 13. Diagnostics and Code Contracts
Chapter 14. Concurrency & Asynchrony
Chapter 15. Streams and I/O
Chapter 16. Networking
Chapter 17. Serialization
Chapter 18. Assemblies
Chapter 19. Reflection and Metadata
Chapter 20. Dynamic Programming
Chapter 21. Security
Chapter 22. Advanced Threading
Chapter 23. Parallel Programming
Chapter 24. Application Domains
Chapter 25. Native and COM Interoperability
Chapter 26. Regular Expressions

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

إضافة : موقع التحميل الذي أحمل منه الكتب, يسرب الكتاب فور صدورة ولاتموت روابطه : Wow! ebooks

----

بعض النصائح عن كيفية قراءة كتب البرمجة وأشياء أخرى :

أحياناً قد تقع في كتاب يقوم على مبدأ "إذا تريد تعلم قيادة السيارة تعلم كيف تصنعها" أو الأسوأ "إصنع سيارة لتتعلم قيادتها". إذا وجدت مثل هذا الكتاب فالأغلب أنك لم توفق في الإختيار والأفضل أن تبحث عن كتاب آخر, الا إذا كان هذا الكتاب الذي تريده.

عند قراءتك لكتاب في البرمجة, لاتقرأه من البداية للنهاية كأي كتاب. فهذه الطريقة غير مجدية لأنك ستجد نفسك نسيت ماقرأت سابقاً وتعود بإستمرار لفصول سابقة. فالبرمجة مجال عملي ويحتاج لممارسة مستمرة.

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

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

أيضاً لما تتعلم شيء تأكد من أنك تعرف كيف تستخدمه وتطبيقاته. أحياناً لايذكر الكاتب تطبيقات هذا الشيء أو يكون إستخدامه الحقيقي غير الموجود في الكتاب. لاتحاول أن تمر على شيء دون فهم فوائده. إبحث في قوقل عن XXXX applications/XXXX uses/when to use XXXX/XXXX in real world عدت صيغ لـ"فوائد وتطبيقات س". ستجد أمثلة كثيرة أو أناس سبق أن سألوا عن نفس الشيء.

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

fh = open("file.txt", "r")
data = fh.read()
fh.close()

print data

قد يبدو سليم ولاعيب به, الا أنك قد تتساءل ماذا لو كان الملف file.txt غير موجود أو لايسمح لك بالوصول إليه, فسيحدث خطأ. ضع مثل هذه الأشياء في الإعبار دوماً.

بمناسبة العادات البرمجية, في أغلب اللغات هناك شيئين يسميان : أفضل الأساليب البرمجية programming best practices و أنماط التصميم design patterns. الأولى تشير للعادات البرمجة الجيدة مثل إستخدام أسماء متغيرات واضحة ووضع المسافات الصحيح وغيرها. والأخرى تشير لطرق بناء وتصميم المشاريع مثل فصل قلب البرنامج ووظائفه عن الواجهة. إذا تعلمت لغة ما, إبحث عن كتب أو مقالات عن أفضل أساليب البرمجة وأنماط التصميم بهذه اللغة فستفيدك كثيراً وتختصر عليك الكثير من الوقت. فمثل هذه الأشياء لاتكتشفها الا بعد تعب. لذا إختصر على نفسك الوقت ولاتبدأ من الصفر.

عموماً هذا ماعندي, إذا كان لدى أحدٍ إضافة ما أو تجربة فرجاء أن يشاركنا بها.

تم تعديل بواسطه Mr.B
5

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

2 إجابة على هذا السؤال .

  • 0

الله يعطيك الف عافية ع الموضوع و احب اضيف موقع

it-ebooks.info

الموقع عادي مو ممتاز

3

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

موضوع ممتاز اخي Mr.B ، لا ادري ان انا اغفلت خلال قراتي للموضوع ولكني لم اجد ذكر لــ Manning هناك الكثير من الكتب الممتازه من هذه الدار واذكر منها

C# in Depth

Spring in Action

The Well-grounded Java Developer

Silverlight 5 in Action

Powershell in Action

وغيرها الكثير. كما ان هناك Addison-Wesely لكتب العيار الثقيل ومنها The art of computer programming

بيرنتس هول Prenitce Hall لديها بعض الكتب الجيده منها سلسلة How to Program لــ Deitel و ماكغرو هيل MacGraw Hill ليس من الدور المفضله لدي ولكن لديها كتاب التحضير لاختبار جافا الذي ذاكرت منه وكان ممتاز و ايضا سلسة شوم Schaum Outlines

تحياتي

3

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .