مقالات معمّقة حول التكنولوجيا التي تشكّل المستقبل.

VisiCalc: البرنامج الذي جعل الحواسيب تستحق الشراء

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

دفتر محاسبة ورقي تتلاشى شبكته إلى الشاشة الخضراء لحاسوب قديم من السبعينيات

قبل VisiCalc، كانت الحواسيب الشخصية ألعابًا لهواة الإلكترونيات. بعده أصبحت أدوات عمل. هذا ليس مبالغة، بل هو المسار الموثّق لمبيعات Apple II، الذي تحوّل من جهاز هواة متخصص إلى أداة لا غنى عنها للأعمال، والسبب الأساسي برنامج واحد سمح للمحاسبين بالتوقف عن استخدام الجداول الورقية.

أطلق Dan Bricklin وBob Frankston برنامج VisiCalc عام 1979. وخلال عام واحد، تضاعفت مبيعات Apple II ست مرات. وصار الناس يدخلون متاجر الحواسيب ويقولون: «أريد الجهاز الذي يشغّل VisiCalc». وُلد هنا مفهوم «التطبيق القاتل»، أي البرنامج المقنع إلى درجة تبرر شراء العتاد. وهو نمط تكرر مرارًا عبر تاريخ الحوسبة، وفهمه يساعد على تفسير العلاقة القائمة بين الأجهزة والبرمجيات.

ماذا فعل VisiCalc فعلًا

قد يبدو الجدول الإلكتروني بديهيًا اليوم، لكنه لم يكن كذلك عام 1979. فالجداول الورقية، وهي أوراق كبيرة مقسّمة إلى خانات تُستخدم في الحسابات المالية، كانت أداة أساسية في كل مكتب محاسبة. وكان المحاسب الذي يعدّ توقعات الميزانية يملأ صفوفًا وأعمدة من الأرقام، ويحسب المجاميع والمعادلات يدويًا أو بالآلة الحاسبة، ثم يكتب النتائج في الخلايا المناسبة.

المشكلة كانت في التكرار. فإذا تغيّر افتراض واحد، مثلًا ارتفع معدل النمو المتوقع من 8% إلى 10%، كان على المحاسب أن يعيد حساب كل خلية تعتمد على هذا الافتراض. وفي النموذج المعقد، كان ذلك يعني ساعات من إعادة الحساب اليدوي، وكل إعادة حساب فرصة جديدة للخطأ. وتحليل «ماذا لو»، أي استكشاف كيف تؤثر الافتراضات المختلفة في النتائج، كان مرهقًا إلى حد لم يكن يُنفَّذ بعمق إلا نادرًا.

أتمتّ VisiCalc هذه العملية بالكامل. تغيّر خلية واحدة، فتتحدّث فورًا كل خلية تعتمد عليها. ما كان يستغرق المحاسب ساعات صار يستغرق ثوانٍ. لم تكن القيمة المقدَّمة هي «استخدم الحاسوب بدلًا من الورق»، بل «استكشف 50 سيناريو في الوقت الذي كان يستغرقه سيناريو واحد». وهذا تحوّل نوعي في ما يمكن أن يحققه التحليل المالي.

القيود التقنية التي شكّلت التصميم

عمل VisiCalc على Apple II بذاكرة 32 كيلوبايت ومعالج بتردد 1 ميغاهرتز وشاشة نصية من 40 عمودًا. وفرضت هذه القيود قرارات تصميم تبيّن لاحقًا أنها كانت سابقة لعصرها.

كان نموذج الشبكة، أي صفوف وأعمدة من الخلايا تحتوي كل منها على قيمة أو معادلة، استجابةً جزئية لمحدودية الشاشة. فشاشة بحجم 40×24 حرفًا تعرض الشبكة بشكل طبيعي. أما مساحة مستندات حرة فكانت ستتطلب تمرير الشاشة وخوارزميات تنسيق لم يكن العتاد قادرًا على تحمّلها. هذا القيد جعل الواجهة مفهومة فورًا: تستطيع أن ترى بنية بياناتك دون أي تعليمات.

كان نظام المعادلات يستخدم مراجع الخلايا النسبية افتراضيًا. فالمعادلة في C1 التي تشير إلى A1 وB1 ستشير، عند نسخها إلى C2، تلقائيًا إلى A2 وB2. كان هذا القرار مبنيًا على ملاحظة أن أغلب معادلات الجداول الإلكترونية تتبع أنماطًا عبر الصفوف أو الأعمدة. وقلّل ذلك كثيرًا من جهد بناء النموذج: تعرّف المعادلة مرة واحدة، وتنسخها إلى أسفل العمود، وينتهي الأمر.

مع 32 كيلوبايت فقط، لم يكن بإمكان VisiCalc تخزين شبكة ضخمة في الذاكرة. فكان الحل تخزين الخلايا التي تحتوي على بيانات فقط، أما الخلايا الفارغة فلا تستهلك أي ذاكرة. وما زالت هذه الطريقة المتفرقة (sparse) أساس عمل الجداول الإلكترونية الحديثة، فشبكة Excel النظرية التي تضم 17 مليار خلية كانت ستحتاج إلى بيتابايتات لو خُزّنت بشكل كثيف. القيد الذي دفع VisiCalc نحو التخزين المتفرق تبيّن أنه القرار المعماري الصحيح بغض النظر عن حجم الذاكرة.

نمط «التطبيق القاتل»

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

  • VisiCalc → Apple II. كان سعر Apple II بين 1,300 و2,700 دولار (ما يعادل نحو 5,000 إلى 10,000 دولار بقيمة اليوم). أما VisiCalc فكان بسعر 100 دولار. اشترت الشركات حواسيب بقيمة 2,000 دولار لتشغيل برنامج بقيمة 100 دولار، لأن مكاسب الإنتاجية كانت تسدّد التكلفة خلال أسابيع.
  • Lotus 1-2-3 → IBM PC. عندما تأخر نقل VisiCalc إلى IBM PC، ملأ Lotus 1-2-3 الفراغ وصار التطبيق القاتل لأجهزة IBM المتوافقة. صُمّم Lotus خصيصًا لعتاد IBM PC، وكان يعمل أسرع من VisiCalc في مهام مماثلة.
  • PageMaker → Macintosh + LaserWriter. برّر النشر المكتبي السعر المرتفع لجهاز Macintosh. فجهاز Mac مع طابعة LaserWriter كان يكلّف أكثر من 7,000 دولار، لكنه كان يحلّ محل معدات حروف طباعية تكلّف 50,000 دولار.
  • متصفح الويب → الاتصال بالإنترنت. جعل Netscape Navigator الإنترنت مفيدًا للمستخدمين غير التقنيين، فدفع الطلب على اشتراكات مزودي الخدمة وعلى البنية التحتية للشبكات.
  • ChatGPT → مجموعات GPU. تقود الطفرة الحالية في الذكاء الاصطناعي طلبًا غير مسبوق على عتاد NVIDIA. تنفق الشركات مليارات الدولارات على بنية GPU التحتية لأن تطبيقات الذكاء الاصطناعي تخلق من القيمة ما يبرر ذلك.

النمط متسق بشكل لافت: شخص ما يبني برمجية تحوّل العتاد من فضول إلى ضرورة. يستفيد مصنّع العتاد كثيرًا، فأعمال Apple بُنيت عمليًا على VisiCalc، لكن مبدع البرمجية غالبًا ما يحصد جزءًا أقل من القيمة. فشركة Software Arts التي أسسها Dan Bricklin وBob Frankston استحوذ عليها في نهاية المطاف ناشرها نفسه في عملية استحواذ عدائية. ويولّد الجدول الإلكتروني الذي اخترعاه تريليونات الدولارات من القيمة الاقتصادية سنويًا، ولم يحصلا من ذلك إلا على القليل جدًا.

لماذا يصمد الجدول الإلكتروني

تم استبدال VisiCalc ببرنامج Lotus 1-2-3، ثم حلّ محله Excel، الذي يواجه اليوم منافسة من Google Sheets. لكن المفهوم الأساسي، أي شبكة من الخلايا تحتوي على قيم ومعادلات مع إعادة حساب تلقائية، لم يتغير منذ 45 عامًا. لماذا؟

قد يكون الجدول الإلكتروني أنجح بيئة برمجة صُنعت على الإطلاق. فالمعادلات التي يستخدمها غير المبرمجين هي، من حيث البنية، لغة برمجة وظيفية: دوال نقية (المعادلات لا تحدث آثارًا جانبية)، وشفافية مرجعية (مرجع الخلية يعيد دائمًا القيمة الحالية)، وتحديثات تفاعلية (تغيير مدخل ما ينتشر تلقائيًا). ويكتب مستخدمو Excel سنويًا «شيفرة» أكثر مما يكتبه كل المبرمجين المحترفين مجتمعين.

الفكرة الأساسية التي أصاب فيها VisiCalc، وحافظ عليها كل من جاء بعده، هي التغذية الراجعة الفورية. غيّر قيمة وشاهد النتائج مباشرة. لا خطوة ترجمة، ولا نشر، ولا انتظار. هذه الحلقة السريعة من التغذية الراجعة تجعل الجدول الإلكتروني الأداة الطبيعية للاستكشاف في البيانات والحسابات السريعة والتحليل المخصص. وكل محاولة لاستبدال الجداول بالبرمجيات «الاحترافية»، مثل أدوات الميزانية المتخصصة ومنصات ذكاء الأعمال والتطبيقات المخصصة، يجب أن تتغلب على حقيقة أن الجدول الإلكتروني يتيح لك البدء بالعمل خلال ثلاث ثوانٍ.

إعادة بناء VisiCalc

تقدم المشاريع الأخيرة لإعادة بناء VisiCalc من شيفرته الأصلية نظرة مثيرة على كيفية بناء البرمجيات تحت قيود قصوى. فالنسخة الأصلية لـ Apple II كُتبت بالكامل بلغة التجميع 6502، إذ لم تكن هناك لغة عالية المستوى قابلة للتطبيق تتسع في 32 كيلوبايت وتكون في الوقت نفسه سريعة بما يكفي لإعادة الحساب التفاعلي.

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

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

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

دروس للبرمجيات الحديثة

تحمل نجاحات VisiCalc دروسًا يسهل تجاهلها في عصر وفرة موارد الحوسبة.

  • حُلّ مشكلة حقيقية لأناس حقيقيين. لم يخلق VisiCalc سوقًا، بل أتمت سير عمل يقوم به الملايين يدويًا بالفعل. كان المحاسبون يعرفون مسبقًا كيف يبنون النماذج المالية، وكل ما فعله VisiCalc أنه جعلها أسرع بمئة ضعف. أفضل البرمجيات تزيل المشقة، ولا تخلق قدرة من العدم.
  • القيود تصنع التصميم الجيد. فرض حدّ الذاكرة البالغ 32 كيلوبايت التخزين المتفرق. وفرضت شاشة الـ40 عمودًا واجهة الشبكة. وفرض معالج 1 ميغاهرتز حيل التحسين الإدراكي. كل قيد أنتج قرار تصميم تبيّن أنه صحيح عند أي حجم.
  • سرعة التغذية الراجعة ميزة. إن إعادة الحساب الفورية التي جعلت VisiCalc جذابًا هي المبدأ نفسه وراء إعادة التحميل السريع (hot-reloading) في أدوات التطوير الحديثة، والمعاينة الحية في أدوات التصميم، والتطوير المعتمد على REPL. فالزمن بين إجراء تغيير ورؤية نتيجته يؤثر مباشرة في طريقة تفكير الناس في عملهم.
  • المخترع نادرًا ما يحصد القيمة. اخترع Bricklin وFrankston الجدول الإلكتروني لكنهما لم يستفيدا ماليًا بما يتناسب مع ذلك. وهذا النمط يتكرر، فالذين يبتكرون برمجيات محوّلة كثيرًا ما تذهب معظم قيمتها إلى مصنّعي العتاد أو مالكي المنصات أو اللاحقين الذين نفّذوا التوزيع بكفاءة. يستحق التفكير في نماذج الأعمال قبل البناء.

بعد 45 عامًا على VisiCalc، ما زلنا نعيش في العالم الذي أنشأه. ويظل الجدول الإلكتروني الأداة الافتراضية للعمل على البيانات المخصصة. ولا يزال نمط «التطبيق القاتل» يقود مبيعات العتاد، فقط استبدل VisiCalc بـ ChatGPT وApple II بمعالجات NVIDIA H100. ويبقى المبدأ القائل إن البرمجيات تخلق قيمة أكبر من العتاد صحيحًا اليوم كما كان حين حوّل برنامج بـ100 دولار حاسوبًا بقيمة 2,000 دولار من فضول إلى ضرورة للأعمال.