الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اقطعوا يد السارقة !

بدأه khaled_prg في 28 يوليو 2012 · 12 رد · 3,340 مشاهدة · في المقالات العلمية و التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

يقولون بأن معرفة التاريخ تمكنك من تحليل ما كان .. وفهم ما أنت عليه الآن وتوقع ما سيكون (إن راد الله) .. لذلك كانت هذه هي بداية حديثنا ...

بداية القصة:

تبدأ قصتنا في عام 1960 حيث كان لكل مجال أو تخصص لغة خاصة به, فكانت لغة الــ FORTRAN تستخدم في التطبيقات التجارية ولغة الـــ COBOL تستخدم في التطبيقات الهندسية والعلمية وهكذا.. ومن هنا بدأ المطورون بالتفكير ..هل من الممكن إختزال جميع هذه التطبيقات في لغة واحده ؟

وجاءت الإجابة في لغة ALCOL 60 والتي قام بتطويرها International Committee ولكن لم يكتب لها الإنتشار وذلك بسبب ضعفها الشديد وهذا طبيعي لأول تجربة, وجاءت بعدها لغة الــ Combined Programming Language التي قامت بتطوريها Cambridge University, كانت هذه اللغة أفضل من سابقتها بكثير وكتب لها الإنتشار ولكن بشكل محدود بسبب صعوبة التعامل مع عناصرها, مما أتاح المجال لتطويرها لتصبح لغة Basic Combined Programming Language وتختصر إلى BCPL, قام بتطويرها Martin Richards at Cambridge University حيث قاموا بحل مشكلة الصعوبة ولكن نتيجة لذلك أصبحت لغة إلى حد ما ضعيفة, وبعدها ظهرت لغة B والتي ُ طورت بواسطة Ken Thompson at AT&T, جاءت هذه اللغة ببعض التحسينات على لغة BCPL إلا أنها كانت تحتوي على بعض نقاط الضعف مثل إحتوائها على نوع بيانات واحد فقط يسمى Cell وعدم دعدمها لــ Floating Point Hardware بالإضافة إلى بطئ الـ Compiler !!

ولادة من نوع آخر ...

في سنة 1972 ولدت بطلة قصتنا على يد رجل يدعى Dennis Ritchie في مختبر الــ AT&T’s في الولايات المتحدة الأمريكية, قام هذا الرجل بعملية تهجين ما بين BCPL و B لتولد البطلة حاملة لأفضل الجينات ومتلافيةً للأخطاء السابقة لتحقق السهولة والقوة معاً .. أطلقوا على بطلتنا إسم الـ C وعند نزولها وكأي لغة جديدة بدأت حربها مع باقي اللغات من أجل البقاء والإنتشار, ولتحقيق ذلك فلابد من وجود الدعاية والإعلام الجيدان لتصل هذه اللغة إلى الأهداف المرجوة منها وإستعراض مميزاتها أمام باقي اللغات .. و السؤال الآن كيف كانت الدعاية لهذه اللغة الوليدة والتي ما زلنا إلى اليوم نتغنى بها؟ الجواب ............ لا شيء!! ماذا؟ نعم لا شيء ... فلم يكن هناك دعاية ولا خطة للترويج, نعم دخلت السوق بصدر مفتوح ولكن بعد أيام قليلة .. كانت الصدمة .. حيث أنها ربحت الرهان ! ولم تكتفي بذلك فقط بل وحلت مكان بعض اللغات في ذلك العصر مثل (PL/I) و (ANGOL ) وغيرها.. لدرجة أن السيد Dennis نفسه كان مندهش من سرعة استجابة المستخدمين لهذه القنبلة !!! حتى أنها وهي في عمرها القصير أصبحوا يفضلونها عن بعض اللغات العملاقة مثل الـ FORTRAN

فوائد التهجين !

ولكن ما سر هذا الإقبال؟ تميزت لغة C بالسهولة , وإمكانية الاعتماد عليها حيث أنها وُصفت بأنها الأخت الجميلة للغة PASCAL وكما كانوا يقولون بأنك لو وقعت في حب PASCAL ففي النهاية ستتزوج من الـ C وتمكنت في يومنا هذا من حصد عدة مميزات إضافية لم تكن موجودة في عصرها فأصبحت :

  • لغة متنقلة: تعمل تحت أكثر من نظام تشغيل (Windows , IBM, Apple)
  • لغة قويه وسريعه: فهي شبيهه بالـ (Assembly) ولكن مع (High Level Syntax) وأيضاً وقوعها في التصنيف تحت Low Level فهذا يعني بأنها تتيح التعامل مع الآلة بشكل شبه مباشر!!!
  • لغة قياسية: ففي نهاية عام 1989 استحوذت على مواصفات الـ ANSI ومن ثم أخذت القبول من الـ ISO في عام 1990.

أسئلة تطرح نفسها !

ولكن ألا يراودنا سؤال يبدأ بكيف وينتهي بعلامة إستفهام ..

كيف للغة قديمة أن تستمر كل هذه الفترة بدون أن تندثر ؟ ...

كيف لهذه البطلة أن تحوي كل هذه القوة ؟ ...

كيف لهذه العجوز أن تصرع اللغات الحديثة ؟ ...

كيف وكيف وكيف ؟؟؟؟؟؟

الإجابة الشائعة لهذه الأسئلة .. بسبب المميزات التي تملكها والتي ذكرناها بالأعلى... لا ضير ... سنرد الجواب بسؤال : من أين جاءت هذه المميزات...؟

الإجابة لن تعجب البعض ....... وهي .......( إقطعوا يد السارقة)

لنكشف القناع .. ونرى ماذا تخبئ لنا العجوز ..

مسلسل السرقات:

منذ نعومة أصابعها لم ترد أن تتعلم الحبو ولم ترغب بالإستمرار بمرحلة الطفولة فعملت أولى جرائمها وبدأت مع العائلة وهي سرقة أبوها (B) وجدتها (BCPL) وأقاربها من الـ (Fortran) و (ALGOL 60) فقد أخذت من (BCPL) رشاقة التراكيب (Structure) مما أتاح لها التصريح بأكثر من Loop وأيضاً أخذت من الجدة رموز الـ Comment وهي (//) وقامت بالحركة القاتلة حين أخذت العمود الفقري للجدة وهو الـ (Pointer) وجاء دور الأب (B) ليدفع الثمن غاليا لتأخذ كنـز لا يقدر بثمن وهو الـ (Static) و (Auto) واللذان يعتبران من أدوات الـ Storage Data ولم تكتفي السارقة بهذا فأخذت فكرة العدادات التي تكون بالصيغة التالية (x = +y) وأيضاً الـ (++) و (--), واستمرت في جرائمها لتستولي على الـ (Array) وعلى الأساسات مثل (Switch , goto, If, AND, OR) فقد قامت بتصفية الأب حتى أن طريقة الـ Declaration أخذت منه !!! أما عن سبب تسمية الـ © بهذا الإسم, فهي أخذت الحرف الابجدي الذي يلي الأب (B).

نزلت البطلة إلى الميدان وقد سرقت كل غالٍ و نفيس فها هي الـ (Basic) تنحني .. وها هي الـ FORTRAN تجعلها من الماضي .. أما الحسناء PASCAL فتتنازل عن التاج كرهاً !!! وبقيت البطلة تكتسح كل جديد من عام 1973 إلى 1980, وأيضاً خلال هذه الفترة زادت قوتها من خلال التطويرات التي أضيفت لها وهي الـ Unsigned و Long و Enumeration و Structure مما صقلها وجعلها كالحديد في مواجهة أي عدو .. وأيضاً أضافوا إليها السلاح الخارق وهي الـ Union والتي ساعدت بالتحكم في الـ(Hardware) ,هل اكتفت البطلة بذلك ؟؟؟ لا !!! فما زالت الشهية مفتوحة .. في نفس زمن ولادة الـ © كان نظام التشغيل الـ (Unix) وكان يعتمد على لغة الـ (B) ,أعتقد بأنه لا يوجد داعي للتجريح وقول هل بقي للأب شيء؟ استولت السارقة على كل شيء فأصبح النظام الـ (Unix) بالكامل مكتوب بواسطتها !!!

مرت الأيام وما من منافس للبطلة إلى أن جاء مصطلح الـ (Object Oriented Programmed) يمثل هذا المصطلح نقطة تحول جذرية .. فهو يمثل طريقة تفكير لجيل جديد .. فما موقف البطلة من هذا ؟؟؟ فالمواكبة تعني الاستغناء عن الكثير من التفاصيل والتي تمثل مصدر قوة .. والوقوف يعني الإنسحاب .. ومن هنا جاءت لغة الـ (C++) وهي عبارة عن جلد جديد للبطلة لتنافس به مثيلتها من الـ (Height Level Programming) وعلى ما يبدوا بأنها حنت من جديد إلى السرقة ولكن مِنْ مَنْ ؟ من ابنتها الـ (C++) فها هي تقوم بأخذ الـ (Function) لتضيفها إلى قائمة المسروقات !!! وما زال مسلسل السرقات مستمر.... على يد السارقة.. فهي لا تميز بين أب أو جدة أو ابنة !!!

الموضوع الأصلي : اقطعوا يد السارقة !

تحياتي.

تم تعديل هذه المشاركة بواسطة khaled_prg في 28 يوليو 2012 في 16:20

21
#2

السلام عليكم

بارك الله فيك أخي موضوع جميل هذه هي لغتنا الجميلة سي (السارقة)

شكراً لك

1

Be the change you want to see in the world


#3

مقالة متميزة

وأسلوب شيق في العرض

#4

مقالة رائعة أخي خالد

واصل على هذا المنوال :)

1
#5

ممتاز ياخالد

:)


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#7

سجلت دخولي للمنتدى فقط من اجل ان اضيف لك +1 من اجل هذه المقالة الرااااائعة والمفيدة

شكرا الك :happy: :happy:

وهاد +1 الك مرة اخرى موجود في ردك التاني ... شكرا الك

ونتمنى دائما تكتب أشيا مفيدة وممتعة مثل هاي :lol: :lol: :lol:

موفق

اخوك ناجي :wink:

556891961.gif

I am learning from you

it is the programmer eye

#8

الحمد لله أنا مش حرامي أنا ++C :)

#9

إضافة إلى كونك مبرمجا باستطاعتك أن تكون كاتبا أو راويا happy.gif

i love you mama

#10

الف شكر على هذا الموضوع الاكثر من رائع وسلوب الطرح الممتع

#11

هذي آخرتها يالـ سي

آه آه بس

حتى إبنتها فقد ورثت هذه الصفات من أمها كرهاً

ولكن لأن لغة السي لم تبر بوالديها فها هي إبنتها تسحب العرش من تحتها

vr7y9y10.jpg
#12

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

بارك الله فيك وأثابك ونفع بك

#13

جميل جميل!!

مع تحيات : عبدالرحمن نورالله
بيلار الدولية للتكنولوجيا لتصميم وأستضافة مواقع الأنترنت ، شركة مسجلة في المملكة الاردنية الهاشمية

أستضافة مواقع (Website Hosting) ابتداء من 35دينار اردني (50$) سنوي 962799247524+ أضغط هنا

logo.png