تابعونا

قانون (موور) .. قوانين (نيوتن) للديفيولوبيرز.

كل شوية ينزلك Hardware أكبر و أسرع و أقوي و بالتالي الأخوة بتوع البرمجة بقوا بيكتبوا أكواد مليانة علي الفاضي .. المشكلة إن إحنا رايحين في سكة إن الأية حتتعكس .. قريب حنلاقي إن Hardware كحجم عمال يقل و بالتالي الأخوة بتوع كتابة الأكواد لازم يحصحصوا معانا.

18 فبراير، 2020 1.5 ألف

لينك التسجيل الصوتي للمقالة علي Sound Cloud:
https://soundcloud.com/user-112011687-312727988/moore-law-m4a

يحكي أن في الستينات كان فيه راجل اسمه (جوردون مور Gordon Moore) و ده كان واحد من مؤسسي شركة إنتيل Intel اللي بتصنع البروسيسورز Processors اللي موجودة في أي جهاز كومبيوتر أو Smartphone حضرتك ماسكه في إيدك .. المهم إن الرجل ده بدأ يلاحظ حاجة غريبة أوي هي إن شريحة السليكون Silicon Chip اللي هي Processor بتاع الكومبيوتر بتاعك عدد الترانزيستورات اللي بتترص جواها عمال بيتضاعف كل سنتين .. طب إحنا استفدنا إيه؟ .. الفكرة إن كل ما عدد الترانزستورات جوه Processor بيزيد كل ما القدرة الحسابية أو Computing Power لProcessor هي كمان بتزيد .. من الأخر كل سنتين حينزل Processor أقوي الضعف من اللي قبله و من هنا إتولد واحد من أشهر القوانين اللي الإخوة بتوع البرمجة حافظينها و هو قانون موور Moore’s Law .. القدرة الحسابية لأي Processor بتتضاعف كل سنتين .. عشان بس أحطك في الصورة .. زي ما إحنا كمهندسين ميكانيكا عايشين علي قفا شغل (إسحاق نيوتن) لما عملنا قوانين الحركة الأربعة أهو مهندسين الكومبيوتر عايشين علي قفا القانون بتاع (جوردون مور) و هنا بتيجي المشكلة بإنك تسأل نفسك سؤال مهم .. هو أنا إزاي أزود القدرة الحسابية أو Computer Power لأي حاجة؟

(جوردون موور Gordon Moore) واحد من مؤسسي شركة Intel و اللي حط قانون موور اللي إتسمي علي اسمه و اللي يعتبر الأساس اللي كل المبرمجين بيبنوا شغلهم عليه.

حاول تتخيل إن كيسة الكومبيوتر أو Computer Case زي اللي عندك في الشغل أو في البيت اللي فيها Processor و Mother-Board و كارتة الشاشة عامله زي دولاب الهدوم بتاعك .. تشبيه غريب أنا عارف بس استحملني معلش .. عشان تحط أكبر كمية هدوم في الدولاب ده عندك حل من إتنين .. يا تكبر الدولاب عشان يستوعب هدوم أكتر .. يا تلاقي طريقة إنك تحشر أكبر قدر من الهدوم في نفس الحيز اللي هو دولابك القديم .. إنك تكبر الدولاب ده هو إنك تشتغل علي Hardware بمعني إن حضرتك حتجيب دولاب أكبر يستوعب كمية هدوم أكتر .. إنك تلاقي طريقة تحشر هدومك بإنك تطبقها بطريقة ذكية و مبتكرة جوه الدولاب بحيث تزود كمية الهدوم جوه نفس الدولاب فده إنك تشتغل علي Software .. واضح من الشرح التافه اللي أنا قلته إن الأسهل إنك تروح تجيب دولاب أكبر .. هو أنا لسه حشغل مخي و أقعد أجرب و ألاقي طريقة مبتكرة لتطبيق هدومي؟ .. عشان إنك تكبر Hardware هو أسهل حل فتلاقي إن كل كام سنة ينزلك Processor فيه عدد Cores أكبر أو زي ما بيسموه في هندسه الكومبيوتر Multi-Core Architecture اللي هو تلاقي كومبيوتر Processor بتاعه Core i-5 أو Core i-7 أو زي ما كومبيوتر Apple Mac Pro نازل ب28 Core Intel Xeon Processor.

إن كل سنتين بناء علي قانون موور ينزلك Processor بعدد Cores أعلي خلي المبرمجين أو Programmers أو زي ما بيحبوا يسموا نفسهم ديفولوبيرز Developers علي قلبهم مراوح .. ليه أتعب نفسي و ألاقي طريقة أحسن لتطبيق الهدوم اللي هي بمعني أخر إنك تكتب كود Code Writing يكون مبتكر؟ .. كتابة كود البرمجة ده فن زي كتابة الشعر كده مش أي حد يقول علي نفسه شاعر زي ما مش أي حد يقول علي نفسه Developer و عشان أفهمك أكتر هي المشكلة فين خليني أكلمك شوية عن (أبوالطيب المتنبي) بتاع كتابة الأكواد .. (بيل جايتس Bill Gates).

زمان أيام ما (بيل جايتس) كان لسه كوكو صغنن كانت الكومبيوترات بسم الله ما شاء الله علب كبيرة تحسها كرتونة بضاعة و من ضمن الكومبيوترات البدائية اللي هو إشتغل عليها كان Microcomputer اسمه TRS-80 .. المشكلة كانت إن البتاع ده الMemory بتاعته شبه ذاكرة السمكة كده مينفعش الكود اللي حيخلي الكومبيوتر يشتغل يبقي مساحته أكبر من 16 كيلوبايت.. بالله عليك حاول تستوعب اللي بقولك عليه .. أنا بكلمك عن كومبيوتر الOperating System بتاعه أو خليني أبسطهالك خالص تخيل كومبيوتر الويندوز بتاعه مساحته أصغر من مساحة رنة موبايلك .. تخيلت؟ ..  فالحل الوحيد كان إن (بيل جايتس) يكتب كود بحرفنة بحيث يقضي الغرض و يبقي سهل التنفيذ و مياخدش سطور كتير و بالتالي مساحته متبقاش كبيرة .. يُقال إن لحد دلوقتي هو حافظ الكود ده زي ما إنت حافظ الفاتحة كده.

هوبا بقي عندنا قانون موور و هوبا بقي كل سنتين مساحة الميموري بتتضاعف و هوبا المبرمج أو Programmer بقي مش بيحب يتقال عليه كده و بيحب يتقال عليه Software Engineer .. الصنعة بقت مهنة .. بقت عشان Google مثلاً تعمل Android Operating System مبقاش هو واحد صنايعي حريف يكتب الكود لوحده زي ما (بيل جايتس) عمل .. لا بقي عندك فريق من Developers فوقهم مدير مشروع و الدنيا بهوقت جامد .. الحكاية دي إتحكت في كتاب أي مهندس برمجة عارفه كويس اسمه The Mythical Man-Month كتبه واحد اسمه (فريد بروكس Fred Brooks) و مع إن الكتاب ده إتنشر سنة 1975 إلا إن لحد دلوقتي الناس بتقراه لإن اللي هو حكاه لسه بيحصل لحد دلوقتي .. كل سنة تكنولوجيا Hardware عمالة تتطور بس Software عمال يجيله تخلف عقلي .. Developers بقوا يكتبوا أكواد طويلة طول رسالة الواتس اللي بتجيلك من خطيبتك لما تتخانق معاها و ملهاش أي ستين لازمة و مش Efficient ومش Optimized و حاجة في منتهي النكد الصراحة.

(بيل جايتس) أيام الكحرتة و هو قدام كومبيوتر TRS-80 العقيم أبو كارتة ميموري مساحتها أقل من رنة موبايلك.

طب و الحل؟ .. إذا كان قانون موور إتحط في الستينات فإحنا لازم نحل محله بقانون تاني أو بلاش قانون بس يبقي منهج تاني و في رأيي إن أنسب منهج ممكن نستخدمه هو اللي حطه واحد اسمه (ناثان ميهرفولد Nathan Myhrvold) سنة 1997 و علي فكرة الرجل ده كان كبير المهندسين اللي شغالين في شركه مايكروسوفت تحت إيد (بيل جايتس) شخصياً و الرجل ده قال إن فيه 4 قوانين هم اللي بيحكموا كتابه الأكواد:

  • قانون رقم واحد .. زي ما في الفيزياء بتتعلم إن الغاز بيتمدد عشان يملي الحيز اللي هو محطوط فيه فالكود برده هو كمان بيتمدد عشان يملي Hardware اللي هو حيشغله .. لو إنت كبرت حجم Hardware فغصب عن أطخن طخين Software هو كمان حيتطخن.
  • قانون رقم إتنين .. الكود بيفضل يكبر يكبر لحد ما بيجيب أخر إمكانيات Hardware اللي إتحط عليه .. اللي هو قانون موور.
  • قانون رقم تلاتة .. فكرة إن الكود بيفضل يكبر بتخلي تطبيق قانون موور حقيقي .. يعني مثلاً .. حضرتك بتروح تشتري Smartphone أحدث مش لسبب غير إن نزل في السوق Smartphone شغال ب Operating System أقوي مينفعش يشتغل علي Hardware القديم اللي هو Smartphone القديم بتاعك.
  • قانون رقم أربعة .. حيفضل الكود يكبر و يتطور لحد ما إحنا كبني أدمين نبطل نفكر و ده مش حيحصل.

سنة 2010 الأخ (جوردون مور) طلع قال إن خلاص يا جدعان جبرت كده و القانون بتاعي حيترمي في الزبالة .. ليه يا عم الحاج؟ .. قالك عشان إحنا عمالين نصغر في حجم الترانزيستور لحد ما كمان 10 أو 20 سنة بالكتير حنقدر نوصل إن بقي عندنا ترانزيستور بحجم الذرة .. إنت فاهم إحنا رايحين فين؟ .. إحنا بنعكس الأية .. إحنا دلوقتي رايحين في سكة إن Hardware حيبدأ حجمه يقل و بناء عليه لازم الأخوة بتوع Software يصحصحوا معانا كده و يفوقوا لإن إحنا رايحين في ستين داهية .. لازم يصنفروا مخهم و يبدأوا يتعلموا إزاي يكتبوا أكواد قصيرة و فعالة و مش طويلة طول الليلة السودا.

المصدر:
مقالة بعنوان We’re approaching the limits of computer power-we need new programmers now نشرت في جريدة The Guardian و ده لينك المقالة الأصلية:
https://www.theguardian.com/commentisfree/2020/jan/11/we-are-approaching-the-limits-of-computer-power-we-need-new-programmers-n-ow

مهندس ميكانيكا بحب الصحافه و الكتابه .. مؤمن بان من حق كل بني ادم انه يعرف الحقيقه ورا الخبر .. رسالتي انك تفهم حقيقه اللي بيحصل عشان لما تقرر رايك تكون فاهم انت بتقرر علي اي اساس

اترك تعليق

بريدك الالكتروني لن ينشر. يجب ملئ الخانات بعلامة *

من فضلك ادخل التعليق!

من فضلك ادخل الأسم!

من فضلك ادخل البريد الالكتروني!من فضلك ادخل بريد الكتروني صحيح!