إعلان: يُوجد عندي دروس تعليمية باللغة العربية حول لغة البرمجة PROLOG مدّتها 80 ساعة بصيغة فيديو MP4 مع بعض الكتب الإلكترونية المُختصّة, وأنا أعرضها للبيع على طريقة المزَاد, مع العلم أنّ هذه الدروس جمعتها من الأنترنت لِنفسي منذ سنوات, والمهتم يتواصل معي.

كتاب : تعلم كل شيء عن جافا Java

العنوان: تعلم كل شيء عن جافا
المؤلف: المهندس مهيب النقري
الطّبعة: الأولى
رابط التّحميل: إضغط هنا


مقدمة الكتاب :
ظهرت لغة الجافا عام 1990 , حيث قدمتها شركة Sun من خلال مجموعة أدوات Stone Age Unix , و لم يمض وقت طويل حتى ظهرت في السوق أدوات لتطوير الجافا من مسنوى رفيع , حيث استجابت شركة مايكروسوفت للظاهرة بتوفير نسخة J++ و التي دمجت في ActiveX بشكل متكامل قامت شركة بورلاند بتقديم Java Builder و هي بيئة لتطوير جافا تتيح توليد ترميز لا يتداخل مع تراميز أخرى أو ما يسمى Pure Java كما تنتج حبيبات جافا Java Beans و التي يتولد عنها عناصر متينة تستطيع تطويرها حسب الحاجة و معالجتها بسهولة , و تبنى واحهات المستخدم الرسومية .

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

و كلغة فان جافا تشبه نسخة مبسطة من لغة C++ مما يقلل من وقت تعلمها لدى المطورين , و أكثر من ذلك فانها الأكثر أمانا على شبكة الانترنيت , و لأن جافا لا تعتمد على نظام التشغيل , فان كل ما يحتاجه مطورو البرمجيات هو انشاء نسخة من تطبيقاتهم , و ليس هناك حاجة لاختبار نسخ اضافية يعمل كل منها مع نظام تشغيل معين مثل Windows أو Macintosh أو Unix أو غيرها , أما بالنسبة لمديري الأنظمة و مسؤولي تقنية المعلومات , فان جافا تسهل عملية التحكم بالمراجعة و الدخول , اذ أنها تتطلب نسخة واحدة فقط في موقع تحكم واحد , و يتم تحميل هذه النسخة للمستخدم عند التشغيل.

و يدعى الترميز الناتج عن جافا بالبريمج Applet و هو يشحن من خلاله الشبكة , و يمكن تشبيه هذه البرامج الصغيرة بقطع حجرية ترص معا لبناء البيت الذي هو في الواقع التطبيق المكتوب بلغة الجافا , و من المميزات الخاصة في جافا أنها لا تسمح بانشاء مؤشرات خارج ترميزها الخاص , اذ أن المؤشرات الخارجية التي لا تسمح بها جافا هي التي تساعد على عمل الفيروسات المنتشرة حاليا اذ أن الضرر يحدث عندما يخرج الترميز عن مساحة الذاكرة الخاصة به , لذلك فان برامج جافا لا تنقل الفيروسات , كما أن جافا تدعم الشبكات بشكل كبير جدا , اذ أن واجهات بوتوكولات الانترنيت مثل بروتوكول TCP/IP و بروتوكول HTTP موجودة في بنية هذه اللغة.

لذلك تعتبر لغة جافا أقوى و أحدث لغات البرمجة التي بنيت للعمل على جميع الأنظمة و منصات العمل Platforms . و لقد صممت هذه اللغة لحل الكثير من مشاكل البرمجة المتعلقة بجهة الزبون Client في بيئة Client/Server , و يمكنها أيضا حل جميع المشاكل التي تصعب على لغات البرمجة التقليدية كتععد النياسب Multithreading و الوصول الى قاعدة المعطيات Database Access برمجة الشبكة Network Programming و البرمجة الموزعة Distributed Programming .

و كما ذكرنا سابقا فان هذه اللغة تستطيع برمجة ما يتعلق بموقع الزبون Client Side Programming باستخدام ما يسمى بالبرمجيات Applet , و البريمج Applet عبارة عن برامج صغيرة يمكنها العمل من خلال مستعرضات الوب Web Browsers فقط , و يتم تحميلها كجزء من صفحة الوب , و عند تفعيلها يتم تنفيذ البرنامج المواقف , و تكون عادة بشكل مترجم Compiled Form لذلك فان الترميز المصدر لن يكون متاحا للزبون , و تمتلك لغة جافا امكانية حل المشاكل العديدة على شبكة وب العالمية World Wide Web .

و الحق يقال بأنه لم تحظ لغة برمجة جديدة في تاريخ الكمبيوتر بدعم صناع الأدوات البرمجية و مطوري التطبيقات و مصنعي أتظمة التشغيل في وقت قصير مثلما حظيت به لغة جافا , و لقد ارتقت جافا من كونها مجرد لغة حتى أصبحت بيئة للتطبيقات Application Environment و يعود الفضل في ذلك الى آلة جافا الافتراضية Java Virtual Machine و التي تحاكي بركجيا عمل الكمبيوتر , و كما ذكرنا فان لغة جافا تشبه لغة C++ , الا أنها تتفوق عليها في كثير من الامور , فهي تتيح بناء ترميز متنقل و قابلا لاعادة الاستخدام و خال من العثرات Bug-free , كما أن ميزة "أكتب مرة , و شغل أينما تريد" تكسب جافا طابعا كليا ملفتا الى حد أن بعض الشركات تقوم بكتابة أدوات برمجة للغة جافا باستخدام اللغة ذاتها تعمل على أي جهاز .

و للمرة الأولى بمكن للمطورين كتابة برامجهم على مختلف أنظمة التشغيل Windows أو Unix أو Mac/OS أو غيرها , فجميع المبرمجين يمكنهم العمل على المشروع نفسه بالأدوات نفسها و في أي بيئة , و هذا يسمح بتوظيف المبرمجين استنادا لخبراتهم في برمجة التطبيق الدي يريدون , و ليس لمعرفتهم بالنظام الذي يستخدمونه , و نظرا لأن تطبيقات جافا داخل بيئة جافا للتشغيل , فانها لا تتفاعل مباشرة , مع وحدة المعالجة المركزية أو نظام التشغيل , فبيئة تشغيل جافا تعالج مسائل الذاكرة ذاتيا بحيث لا يحتاج المبرمج للقيام بتخصيص الذاكرة , أو تفريغ الترميز منها , كذلك لا حاجة لاستخدام المؤشر الحسابي Pointer و الذي يعد أحد مصادر الأخطاء يشجع على اعادة استخدام الترميز لكونها بنيت لاستخدام العناصر أصلا , و تستبدل جافا التوريث المعقد المتعدد الموجود في لغة C++ بالواجهات Interfacesسنحاول في هذا الكتاب التعريف بهذه اللغة بشكل مفصل و ذلك عن طريق شرح الميزات الأساسية الموجودة فيها مع اعطاء الأمثلة المناسبة , و لقد اعتمدنا هنا على استخدام لغة برمجة جافا القياسية بمختلف اصداراتها الموجودة , دون محاولة استخدام أي من أدوات و مترجمات جافا الموجودة في السوق مثل Microsoft Visual J++ أو Java Builder أو غيرها , و تركنا ذلك للكتاب القادم الذي سيصدر عن الدار و هو بعنوان "جافا و الأنترنيت" و الذي سيتم فيه أخد أحد أهم الجوانب التطبيقية للغة الجافا , و هدفنا من ذلك اتاحة المجال للقارئ لفهم تعليمات و أفكار لغة جافا القياسية , و مجالات تطبيق هذه اللغة قبل استخدام أي من هذه المترجمات , و لقد اعتمدنا في هذا الكتاب على الأفكار الرئيسية في كتاب Thinking in Java لمؤلفه الشهير Bruce Eckel و استخدمنا الأمثلة الموجودة فيه نظرا لبساطتها و سهولة فهمها , كما استفدنا من العديد من المراجع المذكورة في نهاية الكتاب في الكثير من الأمور المتعلقة باستخدام جافا في العديد من المجالات كبرمجة قواعد المعطيات و برمجة أوراكل Oracle بشكل خاص , كذلك برمجة الشبكات و غيرها.

سنشرح في الفصل الثاني من هذا الكتاب المفاهيم الأساسية للبرمجة غرضية التوجه , حيث سنقوم بشرح الخطوط العامة لهذا النوع من البرمجة , و الصفات الأساسية لها كالتجريد abstraction و التوريث inheritance و تعددية الأشكال polymorphis و تعددية اليناسب multithreading و الواجهات interfaces و غيرها.

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

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

أما في الفصل الخامس , فسنقوم بشرح التقنيات التي استخدمتها جافا لحل المشاكل المتعلقة بالقيم الابتدائية و الحذف التلقائي لعناصر باستخدام مجمع البيانات عديمة النفع Garbage Collector .

و في الفصل السادس , سنقوم بشرح كيفية استخدام المكتبات و الصفوف , و شرح كيفية تركيب الصفوف Composition و التوريث منها Inheritance .

في الفصل السابع , سنقوم باعطاء فكرة مفصلة عن كيفية استخدام خاصية تعددية الأشكال Polymorphism في لغة جافا , و كيفية اجراء عملية التوجيه للأعلى Upcasting , و الصفوف و الطرق المجردة Abstract Classes and Methodes , بالاضافة الى التوريث المتعدد Multiple Inheritance .

في الفصل الثامن , سنقوم بشرح كيفية استخدام المصفوفات Arrays , و الأنواع المختلفة للمجموعات Collection كالأشعة Vectors و العدادات Enumerations و المكدسات Stacks و غيرها .

في الفصل التاسع , سنشرح كيفية قيام جافا بمعالجة الأخطاء باستخدام الاستثناءات Exceptions و الأنواع الرئيسية للاستثناءات .

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

في الفصل الحادي عشر , سنقوم بشرح كيفية انشاء النوافذ و البرمجيات , و عناصر التحكم المعروفة كالأزرار Buttons و حقول النص Text Fields و مناطق النص Text Areas و اللصاقات Labels و صناديق التحقيق Check Boxes اضافة الى كيفية انشاء نوافذ التطبيقات و القوائم Menus و صناديق الحوار Dialog Boxes .

أما في الفصل الثاني عشر فسنشرح كيفية اجراء البرمجة المرئية Visual Programming ضمن لغة جافا و ذلك باستخدام حبيبات جافا Java Beans .

في الفصل التالث عشر , سنقوم بشرح أهم التقنيات التي يمكن استخدامها في جافا و هي تقنية تجزء البرامج الى مهام فرعية باستخدام تعددية النياسب Multiheading , و سنقوم أيضا بشرح كيفية القيام بمشاركة المصادر المقيدة , و مجموعات و أفضليات النياسب .

في الفصل الرابع عشر , سنشرح كيفية برمجة الشبكات Network Programming باستخدام لغة جافا , حيث سنشرح أولا كيفية القيام بتعريف الجهاز , و كيفية التعامل مع المقاييس Sockets , و تخديم عدة زبائن في نفس الوقت , و سنشرح كيفية استخدام البروتوكول TCP/IP ضمن بيئة مخدم/زبون Client/server و أخيرا سنبين فائدة استخدام البروتوكول UDP .

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

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

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



5 التعليقات

شاركنا التعليقات
غير معرف
الكاتب
1/27/2013 10:45:00 م حذف

بارك الله فيك وجزاك الله كل خير

رد
avatar
1/29/2013 01:54:00 م حذف

شكرا جزيلا على مرورك الكريم و جزاك الله كل خير .

رد
avatar
غير معرف
الكاتب
1/30/2013 12:18:00 م حذف

وإياكم اخي الكريم .. افضل ما افادني الموقع في اسفل التدوينة ..
اشكرك جزيل الشكر

رد
avatar
1/30/2013 10:01:00 م حذف

أمر يسعدني كونك تستفيد من تدويناتي ,و لك جزيل الشكر ...

رد
avatar
Unknown
الكاتب
3/23/2013 11:39:00 ص حذف

حلو كلش حلو

رد
avatar