المفاهيم الأساسية في لغة جافا البرمجية – (1)

تقسم لغات البرمجة إلى لغات برمجية منخفضة المستوى low level languages تتمثل القواعد البرمجية الخاصة بها بلغة الآلة (الصفر والواحد) مثل لغات الassembly وهي من أولى لغات البرمجة التي استعملت في اجهزة الكومبيوتر الخاصة بشركة IBM، وتقوم بشكل أساسي على الكتابة البرمجية بلغة الآلة machine language، وهي لغة مرمّزة بالbits الثنائية binary bits وهي الصفر والواحد (0,1) والتي يمكن للحاسوب فهمها وبرمجتها من دون اللجوء إلى أي عملية تحويل أو تصريف compilation أو تفسير interpretation. تمثّل البتات الثنائية فيها رموز العمليات ومواقع الذاكرة وقيم المتحولات، بينما تتمثل صعوبتها لدى المبرمجين في فهمها، وكتباتها. اما النوع الآخر من لغات البرمجة هي لغات البرمجة عالية المستوى high-level language التي تشبه القواعد البرمجية الخاصة بها اللغة الانجليزية، وتسمى البرمجيات التي تكتب من خلالها الكود المصدري – Source Code. وتقسم اللغات البرمجية حسب يمكن تصنيف لغات البرمجة وفق عدة معايير مختلفة مثل طريقة التصميم والبرمجة، والحقبة الزمنية وسهولة التعلّم، وطبيعة التطبيقات المناسبة، وقدرتها التعبيرية، وغيرها، موضحة في الجدول أدناه:

اللغات الإجرائية
   Procedural programming
تتميز هذه اللغات بطريقة التصميم البرمجي من الأعلى إلى الأسفل حيث تجري تجزئة المسألة المطلوبة إلى مسائل جزئية، ثم تجزئة المسائل الجزئية إلى مسائل أصغر، وهكذا حتى الوصول إلى مسائل يمكن برمجتها مباشرةً بوساطة إجراءات procedures أو دوال functions.BASIC, C, FORTRAN, Java, and Pascal
لغات المحاكاة واللغات الرياضية. paradigm computational languageهي لغات مختصة بالحسابات العلمية والرياضية والهندسية وطرق نمذجة ومحاكاة النظم، ولذلك فهي تحوي غالباً مجموعة صغيرة نسبياً من ميزات لغات البرمجة التقليدية، ومجموعة كبيرة من التعليمات والأدوات الرياضية اللازمة لزيادة فاعلية هذه التطبيقاتAPL, Mathematica
لغات كائنية التوجه
Object-oriented programming
تتميز هذه اللغات بطريقة التصميم البرمجي من الأسفل إلى الأعلى، حيث يجري أولاً تعريف الفئات classes التي تُستخدم في توليد الكائنات objects، ثم يجري بناء البرنامج كسيناريو لتبادل الكائنات فيما بينها الرسائل التي تؤدي إلى تحريض الطرائق methods التي تنفّذها، بغض النظر عن كيفية بنائها في الكائنات.ADA, C++, java, python, Ruby
اللغات الوظيفية. Functional programmingهي لغات برمجة تُستخدم للتعبير عن البرامج بوصفها مجموعة متتالية من الوظائف واستدعاءات الوظائف. وتعتمد عموماً التصميم الوظيفي الذي يوصّف العلاقات بين الأجزاء العاملة وتفاصيل مكوناتها المنطقية وطريقة عملها بعضها مع بعض. Hope, Curry, Haskell
اللغات المتعددة والتفرعية. parallel programmingأدى تطوّر عتاد الحواسيب، باتجاه تعدّد المعالجات وضرورة توزع المعطيات والعمليات عليها بين هذه المعالجات (وهذا ما يُسمى فعلياً بالمعالجة التفرعية parallel processing)، إلى ظهور لغات برمجة تسمح بهذا التوزيع على مستوى البرمجةZPL, Ocra, NSEL
اللغات المنطقية. Logic programming
هي لغات مبنية على طرق الاستنباط المعروفة في المنطق وتقنيات برهنة حلول المسائل، وغالباً ما تنطلق من مجموعة حقائق وآلية استنباط للوصول إلى الأهداف المحدّدة مسبقاً.
OPS5, mercury 
اللغات الخطاطية End-User Programmingهي لغات مبسّطة ومختصرة، معظمها مفسّر، تقوم عموماً بأعمال خاصة صغيرة ومحدودة، وقد تكون مرتبطة بتطبيقات معينة أو تُستخدم لزيادة إمكانات بعض اللغات التقليدية.Euphoria, Csh, hypertalk, PHP
اللغات الماكروية. Macro programmingأدّى تطور التطبيقات الحاسوبية، من مجرد برامج صغيرة تقوم بأعمال محدودة إلى برمجيات محزومة packages، إلى ظهور لغات برمجة تعمل حصراً مع هذه الحزم للقيام بأعمال إضافية لا تستطيع لغات البرمجة التقليدية أن توفرها.Elisp, wordBasic
لغات معالجة النصوص  
text-string-oriented languages
هي لغات خاصة بمعالجة وتنسيق النصوص (وسلاسل المحارف)، تعتمد عموماً تقنيات مطابقة النماذج pattern matching والتعابير المنتظمة RGP, Snobol, Teco
اللغات المبنية على المكدسات.
stack-oriented programming
تعتمد هذه اللغات بنية معطيات واحدة هي المكدّس stack وتتضمن تعليماتها عمليات معالجة المكدسات والحسابات والقفز المشروط وغيرها، وتتميز بسرعة التنفيذ، وتوسيع إمكانات بعض اللغات مثل لغة C.Forms/3, Sparcl
لغات معالجة قواعد البيانات
  Data Manipulation Language)
تتميز هذه اللغات بالواجهات الخاصة بالتعابير والدلالات التصريحية، وتتألف عموماً من خلايا، تقوم كل خلية بتنفيذ تابع مكوّن من مجموعة تعليمات حسابية وبيانية.SQL

من امثلة اللغات البرمجية عالية المستوى، كائنية التوجه  Object Oriented Programing Language هي لغة جافا، التي بدأت كأحد المشاريع الصغيرة في شركة Sun Micro System في عام 1991 ونشرت رسميًا في عام 1995، تحت اسم المشروع الأخضر، وكان الهدف الأساسي منها التحكم المبدئي بالأجهزة، وقد طُورت واستحدثت من لغة C++,C وسنأتي على ذكر أهم مفاهيمها الأساسية واستعمالاتها وتطبيقاتها في هذه المقالة. 

ماهي اللغة البرمجية كائنية التوجه – Object-Oriented Programing ؟

تندرج اللغات البرمجية كائنية التوجه Object-Oriented Programing إلى نوع من أنواع البرمجة الإلزامية (الأمرية) Imperative والتي تتفرع منها كلاً من البرمجة غير المنظمة Unstructured Programming والبرمجة المنظمة Structured Programming عالية ومنخفضة المستوى على السواء، تمتاز اللغات البرمجية كائنية التوجه Object-Oriented Programing على العكس من اللغات البرمجية الأخرى مثل اللغات البرمجية الغير ذات التنظيم – non structured programing بتوفير أوامر مجزأة أثناء تنفيذها للعمليات البرمجية، على هيئة كائنات Objects وفئات Classes.

كيف تعمل جافا على مختلف أنظمة التشغيل؟ 
بيئة جافا أو Java Run-time Environment هي مجموعة برمجيات توفر بيئة دعم مناسبة وآمنة لتحقيق التوافق المناسب الذي يسمح بتشغيل مختلف التطبيقات والمواقع والألعاب على مختلف أنظمة التشغيل سواء كانت Window أو Mac وهي Linux. ويعمل المحول البرمجي Compiler على تحويل الملفات المصدرية إلى أوامر مباشرة يفهمها الحاسوب وينفذها مباشرة بما يناسب بنية الحاسوب الذي يستهدفه البرنامج. 

هل تعمل بيئة جافا فقط بمفردها لتشغيل التطبيقات والمواقع؟ 

الجافا ليست باللغة النصية مثل PHP وليست باللغة التنفيذية؛ بل انها تجمع بين الاثنين، وتحتاج إلى آلة افتراضية لتشغيلها تسمى java visual machine، وكذلك تحتاج إلى بيئة برمجية تُكتب فيها الأكواد البرمجية، مثل Netbeans أو Eclipse أو Geany وكذلك تحتاج إلى JDK وهي مكتبة الجافا Java Development Kite أو مترجم برامج الجافا، ويتوفر مجانا على موقع Sun Micro System. ويُحفظ تنسيق هذه الملفات البرمجية بصياغة JAR وهي إمتدادات تنسيق للملفات التي عادة ما تُستخدم في الفئات classes في لغة الجافا، ويمكن تحميل الـ JDK من هنا أو من هنا.

ما هي استعمالات وتطبيقات جافا؟

التطبيقات المستقلة – Java Standard Edition Java SE

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

التطبيقات المحمولة – Java Micro Edition Java ME

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

  • تطبيقات الويب – Java Enterprise Edition Java EE

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

المصادر

1. لغات البرمجة – الموسوعة العربية

2. Java for Beginners – Step by Step

3. مختصر دليل لغات البرمجة

4. Introduction To Programing

اترك تعليقًا

Please log in using one of these methods to post your comment:

شعار ووردبريس.كوم

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   /  تغيير )

Google photo

أنت تعلق بإستخدام حساب Google. تسجيل خروج   /  تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   /  تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   /  تغيير )

Connecting to %s