برندان آيخ

حياته المبكرة

حصل برندان آيخ على درجة البكالوريوس في الرياضيات وعلوم الحاسوب في جامعة سانتا كلارا. وحصل على درجة الماجستير في عام 1985 من جامعة إلينوي في إربانا-شامبين.
بدأ آيخ حياته المهنية في سيليكون غرافيكس، حيث عمل هناك 7 سنوات. ثم عمل لـ3 سنوات في شركة MicroUnity.

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

من منا لا يتذكر الأيام التي كان فيها تصميم صفحات الويب التفاعلية يتطلب مهارة ودقة تصل أحيانا إلى مستوى اجتراح المعجزات...الأيام التي أتكلم عنها هي أيام نصوص CGI البرمجية وبيرل وغيرها من لغات النصوص البرمجية التي سادت في أيام الويب الأولى، والتي كانت تهدف بشكل أساسي إلى مساعدة المستخدم في تأدية مهام استخلاص المعلومات والتحكم بها عبر الويب. في تلك الأيام كان جمع ومعالجة المعلومات المتعلقة بالمستخدمين يتطلب نصوص CGI والتي كان تشغيلها يتم على الجهاز المزود. ولاستخدام هذه النصوص كان على المطور أن يقوم أولا بتصميم صفحات HTML التي تحتوي على النماذج المخصصة لجمع البيانات من المستخدمين، ومن ثم كتابة نص CGI بلغة سي أو بيرل ليعالج ضمن الجهاز المزود المعلومات التي تم جمعها من خلال النماذج.
نقطة الضعف الأساسية في هذا النموذج كانت أنه في كل مرة كان المستخدم يقوم بها باستعراض الصفحة، وإرسال النموذج، كان على البيانات أن تنتقل من متصفح الويب إلى نص CGI، والذي كان يقوم بدوره بمعالجة البيانات وإرسال النتائج إلى المستخدم كصفحة HTML جديدة. وكانت هذه العملية تتكرر كلما قام المستخدمون بتغيير النموذج، وبالتالي إغراق المزود بطلبات المعالجة، ومعها وصلة إنترنت.
في هذه الأثناء، كانت شركة نتسكيب، ومديرها العبقري مارك أندريسين، يعملون على تطوير الإصدار 2 من متصفح نتسكيب نافيغيتور، وكانوا يسعون إلى تطوير حل يساعد المستخدمين ومدراء الشبكات على تجاوز مشكلات النصوص البرمجية التقليدية.
في إبريل 1995 من ذلك العام أتى إلى نتسكيب المبرمج برندان آيخ، وهو مطور كان يعمل في شركة مايكرو يونيتي. وشاءت الأقدار أن يكون برندان هو مبتكر لغة جافا سكريبت، وهي اللغة التي أصبحت اليوم المقياس الأساسي لتطوير مواقع ويب تفاعلية، وأصبحت مضمنة في كيان إنترنت الرقمي. كما أنها اللغة التي تمكنت نتسكيب بفضلها من تطوير دعم متصفح نتسكيب لبريمجات جافا (والتي كانت في مهدها آنذاك).

مسيرة آيخ في نتسكيب

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

من هو برندان آيخ؟

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

مايكروسوفت تستجيب

من المعروف أن مايكروسوفت هي من الشركات التي عُرفت في بداياتها إما بتطوير لغات البرمجية، أو تطوير الأدوات التي تعين المبرمجين في تطوير برمجياتهم. وقد حافظت مايكروسوفت على صدارتها في هذا المجال إلى أن جاءت الويب ولغاتها وعلى رأسها جافا سكريبت. وهنا شعرت مايكروسوفت بالهلع، وبدلا من أن تقوم باعتناق اللغة، قامت بتطوير بديل عنها تمثل في لغة VBScript وهي لغة مشتقة من لغة فيجيوال بيسيك التي شهدت في أواخر التسعينيات رواجا كبيرا بين المطورين، بل وكانت لغة التطوير الأولى للتطبيقات الموجهة نحو بيئة ويندوز.
وقد طورت مايكروسوفت هذه اللغة بحيث يمكنها أيضا أن تقوم بالتواصل مع العناصر المضمنة، رغم أن عملها اقتصر في البداية على بيئة ويندوز. وعلاوة على ذلك قامت مايكروسوفت بإنشاء نسخة معدلة من جافا سكريبت أطلقت عليها اسم Jscript في تموز 1996، وقامت بتضمينها في الإصدار الثالث من متصفح إنترنت إكسبلورر. ورغم ما تميز به هذا الإصدار من إنترنت إكسبلورر من إنجازات تقنية هائلة فإنه كان متخلفا عن نافيغيتور في دعمه لجافا سكريبت، ولم يرتق إكسبلورر إلى المستوى الذي كان نافيغيتور يقدمه بدعم ميزات مثل تبادل الصور، وبقي الحال كذلك حتى الإصدار 3.02.
وفي تلك الفترة كان مصممو المواقع يقومون بإنشاء مواقعهم لدعم نافيغيتور، وكانوا يعتبرون أنه لا أمل في أن يرتقي إكسبلورر يوما إلى ذلك المستوى (وكم كانوا مخطئين في تقديراتهم هذه).
وانتهزت كلا من نتسكيب وصن مايكروسيستمز فرصة غياب مايكروسوفت عن الساحة في تلك الفترة وبدأت تسعى إلى جعل جافا سكريبت لغة قياسية، مما كان سيؤدي بالتالي إلى قطع الطريق كلية على مايكروسوفت، ومنعها من إصدار لغات معدلة من جافا سكريبت في المستقبل كما فعلت في Jscript. وكان للشركتين ما أرادتاه، حيث حصلتا على دعم اتحاد صانعي الكمبيوتر الأوروبيين، والذي قام باعتماد مجموعة أساسية من الميزات تدعم جافا سكريبت، وأطلق عليها الاسم ECMAScript والذي تم اعتماده من قبل مؤسسة الأيزو في أبريل عام 1998. وركز هذا المقياس على أساسيات اللغة دون الدخول في التفاصيل أو اعتماد بعض من الميزات الإضافية التي كانت موجودة في جافا سكريبت. وهو ما يمكن للبعض أن يقول أنه كان ضربة لنتسكيب حيث كان أيخ يعمل لأن ذلك أفسح المجال لمايكروسوفت كي تدخل من أبواب أخرى وتتحايل على النظام مستغلة الانتشار الواسع لنظام التشغيل ويندوز.
وهذا هو ما حدث بالفعل. ففي عام 1998، وبعد أن بدأ إكسبلورر بالانتشار بشكل يفوق نتسكيب نافيغيتور بدأ المطورون يشعرون بأنه ربما عليهم أن يبدؤوا بالتركيز على المتصفح الذي كان يبدو أنه سيكسب المعركة بشكل طبيعي نتيجة كونه جزءا من نظام التشغيل، كما وجد الكثير من المطورين أنه لا يمكنهم كتابة برمجيات يمكنها أن تكون متوافقة مع المتصفحين من دون التضحية ببعض الميزات الضرورية، والتي كانت الآن متاحة من خلال إكسبلورر. ولذلك بدأ المطورون بهجرة نافيغيتور لصالح إكسبلورر ضمن نظام ويندوز. وأثناء حروب المتصفحات في تلك الفترة بدأت شركات مثل مايكروسوفت ونتسكيب والعشرات من الشركات الأخرى بمطالبة اتحاد الويب W3C بوضع مقياس موحد لنموذج عناصر وثائق الويب Document Object Model DOM، والذي يهدف إلى جعل تطبيقات الويب ونصوصها البرمجية متوافقة مع نموذج عناصر الويب القديم.

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

رغم أن جافا سكريبت تحتل مكانة رفيعة بين مطوري الويب، فإنها لا زالت تعاني حتى اليوم من آثار ولادتها العسيرة، التي رافقتها حروب المتصفحات، والخلافات بين الشركات العملاقة حول المقاييس التي يجب أن تعتمدها المتصفحات، إضافة إلى ظهور وشيوع لغات مثل XML واللغات المشتقة منها، حيث لا تحتوي شيفرة صفحات الويب فيها على تصميم أو وصف للصفحات، بل وصف للمعلومات المحتواة في هذه الصفحة مع ترك التصميم إلى طبقة أخرى. وقد أدى ذلك إلى تعقيد الأمور بالنسبة إلى توحيد جافا سكريبت والتي كان عليها الآن أن تتقن التعامل مع هذه الطبقة الجديدة من البيانات.
وإضافة إلى ذلك كله فإن جافا سكريبت تبقى حتى اليوم رهينة لعطف وحنان الشركات المنتجة للمتصفحات والتي يجب حصول اتفاق فيما بينها قبل تطوير اللغة لتدعم ميزة جديدة، مما يعيق بالتالي سرعة تطوير اللغة. ورغم أن جافا سكريبت هي لغة قوية جدا ومرنة من حيث القابلية للتعديل والإضافة، فإن هذه العقبة الأخيرة هامة، ويجب تجاوزها لتطوير اللغة بشكل أكبر.
وفوق هذا كله فإن بعض المطورين يقولون بأن عدم قدرتهم على حجب الشيفرة المصدرية للنصوص البرمجية التي يقومون بتطويرها نظرا لافتقار اللغة إلى أدوات لتنقيح debug البرمجيات وتوليفها هي من العقبات الرئيسة في وجه انتشار اللغة بشكل أكبر.
وما زاد الطين بلة هو أنه بعد شراء شركة صن لشركة نتسكيب، قامت مجموعة موزيلا، والتي تقوم بتطوير متصفح موزيلا مفتوح المصدر، بالتخلي عن نموذج الطبقات الوثائقية الذي كانت تستخدمه، رغم أن العديد من الشركات المنتجة لأدوات تطوير جافا سكريبت قامت باعتماد ذلك النموذج.
ثم أتى التهديد الأعظم من شركة مايكروسوفت بعد أن قامت بالإعلان عن تقنيات دوت نت، وطرح لغة C#، والتي تشبه جافا سكريبت إلى حد كبير من حيث قابليتها على العمل ضمن عدة بيئات، إضافة إلى جعلها جزءا من ويندوز، وهو الأمر الذي قد يؤدي إلى إبطاء اعتناق اللغة في المستقبل. وما قد يجعل المشكلة شائكة بشكل أكبر هو أن مايكروسوفت أعلنت خلال الأعوام الماضية عند طرحها لويندوز أكس بي بأنها قامت بوقف دعم جافا ومشتقاتها ضمن إنترنت إكسبلورر 6 ونظام التشغيل، وهو الأمر الذي أتى بعد خلاف قانوني طويل بين الشركات الداعمة لجافا ومايكروسوفت.
ويقول الكثير من مبرمجي جافا سكريبت بأن ذلك لن يحدث في المستقبل القريب نظرا لحقيقة هامة وهي أن جافا سكريبت تجمع ما بين أفضل الميزات والخصائص المعتمدة في لغات النصوص البرمجية اليوم مثل بيرل، وسي ++، وسي، وجافا، و TCL، إضافة إلى دعمها لكامل الميزات المعتمدة في هيكلية DOM من اتحاد الويب، وهي الهيكلية القياسية التي يقوم على أساسها عمل كافة المتصفحات اليوم.
ويضيف بعض المطورين أيضا أن لغة C# من مايكروسوفت لن تقوم أبدا بقضاء الحاجات التي تقضيها لغات النصوص البرمجية.
ولا يجب أن ننسى هنا ظهور تقنيات فلاش Flash كوسيلة سهلة وغير مكلفة، من حيث الوقت، لإضافة الخواص التفاعلية إلى صفحات الويب، وهو الأمر الذي أدى إلى توجه كثير من المطورين إلى استخدام هذه التقنية خصوصا بعد أن أصبحت مدعومة في كافة المتصفحات المعروفة لدينا اليوم.

أين هو آيخ اليوم؟

قبل أن تقوم شركة أميريكا أونلاين بشراء شركة نتسكيب، قامت نتسكيب بالإعلان عن مشروع موزيلا، وهو باختصار مشروع لإنشاء متصفح ويب مفتوح المصدر، يعتمد على التقنيات القياسية، وأُطلق على المشروع اسم موزيلا وهو يشمل المتصفح وكافة التقنيات التي يتضمنها بما في ذلك بعض تقنيات XML التي تحدثنا عنها في أعداد سابقة ضمن قسم "مدرسة إنترنت" وخصوصا تقنية XUL لإنشاء واجهات قياسية لتطبيقات إنترنت باعتماد لغة XML. ويعتبر مشروع موزيلا اليوم حجر الأساس لمتصفح نتسكيب 6 وما فوق، وأدوات قياسية للتراسل الفوري مثل برنامج Jabber "جابر" (وهو موجود على القرص المدمج أيضا).
ما لا يعرفه الكثيرون هو أن آيخ هو العقل المدبر أيضا وراء هذا المشروع، والذي يمكن القول أنه أنقذ نتسكيب من الانهيار كليا في وجه مايكروسوفت، وساعد المتصفح في الحفاظ على بعض من حصته التسويقية حتى الآن. وتكمن قوة مشروع موزيلا في أنه يحاول الدمج بين الأساليب التقليدية في تطوير البرمجيات، وبين المنهجية التي يتبعها مجتمع البرمجيات عمومية المصدر وإشراك شركات البرمجيات التجارية في العملية، مما يؤدي إلى الحصول على أفضل النتائج نظريا.
ولكن مشروع موزيلا في نظر آيخ كان له تأثير آخر أبلغ وأكثر أهمية، فمن خلال نشر الشيفرة المصدرية لمتصفح نتسكيب من خلال المشروع، فإن ذلك سيشجع المطورين على اعتناق جافا سكريبت كما هي معتمدة ضمن نتسكيب، وبالتالي إتاحة المجال للمطورين كي يقوموا باستخدام النصوص البرمجية لأداء وظائف كانت تتطلب منهم في الماضي كتابة عناصر برمجية كاملة.
موزيلا بالنسبة لآيخ جزء من فلسفته في الحياة، وهي تطوير أدوات يمكنها أن تحقق أكبر قدر ممكن من الفائدة والإبداع وقضاء الحاجات الهامة بسرعة وفعالية، لأكبر قدر ممكن من المستخدمين. ويقول آيخ أن برمجيات المصادر المفتوحة تتفوق في هذه الناحية، فالبرمجيات في النهاية غير مفيدة إذا لم تصل إلى أيدي أكبر قدر من المستخدمين، إضافة إلى كونها ذات نوعية أعلى حيث أن المصدر عمومي للمطورين الآخرين كي ينتقدوه ويكتشفوا عيوبه، وبالتالي فإن المستخدم في النهاية يحصل على منتج ذا نوعية أجود.
ويقول آيخ، بأن مشروع موزيلا، ورغم أهميته بالنسبة لحركة البرمجيات عمومية المصدر، فإنه ليس مشروعا حاسما للحركة ككل، ولكن نجاحه هام، وهو يرى أنه سيحقق هذا النجاح وبشكل كبير جدا كما اتضح مؤخرا من خلال الثورة في البرمجيات عمومية المصدر والبرمجيات الحرة مثل متصفح فايرفوكس، وثندر بيرد، وغيرها من البرامج التي بدأت تهدد عرش مايكروسوفت الإنترنتي وتثأر لنتسكيب من الهزيمة التي ألحقتها مايكروسوفت بها.