3-سي 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.
--مثال:
كود PHP:
#include <stdio.h>
void main()
{
printf("Hello, world!\n");
return 0;
}
سي++ ++c
سي++ (تنطق: سي بلس بلس) (بالإنجليزية: ++C) هي لغة برمجة للاستخدامات العامة، تعتبر لغة السي++ لغة برمجة كائنية. والتي يعتبرها الكثيرون اللغة الأفضل لتصميم التطبيقات ذات الواجهة الكبيرة وللتعامل مع البنية الصلبة للحاسب. ولغة السي بلس بلس ++C من لغات البرمجة العالية المستوى وفي نفس الوقت قريبة من لغة التجميع ذات المستوى المحدود، كما أنها تعد لغة برمجة إجرائية (يمكن كتابة برنامج يحتوي على إجراءات وتوابع فقط) كما تعد لغة غرضية التوجه (البرنامج المكتوب عبارة عن أصناف وتستخدم الخواص المتاحة من كبسلة وتعددية الأشكال والوراثة والتركيب).
--تاريخها:
طوّر بيارن ستروستروب (Bjarne Stroustrup) خلال عمله في مختبرات بيل لغة سي++ في الثمانينات كتحسين للغة سي. تشمل سي++ جميع مزايا السي بالإضافة إلى مزايا البرمجة الكائنية. تسهّل لغة سي++ الأسلوب المُهيكل والمنهجي لعملية تصميم البرامج، وتعتمد على الكائنات كبنية أساسية لتشكيل البرامج.
كما هو الحال مع لغة السي، فإن سي++ لغة متعددة الاستخدامات، إلا أنها مناسبة لبرامج أنظمة التشغيل. وتكتب معظم أجزاء أنظمة التشغيل وبرامج مساعدة أنظمة التشغيل باستخدام سي++ ومنها نظام جنو/لينكس.
و يتجنب الكثير من المبرمجين لغتي سي وسي++ نظراً لشهرتهما كلغات برمجة معقدة. وقد أدى ذلك إلى استخدام الكثيرين للغات مثل فيجوال بيسك ودلفي ثم جافا وسي شارب. الأخيرتين هما مجرد تسهيل (وليس تطوير) للغة سي++، وبدا في وقت معين أن لغات مثل جافا سوف تستولي على سوق البرمجيات التجارية من سي++ مع هجرة عدد كبير من مبرمجي السي++ إلى جافا وسي شارب، إلا أنه سرعان ما أدرك المبرمجون أن السي++ هي السبيل الوحيد لإنتاج برامج تجارية قوية وسريعة وتؤدي المطلوب منها بكفاءة وبأقل عدد من الأخطاء.
--بين السي والسي++:
وفقاً لمواصفات سي++، فإنها تدعم لغة سي بشكل كامل (دعم رجعي). وعملياً يمكن لمعظم برامج السي أن تترجم بواسطة مترجمات سي++ ولهذا تسمى هذه المترجمات بمترجمات سي/سي++. إلا أن الأمر لا يخلو من بعض المشاكل غير المتوقعة، مثلاً قد يحدث أن تسمى متغيراً باسم new وهى كلمة محجوزه في سي++ وليست محجوزة في سي.
--الجديد في سي++:
الإضافة الأهم التي أتت بها السي++ عن السي هي البرمجة عن طريق الكائنات. حيث تعتمد السي على البرمجة الإجرائية والتي كانت كافية في وقتها. إلا أن ظهور أنظمة التشغيل ذات الواجهة الرسومية نقل العديد من المبرمجين إلى البرمجة بالكائنات. بالرغم من ذلك فإن السي ما زالت تُستخدم في برمجة الويندوز واليونكس. أبرز هذه الإضافات هي:
-الصفوف والكائنات.
-التحميل الزائد للعمليات: ويعتبرها الكثير أهم إضافة في سي++، لأنها جعلت من سي++ لغة قابلة للتوسع. هناك أكثر من 30 عملية يمكن التحميل الزائد عليها.
-القوالب.
-التعددية الشكلية.
-الوراثة: وهي إمكانية تطوير صنف جديد يرث جميع خصائص صنف آخر. في هذه الحالة يسمى الصنف بالصنف المشتق.
-استخدام الرمز // لتضمين الملاحظات بطول سطر واحد والتي يتم تجاهلها من قِبل المترجم عند القيام بعملية الترجمة.
--سبب صعوبتها:
ربما تعود أسباب صعوبة لغتي السي والسي++ لأسباب تاريخية أكثر منها واقعية وهو ما يردده المبرمجين المعتادين على استخدام السي++ وهذا يعود بنا إلى أصل لغة السي وهي لغة السي بي ال CPL والتي اشتهرت بشدة تعقيدها مما تسبب في ابتعاد المبرمجين عنها فتم تطويرها وتبسيطها إلى لغة سميت BCPL ولم تلقى الكثير من النجاح ولكنها تطورت إلى لغة البى B وعندما أرادو تطويرها سموها سي(وهذا هو أصل تسمية السي)، وبالطبع ورثت السي++ خصائص لغة سي. إلا أنه لا يمكن إنكار أن مفاهيم مثل المؤشرات pointers، والإشارات هي مفاهيم مربكة للمبرمج المبتدئ، بالإضافة إلى مفاهيم التوارث Inheritance وتعدد الشكل polymorphism والقوالب Templates التي تربك حتى المبرمجين المحترفين. وكذلك لا تقدم سي++ الحماية الكافية للمبرمج كي لا يقع في أخطاء التشغيل التي قد تتسبب في توقف الحاسوب عن العمل. كيف؟
في لغة الفيجوال بيسك مثلا عندما تحدد مصفوفة بحجم 20 عنصرا مثلا كالأتي :
كود PHP:
Dim A(20) As Integer
ثم تحاول معالجة العنصر رقم 21 مثلا فسوف يبادرك محرك الفيجوال بيسك برسالة خطأ ويتوقف برنامجك. أما في السي++ فاذا عرفت مصفوفة بنفس الحجم : int a[20] // integer a from 0-19 not from 0-20 و عندما تحاول الوصول إلى العنصر رقم واحد وعشرين مثلا تكون قد تعديت حدود المصفوفة إلى جزء من الذاكرة ربما تكون مخصصة لبرنامج أخر أو معلومات حساسة لنظام التشغيل وهذا يؤدي إلى إعطائك قيم خاطئة. و المشكلة الأخرى التي تربك الكثيرين أن أول عنصر بالمصفوفة هو 0 وليس 1 وحجمها 20 أى أن العنصر الأخير هو 19 وليس 20 مثل البيسك.
--مثال اللغة:
كود PHP:
# include <iostream>
using namespace std;
int main()
{
cout << "Hello, World!" << endl;
return 0;
}
5-بيسيكBasic
لغة البيسيك (BASIC) هي لغة متعددة الأغراض للمبرمجين المبتدئين واسمها اختصار لـ "Beginners All Purposes Symbolic Instruction Code". تم تطويرها سنة 1964 م وكانت تستند بشكل كبير على لغة الفورتران.
أكثر ما تميزت به لغة البيسيك هو سهولتها ويدين معظم المبرمجين ببداياتهم إلى لغة بيسيك. اشتهرت بيسك بأنها لغة مُفسرَة وليست مترجمة ويعتقد الكثيرون أنها بدأت مفسرة ولم تتم كتابة مترجمات لها إلا حديثا وذلك خطأ شائع لأن لغة بيسيك بدأت أساسا كلغة مترجمة.
و قد تطورت لغة بيسيك كثيرا منذ بدايتها إلى اليوم وبعد أن كانت لغة للمبتدئين وكتابة البرامج القصيرة أصبحت لغة احترافية يمكن استخدامها لكتابة برامج تجارية معقدة وعالية المستوى.
و يعود السبب الأساسى لانتشار بيسيك الكبير إلى اعتمادها كلغة الحواسيب المنزلية التي ازدهرت في الثمانينات. أما سبب تطورها واعتمادها كلغة احترافية فيعود بالأساس إلى مايكروسوفت ومترجمها كويك بيسيك QuickBASIC الذى أدخل البيسيك في مرحلة جديدة. وتطورت البيسيك بعد ذلك وكانت حجر الزاوية لمترجم Visual Basic الذى يعد الآن من أكثر الطرق شعبية لكتابة برامج ويندوز.(الا أنه ليس أفضلها).
--مثال:
كود PHP:
10 PRINT "Hello World" 20 END
6-فيجوال بيسكVisul Basic
فيجوال بيسك (بالإنجليزية: Visual BASIC) (ترجمتها الأساسيات المرئية).هي بيئة تطوير ولغة برمجة من مايكروسوفت تستند إلى لغة البيسك الشهيرة. وهي تصنف ضمن لغات البرمجة الشيئية. منذ أن بدأت مايكروسوفت في اصدار الفيجوال بيسك وهي تلاقى نجاحا باهرا وشعبية لا بأس بها بين المبرمجين نظرا لسهولتها الشديدة في مقابل التعقيد الشديد الذي يواجهه أى مبرمج يسعى لبرمجة ويندوز باستخدام السي أو السي++. عموما تناسب الفيجوال بيسك تطبيقات قواعد بيانات والتطبيقات المخصصة للشركات الصغيرة وبرامج الحسابات وهي مريحة وسهلة وتؤدى الغرض بالإضافة إلى أنها تسمح للمبرمج بالتركيز على حل المشكلة فغالباً ما لا يواجه صعوبات فنية أثناء كتابة برنامج بالفيجوال بيسك. و لكن بقى أن نذكر أن برامج الفيجوال بيسك لا تتم ترجمتها كاملة إلى لغة الآلة مثل السي++ أو الدلفي وإنما تترجم إلى وسطى يتصل مع مكتبة ربط تسمى ب"Run Time library" واسمها MSVBM??.dll مع استبدال علامات الاستفهام برقم الإصدار.
لغة البرمجة فيجوال بيسك هي لغة ذات تصميم مرئي واجهة رسومية بعكس بعض اللغات مثل الاسمبلي ذات الشاشة السوداء. حيث تحتوي هذه اللغة على العديد من الاوامر بداخلها ولغة سهلة التطبيق تم تطوير هذه النسخة من البرنامج عن النسخة القديمة basic والتي تعمل تحت بيئة dos إلى هذه النسخة التي تعمل تحت بيئة وندوز. تعتمد اللغة في تطوير تطبيقاتها على الكائنات فهي تشبه العديد من لغات البرمجة الحديثة من حيث اعتمادها على الديناميكية والأحداث. تعني الديناميكية في هذه اللغة القدرة على استدعاء اي اقتران أو اجراء اعتمادا على الحدث. الحدث هو اي عملية يقوم بها مستخدم التطبيق على التطبيق مثل الضغط بزر الفارة أو الضغط على أحد ازرار لوحة المفاتيح أو حتى تحميل نموذج.فيجوال بيسك أداة قوية وفعالة لتطوير تطبيقات متوافقة مع بيئة ويندوز. توفر لك بيئة تطوير متكاملة سهلة الاستخدام لإنشاء الحلول سواءً أكانت شخصية أم تجارية في وقت قياسي عن طريق فلسفة البرمجة المرئية. حيث تصمم الشاشات ونوافذ برنامجك عن طريق نقرات وتحريكات خفيفة بالفأرة كأنك ترسم مربعات ودوائر باستخدام برامج الرسم وغيرها.
--تاريخ الفيجوال بيسك:أنتجت شركة مايكروسوفت أول إصدار من لغة البيسك عام 1970م، وسمي Basic والاسم يعتبر اختصاراً لكلمة لغة البرمجة العامة التسلسلية للمبتدئين (Beginner’s All-Purpose Symbolic Instruction Code)، وتوالت الإصدارات فظهر الإصدارات GW-BASIC, QuickBasic and QBasic، وكلهم يعملون في بيئة Dos، ومع انتشار بيئة ويندوز ظهرت فيجوال بيسك التي احتوت على كثير من أوامر QBASIC وأضيفت العديد من الوظائف التي جعلت من البرمجة بفيجوال بيسك يسرة وسهلة. هناك الآلاف من المواقع التعليمية للفيجوال بيسك ومنها Visual Basic Tutorials
في عام 2000 قامت مايكروسوفت بإنتاج النسخة المطورة VISUAL BASIC.NET والتي تعتمد على البرمجة الشيئيةmezzo.
--مميزات الفيجوال بيسك:
-لغة سهلة وسريعة لإنشاء تطبيقات ويندوز.
-تدعم البرمجة الشيئية إلا أن ذلك ليس بشكل كامل.
-تجربة برامج الفيجوال بيسك سهلة وسريعة لاعتمادها على مكتبة الربط خلال وقت التشغيل.
-تعتبر لغة الفيجوال بيسك لغة كائنية المنحنى.
-سهلة التعلم والفهم.
-سهولة اكتشاف الأخطاء فيها.
-اعتماده على HMI وذلك مما جعله سهل الاستعمال والفهم.
-عند كتابة اوامر صحيحة يقوم بإعطائك أمثلة ليؤكد لك على صحة كتابة .
--عيوب الفيجوال بيسك:
-عدم مجانية برامجها ،أي أنك تحتاج غالبا للدفع للحصول على ملفات مفتوحة المصدر.
-لا يتم ترجمتها بشكل كامل إلى لغة الآلة.
-لا تدعم كافة أشكال البرمجة الشيئية.
-المترجم نفسه به بعض الشوائب والتي تظهر في البرنامج المكتوب حتى في حالة خلو البرنامج المصدر من الأخطاء.
-عيوب البرنامج من إمكانية تجميل برنامج حيث يحتوي على مربعات وازارير بدائية ولكي تحصل على الشكل المطلوب لا بد من skin خارجي وادوات خارجية.
-تعتبر من أسوأ اللغات لمحدوديتها.
-السهولة فيها تأكل القوة - عكس نضيرتها الدلفي التي تأتي بسهولة أسهل من الفيجوال بيسك وقوة السي++.
--فيجوال بيسك ليس كما كان:
تتعتمد على اللغة القديمة BASIC، وقد تجنب تعلمها بسبب حدودها التي تقصر إمكانياتها كسائر لغات البرمجة. لكن مع الإصدارات الحديثة من Visual Basic فإن الأمر اختلف! فالآن أصبحت إمكانيات اللغة بلا حدود. وقابلية التطوير لا نهائية أي أنه أصبح ذو نهاية مفتوحة. فعن طريق الإضافات Add-Ins وأدوات التحكم الخارجية ActiveX Control ومكونات COM بصفة عامة، تستطيع إنجاز كل ما استطعت إنجازه باللغات المختلفة. فلإضافة مكون COM جديد لا يتطلب الأمر منك سوى تحديد اسم وملف المكون ومن ثم استخدامه مباشرة! حقيقة لقد أصبحت أكثر تطوراً.
--إصدارات فيجوال بيسك:
-الإصدار الأول من Visual Basic كان محدود للغاية. ولم يكن موجه لتطوير التطبيقات الحقيقة لبيئة Windows. مع انه كان سهل الاستخدام ذو واجهة رسومية ولغة برمجة مرئية إلى انه كان يعتبر كلعبة مسلية للمبرمجين.
-فيجوال بيسك 2:
الإصدار الثاني من Visual Basic لم يظهر أي جديد باستثناء إضافة القليل من الخصائص ودعم أفضل لبيئة التطوير المتكاملة IDE. لكن في تلك الفترة، ظهر مولود جديد وهو النظام Access 1.0 لقواعد البيانات العلائقية وكان كل تركيز شركة Microsoft هو الدمج بينهما.
-فيجوال بيسك 3:
يعتبر الإصدار الثالث هو بداية طريق النجومية أو الشهرة لـ Visual Basic! حيث قدم دعم لقواعد البيانات وأصبح ذو نهاية مفتوحة بفضل الإضافات التي كنت تستطيع دمجها مثل VBX والتي تطورت فيما بعد إلى OCX. ظهرت الكثير من التحسينات في بيئة التطوير المتكاملة IDE وهاجر مئات إن لم يكن آلاف المبرمجين إلى Visual Basic. وبدأت تلك اللغة كمنافس ضعيف لتطوير البرامج الحقيقية أو التجارية لأنه كان ما زال ينقصها المزيد.
-فيجوال بيسك 4:
كان الهدف الأساسي من الإصدار الرابع هو مرحلة انتقالية إلى Windows 95 أو إن صح التعبير، القابلية لتطوير تطبيقات من نوع 32 bit. وكان أول إصدار من إصدارات Visual Basic تولد شيفرة للعمل تحت معالجات من نوع 32Bit. ليس هذا فقط! بل أضاف الإصدار الرابع إمكانية لإنشاء مكتبات من نوع ActiveX DLL والتي زادت في شهرة Visual Basic حتى أصبحت اللغة معترفة كلغة برمجة لإنشاء تطبيقات حقيقية حيث أضاف الميزة التي انتظرها المبرمجون وهي البرمجة الكائنية التوجه OOP لكنها كانت محدودة بسبب استطاعتك بإنشاء الفئات Class فقط دون أي إمكانية إضافية كتعدد الواجهات Polymorphism أو الوراثة Inheritance.
-فيجوال بيسك 5:
الإصدار الخامس كان بمثابة الإعلان الرسمي في أن لغة Visual Basic هي لغة برمجة لتطوير التطبيقات الحقيقية والتجارية. حيث أضاف العديد من أنواع المشاريع كـ ActiveX Controls و ActiveX Documents وغيرها.. وإضافة مزايا عديدة للتحكم بشيفرة ملف الـ EXE الذي يخيرك من تحويل الشيفرة المصدرية إلى P-Code أو Native-Code. بالإضافة إلى التحسن الحقيقي لبيئة التطوير المتكاملة IDE والدعم الإضافي لقواعد البيانات.
-فيجوال بيسك 6:
الإصدار السادس لا يختلف عن الإصدار الخامس كثيرا لكن هناك العديد من التحسينات وعلاج للأخطاء التي كانت موجودة في الإصدار الخامس. من أهم الإضافات في الإصدار السادس هي الزيادة في أدوات قواعد البيانات والمبنية على ADO. كذلك تحسن واضح في أدوات التحكم. وهناك العديد من التطوير في لغة البرمجة كدعم أنواع البيانات المعرفة من قبل المستخدم UDT والزيادة في الدوال Functions. وإضافة المزيد من الويزارد Wizards ودعم لتطبيقات الإنترنت Internet. والكثير والكثير من التحسينات.
-فيجوال بيسك.نت:
تم إنتاج هذا الإصدار مع تغيير جذري عما سبقه من الإصدارات ولقد صدر في ظل هذه التقنية أربعة إصدارات إلى الآن
-فيجوال بيسك.نت 2003
-فيجوال بيسك.نت 2005
-فيجوال بيسك.نت 2008
-فيجوال بيسك.نت 2010
--حلول الانترنت:
فيجوال بيسك يوفر لك العديد من الحلول والخاصة بالإنترنت. فيمكنك من إنشاء أدوات تحكم ActiveX Controls يتم تنفيذها في صفحة الويب. أو تصميم تطبيقات متقدمة كـ ActiveX Documents للعمل على متصفح Internet Explorer. المزيد أيضا، Visual Basic يوفر لك بيئة تطوير خاصة لتطوير تطبيقات الإنترنت سواءً كانت للعميل Client كتطوير تطبيقات من نوع DHTML Applications أو للخادم Server كتطوير تطبيقات ASP Applications.
مستقبلك مع فيجوال بيسك:
انتهى تطوير الفيجوال بيسك 6 منذ العام 1997م وتخلت عنه شركته المنتجة Microsoft حيث لم تدعم تطبيقاته في النسخ الجديدة من نظام التشغيل الشهير MS Windows لذلك فقد أصبح من الماضي.
و اتجه المصنعون (الشركات العملاقة) الآن إلى ال.net وهي الأكثر قوة وتطورا.