
تعد حلقة Microsoft Founding واحدة من أشهر حلقات تاريخ الكمبيوتر. في عام 1975 ، طار بول ألين إلى ألبوكيرك لعرض مترجم BASIC الذي كتبه هو وبيل جيتس للحاسوب الصغير Altair. نظرًا لعدم وجود كمبيوتر Altair يعمل ، فقد اختبروا مترجمهم باستخدام محاكي كتبه يعمل على نظام الكمبيوتر في جامعة هارفارد. لم يكن المحاكي قائمًا إلا على المواصفات المنشورة لمعالج Intel 8080. عندما أطلق Allen أخيرًا المترجم على كمبيوتر Altair حقيقي - أمام الشخص الذي كان يأمل في شراء برنامجه - لم يكن يعرف حتى ما إذا كان البرنامج سيعمل. لقد حصلت عليه. في الشهر التالي ، أسس ألين وجيتس الشركة الجديدة رسميًا.
قبل أكثر من مائة عام قبل مترجم BASIC Allen and Gates ، كتب Ada Lovelace ونشر برنامج كمبيوتر. كما كتبت برنامجًا لجهاز كمبيوتر ، لم تكن تعرفه إلا من الوصف. لكن برنامجها ، على عكس مترجم BASIC ، لم يتم تنفيذه أبدًا لأن الكمبيوتر الذي تمت كتابته من أجله لم يتم بناؤه أبدًا.
غالبًا ما يطلق على لافليس أول برنامج كمبيوتر في العالم. ولكن لا يتفق الجميع على أنه يجب أن يطلق عليه ذلك. تبين أن إرث لوفليس هو أحد أهم الموضوعات في تاريخ الكمبيوتر. كتبت والتر إيزاكسون أن الجدل حول مدى مساهماتها ومزاياها "قليل الأهمية الأكاديمية". حتما ، يغذي الخلاف حقيقة أن لوفليس كانت امرأة. وقد ذكر المؤرخون جميع أنواع الأدلة لإثبات أن الجوائز التي تم منحها لها تتماشى مع القضية ، أو ، على العكس ، غير مستحق. لكنهم يقضون وقتًا أقل بكثير في شرح التفاصيل الفنية لعملها المنشور ، وهو أمر مؤسف ، حيث أن التفاصيل الفنية هي التي تمثل الجزء الأكثر إثارة للاهتمام من هذه القصة. من لا يهمه أن يعرف كيف يعمل البرنامج المكتوب عام 1843؟
بصراحة ، من الصعب شرح برنامج لوفليس لسكان المدينة. لكن تعقيدات برنامجها هي التي تجعلها رائعة للغاية. إنها تستحق أن تسمى المبرمج الأول ، أو لا ، تم تسجيل برنامجها بدقة عالية تفوق كل ما كان من قبل. لقد فكرت بعناية في العمليات التي يمكن دمجها في مجموعات يمكن تكرارها - وبالتالي اختراع دورة. أدركت مدى أهمية تتبع حالة المتغيرات المتغيرة ، وخرجت بسجل يعكس هذه التغييرات. لقد كنت ، كمبرمج ، مندهشًا من مقدار عمل لوفليس الذي يشبه تجربة كتابة البرامج اليوم.
لذلك دعونا نلقي نظرة فاحصة على برنامج لوفليس. صممت لحساب
أرقام برنولي . لفهم ماهيتها ، عليك أن تعود إلى آلاف السنين في الماضي ، إلى بداية واحدة من أقدم المشاكل في الرياضيات.
مجموع الدرجات
عاش
الفيثاغوريون على شواطئ البحر الأبيض المتوسط وعبدوا الأعداد. إحدى هواياتهم كانت صنع مثلثات حصاة.

حجر واحد ، يليه صف من حجرين ، يشكلان معًا مثلثًا من ثلاثة أحجار. أضف صفًا آخر من ثلاثة أحجار لعمل مثلث من ستة أحجار. يمكن متابعة هذا الإجراء ، في كل مرة يتم فيها إضافة صف مع زيادة عدد الأحجار بمقدار واحد. مثلث من ستة صفوف يحتوي على 21 حجر. وكم حجرا سيكون في مثلث 423 صفا؟
كان فيثاغورس يبحثون عن طريقة لحساب مجموع الصف التالي دون جمع:
1 + 2 + 3 + ⋯ + n
في النهاية ، أدركوا أنه إذا قمت بوضع مثلثين من نفس الحجم بجانب بعضهما البعض بحيث يشكلان مستطيلًا ، يمكنك العثور على مساحة المستطيل وتقسيمه إلى قسمين للحصول على عدد الأحجار في كل من المثلثات:
1 + 2 + 3 + ⋯ + n = n (n + 1) / 2
درس أرخميدس مشكلة مماثلة. كان مهتمًا بالتسلسل التالي:
1
2 +2
2 +3
2 + ⋯ + n
2يمكن تخيله كعمود من المربعات الكبيرة المتزايدة (التي تتكون من مكعبات صغيرة) ، يقف فوق بعضها البعض على شكل هرم. أراد أرخميدس أن يعرف ما إذا كانت هناك طريقة سهلة لمعرفة عدد المكعبات اللازمة لإنشاء هرم ، على سبيل المثال ، مستويات 423. كتب حلًا للمشكلة ، والذي يسمح أيضًا بتفسير هندسي.
يمكن صنع ثلاثة أهرامات معًا بحيث تشكل منشورًا مستطيلًا ، في أحد طرفيه يوجد حافة صغيرة من مكعب واحد في الارتفاع. هذا الحافة مثلث يطيع نفس القواعد مثل المثلثات الحجرية في فيثاغورس. لذلك ، يتم إعطاء حجم الرقم بأكمله من خلال المعادلة التالية:
3 (1
2 +2
2 +3
2 + ⋯ + n
2 ) = (n + 1) n
2 + (1 + 2 + 3 + ⋯ + n)
باستبدال معادلة فيثاغورس لمجموع الأعداد الصحيحة n ، وبعد إجراء بعض العمليات الجبرية ، نحصل على:
1
2 +2
2 +3
2 + ⋯ + n
2 = n (n + 1) (2n + 1) / 6
في عام 499 ، نشر عالم الرياضيات والفلكي الهندي
أرياباتا عمله ، المعروف باسم أريابهاتيا ، والذي أعطى صيغة لحساب مجموع المكعبات:
1
3 +2
3 +3
3 + ⋯ + n
3 = (1 + 2 + 3 + ⋯ + n)
2تم نشر صيغة مجموع الأعداد الصحيحة الموجبة n إلى الدرجة الرابعة بعد 500 سنة فقط.
في هذا الوقت ، قد يكون لديك سؤال - هل هناك أي طريقة عالمية لحساب مجموع الأعداد الصحيحة n الأولى المرفوعة إلى قوة k؟ كان علماء الرياضيات مهتمين بذلك أيضًا. تمكن يوهان فولابر ، عالم الرياضيات الألماني ، المتقدم قليلاً في الأعداد ، من اشتقاق صيغ لمجموع الأعداد الصحيحة حتى الدرجة 17 ، ونشرها في عام 1631. لكن الأمر استغرقه سنوات عديدة ، ولم يعط حلًا عامًا. توصل
Blaise Pascal أخيرًا إلى طريقة معممة في عام 1665 ، والتي تعتمد ، مع ذلك ، على حساب مجموع الأعداد الصحيحة التي تم رفعها إلى درجات سابقة. على سبيل المثال ، لحساب مجموع الأعداد الصحيحة الموجبة n المرفوعة إلى الدرجة السادسة ، عليك أولاً معرفة كيفية حساب مجموع الأعداد الصحيحة الموجبة n المرفوعة إلى الدرجة الخامسة.
تم تقديم حل أكثر عمومية في ورقة نشرت بعد وفاته من قبل عالم الرياضيات السويسري
يعقوب برنولي ، الذي توفي عام 1705. بدأ برنولي باشتقاق صيغ لحساب مجموع الأعداد الصحيحة الموجبة الأولى التي تم رفعها في الدرجات الأولى والثانية والثالثة والرابعة. كتبهم في شكل كثيرات الحدود:
1 + 2 + 3 + ⋯ + n = 1 / 2n
2 + 1 / 2n
1
2 +2
2 +3
2 + ⋯ + n
2 = 1 / 3n
3 + 1 / 2n
2 + 1 / 6n
1
3 +2
3 +3
3 + ⋯ + n
3 = 1 / 4n
4 + 1 / 2n
3 + 1 / 4n
2باستخدام
مثلث باسكال ، أدرك برنولي أن هذه كثيرات الحدود تتبع نمطًا يمكن التنبؤ به. في الواقع ، قام برنولي بتقسيم معاملات كل مصطلح إلى عاملين ، أحدهما يمكنه تحديد استخدام مثلث باسكال ، والآخر لاشتقاق من خاصية مثيرة للاهتمام والتي جمعت بها جميع المعاملات في كثير الحدود. لم يكن من الصعب فهم الأس الذي يتم وضعه لكل عضو ، حيث اتبعوا أيضًا نمطًا يمكن التنبؤ به. شكلت عوامل كل معامل ، والتي كان يجب حسابها وفقًا لقاعدة "المجموع يساوي واحدًا" ، تسلسلًا أصبح يعرف باسم أرقام برنولي.
لا يعني اكتشاف برنولي أنه يمكن الآن حساب مجموع الأعداد الصحيحة الموجبة n التي تم رفعها إلى أي قوة بشكل تافه. من أجل حساب مجموع أول عدد صحيح موجب n تم رفعه إلى قوة k ، كان من الضروري معرفة جميع أرقام برنولي حتى kth. ويمكن حساب كل رقم برنولي مع معرفة جميع الأرقام السابقة فقط. لكن حساب تسلسل طويل من أرقام برنولي كان أسهل من حساب كل مجموع من الأرقام المرفوعة ، لذلك كان اكتشاف برنولي اختراقا كبيرا في الرياضيات.
باباج
ولد تشارلز باباج عام 1791 ، بعد حوالي مائة عام من وفاة برنولي. لطالما كانت لدي فكرة عنه لدرجة أنه طور كمبيوتر ميكانيكيًا ، ولكن لم يقم ببنائه. لكني لم أفهم أبدًا كيف كان من المفترض أن يعمل هذا الكمبيوتر. كما اتضح ، فإن الأفكار الأساسية سهلة الفهم. كان من المفترض أن يعمل برنامج لوفليس على أحد أجهزة باباج ، لذا نحتاج إلى إجراء عملية بحث صغيرة أخرى والتحدث عن كيفية عمل هذه الآلات.
جاء باباج مع جهازي كمبيوتر ميكانيكيين منفصلين. كان يسمى الأول
آلة الفرق . قبل اختراع الآلات الحاسبة الجيبية ، كان الناس يعتمدون على
اللوغاريتمات لحساب منتج الأعداد الكبيرة. إن الجداول اللوغاريتمية الكبيرة ليس من الصعب تجميعها بشكل أساسي ، ولكن عدد الحسابات المطلوبة لتجميعها أدى إلى حقيقة أنه في وقت بابج كانت تحتوي غالبًا على أخطاء. منزعجًا لذلك ، قرر باباج إنشاء آلة قادرة على إنشاء جداول اللوغاريتم ميكانيكيًا دون ارتكاب أخطاء.
لم تكن آلة الاختلاف جهاز كمبيوتر ، لأنها يمكن أن تجمع وتطرح فقط. استخدمت الطريقة التي اخترعها عالم الرياضيات الفرنسي
غاسبار دي بروني ، الذي كسر عملية بناء طاولة إلى خطوات صغيرة. تتطلب هذه الخطوات فقط الجمع والطرح ، مما يعني أنه يمكن استخدام جيش صغير من الأشخاص الذين ليس لديهم مهارات رياضية لبناء الجدول. يمكن استخدام طريقة de Proni ، المعروفة باسم طريقة
الفروق المقسمة ، لتجميع جدول لأي متعدد الحدود. ويمكن بالفعل استخدام كثيرات الحدود للحساب التقريبي للدوال اللوغاريتمية والمثلثية.
لتتخيل كيف عملت هذه العملية ، ضع في الاعتبار دالة الحدود المتعددة البسيطة التالية:
ص = س
2 +1
تجد طريقة تقسيم الفرق الفرق بين قيم ص المتعاقبة لقيم س المختلفة. ثم هناك الاختلافات بين هذه الاختلافات ، وربما الاختلافات بين الاختلافات الأخيرة حتى ظهور اختلاف ثابت. يمكن بعد ذلك استخدام هذا الاختلاف للحصول على القيمة متعددة الحدود التالية من خلال الجمع.
بما أن كثير الحدود المشار إليه يحتوي على الدرجة الثانية فقط ، يمكننا العثور على الفرق الثابت بعد عمودين فقط من الاختلافات:
س | ذ | الفرق 1 | الاختلاف 2 |
---|
1 | 2 | | |
2 | 5 | 3 | |
3 | 10 | 5 | 2 |
4 | 17 | 7 | 2 |
5 | ؟؟؟ | ؟؟؟ | 2 |
... | ... | ... | ... |
الآن ، مع العلم أن الفرق الثابت هو 2 ، يمكننا العثور على قيمة y عندما تكون x 5 ، باستخدام إضافة واحدة. بإضافة 2 و 7 ، القيمة الأخيرة في العمود Diff 1 ، نحصل على 9. إضافة 9 و 17 ، القيمة الأخيرة في العمود y ، نحصل على 26 - إجابتنا.
تحتوي آلة فرق باباج لكل عمود فرق في الجدول على عمود مادي خاص به مع تروس. يمثل كل ترس موضعًا عشريًا ، ويمثل العمود بأكمله رقمًا عشريًا. تحتوي آلة الاختلاف على ثمانية أعمدة مع تروس ، بحيث يمكنها تجميع جداول كثيرة الحدود حتى الدرجة السابعة. تم تعيين الأعمدة في البداية على القيم التي تتزامن مع الصف الأول من جدول الفرق ، محسوبًا مسبقًا. اضطر المشغل بعد ذلك إلى تدوير عمود المرفق ، مما تسبب في اختلاف ثابت في التحرك حول الماكينة عند إضافة القيم المخزنة في كل عمود إلى ما يلي.
تمكن باباج من بناء جزء صغير من آلة الاختلاف واستخدامها لعرض أفكاره في الحفلات. ولكن حتى بعد إنفاق الكثير من المال لدرجة أنها كانت ستكفي لبناء سفينتين حربيتين كبيرتين ، لم يتمكن من إنهاء سيارته. في بداية القرن الثامن عشر ، لم يجد باباج أي شخص يمكنه إنتاج الكمية المناسبة من المعدات له بدقة مناسبة. تم بناء نسخة العمل من آلة الفرق فقط في التسعينات ، بعد ظهور الآلات عالية الدقة.
ونتيجة لذلك ، فقد باباج الاهتمام بآلة الاختلاف ، مدركًا أنه يمكنك إنشاء آلة أكثر قوة ومرونة. تُعرف "آليته
التحليلية " اليوم باسم كمبيوتر باباج الميكانيكي. استندت الآلة التحليلية إلى نفس أعمدة التروس مثل الاختلاف ، ولكن إذا كان الأخير يحتوي على ثمانية أعمدة فقط ، فيجب أن يحتوي العمود التحليلي على عدة مئات. يمكن برمجة آلة تحليلية باستخدام بطاقات مثقبة ، مثل
نول الجاكار ، ويمكن أن تنقسم وتتضاعف ، وليس فقط الجمع والطرح. لتنفيذ إحدى هذه العمليات ، سيتم إعادة بناء جزء من الجهاز يسمى "المطحنة" في التكوين المطلوب ، وقراءة المعاملات من الأعمدة الأخرى المستخدمة لتخزين البيانات ، ثم كتابة النتيجة إلى أعمدة أخرى.
أطلق عليها باباج آلة تحليلية لأنها كانت قوية بما يكفي للقيام بشيء يشبه التحليل. يمكن لآلة الاختلاف أن تنتج جداول متعددة الحدود ، لكن الآلة التحليلية يمكن أن تحسب ، على سبيل المثال ، معاملات الضرب متعددة الحدود لتعبير آخر. لقد كانت آلة رائعة ، لكن الحكومة البريطانية اتخذت قراراً حكيماً برفض طلب تمويلها. لذا ذهب باباج للخارج ، إلى إيطاليا ، في محاولة للعثور على الدعم هناك.
ملاحظات المترجم
في تورينو ، التقى باباج بمهندس إيطالي ورئيس الوزراء المستقبلي لويجي فيديريكو مينابريا. أقنع مينابريا بكتابة لمحة عامة عن قدرات الجهاز التحليلي. في عام 1842 ، نشر مينابريا عملاً حول هذا الموضوع باللغة الفرنسية. في العام التالي ، نشر لوفليس ترجمة لعمل مينابريا إلى اللغة الإنجليزية.
التقت لوفليس ، التي كانت تُعرف آنذاك باسم أدا بايرون ، باباج في حفلة عام 1833 ، عندما كانت في السابعة عشرة من عمره وكان عمره 41 عامًا. لكنها كانت قادرة على معرفة كيف تعمل ، حيث كانت في مرحلة الطفولة تدرس الرياضيات بنشاط. قررت والدتها ، أنابيلا ميلبانك ، أن الأساس الرياضي المتين لتعليم ابنتها سيثنيها عن الطبيعة البرية والرومانسية التي يمتلكها والدها
اللورد بايرون ، الشاعر الشهير. بعد الاجتماع في عام 1833 ، ظل لوفليس وباباج في الدائرة الاجتماعية العامة وكثيرا ما كانا يتراسلان.
تزوج آدا بايرون من ويليام كينغ في عام 1835. وأصبح كينج فيما بعد إيرل لوفليس ، وأصبح آدا كونتيسة لوفليس. وحتى أنجبت ثلاثة أطفال ، واصلت دراسة الرياضيات ، حيث عملت كمدرس أوغستوس دي مورجان ، الذي اكتشف
قوانين مورغان . أدرك لوفليس على الفور إمكانات الآلة التحليلية ، ووافق بسهولة على العمل معه لتطوير هذه الفكرة. دعتها صديقتها لترجمة عمل مينابريا لجمهور إنجليزي.
احتوت الورقة على وصف موجز لتشغيل آلة الاختلاف ، ثم تم توضيح مدى تجاوز الجهاز التحليلي لها. كان من المفترض أن تكون الآلة التحليلية قوية للغاية لدرجة أنها يمكن أن "تشكل نتيجة ضرب رقمين ، يتألف كل منهما من عشرين حرفًا ، في ثلاث دقائق فقط". أعطت مينابريا أمثلة أخرى على إمكانية وجود آلة ، موضحة كيف ستحل نظامًا بسيطًا من المعادلات الخطية وتحلل نتيجة ضرب حدين. في كلتا الحالتين ، قدم مينابريا ما أسماه لوفليس "مخططات التطوير" واصفا تسلسل العمليات اللازمة لحساب الإجابة الصحيحة. كانت هذه البرامج ، بنفس المعنى الذي كان فيه برنامج لوفليس برنامجًا ، وتم نشرها قبل عام من عمله. ولكن ، كما سنرى ، كانت برامج مينابريا مجرد أمثلة على ما هو ممكن. كلهم كانوا تافهين بمعنى أنهم لا يحتاجون إلى أي تفرعات أو دورات.
أضافت لوفليس بعض الملاحظات إلى ترجمتها لعمل مينابريا ، وفي المجموع تبين أنها أطول من العمل الأصلي. وهناك قدمت مساهمتها الرئيسية في الحوسبة. في الملاحظة أ ، التي قدمتها لوفليس للوصف الأولي للجهاز التحليلي ، أوضحت بالتفصيل ، وأحيانًا بشكل لغوي ، أن هذا الجهاز سيكون قادرًا على إجراء عمليات حسابية تعسفية. توقعت أن آلة كهذه لن تقتصر على العمل مع الأرقام ، وستكون قادرة على معالجة أي كائنات "يمكن التعبير عن تفاعلها الأساسي المتبادل من خلال علم العمليات المجردة ، والتي يمكن تكييفها مع السجلات التشغيلية وآلية الآلة". وأضافت أن مثل هذه الآلة ستتمكن يومًا ما ، على سبيل المثال ، من تأليف الموسيقى. كان مثل هذا التوقع أكثر جاذبية لأن مينابريا نفسه اعتبر هذه الآلة مجرد أداة لأتمتة "الحسابات الطويلة والمملة" التي ستحرر القدرات الفكرية للعلماء الرائعين لإجراء المزيد من الأبحاث المتقدمة. إن رؤية لوفليس المعجزة ، كما هو موضح في الملاحظة أ ، هي أحد الأسباب الرئيسية التي نكرمها اليوم.
ملاحظة أخرى مشهورة هي ملاحظة G. Lovelace ، بداية بالقول أنه على الرغم من قدراتها الرائعة ، لا يمكن التفكير في الآلة التحليلية. هذه الحاشية التي سيطلق عليها آلان تورينج لاحقًا "اعتراض آدا لوفليس". ومع ذلك ، تابع لوفليس ، السيارة قادرة على أشياء مذهلة. لإثبات القدرة على معالجة المشاكل الأكثر تعقيدًا ، عرضت لوفليس برنامجها لحساب أرقام برنولي.
يمكن الاطلاع على النص الكامل الخاص به ، على شكل "مخطط تطوير" موسع ، والذي يصف تنسيقه لوفليس في الملاحظة د ،
هنا . هذه في الأساس قائمة بالعمليات المشار إليها بالرموز الرياضية. لا يبدو أن باباج أو لوفليس ذهب إلى حد تطوير مجموعة من رموز التشغيل للجهاز التحليلي.
على الرغم من أن لوفليس وصفت طريقة لحساب تسلسل كامل لأرقام برنولي إلى حد معين ، إلا أن برنامجها أظهر خطوة واحدة فقط في هذه العملية. حسبت الرقم الذي أسمته B7 ، المعروف لدى علماء الرياضيات المعاصرين برقم برنولي الثامن. لذلك حل برنامجها المعادلة التالية:
B7 = −1 (A
0 + B
1 A
1 + B
3 A
3 + B
5 A
5 )
هنا ، يمثل كل مصطلح معامل في صيغة متعددة الحدود لمجموع الأعداد الصحيحة المرفوعة إلى درجة معينة. هنا نتحدث عن القوة الثامنة ، حيث يظهر رقم برنولي الثامن لأول مرة في صيغة مجموع الأعداد الصحيحة الموجبة المرفوعة إلى القوة الثامنة. يمثل الرقمان B و A نوعين من العوامل التي اكتشفها برنولي. الأرقام من B1 إلى B7 هي أرقام Bernoulli المختلفة التي تم ترقيمها وفقًا لـ Lovelace.
الأرقام من A0 إلى A5 هي مضاعفات المعاملات التي يمكن أن يحسبها برنولي باستخدام مثلث باسكال. يتم عرض قيم A0 و A1 و A3 أدناه. هنا ن تشير إلى الرقم القياسي لرقم برنولي في تسلسل الأرقام الفردية برنولي بدءا من الأول. في برنامج لوفليس ، ن = 4.A 0 = −1 / 2⋅ (2n - 1) / (2n + 1)A 1 = 2n / 2A 3 = 2n (2n - 1) (2n - 2) / (2⋅ 3⋅4)A 5 = 2n (2n - 1) (2n - 2) (2n - 3) (2n - 4) / (2⋅3⋅4⋅5⋅6)قمت بترجمة برنامج Lovelace إلى C ، وهكذا سيكون من الأسهل قراءتها. أولا ، يحسب برنامجها A 0 ونتيجة الضرب B 1 A 1. ثم تبدأ الدورة ، تتكرر مرتين ، لحساب B 3 A 3 و B 5 A 5 ، حيث يتم قراءتها بنفس الطريقة. بعد احتساب كل عملية ضرب ، تضاف النتيجة إلى النتائج السابقة ، لذلك في نهاية البرنامج يتم الحصول على كامل المبلغ.من الواضح أن الترجمة إلى C لا يمكن أن تكون استنساخًا دقيقًا لبرنامج Lovelace. تعلن المتغيرات على المكدس ، وكانت متغيرات لوفليس أشبه بالسجلات. لكنه يجعل أكثر وضوحا الجزء الأكثر نبوية من برنامج لوفليس. يحتوي برنامج C على حلقتين أثناء وجود واحدة داخل الأخرى. لم يكن لدى برنامج لوفليس حلقات متكررة ، لكنه قام بتجميع العمليات ، ووصف في مذكرة لماذا يجب تكرارها. المتغير v10 من البرنامج الأصلي والمترجم إلى C يعمل كعداد ، يتناقص مع كل تمريرة في الدورة - تصميم مماثل مألوف لكل مبرمج. بشكل عام ، بالإضافة إلى وفرة المتغيرات ذات الأسماء الغامضة ، لا يبدو برنامج C غير مألوف.من الجدير بالذكر أيضًا أن ترجمة برنامج Lovelace إلى C لم يكن صعبًا للغاية ، وذلك بفضل تفصيل واحد في مخططه. على عكس جداول Menabrea ، يحتوي جدولها على عمود "علامة على تغيير في قيمة متغير" ، مما يجعل من السهل جدًا تتبع التغيير في الحالة. تضيف مرتفعًا لكل متغير للإشارة إلى القيم المتتالية المخزنة فيها. الفهرس 2 ، على سبيل المثال ، يعني أن القيمة المستخدمة هي القيمة الثانية المعطاة للمتغير من بداية البرنامج.أول مبرمج؟
بعد أن قمت بترجمة برنامج Lovelace إلى C ، تمكنت من تشغيله على الكمبيوتر. لخيبة أملي ، كانت النتيجة غير صحيحة. بعد البحث عن الأخطاء ، أدركت أخيرًا أن المشكلة ليست في الكود الخاص بي - فقد تم تضمين الخطأ في البرنامج الأصلي!في "مخطط التنمية" ، يكتب لوفليس في العملية الرابعة v5 / v4. لكن v4 / v5 ستكون صحيحة. يمكن أن يظهر هذا الخطأ في الطباعة ، ولكن ليس في لوفليس. بطريقة أو بأخرى ، هذا هو أقدم خطأ في الكمبيوتر. فوجئت بأنني أمضيت حوالي عشر دقائق في البحث عن أول خلل في التاريخ.جيم راندال ، مدون آخر ترجم برنامج لوفليس إلى بيثونلاحظ أيضا هذا الخطأ التقسيم ومشكلتين أخريين. ما هي الأخطاء الصغيرة في برنامج Ada Lovelace المنشور الذي يخبرنا؟ من الممكن أنها كانت تحاول ليس فقط كتابة مظاهرة ، ولكن برنامج حقيقي. بعد كل شيء ، لا يمكنك كتابة شيء آخر غير برامج اللعب ، وتجنب الأخطاء؟تقول إحدى مقالات ويكيبيديا أن لوفليس كان أول من نشر "برنامجًا معقدًا". ربما هذا هو بالضبط كيف يستحق إدراك إنجازه. نشر مينابريا في عمله "خرائط تطوير" قبل عام من نشر ترجمة لوفليس. كتب باباج أيضًا أكثر من عشرين برنامجًا لم يتم نشرها أبدًا. لذلك ، ليس من الصحيح تمامًا أن يكتب أن لوفليس كتب أو نشر البرنامج الأول ، على الرغم من أنه يمكن للمرء دائمًا أن يجادل حول ما يشكل برنامجًا. ولا يزال برنامج لوفليس متقدمًا على كل ما تم نشره قبله. في البرنامج الأطول ، كان لـ Menabrea 11 عملية ولم تكن هناك حلقات وفروع. كان لبرنامج Lovelace 25 عملية وحلقة متداخلة (وبالتالي متفرعة). كتب مينابريا في نهاية عمله ما يلي:بعد إنشاء الماكينة ، ستنخفض الصعوبات في صنع البطاقات ؛ ولكن بما أن هذه مجرد ترجمة للصيغ الجبرية ، فمن خلال بعض الرموز البسيطة ، سيكون من السهل جدًا تفويض إعدامهم لبعض العاملين.لم يكن باباج ولا مينابريا مهتمين بشكل خاص بتطبيق الآلة التحليلية على المشكلات التي تجاوزت المشكلات الرياضية التي ألهمت باباج لإنشاء أجهزة الكمبيوتر. أدرك لوفليس أن الآلة التحليلية قادرة على أكثر بكثير مما يمكن أن يتخيله باباج ومنابريا. أدرك لوفليس أيضًا أن "صنع البطاقات" لن يكون عملاً ميكانيكيًا ، وأنه يمكن القيام بذلك بشكل سيئ أو جيد. من الصعب تقييم ذلك دون فهم برنامجها من الملاحظة G ، وعدم رؤية مدى الاهتمام الذي توليه لتطويره. ولكن ، بعد القيام بذلك ، يمكنك الاتفاق على أن لوفليس ، حتى دون أن يكون المبرمج الأول ، كان المبرمج الأول الذي يستحق هذا الاسم.