في هذه الأثناء ، تم تزيين كائنات الهدف-C بجميع بادئات CAPS التي حددت بفخر منشئها. بعض الأسماء المنزلية ، مثل الزر لتسجيل الدخول إلى خدمة أخرى باستخدام حساب YouRtwitter (TwtrloginButton) ، أو إضافة أصدقاء من Facebook Popup (FBFIRNEPICKERVIEWCONTROLLER). بحلول الوقت الذي تعلمت فيه الهدف-C ، لم تكن موجودة منذ أكثر من 15 عامًا ، لكن الكود من نظام التشغيل NextStep الخاص بهم كان متأصلاً في منتجات Apple بحيث ظهرت بادئة في العشرات من الأشياء والوظائف التي استخدمتها كل يوم-NSDictionary ، NSArray ، NSSTRING ، NSLOG.
الهدف-C هو كلمة-بشكل مفرط على هذا النحو-وسرعان ما تسللت هذه النزعة إلى نظرتي الخاصة. كيف يمكن للمهندس أن يخبر الكمبيوتر بالضبط ما يجب القيام به دون استخدام الكثير من الكلمات؟ كيف يمكن أن تكون اللغة تعبر عالميًا دون أن تكون محددة إلى أقصى حد؟ لم يكن قديمة من الهدف-C قديمًا-لقد كانت روحًا تستحق السعي ، بغض النظر عن مدى إيذاء معصمي.
عملاق الشيخوخة
كانت وظيفة هندسة البرمجيات الأولى والوحيدة التي كان لدي (قبل مغادرتها في النهاية إلى عالم Squishier World of Technology) تطوير تطبيقات iPhone لعملاق شيخوخة في وادي السيليكون. كانت الشركة حارة بيضاء بعد فترة وجيزة من عصر الإنترنت للاتصال الهاتفي ، لكنها غاب عن العديد من الطفرات التقنية منذ ذلك الحين ، وفي عام 2013 ، تم العزم على عدم تفويت أحدث جنون: تطبيقات الأجهزة المحمولة.
لم يكن التطبيق الذي عملت عليه سوى بضع سنوات ، ولكن بالفعل ، أخبرت قاعدة الكود تاريخ الشركة بأكمله بأمانة غير متوقعة في خطوط النثر الهدف من الهدف. أعطت البادئات المتميزة ما هي الكود الذي تم ورثه من الشركات الناشئة المكتسبة ، وكشفت عن صراع مرير حول تبديل منصات تحليلات. روى أسماء الوظائف المزخرفة عن محاور المنتج والشاشات المنبثقة التي تركوها.
لكن كلما قضيت كتابة الهدف-C ، شعرت أنه مخبأ بدلاً من الكشف عنه. دفن أسماء الوظائف الطويلة التي تشبه الجملة أكثر المعلومات ذات الصلة تحت ضباب من الجمل التابعة. تتطلب الميزات الصغيرة طلبات السحب الطويلة ، مما يجعل من السهل على المهندسين أن يصرفوا الانتباه أثناء المراجعات وآسعة الأخطاء. الكلمات الزائدة من الهدف-C ، مضروبة في الآلاف من الملفات وملايين خطوط التعليمات البرمجية ، مصنوعة للحصول على قاعدة كود مرهقة.
بعد فترة وجيزة ، اختفت عاطفي لنظرية “More Is More” في Objective-C للتعبير عن الذات تمامًا. مع توسيع قاعدة كود ، نمت شبكة الكائنات الخاصة بها إلى مجموعة من العلاقات المتلألئة التي ولدت أغراض فائقة غامضة لا يمكن تعقبها. ارتفعت ضجة الرسائل بين الكائنات إلى cacophony ، وأصبح الجزء الأكبر من وظيفتي معرفة ما هو الكائن الذي يرسل ما هي الرسالة التي جعلت تعطل التطبيق أو شاشة إعدادات Goddamn قبيحة للغاية.
بالكاد لمدة عام ونصف في كتابة Objective-C بشكل احترافي ، كنت أعاني بالفعل من أزمة إيمان. أصبحت مهندس برمجيات لمطاردة القوة المبهجة لتحويل الكلمات إلى صور على شاشة ، لكن هذه الكلمات قد انتقلت من التمكين إلى المرهقة. حتى بادئات الهدف-C ، التي شعرت بها ذات يوم أخبرت قصة ساحرة ، شعرت بالمنحمة-لماذا يجب علي كتابة “NS” مئات المرات في اليوم لتكريم بدء تشغيل Steve Job منذ فترة طويلة؟ لم أكن وحدي: كان مطورو Mac و iPhone في كل مكان يشعرون بالإحباط بسبب إجبارهم على استخدام هذه اللغة القديمة والمتناسقة. Apple ، كما اتضح ، كانت جاهزة للتغيير أيضًا. أنا ، ومع ذلك ، لم يكن.
الموت والولادة
كتب ليبنيز لأول مرة عن QualityiSta Universalis في أطروحته الدكتوراه عندما كان عمره 19 عامًا وعمل عليها منذ ما يقرب من 50 عامًا حتى قبل وفاته في 68 عامًا بفترة قصيرة. أعاد تصور فكرة “الأبجدية من الفكر الإنساني” في أوقات لا تحصى ، مع الإلهام من الرياضيات ، والمنطق الرمزي ، والهرمفرة ، والملاحظات الموسيقية ، والعلامات الفلكية ، والعناصر الأربعة (الأرض ، والطيران ، والمياه). مع نمت معرفته بالعوالم الجسدية والميتافيزيقية ، كان على ليبنيز أن يعيد تصور ما يعنيه باستمرار بناء نظام يعكس الكون تمامًا.
يخضع المبرمجون ، في سعيهم للحصول على رمز أكثر تعبيراً وكفاءة ، على ولادة جديدة. عندما تصبح أوجه القصور في لغة ترميز معينة واضحة ، فإن لغة رجعية جديدة مفرطة في حل هذه المشكلات ترتفع ، حتى تصبح أيضًا هيمنة ، وتستمر الدورة. تتطور المبادئ المقبولة لما يجعلها للرمز التعبيري وتغييرها إلى جانب التطورات التكنولوجية ، مما يؤدي إلى أن يصبح المبرمجون بدويًا لغويًا.