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

شاطر | 
 

 الفرق بين لغة السي واللغات الاخرى من حيث المقروئية وسرعة التكويد

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 

هل اعجبك/ى الموضوع ؟؟؟؟
نعم
100%
 100% [ 1 ]
لا
0%
 0% [ 0 ]
مجموع عدد الأصوات : 1
 

كاتب الموضوعرسالة
Admin
Admin


المساهمات : 11
تاريخ التسجيل : 29/05/2011

مُساهمةموضوع: الفرق بين لغة السي واللغات الاخرى من حيث المقروئية وسرعة التكويد   الأربعاء يونيو 01, 2011 5:46 pm


اولاً : المقروئية ( Readability) وتنظيم اللغة :

تعد المقروئيه عامل مهم لوضوح لغة البرمجة وسهولة استخدامها.
وتزداد أهمية هذا العامل في النظم الكبيرة, وفي النظم التي تأخذ وقت تطوير طويل ويشارك فيها كميه كبيرة من المبرمجين.
وتعتبر الكثير من الجامعات أن وضوح النص النحوي يعتبر دليلا هاما على تطور وتنظيم اللغة وأدرجته بعضها في مقاييس بناء لغات برمجة عصرية , فكلما قاربت لغة البرمجة الكلام البشري العادي والنص المكتوب كلما زادت في دعم عامل المقروئية ، مما يساعد القادمين الجدد على اللغة والمبتدئين على الانطلاق بسرعة أكبر .
ويعد التطور من لغة الآلة إلى اللغات العليا ماهو إلا تطور في نحو اللغة ومقروئيتها وتبسيط لمفاهيم كتابه العبارات البرمجيّة , حتى في هذه الأيام بدأنا نشاهد طرق تقنية جديدة لكتابه الشفرة مثل مناهج UML و مرمزات سكربت تعتمد على الصورة وتستخدم الأشكال بشكل تفاعلي لتبسيط عمليه التكويد , بحيث تبني برنامج متكامل بواسطة الفأرة (ماعدا البيانات) ، الهدف من ذلك هو درجة أعلى من التفاعلية مع فكر المستخدم.....

الفرق بين اللغات من حيث المقروئيه:

1- لغة Pascal
وهى من اللغات التي تبدو فيها خاصية المقروئية حيث تملك نموذج نحوي جميل يحوي كميه أكبر من الحشو لنحصل على شفرة مقروءة جيدا , ونظرا لتنظيم الباسكال ونحوها الأنيق فإنها تعتمد في الكثير من الجامعات كبداية لابد منها لتدريس لغات البرمجة .
وعندما صممت لغه الباسكال كان الحديث عن لغة ذات مقروئية عالية بهدف تسهيل عملية التكويد

2- لغه Eiffel
كذلك تملك نحو واضح وبسيط ومقروء بشكل ممتاز

3- لغه Smalltalk
قريبه من الاثنين أيضا , البعض يراها غريبة بشكل جميل والبعض يعتبرها ذات مقروئية عالية ,كما أن شفرتها واضحة وقريبه إلى الكلام العادي , فإذا أردنا أن نقول بالإنجليزية :"Jack pass the ball to Jill" فإنها ستكتب فيJack passtheballto Jill " Smalltalk
ولقد صممت لتكون سهلة التعلم والاستخدام .

4- لغه Python
وهى تعتبر لغة برمجة أكاديمية سهلة القراءة والفهم والتعلم حتى على مستوى التعلم كأول لغة برمجة وتتجنب الغموض وتتميز برتابتها الشبيهة برتابة لغة الباسكال.

5- لغة البرمجة lisp
إن lisp تحاول أن توفر كل ما تقدمه بقيه لغات البرمجة من مميزات لتكون موجهه إلى جميع الناس .
وهى تعتبر من أسوأ اللغات في المقروئية ربما بسبب إسرافها الغير طبيعي في استخدام الرموز والأقواس وبطريقة غير مفهومه أبداً بالنسبة للوافدين الجدد على هذه اللغة
على سبيل المثال :
Python y = m*x + b
LISP (SETQ y (+ (* m x) b))

فالفرق واضح بين هاتين اللغتين, وتعتبر اللغة lisp لغة صعبه جداً للقراءة والتعلم .

6-أما لغه ال c++
فهى تملك بنية نحويه معقده ، ليست مثل( Lisp ) ولكنها تبدو كأنها لغة من عصور قديمة لا يمكنك دائما فهمها مهما بدت السطور مألوفة لك , وتركز لغه (C++) بشكل أساسي على الشفرة المختصرة وتحاول أن تكون عمليه قدر الإمكان لذلك من المألوف أن تجد رموز وعبارات مختصرة في شفرتها أكثر من وجود كلمات مفهومه .
فنلاحظ استخدام الأقواس {} بدل Begin و Endفي باسكال مثلا , أو استخدام المعاملات &&) أو ||) بدل (And) و Or))
أو حتى دوال الدخل/ الخرج مثل cin>> و cout << الخ ..
كما أن هناك عده طرق لكتابه نفس البلوك من البرنامج , مما يربك القادمين الجدد على اللغة ويصعب عليهم فهم شفرة غيرهم .
فإن هذا الاستخدام المفرط للرموز والعبارات البديلة والمختصرة يبعد اللغة عن الاقتراب من اللغة البشرية المحكية ويجعلها لغة ترميزية أكثر من كونها لغة بشرية .

7- ال Java
تملك نحو مشابه للغة ( C++) ولكن أفضل منه قليلا .

8- لغه C#
لغة متطورة وعصرية , اتجهت أكثر لمراعاة تنظيم الشفرة و قواعد النحو أكثر من الاختصار في الشفرة الذي كان سائدا في C++ كما أنها أصبحت تلتزم أكثر بالقواعد وتكتب الشفرة بطريقة واحده, لاحظ مثلا القيود التي فرضتها على قلب الأنواع والتي كانت C++ السابقة تتساهل معها: حيث لا يوجد تحويل مباشر من Int إلى Boolean في C# وبالتالي العبارة التالية خطــأ "if (1)".
كما أنه لا يوجد في السي شارب ملفات رأسيه و لا استخدام للماكرو في ظل وجود preprocessor support for conditional code أي يتم التحقق من الشروط قبل الترجمة.
وهذا يجعل اللغة أسهل, كما أنه يزيد سرعة المترجم, ويجعل من السهولة أكثر فهم شفرة الـ C# ونلاحظ أن C# لغة مطوره عن ثلاث لغات (بنية java وهدف وهيكل Delphi ونحو C++ .

9- لغه VB.net
وهى تملك مقروئية ممتازة ، قد تكون أكبر من مقروئية C# وأقرب إلى مقروئية Delphi كما ان مايكروسوفت توجّة Visual Basic .net نحو مفاهيم مشابهة للمقروئية و تبسيط عملية التكويد أكثر من C#.



ثانياُ: سرعه التكويد

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

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



منقوووووووووووووووول

الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://educationtechnology.forumegypt.net
 
الفرق بين لغة السي واللغات الاخرى من حيث المقروئية وسرعة التكويد
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
مدخل الى تكنولوجيا التعليم :: البرمجة :: لغة السي-
انتقل الى: