أكتوبر 232011
 

ما هي Java؟

هي لغة برمجية كائنية، تعمل على مختلف الأنظمة المعروفة (Linux, Mac, Windows) بشرط تواجد مترجمها في تلك الأنظمة، وتستخدم الأصناف والدوال في البرمجة (Class & Methods) وهنا اقتباس حول هذه اللغة:

لغة الجافا Java Language:
هي لغة حديثة أنتجتها عام 1995م شركة SUN Micro System لتناسب التطبيقات الحديثة .
وهي تناسب تطبيقات الإنترنت حيث أصبحت هي قلب برمجة الإنترنت بما توفره من إمكانيات .
وتتصف لغة الجافا بالصفات التالية :
1- لغة برمجية تعمل بواسطة الأهدافOOP .
2- لها بيئة تشغيل خاصة بها JVM .
3- لها مكتبة فصائل Class Libraries .
4- تقوم على لغة C / C++ .
5- تعمل على معظم نظم التشغيل .

وفيما يلي شرح هذه النقاط :
1- لغة تلتزم بقواعد البرمجة بواسطة الأهداف Object Oriented Programming (OOP) : حيث وفرت كثير من الجهد الذي كان يبذل باستخدام البرمجة التقليدية ، حيث كانت البرمجة التقليدية توفر للمبرمج مكتبة من الدوالي إضافة إلى تركيب تقليدي للبرنامج وعلى المبرمج أن يستعمل الدوالي مع تركيب البرنامج لإنشاء التطبيقات مما يضطره لكتابة السطور الكثيرة أكثر من مرة ؛ لقد كانت وحدة بناء البرنامج هي الدالة .. في حين أتت البرمجة بواسطة الأهداف بفكرة جديدة هي إنشاء عناصر متكاملة تحتوي على بيانات ودوالي هي أساس إنشاء البرنامج .. وبالتالي أصبحت وحدة بناء البرنامج وحدة كبيرة هي الفصيلة أو العنصر Object مما سهل واختصر الكثير .

2- لغة لها بيئة تنفيذ خاصة JVM : للغة الجافا بيئة تشغيل للبرنامج هي JVM التي تقوم بترجمة البرنامج للغة الآلة وبالتالي فإن لغة الجافا غير مرتبطة بنظام التشغيل .

3- لها مكتبة فصائل قوية Class Libraries :نظراً لأن لغة جافا تعتمد على مفهومOOP فهي تحتوي على مكتبة فصائل قوية توفر معظم أو كل الفصائل المطلوبة للإعمال مثل التعامل مع الملفات وقواعد البيانات والشبكات و الرسومات المجسمة والحركة وكذلك التعامل مع الإنترنت .

4- لغة مبنية على لغة الـC,C++ : فعندما تم إنشاء لغة الجافا كان أساس بنائها لغة من أشهر وأقوى اللغات وهي C,C++ وبالتالي فهي لم تبدأ من حيث بدأ الآخرون بل من حيث انتهى الآخرون وهي لغة C++ و ثم إضافة الجديد في لغة الجافا .

________________

تعريفات هامة :
1- بيئة تشغيل الـJVM جافا .
2- مترجم برنامج JIT .
3- Java Applet .
4- Java Application تطبيق جافا .
5- مكتبة SDK , JDK .

وفي مايلي شرح هذه التعريفات :
1- بيئة التشغيل “JVM” :
الحروف JVM اختصار للعبارة JAVA Virtual Machine , وهي فكرة قامت جافا بإمشائها لتجعل لغة جافا تعمل على جميع أو معظم أنظمة التشغيل . وتقوم الفكرة على إنشاء طبقة وسيطة Software كأنها برنامج تشغيل للبرامج RunTime لكل نظام تشغيل يتم إنزاله أولاً على الأجهزة بحيث تفهم هي برامج جافا وتفسرها لنظام التشغيل ثم الجهاز ولهذا كان من مزايا لغة جافا أنها تعمل على كثير من نظم التشغيل الموجودة بعد إعداد JVM الخاصة بمعظم أنظمة التشغيل .. فلا يهم إذا كان البرنامج مكتوب لنظام التشغيل WINDOWS أو UNIX , المهم أن البرنامج يكتب ثم يحمل إلى الجهاز وعلى الجهاز يوجد JVM للنظام الموجود وبالتالي يعمل البرنامج .
2- Java Applet :
نوع من أنواع التطبيقات الذي صمم خصيصاً للإنترنت حيث يقوم المطوّر بإعداد هذا البرنامج Applet ثم يستدعيه من خلال إستخدام ملف HTML بشرط تحميل برنامج Applet على الخادم server الموجود عليه ملف الـHTML . أما طريقة إنشاء Applet وطريقة إستدعائها من داخل ملف HTML فهذا ما سنتعلمه إن شاء الله خلال الدروس القادمة .
3- Java Application تطبيق الجافا :
هو تطبيق يشبه التطبيقات المنشأة بجميع لغات البرمجة الأخرى يعمل مع نظام التشغيل بعيداً عن شبكة الإنترنت والمشهور عن لغة جافا أنها تعدّ برامج للإنترنت ولكن غير المشهور أيضاً أنها توفر كثير من نقاط القوة في إعداد أي تطبيق سواء مكتبي DISKTOP أو خاص بالشبكات CLIENTSERVER .

للمزيد، يمكنك الرجوع لمصدر الاقتباس بالضغط هنا

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

واجهة البرنامج:

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

  1. زر الترجمة، أي لتحويل الشفرة إلى bytecode والكشف عن الأخطاء.
  2. تشغيل البرنامج، إن لم يتم العثور على أخطاء.

 

من القواعد في Java، هو استخدام البرمجة الكائنية، أو التصنيفية، أي أن البرنامج عبارة عن Class أو أكثر. يجب الملاحظة أنه يجب تخزين الملف بنفس اسم الكائن أو التصنيف الأساسي (Class Name)، أي لنفترض أن الشفرة هي كالتالي:

class testclass
{
 public static void main(String[]args)
 {
  System.out.print("http://www.alrashdi.co/blog");
 }
}

بالتالي يجب علينا حفظ الملف باسم testclass.java

 

سيتم المتابعة في درس لاحق بإذن الله 🙂

فبراير 232010
 

يفترض أن يكون هذا الدرس تابعًا للدرس الأول، لكن قمت بفصله لتسهيل تتبع الدروس بالتدريج 🙂

هناك ثوابت أو قواعد في البرمجيات بشكل عام، عبرها يعرف المترجم (compiler) كيفية عمل البرنامج، لكن قبل ذلك ما هو المترجم (Compiler) ؟

باختصار يقوم المترجم بتحويل لغة البرمجة المفهومة من قبل البشر إلى لغة الحاسب الآلي وهي لغة التجميع (0|1)

في حالتنا يقوم المترجم بتحويل C إلى لغة الحاسب الآلي (binary) لتكون كالتالي 01010101110011 وهكذا

نعود لمحور الدرس، الأساسيات في كتابة الشفرة، في العادة يستند المبرمج لمكتبة مبرمجة مسبقة ليستخدم الدوال منها (حسب المنهج الحالي) لذلك أول سطر في البرنامج يكون طلب استدعاء ملف المكتبة، مثال:

include <stdio.h>

في السطر السابق قمنا باستدعاء ملف المكتب وبملاحظة أن امتداد الملف .h ويقصد به header

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

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

لتكن قاعدة لديك أنه كلما تقوم بفتح قوس يجب إغلاقه، مثلا:

main () {

}

في حالة عدم إغلاقك لأحد الأقواس سواءً القوس العادي “(” أو القوس المعكوف “{” سيظهر لك خطأ فور تشغيل البرنامج.

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

main () {
printf (" TEST C ");
}

لاحظ وجود “;” نهاية سطر أمر الكتابة، وأيضًا لاحظ بأن كافة الأقواس مغلقة.

بالنسبة لإغلاق الأقواس تذكر إغلاق علامات الإقتباس أيضًا 🙂

في C نحتاج لتعريف قيم المتغيرات، مثلا المتغير a ستكون قيمته رقمية وبالتحديد رقم صحيح (أي بلا كسور)، أو المتغير b ستكون قيمته رقمية لكن مع كسور أو فواصل عشرية. وهنا أهم أنواع المتغيرات التي سنستخدمها:

Char => c%
int => %d
float => %f

سنتعرف أكثر على كيفية تخصيص نوع المتغير مع الأمثلة في درس لاحق بإذن الله، في نهاية هذا الدرس أقدم لكم رابط لتنزيل أحد محررات لغة C المجانية، محرر Code::Blocks ، و هذا رابط مباشر للتنزيل

فبراير 212010
 

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

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

أولًا: يجب أن تعرف أنه يوجد عدة خطوات شبه ضرورية في كل برنامج، وأغلب البرامج بها مدخلات (inputs) ،عمليات (processes) و مخرجات (outputs) وللمزيد من التوضيح نفترض أنه لدينا العملية الرياضية الآتية:

F(x) = 3x+2

x : مدخل باعتبار انك ستدخل رقم معي لحساب الناتج

3x+2 : العملية، بعد معرفة المدخل ستقوم بالعملية الحسابية بكل بساطة لنفترض أنه طلب ان نعوض x بـ4 ؛ عند حسابها في المعادلة:

(3×4)+2 = 14

الناتج 14 من المثال أعلاه: هذه النتيجة وأيضًا يمكن أن تكون من ضمن المخرجات على اعتبار ان البرنامج يعرضها في الشاشة

أتمنا أن تكون الفكرة قد وصلت، وعلى كل حال انا ما فالح في شي اسمه رياضيات 😀

ثانيًا: من أهم الأشياء في كافة لغات البرمجة هي المتغيرات (variables)، فما هو المتغير؟ في العملية الحسابية كان x عبارة من متغير. المتغيرات يمكن أن تكون متغيرات رقمية أو حروف، يعتمد على كيفية عمل البرنامج المراد برمجته. مثال آخر للمتغيرات، تريد عمل برمجية صغيرة تقوم بحساب مساحة المثلث، بالتالي تسهل على مستخدم البرنامج حساب المساحة بمجرد إدخال الأرقام

مساحة المثلث= 1/2 القاعدة × الإرتفاع

1/2 base * hight => (0.5*B) * H

قمت بوضع B كمتغير للقاعدة و H متغير للإرتفاع، ولنضع المعادلة بأكملها في متغير جديد ولنفترض ان اسمه Area

Area = (0.5*B) * H

نفترض أن  القاعدة = 4 والإرتفاع 6 ، لتخزين المتغيرات:

B= 4, H=6

البرنامج سيقوم تلقائيًا بتعويض قيمتي B و H في العملية، ستكون كالتالي نظريًا:

Area = (0.5*4) * 6

الناتج:

Area = 12

المتغير الأخير Area سيكون كمخرج:

output: Area

أتمنى أن تكون فكرة المتغيرات وصلت لكم.. سأتابع في درس آخر بإذن العزيز