انواع لغات البرمجه و الفروقات بينها و خصائص و عيوب كلاً منها

Programming Languages1

مقدمة

 

قبل أن تتعلم لغات البرمجة  يجب عليك أن تحدد الهدف الذى دفعك لتعلم البرمجة , لأن الهدف هو الذى سوف يحدد لك الطريق الذى سوف تسلكه , حيث أن للبرمجة طرق وأساليب ولغات بناء على هدفك سوف تحدد لغتك وطريقتك وأسلوبك فى العمل.

*

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

*

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

*

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

*
فإذا أردت أن تبنى بناء صلبا متينا لا تؤثر فيه الرياح يجب عليك أن تهتم بالأساس والأعمدة التى سيقام عليها البناء. وهنا سؤال يطرح نفسه دائماً :

*

كيف أفرق بين لغات البرمجة وكيف أحدد اي منها أفضل أو بعبارة أخرى أى منها أقوى او بعبارة أصح أى منها يحقق الهدف؟

*

فيجوال بيسيك  Visual Basic 6

 

 

Visual Basic اداة قوية وفعالة لتطوير تطبيقات متوافقة مع بيئة Windows. يوفر لك بيئة تطوير متكاملة سهلة الاستخدام لانشاء الحلول سواء كانت شخصية او تجارية في وقت قياسي عن طريق فلسفة البرمجة المرئية. حيث تصمم الشاشات ونوافذ برنامجك عن طريق نقرات وتحريكات خفيفة بالفأرة كأنك ترسم مربعات ودوائر باستخدام برامج رسم وغيرها.

*

البيزيك المرئي

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

*

 

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

*

 

و لكن بقى أن نذكر أن برامج الفيجوال بيسك لا تتم ترجمتها كاملة إلى لغة الألة مثل السى++ أو الدلفى و انما تترجم إلى كود وسطى يتصل مع مكتبة ربط تسمى ب”Run Time library” و اسمها MSVBMnn.dll مع ملاحظة أن حرفى ال”ان” يشيران إلى رقم الاصدارة. 

*

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

*

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

*

مميزات الفيجوال بيسك

  •  لغة سهلة و سريعة لانشاء تطبيقات ويندوز. 
  •  تدعم البرمجة الشيئية الا أن ذلك ليس بشكل كامل. 
  •  تجربة برامج الفيجوال بيسك سهلة و سريعة لاعتمادها على مكتبة الربط خلال و قت التشغيل. 
  •  سهولة اكتشاف الاخطاء فيها لانها تعتمد على نظام المفسر الذى يختبر كل خطوة من خطوات الكود على حدة واذا اكتشف فيها خطأ يتوقف ويبين لك الخطأ داخل الكود.

*

عيوب الفيجوال بيسك

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

*

التوافقية مع ويندوز
التطبيقات التي تنشئها بواسطة Visual Basic متوافقة 100% مع اصدارات Windows المختلفة. فالنواة الداخلية للتطبيقات المنشئة بواسطة Visual Basic هي عبارة عن سيل من اجراءات API التي عبارة عن روح نظام Windows. اما عن الدوال الاضافية التي توفرها لغة البرمجة فهي موجودة في مكتبة مستقلة MSVBVM60.DLL وهي المسؤولة عن تشغيل برامجك التي طورتها عن طريق Visual Basic.

*

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

*

 

فيجوال بيسيك دوت نت Visual Basic .Net

فيجوال بيسيك دوت نت تعتبر لغة برمجة جديدة وليس لها علاقة بالاصدارات السابقة من فيجوال بيسيك من الاصدار 1 حتى الاصدار6.

*

فالتشابه هنا فى الاسم مع اضافة المقطع دوت نت .NET والذى يوضح لنا أنها لغة برمجة تعتمد على اطار العمل Microsoft .NET Framework والذى يعتبر بحر عميق يحتوى على ثروة هائلة من الأدوات البرمجية والكلاسيس التى تسهل عليك الكثير والكثير من العناء فى الحصول على أدوات برمجية اضافية ووحدات نمطية وأكواد كثيرة لتجعل برنامجك أكثر فاعلية وقوة.

*

ويقول محمد حمدى غانم فى كتابه “من الصفر الى الاحتراف فيجوال بيسيك 2008″:

*

في نهاية عام 2001 أقدمت ميكروسوفت أخيرا على الخطوة التي طال انتظارها، فأصدرت نسخة جديدةً بكلّ المقاييس من فيجيوال بيزيك، بنتها من جذورها From scratch لتجعلها إحدى لغات نظام فيجيوال ستديو دوت نت VS.NET، لتستفيد بكل قدرات إطار العمل Framework، فتصير بذلك ندّا حقيقيّا لعائلة لغات C++، بحيثُ تتسيد فيجيوال بيزيك برمجة تطبيقات مواقع الإنترنت والتطبيقات التجاريّة وتطبيقات قواعد البيانات والوسائط المتعدّدة ومعظم الألعاب وما شابه!

*

وأعتقدُ أنّ هذا هو السبب الذي دفع ميكروسوفت إلى إصدار اللغة الجديدة سي شارب C#، التي تُعتبر توأما لفيجيوال بيزيك إلا إنّها تستخدم قواعد C++ في كتابة الأوامر، ممّا يشكّلُ لمبرمجي C++ إغراءً تصعبُ مقاومته للانتقالِ إليها، كما انضمت لغة J# إلى عائلة دوت نت عام 2003، لتشكل إغراء لمبرمجي الجافا تصعب مقاومته!

*

ولكن مهما كانت سهولة C# و J#، فإنّ VB تصرعُهما في هذا المضمار، فهي أقربُ ما تكونُ إلى اللّغةِ الإنجليزيّة العاديّة، ولا تحتوي على الرموزِ الكثيرةِ المملّة التي تملأ سي شارب وجي شارب، مثل ; ، ++ ، == ، —-…. إلى آخر هذه الرموزِ التي تجعلُ احتمالاتِ الخطإ عند كتابةِ الكودِ أعلى، وتجعلُ البرنامجَ أصعبَ فهمًا وأقلَّ ألفةً عندَ قراءته.

*

ولم تتوقف ميكروسوفت عن التطوير لحظة، ففي العام التالي أصدرت دوت نت 2003، وبعدها بعامين أصدرت دوت نت 2005 التي ضيقت الفجوة أكثر بين فيجيوال بيزيك وسي شارب بإضافة بعض القدرات الناقصة (مثل إعادة تعريف المعاملات Operator Overloading).. وها هي ذي دوت نت 2008 تأتي لتقدم أذكى نسخة من فيجيوال بيزيك.. نسخة قادرة على تعريف أنواع مجهولة Anonymous Types من تلقاء نفسها بناء على فهمهما للقيم التي تكتبها في الكود، بل وتمكّنك من كتابة وسائل إضافية Extended Methods للفئات الجاهزة الموجودة في اللغة، بالإضافة إلى استخدام الاستعلام المتكامل IinQ، وغير ذلك من الإمكانيات المدهشة.

*

الجديد فى فيجوال بيسك دوت نت

 

“نقلا عن بعض الكتب العربية والمتخصصين فى هذا المجال” إنّ التطويرات التي لحقت بـ VB.Net من الكثرةِ بحيثُ لن نستطيع أن نحيطَ بها كلّها هنا.. ولكن يكفي أن نذكر منها ما يلي:

- لم تعد لـ VB واجهة استخدام مستقلّة، فكلّ لغات VS.Net تستخدم واجهة واحدة، مليئة بالأدواتِ التي تُسهّل بطريقة مدهشة عمليّةَ تصميم البرنامج.. إنّ هذه الميزة تسمح لك بإنشاء تطبيقات تدخل فيها أكثر من لغة برمجة، دون أن تحتاج لفتح أكثر من واجهة.. إنّها واجهة واحدة فقط لكلّ المبرمجين.

*

- هناك إمكانيّات جديدةٌ في نافذة محرّر الكود، منها قيام اللغة بكتابة جملة نهاية المقطع تلقائيّا، بمجرّد كتابتك لبدايته وضغط زرّ Enter.

كمّا أنّ هناك تحسيناتٍ كثيرةً في تلميحات الشاشةِ التي تعرضُ قيمَ المتغيّراتِ وأنواعَها ومعاملاتِ الإجراءاتِ والدوالِّ وقيمَها المعادة، مع نبذة عن وظيفة كلّ دالة وكلّ معامل.. باختصار: لقد أصبحت كتابة الكود متعة.

*

- هناك تحسيناتٌ كثيرةٌ في مظهر النموذج والأدوات، وهناك العديدُ من الخصائص والوسائل الجديدة التي تمّت إضافتها لهذه العناصر، بحيث تمنحك تحكّما أكبر فيها.. فمثلا، أصبح بإمكانك تحديد درجة شفافية النموذج، كما صار بإمكانك تحديد المنطقة التي ستظهر منه على الشاشة، بحيث يمكنك تصميم نماذج بأيّ شكل.. ولم تعد مضطرّا لكتابة الكود الذي يحافظ على تناسب مقاييس الأدوات مع مقاييس النموذج كلّما تغيّر حجم النموذج، فقد صارت هناك خصائصُ جاهزةٌ مسئولةً عن هذا.. هذا بخلافِ العديد من الأدوات الجديدة، مثل الفاصل Splitter الذي يُمكّنك من تغييرِ حجمِ الأدوات المتجاورةِ أثناء تشغيل البرنامج.

*

- صار بإمكانك إضافة الأزرار والأدوات للنماذج في وقت التنفيذ Run Time، مع قدرتك على ربطها بأيّ إجراء، ليتمّ استدعاؤه عند ضغطها.

*

- لم يعد هناك أيّ قصور في مترجم الكود Compiler، فكلّ لغات VS.Net تعمل على مترجم واحد، ممّا يعني أنّ VB قد صار بقوّة وسرعة وكفاءة VC++.. وكمثال، صار بإمكانك استخدام البرمجة الارتداديّة Recursive Programming دونّ أن تخشى من بطئها أو استهلاكها لحجم الذاكرة، فقد صارت في منتهى السرعة والكفاءة.

*

- أصبح بإمكانك معالجة الأخطاء، عن طريق استخدام معالجات الاستثناءات Exception Handlers في جملة Try.. Catch.. End Try.

*

- VB.Net مبنيّةٌ بالكاملِ على مفهومِ البرمجةِ بالكائنات Object Oriented Programming، لدرجة أنّ الأعدادَ الصحيحة Integers والنصوص Strings والمصفوفات Arrays قد صارت خلايا Classes، وصارت لهذه العناصرِ خصائصُ ووسائلُ جاهزة.. فمثلا، أصبحت لديك وسائل جاهزة تنتمي للمتغيّر النصّيّ، تسمح لك بالبحث فيه أو تقطيعه أو استبدال أجزاء منه… إلخ… كما صارت لديك وسائلُ جاهزةٌ لعكسِ المصفوفةِ وترتيبِها والبحثِ فيها!

*

- صار بإمكانك استخدام كلّ مفاهيم الوراثة Inheritance وتعدّد الأشكال Polymorphism بلا أيّ مشاكل.. وإن كان مسموحا لك بوراثة خليّة واحدة فقط Single Inheritance للتسهيل.

*

- يمنحك إطار العمل .Net Framework ثروة هائلة من الخلايا Classes، تقدّر بـ 3500 خليّة، تفعل كلّ ما تحلم به وأكثر، بحيث تريحك بدرجة كبيرةٍ من الاحتياج لاستخدام دوال API الخاصّة بالويندوز، بما فيها من تعقيد ومشاكل.. وأحدث ما فعلته (ميكروسوفت)، هو إصدار نسخة جديدة من DirectX مبنيّة بالكامل بالخلايا بدلا من APIs.

*

- هذا بخلاف أنّ معظم هذه الخلايا قابل للوراثة، بما فيها الأدوات Controls نفسها، ممّا يمنحك القدرة على تطوير أدائها بما يناسبك. 

*

- ومن الخلايا الجاهزة العديدة التي يمكنك استخدامها، الخلايا التالية: Stack ـ Queue ـ BitArray، و ArrayList وغيرها.

*

- أصبح بإمكانك تعريف المتغيّرات داخل مقاطع الجمل الشرطيّة If Statements والجمل التكراريّة Loops، بحيث تكون معزولة عن المتغيّرات الموجودة خارج هذه المقاطع.

*

- بل أصبح بإمكانك تعريف الخلايا داخل الخلايا Nested Classes، وأيّ نوعٍ Type داخل أيّ نوع آخر.

*

- أصبح بإمكانك تعريف الواجهات Interfaces وكتابة الخلايا التي تطبّقها وتنفّذها.

*

- أصبح بإمكانك استخدام المندوب Delegate كمعامل للإجراءات والدوال، بحيث يمكنك تمرير اسم أيّ إجراء أو دالة كمعامل!

*

- أصبح بإمكانك استخدام السمات Attributes في تعريف الخلايا والوسائل والخصائص والأنواع المختلفة، ممّا يختصر لك الكثير من العمل، ويمنحك العديد من القدرات.

*

- لديك إمكانيّات جديدة وعديدة تمنحها لك خلايا جاهزة، للتعامل مع الملفّات والمجلّدات.. وعلى سبيل المثال، يمكنك أن تراقب أيّ تغيير يطرأ على ملفّات المجلّد الذي تريد، باستخدام الأداة FileSystemWatcher، كما يمكنك أن تخزّن كائنا أو مصفوفة أو مجموعة Collection من أيّ نوعٍ إلى ملفّ مرّة واحدة، وإعادة قراءتها حينما تريد، باستخدام خلايا السلسلة Serialization.

*

- هناك إمكانيّات هائلة في مجال الرسم والتلوين تمنحها لك مكتبة GDI+.. يكفي أن تعرف أنّ بإمكانك الآن رسم منحنيات معقّدة، وتكوين أشكال مركّبة من مجموعة خطوط ومضلّعات ومنحنيات، وتلوين السطوح بألوان متدرّجة، وتحديد شكل مساحة الرسم، وتحديد درجة الشفافية، وتدوير الرسوم وتغيير مقاييسها تكبيرا أو تصغيرا…. إلخ.

*

- يمكنك استخدام المؤشّرات Pointers في بعض الأحيان، للقراءة والكتابة في الذاكرة، كما يمكنك أداء عمليّات معقّدة على النظام System لم تكن لتحلم بها!

*

- أصبح بإمكانك تقسيم برنامجك لمجموعة من العمليّات المستقلّة Threads، ممّا يعني أنّ برنامجك يستطيع القيام بأكثر من عمليّة في نفس اللحظة Multithreading.

*

- هناك إمكانيّات جديدة رائعة للتعامل مع قواعد البيانات، تمنحها لك تقنية ADO.Net، بالإضافة للعديد من الأدوات المرئيّة التي تساعدك في إنشاء تطبيقات قواعد البيانات بأقلّ قدر من الكود.

*

- أمّا الجديد تماما، فهو قدرتك على تصميم صفحات الإنترنت بنفس الطريقة التي تصمّم بها النماذج العاديّة، مع كتابة كود VB بمعظم إمكانيّاته، لإنشاء تطبيقات ASP تعمل على الخوادم Servers بدون كتابة حرف واحد من لغة ASP!!

*

عيوب فيجوال بيسيك دوت نت

*

لا أستطيع أن أقول أن لفيجوال بيسيك دوت نت عيوب

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

ثانيا البطء النسبى للبرنامج وخصوصا عند فتحه لاول مرة فى مقابل البرنامج المصنوع بفيجوال بيسيك 6.

*

خلاصة القول 

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

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

*

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

*

نصيحة

إذا أردت أن تتعلم فيجوال بيسيك فعليك بالدوت نت

وإن كنت من مبرمجى فيجوال بيسيك 6 فعليك بالانتقال للدوت نت

فهى الأفضل والأصلح , هى تقنية المستقبل

*

سي بلس بلس ++C

 

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

*

تسهّل لغة ++C الأسلوب المهيكل والمنهجي لعملية تصميم البرامج،وتعتمد على الكائنات كبنية أساسية لتشكيل البرامج.

*

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

*

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

*

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

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

*

  •  مكتبات جديدة لأداء مهام الادخال والاخراج تعتمد على الكائنات. & – كلمة 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 مثل البيسك.

*

فيجوال سى ++ دوت نت Visual C++ .Net

*

هى إحدى لغات مجموعة الدوت نت , فلا يوجد اختلاف فى اللغة ولكنك هنا تعمل تحت بيثة الدوت نت بكل ما فيها من قوة ومميزات واضافات يمنحها لك اطار العمل DotNet Framework.

*

عيوب السى ++

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

*

خلاصة القول 

*

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

*

نصيحة

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

ولكن اعلم جيدا أنك ستشق طريق صعب مليء بالأشواك , يحتاج منك الى عزيمة وصبر ومشقة ووقت طويل.

*

فيجوال سى شارب دوت نت Visual C# .Net

 

سي شارب (C#) أحد لغات بيئة الدوت نت لتطوير البرامج من أنتاج شركة ميكروسوفت يرمز اليها بالرمز c# وتنطق “سي شارب”، وهي إحدى اللغات التي انتجتها شركة مايكروسوفت وذلك خروجا من ورطة الجافا والقضية الشهيرة التي رفعتها عليها شركة صن ، تم الاعلان عنها في اواسط العام 2000 تزامنا مع الاعلان عن بيئة الدوت نت.

*

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

*

مميزات السى شارب

*
استفادت لغة السي شارب إلى حد كبير من جهود مطوري الجافا وتشاركها في كل مزاياها ومبادئ التصميم وتفوقها في بعض الاجزاء . لغة السي شارب كباقي لغات الدوت نت والجافا تنتج برامج لاتعتمد على بيئه معينه مثل برامج موجهه للينكس Linux او ويندوز او موبيل .

*

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

*
وذلك لانها افضل لغة تتعامل مع الدوت نت و تستفيد من قدراتها كاملة. و قد أصدر في أواخر العام 2005 الإصدار الثاني من اللغة C#2 .. تتنوع التطبيقات التي يمكن انتاجها بلغة السي شارب للعمل علي منصات متتعدة , ثم تلاه فى أواخر عام 2007 للإصدار الثالث فى فيجوال ستوديو 2008.

*
عيوب السى شارب

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

*

مجالات استخدام السى شارب

*
* تطبيقات منصة التشغيل ويندوز .
* تطبيقات الانترنت (الويب والواب) ذلك باستخدام منصة ال ASP.NET .
* تطبيقات الموبايل وتعتمد علي منصة التشغيل وينوز سي اي WINDOWS CE .
* تطبيقات العمل علي لينوكس وذلك بالاعتماد علي مكتبيات تمت كتابتها خصيصا لمنصة التشغيل لينوكس وذلك من خلال مشروع مونو (مستقل عن ميكروسوفت) 
    ونظرا لتنوع امكانيةعمل تطبيقات باستخدام السي شارب فانة يمكن عمل تطبيقات قوية .
* تطبيقات تعامل مع قواعد البيانات باستخدام مكتبة ADO.NET .
* تطبيقات الجرافيكس والوسائط المتعددة .
* تطبيقات ادارة المحتوى.
* الالعاب Games والترفيه.

*

خلاصة القول 
لغة السى شارب لغة قوية ومتميزة فى الكثير من المجالات ويتم تطويرها بشكل مستمر , وتعتبر ضمن عائلة لغات السى , ولكنها تتميز عن السى بأنها أسهل فى التعلم كالفيجوال بيسيك

*

لغة الجافا JAVA

 

الجافا (الإنجليزية: Java) هي لغة برمجة كائنية التوجه طورها أساساً جيمس جوسلينج وجامعيون في شركة صن ميكروسيستيمز. 

*


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

*
تم فتح المصدر لهذه اللغة مؤخرا واصبحت Open Source Code. 

*
سميت لغة الجافا من قهوة الجافا (الجاوة) التي تزرع في جزيرة جاوا، قد تطورت من مشروع كان يسمى أوك (بلوط) (من شجر البلوط الذي كان موجودً خارج نافذة جوسلينج). 

*
ملاحظة: يجب عدم الخلط بين الجافا والجافا سكريبت فرغم تشابة اللغتين في السياق والتراكيب الا أنهما لغتان مختلفتان ولهما أهداف مختلفة. 

*

الاهداف الاساسية من انشاء جافا 

*

  • كائنية التوجه .
  • الاستقلال عن نظام التشغيل .
  • توفر امكانيات و مكتبات للتشبيك .
  • امكانية تنفيذ البرامج من حواسيب بعيدة بشكل آمن .
  • توفير إمكانية إضافة برامج إلى صفحات الويب.

*

مميزات لغة الجافا

*
* لغة الجافا خالية من عيوب السي++ ((خصوصاً في التعامل مع الذاكرة))
* الجافا تعمل في كل أنظمة التشغيل وهي independence language .
* الجافا تستخدم مترجم ومفسر يعني ليس مترجم فقط مثل السي 
* الجافا سريعة جداً باستخدام معالجة للمترجمات ولكن دون هذه المعالجة السي++ أسرع بكثير لأن الجافا تحول الكود الي بايت كود.
* الجافا لغة oop خالصة وطبعاً عارفين الفرق بين البرمجة الموجهة والهيكلية .
* الجافا حديثة من سنة 95 لكن أصبح لها انتشار كبير.
*الجافا لغة سهلة وبسيطة وقوية في نفس الوقت.
* الجافا تعمل في كل المجالات networking & application$graphic &gaming .
معلومة أخيرة الجافا أقوى لغة برمجة للموبايلات والأجهزة التفاعلية معظم الألعاب والبرامج, برامج التصوير والفيديو في الجوالات مبرمجة بالجافا.

*

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

هل اتعلم الجافا ام .NET؟ 

*

إجابة هذا السؤال تعتمد عليك أنت فإذا كنت تحب البرمجة و تعشق التحدي و المغامرة و الجافا تناسب إحتياجك فعليك بها (لاتريد أن تعتمد على platform معين). إما إذا كنت خلاف ذلك فمن رأيي أن تتوجة الى الدوت نت فهي توفر لك كامل الدعم و هي بكل تاكيد أسهل من الجافا لأنني كما ذكرت هناك الكثير من الكتب و الكثير من الدعم و يكفي أنها من انتاج شركة Microsoft.

*
و عموماً الخلاصة ماذا تريده أنت من اللغة هو الذي يحدد إختيارك لها!

*

 الصعوبات الي تواجة مطوري الجافا في العالم العربي

*

1- الحصول على الكتب في منتهى الصعوبة.
2- مشاريع كبيرة تمت كتابتها بتقنيات ميكروسوفت، حصلوا على دعم كبير بحيث ان الشركة توفر لهم الكتب المطلوبة و النصائح من المختصين لدى الشركة و هذا لم                              تحصل علية المشاريع التي كتبت بالجافا.
3- عدم انتشار اللغة بصورة كبيرة .
4-قلة شركات استضافة الجافا (العربية).
ولكن هذا لا يعني أن الجافا لغة ليست جيدة بل هي منتشرة جداً جداً في الدول الغربية و لكن هي قليلة الانتشار في الوطن العربي.

*

لغة دلفى Delphi

 

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

*
يقال أنها تجمع بين سهولة لغة فيجوال بيسك وقوة لغة سي++, تم انشاء هذه اللغه في سنة 1995 وقد سميت دلفي رجوعا إلى كلمة اغريقية قديمة تعني عرافة. 
هناك نسختان من هذه اللغة، النسخه الاولى خاصة بنظام التشغيل ويندوز و هي دلفي و الثانية خاصة بنظام التشغيل لينكس Linux و تحمل الاسم كايليكس وقد تم إصدار دلفي للعمل تحت منصة دوت نت بالنسختين دلفي8.نت 

*

مميزات لغة البرمجة دلفى

*
* لا تحتاج الي اي ملفات او مكتبات عن تحويل البرنامج الي ملف تنفيذي.

 قهى لا تحتاج لأي مكتبات ربط ديناميكي DLL كـ Visual Basic لكي يعمل البرنامج بسلامة، حتى الأدوات التي نحصل عليها من هنا وهناك سواءً من الإنترنت أو       من شيءٍ آخر لا نضطر أن ننصبها كأدوات ActiveX فيوجد في Delphi أدوات تسمّى Visual Component Library اختصار: VCL، أدوات تترجم مع التطبيق والأعجب أنها لن تزيد من حجم التطبيق.

* دلفي مثلها مثل فيجوال سي++ و جافا لغة برمجة كائنية Object Oriendet Programmint OOP .
* دلفي يأتي معها العشرات بل المئات من Components والتي لا تجعلك تحتاج اي شي وبإستطاعتك ان تطور او تضيف خصائص غير موجودة عليها حيث ان الكود المصدري موجود مع نسخة دلفي Enterprise .
* تعتبر دلفي اسرع أداة تطوير برامج تحت بيئة الويندوز.
* إمكانية بناء مكتبات ActiveX COM . DLL .

* إمكانية بناء ActiveX Controls وبإستطاعك بعد ذلك استخدامها في اي لغة برمجة .
* بإمكانك من خلال Delphi بناء واجهات معقّدة في وقت قياسى وذلك من خلال الثروة الهئلة من الأدوات التى توفرها لك بيئة الدلفى.
* الدعم الكامل للواجهات وهو ما يسمّى بـ: Full Support for Interfaces .
* دلفي لغة مكتوبة بنفسها! إذ أنها هي التي تطوّر نفسها بنفسها، الإصدار الأول يطور الثاني الثاني يطوّر الثالث، الثالث يطوّر الرابع، الرابع يطوّر الخامس.
* يمكنك تشغيل برنامج دلفى على أي نظام تشغيل كان سواء Windows أو Linux بدون أي مشكلة لأن دوالها داخلية.

خلاصة القول

دلفى لغة برمجة قوية جدا وممتازة وتتطور بشكل كبير وسريع .
بإمكانك أن تصمم بدلفى كافة أنواع التطبيقات والألعاب، و لمن يريد تعلم لغة دلفى , ستجد العديد من الاسطوانات التعليمية والكتب العربية والأجنبية ستفيدك كثيرا فى تعلم الدلفى.

*

أما بالنسبة للغة نفسها
هناك منتج شركة بورلاند
Borland Delphi 7
وهناك تحفة شركة CodeGear والتى تشبه الى حد كبير بيئة الفيجوال ستوديو دوت نت , بل وتتفوق عليها فى خفتها وسرعتها الفائقة فى العمل بالمقارنة بالبطىء الشديد الموجود فى بيئة الفيجوال ستوديو CodeGear Delphi , C++ Builder 2009.

*

أول لغة برمجة عربية متكاملة ج

 

لغة ج هى لغة برمجة رفيعة المستوى High Level Programming Language تستخدم اللغة العربية قلباً وقالباً. ولعلها أول لغة برمجة عربية متكاملة تحتوي على كل خصائص لغات البرمجة الأجنبية رفيعة المستوى مثل C و Pascal . لقد أصبح بإمكانك الآن كتابة البرامج للحاسوب الشخصي باللغة العربية. 

ما هى لغة ج ؟
على لسان مطور اللغة الدكتورمحمد عمار السَلكة:

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

*

وكما هو معروف، تعتمد غالبية لغات البرمجة رفيعة المستوى High Level Languages على اللغة الإنكليزية، وتستخدم الأحرف اللاتينية قلباً وقالباً، مما يجعلها بعيدة المنال عن الطلاب العرب، خاصة أولئك الذين مازالوا في المراحل التعليمية المبكرة، ولم يتقنوا اللغات الأجنبية اتقاناً كافياً. 

*
فتولد عندي دافع قوي للعمل على تطوير لغة برمجة عربية تكون سهلة وميسرة، ولا تقل مع ذلك في قدراتها عن لغات البرمجة رفيعة المستوى المعروفة مثل C و PASCAL. لتكون وسيلة مناسبة لتعليم الطلاب العرب مبادئ البرمجة بلغتهم الأم.

*

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

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

*

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

*

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

*
وإني إذ أضع هذا العمل المتواضع بين أيدي الطلاب والمدرسين العرب في كل مكان لأرجو أًن تتحقق منه الفائدة والمتعة، وأن يكون وسيلة لتعليم برمجة الحاسوب في المدارس والمعاهد بدلاً من لغات البرمجة الأجنبية.

*

الموقع الرسمى للغة ج
http://www.jeemlang.com/index.php

 

لغة التجميع Assembly language

 

هي الصيغة السهلة القراءة للبشر المقابلة للغة الآلة التي تشكل الأوامر التي ينفذها حاسوب بتصميم ما. فلغة الآلة عبارة عن تتابع من البتات (bits) تمثل عملية حاسوبية أو امر للحاسوب، تصبح أسهل للقراءة عندما تستبدل برموز تعبر عنها.

*

و لكل معالج لغة أسمبلي خاصة به كما أن له “لغة آلة Machine Language” خاصة به. و تحتاج لغة الاسمبلي ما يسمى الاسمبلر (Assembler) او المجمع و هو الذي يقوم بتحويل لغة الاسمبلي التي يستطيع البشر قراءتها و التعديل فيها إلى لغة الالة التي يستطيع المعالج تنفيذها. و تستخدم هذه اللغة الان من قبل البشر و ذلك لبرمجة اجزاء من نظم التشغيل او للتاكد من سرعة و كفاءة تنفيذ بعض البرامج التي يحتاج فيها الكفاءة كبرامج المحاكاة و الالعاب Games .

*

فمعالج أي حاسب لا يفهم أية لغة، لا الباسكال ولا السي ولا الجافا، ولا حتى التجميع في حد ذاته، إنما يفهم شيئا واحدا، هو لغة الآلة.

*

هى لغة معقدة جدا ومن أهم استخداماتها برمجة نظم التشغيل وبرمجة الفيروسات وقرصنة البرامج.

 *

بعد استعراض أهم وأشهر لغات البرمجة 
بإمكانك الآن أن تختار اللغة التى سوف تتعلمها بناء على الهدف الذى تريد تحقيقه بها، ومن الأساليب الصحيحة التى يجب أن تبدأ بها فى تعلم أى لغة برمجة , هى الكتب المتخصصة سواء الكتب العربية أو الكتب الأجنبية , والتى يقوم بإعدادها خبراء فى هذة اللغات .

*

بعدها يمكنك اللجوء الى الاسطوانات التعليمية والبرامج مفتوحة المصدر..
وعندما تنوى أن تصنع برنامجك الأول , لا تعمل بشكل عشوائى , بل ضع أمامك هدفا واسعى لتحقيقه , ولا تتسرع , مهما طال الوقت