قائمة المدونات الإلكترونية

الخميس، 28 أبريل 2011

تطور لغة الـ C Introduction To C Language


في عام 1960 قام باحثون بجامعة لندن بتصميم لغة البرمجة المزدوجة (combined programming language )  أو (CPL )  .


وفي عام 1967 قام مارتن ريتشاردز بتصميم لغة (BCPL)
( Basic Combined Programming)  ،وهي مشتقة من لغة (CPL) وبعد ذلك قام Thompson بتطوير هذه اللغة و أسماها (B) .




وفي عام 1972 قامت Ritchie في مختبرات شركة (AT&T) الأمريكية بابتكار لغة الـ C   و هي مشتقة من لغة (B) حيث أخذ منها أحسن تعليماتها و تم إضافة أوامر جديدة لها و كذلك أنواع أخرى للبيانات و مجموعة من الدوال (Functions) و أصبحت هذه اللغة أقرب ما يكون للغات منخفضة المستوى.


في 1987 ( نهاية الثمانينات) طور (Bjarne Stroustrup), والذي كان يعمل في مختبرات بيل, لغة السي++ كتحسين للغة السي، وتشمل السي++ جميع مزايا السي بالإضافة إلى مزايا البرمجة الكائنية، وتسهّل لغة ++C الأسلوب المهيكل والمنهجي لعملية تصميم البرامج، وتعتمد على الكائنات كبنية أساسية لتشكيل البرامج.


ثم أبتكر ++C ، و في أقل من عقد انطلقت من نطاق مبرمجي AT&T لتصبح لغة البرمجة المفضلة لدى المبرمجين المحترفين،
إن ++C هي إطار موسع للغةC ، ويمكن القول أن كل برنامج C يعتبر برنامج شرعيا بلغة ++C . ، ولكن بالطبع هناك فرق بين  C إلى ++C أكبر مما يبدو .

ولغة JAVA و C Sharp  هما مجرد تسهيل (وليس تطوير) للغة السى++.


التطور المستقبلي للـ ++C: يواصل التطوّر لتلبية المتطلبات المستقبلية، نسخة جديدة من ++C القياسية حاليا هي قيد التطوير.

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

التصرف ، على مستوى البرمجيات software أو الأجهزةhardware .

الثاني : شعبية وانتشار نظام يونيكس ، كنظام تشغيل يكتب بلغة سي ، فهي تدعم 

نظام يونيكس ، وهو يدعمها .

26 التعليقات:

غير معرف يقول...

شكرا دكتور محمد

غير معرف يقول...

حساب الياهو ليس موجود

bo7meeeed يقول...

هناك اصدارات مختلفة لتطور اللغة منها
Visual C
الخاصة بشركة Microsoft
و يمتاز هذا الاصدار بعدة مميزات منها:
1-الاعتماد على الكائنات فى التصميم البرمجى .
2- امكانية الربط مع Medules مختلفة ترتبط ببرامج معينة مثل قواعد البيانات و لغات برمجية خاصة ببرمجة الويب .

غير معرف يقول...

الجديد في سي++
الاضافة الأهم التى أتت بها السي++ عن السي هى بالطبع اليرمجه عن طريق الكائنات. حيث تعتمد السي على البرمجة الاجرائية والتى كانت كافية في وقتها. الا أن بظهور أنظمة التشغيل ذات الواجهة الرسومية انتقل معظم المبرمجين إلى البرمجة بالكائنات . الا أن السي مازالت تستخدم في برمجة الويندوز.
و هذا بالاضافة إلى بضعة اضافات أخرى مثل :
- مكتبات جديدة لأداء مهام الادخال والاخراج تعتمد على الكائنات. & - كلمة inline التى تضمن الاجراء الفرعى في الأساسي بدلا من استدعائه.
- استخدام الاشاره // لتضمين الملاحظات بطول سطر واحد.


سبب صعوبتها

ربما تعود أسباب صعوبة لغتى السي والسي++ لأسباب تاريخية أكثر منها واقعية وهو ما يردده المبرمجين المعتادين على استخدام السي++ وهذا يعود بنا إلى أصل لغة السي وهى لغة السي بى ال CPL والتى اشتهرت بشدة تعقيدها مما تسبب في ابتعاد المبرمجين عنها فتم تطويرها وتبسيطها إلى لغة سميت BCPL ولم تلقى الكثير من النجاح ولكنها تطورت إلى لغة البى B وعندما أرادو تطويرها سموها سي( وهذا هو أصل تسمية السي) ، وبالطبع ورثت السي++ خصائص لغة سي. الا أنه لا يمكن انكار أن مفاهيم مثل المؤشرات pointers ، والاشارات هى مفاهيم مربكة للمبرمج المبتدىء ، بالاضافة إلى مفاهيم التوارث Inheritance وتعدد الشكل polymorphism والقوالب Templates التى تربك حتى المبرمجين المحترفين. وكذلك لا تقدم سي++ الحماية الكافية للمبرمج كى لا يقع في أخطاء التشغيل التى قد تتسبب في توقف الحاسوب عن العمل. كيف؟
في لغة الفيجوال بيسك مثلا عندما تحدد مصفوفة بحجم 20 عنصرا مثلا كلأتى :
Dim A(20) As Integer
ثم تحاول معالجة العنصر رقم 21 مثلا فسوف يبادرك محرك الفيجوال بيسك برسالة خطأ ويتوقف برنامجك. أما في السي++ فاذا عرفت مصفوفة بنفس الحجم : int a[20] // integer a from 0-19 not from 0-20 و عندما تحاول الوصول إلى العنصر رقم عشرين مثلا تكون قد تعديت حدود المصفوفة إلى جزء من الذاكرة ربما تكون مخصصة لبرنامج أخر أو معلومات حساسة لنظام التشغيل. و المشكلة الأخرى التى تربك الكثيرين أن أول عنصر بالمصفوفة هو 0 وليس 1 وحجمها 20 أى أن العنصر الأخير هو 19 وليس 20 مثل البيسك.

عيوب السى ++
عيوب السى ++ تكمن فى صعوبتها وتعقيدها


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


التوثيق
http://www.damasgate.com/vb/t125483-2.html

تعليق سالى الدالى

غير معرف يقول...

سي++:
سي++ (تنطق: سي بلس بلس) (بالإنجليزية: ++C‏) هي لغة برمجة متعددة الاستخدام، وتعتبر لغة برمجة كائنية. يعتبرها الكثيرون اللغة الأفضل لتصميم التطبيقات ذات الواجهة الكبيرة وللتعامل مع البنية الصلبة للحاسب، وذلك لسرعتها في التنفيذ والتي لا تختلف كثيرًا عن السي، وفي المقابل توفر تعامل أكثر تعقيدًا مع البيانات.

تاريخ السي بلس بلس:
طوّر بيارن ستروستروب (Bjarne Stroustrup) خلال عمله في مختبرات بيل لغة سي++ في الثمانينات كتحسين للغة سي. تشمل سي++ جميع مزايا السي بالإضافة إلى مزايا البرمجة الكائنية. تسهّل لغة سي++ الأسلوب المُهيكل والمنهجي لعملية تصميم البرامج، وتعتمد على الكائنات كبنية أساسية لتشكيل البرامج.
كما هو الحال مع لغة السي، فإن سي++ لغة متعددة الاستخدامات، إلا أنها مناسبة لبرامج أنظمة التشغيل. وتكتب معظم أجزاء أنظمة التشغيل وبرامج مساعدة أنظمة التشغيل باستخدام سي++ ومنها نظام جنو/لينكس.
و يتجنب الكثير من المبرمجين لغتي سي وسي++ نظراً لشهرتهما كلغات برمجة معقدة. وقد أدى ذلك إلى استخدام الكثيرين للغات مثل فيجوال بيسك ودلفي ثم جافا وسي شارب. الأخيرتين هما مجرد تسهيل (وليس تطوير) للغة سي++، وبدا في وقت معين أن لغات مثل جافا سوف تستولي على سوق البرمجيات التجارية من سي++ مع هجرة عدد كبير من مبرمجي السي++ إلى جافا وسي شارب، إلا أنه سرعان ما أدرك المبرمجون أن السي++ هي السبيل الوحيد لإنتاج برامج تجارية قوية وسريعة وتؤدي المطلوب منها بكفاءة وبأقل عدد من الأخطاء

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

مثال لطباعة Hello World! بالسي++:
# include
using namespace std;

int main()
{
cout << "Hello, World!" << endl;
return 0;
}

التوثيق :
ar.wikipedia.org/wiki/سي%2B%2B_(لغة_برمجة)

شيماء البيلى أحمد البيلى
الفرقة الرابعة
شعبة إعداد معلم الحاسب الالى

حياه اسماعيل يقول...

مطور لغة C++ هو الدكتور ستروستروب DR.Bjarne Stroustrup حيث قام بتطويرها عام 1979 في مختبرات بيل و هي عبارة عن تحسين للغة C حيث تم إضافة المميزات البرمجية التى لم تكن موجودة في لغةC مثل البرمجة الكائنية او الشيئية Object object-oriented programming وتستخدم لغة ++Cكثيراً في بناء أنظمة التشغيل مثل نظام جنو/لينكس.

المصدر:
www.infotech-union.com
montada.sptechs.com

تشتهر لغة C كلغة برمجة نظم system software حيث تستخدم لكتابة برامج النظم التشغيلية وذلك لإنها تعد لغة قريبة، وتشبه إلى حد كبير لغة التجميع As-sembly وتمتاز بسرعتها الكبيرة، كما تملك مجموعة جيدة من التعليمات، كما أنها لغة قابلة للنقل من جهاز إلى آخر لصغر الجزء الواجب نقله
وازداد اهتمام محترفي البرمجة بلغة الـC ، والنسخ المحسنة منها c++ . إذ إن معظم التطبيقات تكتب بها .

ocean يقول...

متطلبات العمل
1- كومبايلر للغة ودعني اقول لك ماهو الكومبايلر حتى وان كنت تعرفه انه البرنامج الذي يحول البرنامج الذي تكتبه الى برنامج تنفيذي قابل للتشغيل والتوزيع والبيع الى آخر ذلك وهناك انواع كثيرة مثل

Borland C++
Microsoft Visual C++
Watcom C/386
DJGPP.

غة ++c
تعتبر لغة السي الآن من أشهر اللغات , وأكثرها أنتشارا في الدول المتقدمة ,وبدا المبرمجون من كافة الاختصاصات يكتبون برامجهم بها .
وقد ولدت لغة السي ونشات وترعرعت في أحضان نظام يونيكس الذي صمم في مختبرات شركة AT&T الامريكية , حيث كتب نظام يونيكس أول ما كتب , بلغة التجميع Assembly لأجهزة PDP-7 , ثم طوره الباحثان ثومبسون Thompson وريتشي Ritchie ليناسب اجهزة PDP-11 الأكثر تطورا .
وقد فضلت شركة Bell الأمريكية وغيرها من الشركات نظام يونيكس بسبب أنه قابل للتنقل بين أنظمة التشغيل المختلفة Portable وعلى عكس لغة التجميع المرتبطة بالمعالجات الدقيقة , وغير قابلة للنقل.
في الوقت نفسه , كان ثومبسون نفسه يطور بعض لغات البرمجة التي تناسب أنظمة تشغيل مختلفة , ومن هذه اللغات : لغة Basic Combined Programming BCPL التي صممها مارتن ريتشاردز Martin Richards في كامبردج عام 1967 ,وهذه اللغة كانت قد انبثقت من لغة أخرى هي Combined Programming Language CPL التي صممت في جامعة لندن في حوالي عام 1960 , وهذه الاخيرة استعارت بعض تعليماتها من لغة الجول 60 AGOL 60 قام بعد ذلك ثومبسون بتطوير BCPL وسماها لغة B فقط ومن الجدير بالذكر أن جميع هذه اللغات المذكورة آنفا تعتبر كلغة التجميع ,لعات الآلة Machine Languages .
بعد ذلك قام ريتشس فأخذ من B أحسن تعليماتها وغير في كثير من قيودها وأضاف إليها تعليمات أخرى جديدة , مثل أنواع المعطيات ومواصفات التخزين وجعل منها لغة برمجة Software Language كما هي لغة الآلة وسماها لغة C - وهو حرف ابجدي متقدم على الحرف B فولدت بذلك لغة سي عام 1972م , على يد ريتشي نفسه في مختبرات AT&T الامريكية .
وقد تطورت لغة السي بعد ذلك تطورات سريعة وأصبحت من اكثر لغات البرمجة شعبية وإقبالا وذلك لسببين رئيسيين وهما :
الأول: مرونة لغة السي , فهي تصلح لكافة التطبيقات , وتعطي المبرمج حرية التصرف , على مستوى البرمجيات Spftware أو الاجهزة Harware .
الثاني : شعبية وانتشار نظام يونيكس , كنظام تشغيل يكتب بلغة السي , فهي تدعم نظام يونيكس , وهو يدعمها.
وتعتبر لغة سي الآن من أشهر اللغات وأكثرها انتئارا والدول المتقدمة وبدأ المبرمجون من كافة الاختصاصات يكتبون برامجهم بها, وعلى سبيل المثال لا الحصر , ظهر كتاب "برامج المايكرو كمبيوتر للمهندسين والكيميائيين"عام 1987 عن دار ماجرو هيل الامريكية , مكتوبا من ألفخ إلى يائه بلغة سي , ومعنى ذلك أنه يفترض أن جميع المهندسين والمبرمجين في امريكا يفهمون لغة السي , ويتعاملون بها.
زبعد ذلك قام بيرون ستروستروب Stroustrup بتطوير C - وهي الاكثر شعبية في الحقل البرمجي كي توائم البرمجة الكائنية بعد انتشار التحليل والتصميم الكائني . ثم ابتكر ++C , وفي أقم من عقد انطلقت من نطاق مبرمجي AT&T لتصبح لغة البرمجة المفضلة لدى المبرمجين المحترفين .
إن ++C هي إطار موسع للغة C ويمكن القول أن كل برنامج C يعتبر برنامجا شرعيا بلغة ++C ولكن لا تركن لهذا المر فالوثبة من C إلى ++C أكبر مما يبدو.
وقد استفادت ++C ولعدة سنوات من علاقتها بلغة C إذ استطاع كثير من مبرمجين C استعمال ++C بسهولة ، علما أن معظم المبرمجين رأوا أنهم مضطرين للتخلي عن كثير من المفاهيم السابقة واعتماد رؤية أخرى لحل مشاكل البرمجة إن هم رغبوا في الاضطلاع بهذه اللغة.
سي بلس بلس والبرمجة الكائنية
تدعم لغة ++C المقومات الاربعة للبرمجة الكائنية .التغليف أو الكبسلة،إفاء البيانات ، الوراثة وتعددية الأشكال.
التغليف وإخفاء البيانات:
تدعم ++C صفة التغليف وإخفاء البيانات عبر إنشاء أنواع جديدة تسمى بالصفوف Classes ومن ثم يقوم الصف المحدد بالعمل ككائن مغلف تماما ويستعمل كوحدة متكاملة بحيث يبقى عمله الداخلي مستورا لا يحتاج المستعمل- مستعمل الـ Class - إلى فهم هذا العمل المخبأ حيث ينبغي أن يعرف كيفية استعماله فقط.

نوع المتغير

int
الاعلان عن اعداد صحيحة
float
الاعلان عن اعداد عشرية
char
الاعلان عن حروف
void

كريم محمد عطيه

غير معرف يقول...

بالنسبة لتطور لغة ال c:-
لأول مرة في عام 1978، و منذ أول ظهورها الأول جذبت إليها الكثير من المبرمجين، فالأفكار التي تضمنتها و الطريقة التي عرضت بها برمجة الكومبيوتر ساعدت كثيرا في علمية تطور البرمجيات.

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

في منتصف الثمانينات ظهرت فكرة تطبيق الكائنات في لغة سي، البرمجة بواسطة الكائنات هي فكرة قديمة و وجدت في بعض لغات البرمجة في ذلك الوقت، و فكرتها أن يقسم الكود في إجراءات، و تلك الإجراءات تجمع معا في كائنات، و بالفعل طبقت لأول مرة في يناير 1989 و ظهرت يومها لغة سي++.

اشتهرت في تلك الفترة لغة سي و سي++ كأفضل لغات البرمجة، الكثير من الطلاب في الجامعات يتعلمونها، الكثير من النظم بنيت بواسطتها، و هناك العديد من المبرمجين الذين اتجهوا لبناء تطبيقاتهم بواسطتها.

تعليق : إيمان نصر

غير معرف يقول...

وقد تطورت لغة سي ، بعد ذلك تطورات سريعة ، وأصبحت من أكثر لغات البرمجة شعبية وإقبالاً ، وذلك لسببين رئيسيين هما :

الأول : مرونة لغة سي ، فهي تصلح لكافة التطبيقات ، وتعطي المبرمج حرية التصرف ، على مستوى البرمجيات software أو الأجهزةhardware .


الثاني : شعبية وانتشار نظام يونيكس ، كنظام تشغيل يكتب بلغة سي ، فهي تدعم نظام يونيكس ، وهو يدعمها .

وتعتبر لغة سي الآن ، من أشهر اللغات ، وأكثرها انتشاراً في الدول المتقدمة ، وبدأ المبرمجون ، من كافة الاختصاصات يكتبون برامجهم بها ، وعلى سبيل المثال ، لا الحصر ، ظهر كتاب [ برامج المايكرو كمبيوتر للمهندسين الكيميائيين ] عام 1987م عن دار ماجرو هيل الأمريكية ، مكتوباً من ألفه إلى يائه بلغة سي ، ومعنى ذلك أنه يفترض أن جميع المهندسين الكيميائيين في أمريكا يفهمون لغة سي ، ويتعاملون بها .


تعليق ايمان نصر - الفرقة الرابعة

أحمد الدسوقى محمد الدسوقى الزعترى يقول...

كم هيا لغة حقاً مفيده و عملية برمجية ممتازة جدا و كم من المعلومات الهائلة فى التعليقات السابقة مفيدة و أفادتنى فى مجال البرمجة بالـ ++C

لكم مني جزيل الشكر و التقدير

El Z3try

MONER يقول...

بسم الله الرحمن الرحيم


اليكم شرح لغة C

من خلال هذا الرابط :

http://www.megaupload.com/?d=3FUNKDV1

وشكرااااااااا

غير معرف يقول...

كانت أول بداية للغة السي في مختبرات شركة AT&T الأمريكية في عام 1972م وكانت البداية كمشروع تولى الإشراف عليه دينيس ريتشي ( Dennis Ritchie ). وهو يعتبر مخترع لغة السي باستخدام نظام التشغيل Unix. ولغة سي هي في الأصل لغة قديمة يطلق عليها اسم BCPL. و BCPL طورت بواسطة مارتن ريتشارد ( Martin Richards ) في كامبرج عام 1967م والتي بدورها كانت لغة B والتي اخترعت بواسطة كين تومسون.
ولقد أدت لغة Bإلي تطوير لغة السي في السبعينات.
حيث قام دينيس ريتشي ( Dennis Ritchie ) وأخذ من لغة B أحسن تعليماتها ، وغير في كثير من قيودها ، وأضاف إليها تعليمات أخرى عديدة وجعل منها لغة برمجة وسماها لغة C.
وبالرغم من أن لغة C قد أنشأت لاستخدامها في برمجة النظم إلا أنه انتشر استخدامها كلغة ذات مستوى عالي في تنفيذ البرامج التطبيقية ، ومع ذلك فإن لغة C و C++ تستخدمان كلغة ذات مستوى متدنى وذلك نظراً على توفير المميزات التي توفرها اللغات في هذا المستوى كالقدرة على التعامل مع العناصر الثنائية bit مثلاً.
وفي الوقت نفسه تستخدم لغة C و C++ كلغتين ذات مستوى عالي لقدرتهما على توفير الجمل التحكمية ( Control Statements ) والهياكل البنائية ( Data Structure ) والتي هي من مميزات اللغات ذات المستوى العالي.
ولقد تطورت لغة السي تطورات كبيرة واكتسبت شعبية و إقبالاً ولعل السبب الرئيسي هو شعبية وانتشار نظام التشغيل UINX ، وهو أهم نظام لتشغيل الحاسبات المتطورة. حيث أن هذا النظام كتب بلغة السي وهذا الأمر يعتبر مصدر قوة للغة السي بين سائر اللغات الأخرى.
وتعتبر لغة السي الآن من أشهر اللغات وأكثرها انتشاراً ولكن في الدول المتقدمة ، ولقد بدأ المبرمجون من كافة الاختصاصات يكتبون برامجهم بها ، وعلى سبيل المثال لا الحصر :
ظهر كتاب (برامج المايكرو كمبيوتر للمهندسين الكيميائين ) عام 1987م عن دار ماجرو هيل الأمريكية ،مكتوباً من ألفه إلي يائه بلغة السي ، ومعنى ذلك أنه يفترض أن على جميع المهندسين الكيميائين في أمريكيا يفهمون لغة السي ، ويتعاملون بها. أضف إلي ذلك أن معظم الشركات ، تطلب في إعلاناتها مبرمجين بلغة سي.
كانت معيارية لغة سي لعدة سنوات عبارة عن مصنف Compiler مزود على نظام التشغيل Unix . وبعد انتشار وشيوع الحاسب الشخصي تم إنشاء العديد من المصنفات للغة سي. ومما يجدر ذكره هنا أنه على الرغم من تعدد المصنفات كانت هناك توافقية عالية جداً بين أكثرها (INI) وهو برنامج كتب ليعمل على أحد المصنفات وإنه بلا شك سيعمل مع مصنفات أخرى. ومع ذلك لأنه لم يكن هناك أي معيار أو مقياس Standard معتمد.
وكانت هناك بعض التناقضات بين المصنفات ، ولمعالجة هذه المشكلة أسست لجنة في صيف عام 1983م لإنشاء معيار ANSI:
و هي اختصار American National Standards Institute والتي تعني هيئة القياسات الأمريكية. وكان الدور الأساسي لهذه اللجنة هو تعريف لغة سي مرة واحدة وللأبد.
وأخذت معالجة توحيد القياس للغة سي ما يقارب 6 سنوات وهذا أكثر مما كان متوقع. وفي نهاية عام 1989م ثبت أول معيار للغة سي وسمي ANSI C ، ولغة سي القياسية تسمح بأن يكون الاسم التعريفي مكوناً من إي عدد من الرموز حتى 31 رمز ، وكانت النسخ الأولى من هذا المقياس متوفرة في عام 1990م.
1-معنى لغة السي:
تعتبر لغة السي أحد اللغات ذات المستوى العالي ، وتعد أفضل لغة لكتابة برمجيات النظم التي تتحكم في المكونات المادية للحاسب مباشرة ، ومعظم نظم التشغيل مكتوبة بلغة السي مثل:
1-نظام Windows95/98.
2-نظام التشغيل UNIX.
2- مميزات لغة السي:
1-تعتبر لغة السي لغة سريعة :
وذلك لأنها تتحكم في المكونات المادية للحاسب مباشرة ، ولذلك تعد نسبياً أسرع تنفيذاً من اللغات الأخرى.
2-أنها لغة صالحة لأغراض متعددة ( تجارية - علمية - فنية - أدبية ).
3-للغة السي صورة قياسية معتمدة:
وذلك لأن تطوير لغة السي تم في شركة واحدة ( Bell ).
ونلاحظ أن الفرق بين نمط و آخر من أنماط لغة السي هي فروق بسيطة جداً ، بينما نجد أن الفروق كبيرة وكثيرة بين أشكال وصور لغة مثل لغة البيسك ، لأن كل شركة صانعة لأجهزة الحاسبات تضع تعليمات خاصة ومختلفة للغة ، وتختلف عما تضعه الشركات الأخرى.
4-تعتبر لغة السي لغة غنية بالدوال:
وتوفر لغة السي للمبرمج عدداً كبيراً من دوال الإدخال والإخراج ، والدوال الرياضية والحسابية، وهو الأمر الذي يسهل عملية بناء البرامج بها.
3-عيوب لغة السي:
1-أنها تعتمد على أسلوب المترجم والذي يقوم بترجمة البرنامج بأكمله دفعة واحدة ثم يقوم بعرض قائمة من الأخطاء بعكس لغة البيسك التي تعتمد على أسلوب المفسر حيث يتم تفسير البرنامج سطر سطر مما يسهل على المستخدم تصحيح الأخطاء بكل سهولة ويسر.
2-هناك أخطاء لا يستطيع مترجم لغة السي أن يكتشفها.
-ملاحظة هامة: ان لغة C++ ليست هي لغة C مع التشابه الكبير لأوامر ودوال اللغتين

مني مصطفي عرابي

غير معرف يقول...

aلغة السي شارب لغة ميكروسوفت الجديدة والي بتعمل تحت اطار عمل الدوت نت
صممت لتكون ابسط واحدث والهدف الرئيسي من تصميمها عمل لغة برمجة تُجمع كل المفاهيم الرئيسية للبرمجة الشيئية الموجوده في اللغات الاخري ووضعها في لغة واحده
لغة السي شارب المفروض انها بتترجم للغة الالة زيها زي اي لغة
بس ف الحقيقة طبعا كلنا عارفيين موضوع لغات الدوت نت انها لازم تترجم الاول للغة وسيطة وبعدين من اللغة الوسيطة للغة الالة والقصة دي كلها
لغة السي شارب تعتبر اللغة الاساسية في لغات الدوت نت لانها مصممة مع الدوت نت علي خلاف اللغات الاخري المنفصلة عن الدوت نت
بس ميكروسوفت عشان تسهل علي المبرمجين عملتلهم بيئة تطويير متكامله

يعني عبارة عن برنامج فيه كل الادوات الي ممكن يحتاجها المبرمج عشان يعمل البرنامج بتاعه
يعني فيها محرر نصوص
فيها Compiler
فيها Debugger
وحاجات كتيير بقي من التوولز التانية الي ممكن يحتاجها اي مبرمج و
اسمها فيجوال ستوديو والي بتضم مجموعة من لغات الدوت نت المشهورة
زي السي شارب C#
والفجوال باسيك Visual Basic
والسي بلس بلس C++ .NET
وغيرهم
تعتبر لغة السي أحد اللغات ذات المستوى العالي ، وتعد أفضل لغة لكتابة برمجيات النظم التي تتحكم في المكونات المادية للحاسب مباشرة ، ومعظم نظم التشغيل مكتوبة بلغة السي مثل:
1-نظام Windows95/98.
2-نظام التشغيل Unux

الاسم: عزيزة سلطان
الفرقة: الرابعة
قسم اعداد معلم الحاسب الالى

heba ameen يقول...

لغة سي C :
طورت هذه اللغة في معامل Bell من قبل Dennis Ritchie وهي تطوير لنسخة قديمه تسمى B من لغة BCPL التي ظهرت عام 1969م . لذا سميت هذه النسخة اللاحقة بـ C .
وتشتهر لغة C باستخدامها كلغة برمجة نظم system software حيث تستخدم لكتابة برامج النظم التشغيلية . إذ إنها تعد لغة قريبة، وتشبه إلى حد كبير لغة التجميع As-sembly وتمتاز بسرعتها الكبيرة، كما تملك مخجموعة جيدة من التعليمات، كما أنها لغة قابلة للنقل من جهاز إلى آخر لصغر الجزء الواجب نقله منها، وتعد لغة C من اللغات التركيبية Structured Language .
وازداد اهتمام محترفي البرمجة بلغة الـC ، والنسخ المحسنة منها C+ , C++ . إذ إن معظم التطبيقات تكتب بها .
لغات الجيل الرابع : Fourth-Generation language (4GL) :
سميت بهذا الاسم نسبة إلى الجيل التي ظهرت فيه، مثل هذه اللغات التي تتصف بقلة التعليمات التي يكتبها المبرمج لتحقيق هدف ما ، فما كان يتطلب مئات الأسطر من لغة بيسك أو الآلاف من لغة كوبول باستخدام عدد بسيط من الأسطر في هذه اللغات .
تمتاز هذه اللغات بعدة مزايا :
1ــ إنها لغة موجهة للنتائج أي إن المبرمج يهتم بطلب ما يريده من الكمبيوتر، دون أن يوجهه لكيفية القيام بذلك .
2ــ زادت من الإنتاجية؛ لأن كتابة البرامج وصيانتها أكثر سهولة .
3ــ سهلة الاستخدام، وتتطلب قليلاً من التدريب على استخدامها، سواء كان للبرمجة أو غيرها .
4ــ لم يعد المستخدم بحاجة إلى التفكير في الأجهزة أو هيكلية البرنامج .
وقد بدأت لغات الجيل الرابع بالانتشار بين المبرمجين، وبشكل كبير جداً لما توفره لغات البرمجة هذه من سهولة في معاملة الملفات، وربط هذه الملفات بعضها مع بعض بغرض التحديث أو طباعة التقارير .
كما توفر هذه اللغات قوة في المشاركة في الموارد البرمجية وخصوصاً الملفات، ومن أمثال هذه اللغات لغة Dbase من Borland ، ولغة Foxpro من Microsoft ، و Oracle من Ingress، وتستخدم لغة الاستفسار المهيكلة SQL Structured Query Language في عمليات بناء قواعد المعلومات وتحديثها، وتوفير الحماية اللازمة لها


التوثيق:
http://montada.sptechs.com/programming-languages/topic3295.html


تعليق:هبة الوصيف

غير معرف يقول...

تاريخ لغة ++c :
طوّر بيارن ستروستروب (Bjarne Stroustrup) خلال عمله في مختبرات بيل لغة سي++ في الثمانينات كتحسين للغة سي. تشمل سي++ جميع مزايا السي بالإضافة إلى مزايا البرمجة الكائنية. تسهّل لغة سي++ الأسلوب المُهيكل والمنهجي لعملية تصميم البرامج، وتعتمد على الكائنات كبنية أساسية لتشكيل البرامج.

كما هو الحال مع لغة السي، فإن سي++ لغة متعددة الاستخدامات، إلا أنها مناسبة لبرامج أنظمة التشغيل. وتكتب معظم أجزاء أنظمة التشغيل وبرامج مساعدة أنظمة التشغيل باستخدام سي++ ومنها نظام جنو/لينكس.

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

بين C و C++ :
وفقاً لمواصفات سي++، فإنها تدعم لغة سي بشكل كامل (دعم رجعي). وعملياً يمكن لمعظم برامج السي أن تترجم بواسطة مترجمات سي++ ولهذا تسمى هذه المترجمات بمترجمات سي/سي++. إلا أن الأمر لا يخلو من بعض المشاكل غير المتوقعة، مثلاً قد يحدث أن تسمى متغيراً باسم new وهى كلمة محجوزه في سي++ وليست محجوزة في سي.

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

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

[عدل] إضافات أخرى

* استخدام الرمز // لتضمين الملاحظات بطول سطر واحد والتي يتم تجاهلها من قِبل المترجم عند القيام بعملية الترجمة.


سبب صعوبتها :
بما تعود أسباب صعوبة لغتي السي والسي++ لأسباب تاريخية أكثر منها واقعية وهو ما يردده المبرمجين المعتادين على استخدام السي++ وهذا يعود بنا إلى أصل لغة السي وهي لغة السي بي ال CPL والتي اشتهرت بشدة تعقيدها مما تسبب في ابتعاد المبرمجين عنها فتم تطويرها وتبسيطها إلى لغة سميت BCPL ولم تلقى الكثير من النجاح ولكنها تطورت إلى لغة البى B وعندما أرادو تطويرها سموها سي(وهذا هو أصل تسمية السي)، وبالطبع ورثت السي++ خصائص لغة سي. إلا أنه لا يمكن إنكار أن مفاهيم مثل المؤشرات pointers، والإشارات هي مفاهيم مربكة للمبرمج المبتدئ، بالإضافة إلى مفاهيم التوارث Inheritance وتعدد الشكل polymorphism والقوالب Templates التي تربك حتى المبرمجين المحترفين. وكذلك لا تقدم سي++ الحماية الكافية للمبرمج كي لا يقع في أخطاء التشغيل التي قد تتسبب في توقف الحاسوب عن العمل. كيف؟

في لغة الفيجوال بيسك مثلا عندما تحدد مصفوفة بحجم 20 عنصرا مثلا كالأتي :

Dim A(20) As Integer

ثم تحاول معالجة العنصر رقم 21 مثلا فسوف يبادرك محرك الفيجوال بيسك برسالة خطأ ويتوقف برنامجك. أما في السي++ فاذا عرفت مصفوفة بنفس الحجم : int a[20] // integer a from 0-19 not from 0-20 و عندما تحاول الوصول إلى العنصر رقم واحد وعشرين مثلا تكون قد تعديت حدود المصفوفة إلى جزء من الذاكرة ربما تكون مخصصة لبرنامج أخر أو معلومات حساسة لنظام التشغيل وهذا يؤدي إلى إعطائك قيم خاطئة. و المشكلة الأخرى التي تربك الكثيرين أن أول عنصر بالمصفوفة هو 0 وليس 1 وحجمها 20 أى أن العنصر الأخير هو 19 وليس 20 مثل البيسك.


المرجع :
http://ar.wikipedia.org/wiki/%D8%B3%D9%8A%2B%2B_(%D9%84%D8%BA%D8%A9_%D8%A8%D8%B1%D9%85%D8%AC%D8%A9)

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

أحمد نصر الدين السيد

غير معرف يقول...

هل تعلم ان مطور لغة C++ هو الدكتور ستروستروب DR.Bjarne Stroustrup حيث قام بتطويرها عام 1979 في مختبرات بيل و هي عبارة عن تحسين للغة C حيث تم إضافة المميزات البرمجية التى لم تكن موجودة في لغةC مثل البرمجة الكائنية او الشيئية Object object-oriented programming وتستخد لغة ++Cكثيراً في بناء أنظمة التشغيل مثل نظام جنو/لينكس
تم تصميم السي في مختبرات بيل ما بين 1969 و 1972، وقد تم تسميته بالسي لأن جزأ كبيرا منه قد اقتبس عن لغة البي (B) و عندما تطورت السي إلى درجة أصبحت فيها بالقوة الكافية لتحويل نواة يونكس من الأسمبلي إلى السي

وفي سنة 1978 قام كرنيغان (Brian Kernighan) ورتشي (Dennis Ritchie) بنشر الكتاب المشهور The C Programming Language وذلك لتحديد خصائص اللغة, ويعرف هذا الكتاب في الأوساط المختصة ب K&R. إلا أن تقنين اللغة وتبنيها بصفة رسمية من طرف الANSI والISO تم في الثمانينات وكنتيجة لذلك ظهرت الطبعة الثانية للكتاب بعنوان The C Programming Language, Second Edition, أو K&R2 وهو المرجع الرئسئ للغة إلى حد الآن ISBN 0-13-110362-8. و بتقنين اللغة تمت إضافة أجزاء وتنقيح أخرى لتفادي السلبيات التي ظهرت في السابق ولتهيئة أداة أفضل وأقوى بالنسبة للمبرمج

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

ايمان الامام على الشبلى
الفرقه الرابعه
حاسب الى

غير معرف يقول...

تطور لغة إل c
طورت هذه اللغة في معامل Bell من قبل Dennis Ritchie وهي تطوير لنسخة قديمه تسمى B من لغة BCPL التي ظهرت عام 1969م . لذا سميت هذه النسخة اللاحقة بـ C .
وتشتهر لغة C باستخدامها كلغة برمجة نظم system software حيث تستخدم لكتابة برامج النظم التشغيلية . إذ إنها تعد لغة قريبة، وتشبه إلى حد كبير لغة التجميع As-sembly وتمتاز بسرعتها الكبيرة، كما تملك مجموعة جيدة من التعليمات، كما أنها لغة قابلة للنقل من جهاز إلى آخر لصغر الجزء الواجب نقله منها، وتعد لغة C من اللغات التركيبية Structured Language .
وازداد اهتمام محترفي البرمجة بلغة إلC ، والنسخ المحسنة منها C+ , C++ . إذ إن معظم التطبيقات تكتب بها .
لغات الجيل الرابع : Fourth-Generation language (4GL) :
سميت بهذا الاسم نسبة إلى الجيل التي ظهرت فيه، مثل هذه اللغات التي تتصف بقلة التعليمات التي يكتبها المبرمج لتحقيق هدف ما ، فما كان يتطلب مئات الأسطر من لغة بيسك أو الآلاف من لغة كوبول باستخدام عدد بسيط من الأسطر في هذه اللغات .
تمتاز هذه اللغات بعدة مزايا :
1ــ إنها لغة موجهة للنتائج أي إن المبرمج يهتم بطلب ما يريده من الكمبيوتر، دون أن يوجهه لكيفية القيام بذلك .
2ــ زادت من الإنتاجية؛ لأن كتابة البرامج وصيانتها أكثر سهولة .
3ــ سهلة الاستخدام، وتتطلب قليلاً من التدريب على استخدامها، سواء كان للبرمجة أو غيرها .
4ــ لم يعد المستخدم بحاجة إلى التفكير في الأجهزة أو هيكلية البرنامج .
وقد بدأت لغات الجيل الرابع بالانتشار بين المبرمجين، وبشكل كبير جداً لما توفره لغات البرمجة هذه من سهولة في معاملة الملفات، وربط هذه الملفات بعضها مع بعض بغرض التحديث أو طباعة التقارير .
كما توفر هذه اللغات قوة في المشاركة في الموارد البرمجية وخصوصاً الملفات، ومن أمثال هذه اللغات لغة Dbase من Borland ، ولغة Foxpro من Microsoft ، و Oracle من Ingress، وتستخدم لغة الاستفسار المهيكلة SQL Structured Query Language في عمليات بناء قواعد المعلومات وتحديثها، وتوفير الحماية اللازمة لها .

الاسم: صفاء لطفي السري
الفرقة: الرابعة
الشعبة: حاسب الى

غير معرف يقول...

تطور لغة إل c
طورت هذه اللغة في معامل Bell من قبل Dennis Ritchie وهي تطوير لنسخة قديمه تسمى B من لغة BCPL التي ظهرت عام 1969م . لذا سميت هذه النسخة اللاحقة بـ C .
وتشتهر لغة C باستخدامها كلغة برمجة نظم system software حيث تستخدم لكتابة برامج النظم التشغيلية . إذ إنها تعد لغة قريبة، وتشبه إلى حد كبير لغة التجميع As-sembly وتمتاز بسرعتها الكبيرة، كما تملك مجموعة جيدة من التعليمات، كما أنها لغة قابلة للنقل من جهاز إلى آخر لصغر الجزء الواجب نقله منها، وتعد لغة C من اللغات التركيبية Structured Language .
وازداد اهتمام محترفي البرمجة بلغة إلC ، والنسخ المحسنة منها C+ , C++ . إذ إن معظم التطبيقات تكتب بها .
لغات الجيل الرابع : Fourth-Generation language (4GL) :
سميت بهذا الاسم نسبة إلى الجيل التي ظهرت فيه، مثل هذه اللغات التي تتصف بقلة التعليمات التي يكتبها المبرمج لتحقيق هدف ما ، فما كان يتطلب مئات الأسطر من لغة بيسك أو الآلاف من لغة كوبول باستخدام عدد بسيط من الأسطر في هذه اللغات .
تمتاز هذه اللغات بعدة مزايا :
1ــ إنها لغة موجهة للنتائج أي إن المبرمج يهتم بطلب ما يريده من الكمبيوتر، دون أن يوجهه لكيفية القيام بذلك .
2ــ زادت من الإنتاجية؛ لأن كتابة البرامج وصيانتها أكثر سهولة .
3ــ سهلة الاستخدام، وتتطلب قليلاً من التدريب على استخدامها، سواء كان للبرمجة أو غيرها .
4ــ لم يعد المستخدم بحاجة إلى التفكير في الأجهزة أو هيكلية البرنامج .
وقد بدأت لغات الجيل الرابع بالانتشار بين المبرمجين، وبشكل كبير جداً لما توفره لغات البرمجة هذه من سهولة في معاملة الملفات، وربط هذه الملفات بعضها مع بعض بغرض التحديث أو طباعة التقارير .
كما توفر هذه اللغات قوة في المشاركة في الموارد البرمجية وخصوصاً الملفات، ومن أمثال هذه اللغات لغة Dbase من Borland ، ولغة Foxpro من Microsoft ، و Oracle من Ingress، وتستخدم لغة الاستفسار المهيكلة SQL Structured Query Language في عمليات بناء قواعد المعلومات وتحديثها، وتوفير الحماية اللازمة لها .

الاسم: صفاء لطفي السري
الفرقة: الرابعة
الشعبة: حاسب الى

غير معرف يقول...

التطور التاريخي للغة سي :

ولدت لغة سي ونشأت وترعرعت في أحضان نظام يونيكس UNIX ، الذي صُمم في مختبرات شركة AT&T الأمريكية .


كتب نظام يونيكس أول ما كتب ، بلغة التجميع Assembly لأجهزة PDP-7 ، ثم طوره الباحثان ثومبسون Thompson وريتشي Ritchie ليناسب أجهزة PDP-11 الأكثر تطوراً . وقد فضلت شركة Bell الأمريكية ، وغيرها من الشركات ، نظام يونيكس ، بسبب أنه قابل للنقل ، بين أنظمة التشغيل المختلفة (Portable) ، على عكس لغة التجميع المرتبطة بالمعالجات الدقيقة ، وغير القابلة للنقل .


في الوقت نفسه ، كان ثومبسون نفسه يطور بعض لغات البرمجة ، التي تناسب أنظمة تشغيل مختلفة ، ومن هذه اللغات : لغة ( Basic Combined Programming) BCPL التي صممها مارتن ريتشاردز Martin Richards في كامبردج عام 1967، وهذه اللغة ، كانت قد انبثقت من لغة أخرى هي (Combined Programming Language ) CPL ، التي صممت في جامعة لندن في حوالي عام 1960م . وهذه الأخيرة ، استعارت بعض تعليماتها من لغة الجول 60 ( AGOL 60) . قام بعد ذلك ثومبسون بتطوير BCPL ، وسماها لغة B فقط . ومن الجدير بالذكر ، أن جميع هذه اللغات المذكورة آنفاً ، تعتبر كلغة التجميع ، لغات للآلة Machine Languages .


بعد ذلك ، قام ريتشي ، فأخذ من B أحسن تعليماتها ، وغير في كثير من قيودها ، وأضاف إليها تعليمات أخرى جديدة ، مثل أنواع المعطيات ، ومواصفات التخزين ، وجعل منها لغة برمجة Software language كما هي لغة للآلة وسماها لغة C ( وهو حرف أبجدي متقدم عن الحرف B ) ، فولدت بذلك لغة سي عام 1972م ، على يد ريتشي نفسه ، في مختبرات AT&T الأمريكية .

وقد تطورت لغة سي ، بعد ذلك تطورات سريعة ، وأصبحت من أكثر لغات البرمجة شعبية وإقبالاً ، وذلك لسببين رئيسيين هما :

الأول : مرونة لغة سي ، فهي تصلح لكافة التطبيقات ، وتعطي المبرمج حرية التصرف ، على مستوى البرمجيات software أو الأجهزةhardware .

الثاني : شعبية وانتشار نظام يونيكس ، كنظام تشغيل يكتب بلغة سي ، فهي تدعم نظام يونيكس ، وهو يدعمها .


وتعتبر لغة سي الآن ، من أشهر اللغات ، وأكثرها انتشاراً في الدول المتقدمة ، وبدأ المبرمجون ، من كافة الاختصاصات يكتبون برامجهم بها ، وعلى سبيل المثال ، لا الحصر ، ظهر كتاب [ برامج المايكرو كمبيوتر للمهندسين الكيميائيين ] عام 1987م عن دار ماجرو هيل الأمريكية ، مكتوباً من ألفه إلى يائه بلغة سي ، ومعنى ذلك أنه يفترض أن جميع المهندسين الكيميائيين في أمريكا يفهمون لغة سي ، ويتعاملون بها .


و بعد ذلك قام بيورن ستروستروب Stroustrup بتطوير C . و هي الأكثر شعبية في الحقل البرمجي كي توائم البرمجة الكائنية بعد انتشار التحليل و التصميم الكائني . ثم أبتكر C++ ، و في أقل من عقد انطلقت من نطاق مبرمجي AT&T لتصبح لغة البرمجة المفضلة لدى المبرمجين المحترفين .

إن C++ هي إطار موسع للغة C و يمكن القول أن كل برنامج C يعتبر برنامج شرعيا بلغة C++ . و لكن لا تركن لهذا الأمر فالوثبة من C إلى C++ أكبر مما يبدو .

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

تعليق :-إيمان نصر

غير معرف يقول...

++C

هل تعلم ان مطور لغة C++ هو الدكتور ستروستروب DR.Bjarne Stroustrup حيث قام بتطويرها عام 1979 في مختبرات بيل و هي عبارة عن تحسين للغة C حيث تم إضافة المميزات البرمجية التى لم تكن موجودة في لغةC مثل البرمجة الكائنية او الشيئية Object object-oriented programming وتستخد لغة ++Cكثيراً في بناء أنظمة التشغيل مثل نظام جنو/لينكس.
المصدر لهذة المعلومات
http://www.infotech-union.com/forum/showthread.php?t=184

الجديد في سي++

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

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

[عدل] إضافات أخرى

استخدام الرمز // لتضمين الملاحظات بطول سطر واحد والتي يتم تجاهلها من قِبل المترجم عند القيام بعملية الترجمة.

المصدر:-
http://ar.wikipedia.org/wiki/%D8%B3%D9%8A%2B%2B_%28%D9%84%D8%BA%D8%A9_%D8%A8%D8%B1%D9%85%D8%AC%D8%A9%29

تعليق:-
هبة احمد السعيد امين
الفرقة الرابعة

غير معرف يقول...

سي. تشمل سي++ جميع مزايا السي بالإضافة إلى مزايا البرمجة الكائنية. تسهّل لغة سي++ الأسلوب المُهيكل والمنهجي لعملية تصميم البرامج، وتعتمد على الكائنات كبنية أساسية لتشكيل البرامج.
كما هو الحال مع لغة السي، فإن سي++ لغة متعددة الاستخدامات، إلا أنها مناسبة لبرامج أنظمة التشغيل. وتكتب معظم أجزاء أنظمة التشغيل وبرامج مساعدة أنظمة التشغيل باستخدام سي++ ومنها نظام جنو/لينكس.
و يتجنب الكثير من المبرمجين لغتي سي وسي++ نظراً لشهرتهما كلغات برمجة معقدة. وقد أدى ذلك إلى استخدام الكثيرين للغات مثل فيجوال بيسك ودلفي ثم جافا وسي شارب. الأخيرتين هما مجرد تسهيل (وليس تطوير) للغة سي++، وبدا في وقت معين أن لغات مثل جافا سوف تستولي على سوق البرمجيات التجارية من سي++ مع هجرة عدد كبير من مبرمجي السي++ إلى جافا وسي شارب، إلا أنه سرعان ما أدرك المبرمجون أن السي++ هي السبيل الوحيد لإنتاج برامج تجارية قوية وسريعة وتؤدي المطلوب منها بكفاءة وبأقل عدد من الأخطاء.
[عدل] بين السي والسي++
- وفقاً لمواصفات سي++، فإنها تدعم لغة سي بشكل كامل (دعم رجعي). وعملياً يمكن لمعظم برامج السي أن تترجم بواسطة مترجمات سي++ ولهذا تسمى هذه المترجمات بمترجمات سي/سي++. إلا أن الأمر لا يخلو من بعض المشاكل غير المتوقعة، مثلاً قد يحدث أن تسمى متغيراً باسم new وهى كلمة محجوزه في سي++ وليست محجوزة في سي.
[عدل] الجديد في سي++
الإضافة الأهم التي أتت بها السي++ عن السي هي البرمجة عن طريق الكائنات. حيث تعتمد السي على البرمجة الإجرائية والتي كانت كافية في وقتها. إلا أن ظهور أنظمة التشغيل ذات الواجهة الرسومية نقل العديد من المبرمجين إلى البرمجة بالكائنات. بالرغم من ذلك فإن السي ما زالت تُستخدم في برمجة الويندوز واليونكس. أبرز هذه الإضافات هي:
• الصفوف والكائنات.
• التحميل الزائد للعمليات: ويعتبرها الكثير أهم إضافة في سي++، لأنها جعلت من سي++ لغة قابلة للتوسع. هناك أكثر من 30 عملية يمكن التحميل الزائد عليها.
• القوالب.
• التعددية الشكلية.
• الوراثة: وهي إمكانية تطوير صنف جديد يرث جميع خصائص صنف آخر. في هذه الحالة يسمى الصنف بالصنف المشتق.
حنان منحنمد ابو عيسي
الفرقة الرابعة

myzayen يقول...
أزال المؤلف هذا التعليق.
myzayen يقول...

Operators
Main article: Operators in C and C++

C supports a rich set of operators, which are symbols used within an expression to specify the manipulations to be performed while evaluating that expression. C has operators for:

* arithmetic: +, -, *, /, %
* assignment: =
o augmented assignment: +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=
* bitwise logic: ~, &, |, ^
* bitwise shifts: <<, >>
* boolean logic: !, &&, ||
* conditional evaluation: ? :
* equality testing: ==, !=
* calling functions: ( )
* increment and decrement: ++ and --
* member selection: ., ->
* object size: sizeof
* order relations: <, <=, >, >=
* reference and dereference: &, *, [ ]
* sequencing: ,
* subexpression grouping: ( )
* type conversion: (typename)

myzayen يقول...

Memory management

One of the most important functions of a programming language is to provide facilities for managing memory and the objects that are stored in memory. C provides three distinct ways to allocate memory for objects:

* Static memory allocation: space for the object is provided in the binary at compile-time; these objects have an extent (or lifetime) as long as the binary which contains them is loaded into memory. Static variables are automatically initialized to zero upon memory allocation.
* Automatic memory allocation: temporary objects can be stored on the stack, and this space is automatically freed and reusable after the block in which they are declared is exited
* Dynamic memory allocation: blocks of memory of arbitrary size can be requested at run-time using library functions such as malloc from a region of memory called the heap; these blocks persist until subsequently freed for reuse by calling the library function free

These three approaches are appropriate in different situations and have various tradeoffs. For example, static memory allocation has no allocation overhead, automatic allocation may involve a small amount of overhead, and dynamic memory allocation can potentially have a great deal of overhead for both allocation and deallocation. On the other hand, stack space is typically much more limited and transient than either static memory or heap space, and dynamic memory allocation allows allocation of objects whose size is known only at run-time. Most C programs make extensive use of all three.

Where possible, automatic or static allocation is usually preferred because the storage is managed by the compiler, freeing the programmer of the potentially error-prone chore of manually allocating and releasing storage. However, many data structures can grow in size at runtime, and since static allocations (and automatic allocations in C89 and C90) must have a fixed size at compile-time, there are many situations in which dynamic allocation must be used. Prior to the C99 standard, variable-sized arrays were a common example of this (see malloc for an example of dynamically allocated arrays).

Automatically and dynamically allocated objects are only initialized if an initial value is explicitly specified; otherwise they initially have indeterminate values (typically, whatever bit pattern happens to be present in the storage, which might not even represent a valid value for that type). If the program attempts to access an uninitialized value, the results are undefined. Many modern compilers try to detect and warn about this problem, but both false positives and false negatives occur.

Another issue is that heap memory allocation has to be manually synchronized with its actual usage in any program in order for it to be reused as much as possible. For example, if the only pointer to a heap memory allocation goes out of scope or has its value overwritten before free() has been called, then that memory cannot be recovered for later reuse and is essentially lost to the program, a phenomenon known as a memory leak. Conversely, it is possible to release memory too soon and continue to access it; however, since the allocation system can re-allocate or itself use the freed memory, unpredictable behavior is likely to occur. Typically, the symptoms will appear in a portion of the program far removed from the actual error, making it difficult to track down the problem. Such issues are ameliorated in languages with automatic garbage collection.

myzayen يقول...

المصدر الخاص بالتعليقات

http://en.wikipedia.org/wiki/C_%28programming_language%29

غير معرف يقول...

++C

هل تعلم ان مطور لغة C++ هو الدكتور ستروستروب DR.Bjarne Stroustrup حيث قام بتطويرها عام 1979 في مختبرات بيل و هي عبارة عن تحسين للغة C حيث تم إضافة المميزات البرمجية التى لم تكن موجودة في لغةC مثل البرمجة الكائنية او الشيئية Object object-oriented programming وتستخد لغة ++Cكثيراً في بناء أنظمة التشغيل مثل نظام جنو/لينكس

تاريخ السي بلس بلس
طوّر بيارن ستروستروب (Bjarne Stroustrup) خلال عمله في مختبرات بيل لغة سي++ في الثمانينات كتحسين للغة سي. تشمل سي++ جميع مزايا السي بالإضافة إلى مزايا البرمجة الكائنية. تسهّل لغة سي++ الأسلوب المُهيكل والمنهجي لعملية تصميم البرامج، وتعتمد على الكائنات كبنية أساسية لتشكيل البرامج.
كما هو الحال مع لغة السي، فإن سي++ لغة متعددة الاستخدامات، إلا أنها مناسبة لبرامج أنظمة التشغيل. وتكتب معظم أجزاء أنظمة التشغيل وبرامج مساعدة أنظمة التشغيل باستخدام سي++ ومنها نظام جنو/لينكس.
و يتجنب الكثير من المبرمجين لغتي سي وسي++ نظراً لشهرتهما كلغات برمجة معقدة. وقد أدى ذلك إلى استخدام الكثيرين للغات مثل فيجوال بيسك ودلفي ثم جافا وسي شارب. الأخيرتين هما مجرد تسهيل (وليس تطوير) للغة سي++، وبدا في وقت معين أن لغات مثل جافا سوف تستولي على سوق البرمجيات التجارية من سي++ مع هجرة عدد كبير من مبرمجي السي++ إلى جافا وسي شارب، إلا أنه سرعان ما أدرك المبرمجون أن السي++ هي السبيل الوحيد لإنتاج برامج تجارية قوية وسريعة وتؤدي المطلوب منها بكفاءة وبأقل عدد من الأخطاء.
[عدل] بين السي والسي++
- وفقاً لمواصفات سي++، فإنها تدعم لغة سي بشكل كامل (دعم رجعي). وعملياً يمكن لمعظم برامج السي أن تترجم بواسطة مترجمات سي++ ولهذا تسمى هذه المترجمات بمترجمات سي/سي++. إلا أن الأمر لا يخلو من بعض المشاكل غير المتوقعة، مثلاً قد يحدث أن تسمى متغيراً باسم new وهى كلمة محجوزه في سي++ وليست محجوزة في سي.
[عدل] الجديد في سي++
الإضافة الأهم التي أتت بها السي++ عن السي هي البرمجة عن طريق الكائنات. حيث تعتمد السي على البرمجة الإجرائية والتي كانت كافية في وقتها. إلا أن ظهور أنظمة التشغيل ذات الواجهة الرسومية نقل العديد من المبرمجين إلى البرمجة بالكائنات. بالرغم من ذلك فإن السي ما زالت تُستخدم في برمجة الويندوز واليونكس. أبرز هذه الإضافات هي:
• الصفوف والكائنات.
• التحميل الزائد للعمليات: ويعتبرها الكثير أهم إضافة في سي++، لأنها جعلت من سي++ لغة قابلة للتوسع. هناك أكثر من 30 عملية يمكن التحميل الزائد عليها.
• القوالب.
• التعددية الشكلية.
• الوراثة: وهي إمكانية تطوير صنف جديد يرث جميع خصائص صنف آخر. في هذه الحالة يسمى الصنف بالصنف المشتق.
[عدل] إضافات أخرى
• استخدام الرمز // لتضمين الملاحظات بطول سطر واحد والتي يتم تجاهلها من قِبل المترجم عند القيام بعملية الترجمة.
[عدل] سبب صعوبتها
ربما تعود أسباب صعوبة لغتي السي والسي++ لأسباب تاريخية أكثر منها واقعية وهو ما يردده المبرمجين المعتادين على استخدام السي++ وهذا يعود بنا إلى أصل لغة السي وهي لغة السي بي ال CPL والتي اشتهرت بشدة تعقيدها مما تسبب في ابتعاد المبرمجين عنها فتم تطويرها وتبسيطها إلى لغة سميت BCPL ولم تلقى الكثير من النجاح ولكنها تطورت إلى لغة البى B وعندما أرادو تطويرها سموها سي(وهذا هو أصل تسمية السي)، وبالطبع ورثت السي++ خصائص لغة سي. إلا أنه لا يمكن إنكار أن مفاهيم مثل المؤشرات pointers، والإشارات هي مفاهيم مربكة للمبرمج المبتدئ، بالإضافة إلى مفاهيم التوارث Inheritance وتعدد الشكل polymorphism والقوالب Templates التي تربك حتى المبرمجين المحترفين. وكذلك لا تقدم سي++ الحماية الكافية للمبرمج كي لا يقع في أخطاء التشغيل التي قد تتسبب في توقف الحاسوب عن العمل. كيف؟
في لغة الفيجوال بيسك مثلا عندما تحدد مصفوفة بحجم 20 عنصرا مثلا كالأتي :
Dim A(20) As Integer
[عدل] مثال لطباعة Hello World! بالسي++
# include
int main()
{

cout << "Hello, World!" << endl;

return 0;
system("pause");
الاسم:حنان محمد ابو عيسي
الفرقة الرابعة

إرسال تعليق