:: كل المقالات ::

Tue, 13 Dec 2016

لو كانت لغات البرمجة سيارات

بسم الله الرحمن الرحيم
أحببت ان اترجم المقالة المشهورة " لو كانت لغات البرمجة سيارات " ، و هي و ان كانت طرافات الا انها ذكية جدا فقط تحتاج الى معرفة مجملة بلغات البرمجة. مثلا في "سمول تولك" قوله ترسل لها "مسجا" فهي بلحاظ ان البرمجة الكائنية تقوم على التفاعل بالرسائل بين الكائنات…الخ. قراءة ممتعة و في النهاية الرابط الاصلي لمن يفضلون القراءة بالانجليزية.
Ada
هي مدرعة ، مدرعة قبيحة المؤخرة ! لا تتعطل ابدا. الناس يضحكون بهستيريا عندما تخبرهم بأنك تسوق ادا . و لكن واقعا ، هل تريد ان تسوق سيارة رياضية في معركة؟
Assembly
هي مجرد محرك ، عليك ان تبني السيارة بنفسك و ان تعبئها بالبنزين يدويا و هي تعمل، و لكن ان كنت حذرا فبامكانها ان تنطلق مثل خفاش منطلق من الجحيم !
اسمبلي : انت السيارة !..
Basic
سيارة بسيطة مفيدة للمسافات القصيرة مثل الذهاب الى السوبرماركت. ذات شعبية مع المتعلمين . مؤخرا تم تعريتها الى صدفة و تم اعادة بنائها من قبل مصنع عملاق ، الاصدار الجديد جيد للرحلات الطويلة ما يجعل التشابه بينه و بين الموديل القديم مجرد بعض جماليات.
C
سيارة سباق سريعة جدا و لكن تتعطل كل خمسين ميل .
Cobol
يقال انها كانت سيارة و لكن لا يوجد سائق يحترم نفسه سيعترف بانه ساق واحدة منها.
C#
سيارة عائلية منافسة ، عندما تستخدمها سيتم منعك من استخدام منتجات الشركات المنافسة.
C++
هي سيارة مطورة من سيارات السباق "سي" مع الكثير من الاضافات و المواصفات. لن تتعطل الا كل 250ميل و لكن عندما تتعطل لا يعرف احد علة العطل.
Eiffel
سيارة تحتوي على معلم سياقة مضمن و بلكنة فرنسية! سيساعدك على التعرف و التعلم من اخطائك بسرعة، و لكن حذاري من ان تعارضه و الا سيهينك و يقذفك خارج السيارة!
Erlang
هي مجموعة من السيارات التي تتعاون كي توصلك الى حيث تشاء. ستحتاج الى ان تتعلم السياقة و رجلك في عدة سيارات! و لكن عندما تتعلم ان تسوقها على الطريق سيصعب عليك ان تسوق بطريقة اخرى. بالاضافة الى هذا ، كونك تسوق عدة سيارات لن يهمك اذا تعطل البعض منها.
Forth
هي سيارة تنشئها بنفسك من قطع جاهزة . سيارتك ليست بالضرورة تشبه او تتصرف كأي سيارة اخرى. لكن سيارات فورث لا تسير الا الى الوراء!
Fortran
سيارة بدائية ، ستنطلق بسرعة جدا و لكن فقط عندما تكون قيادتك في طرق مستقيمة! يعتقد البعض ان تعلم قيادة فورتران يجعل من تعلم قيادة اي موديل اخر من السيارات امرا مستحيلا.
Java
جافا سيارة عائلية . سهلة القيادة ، معتدلة السرعة ، لن تستطيع ان تؤذي نفسك .
Haskell
هاسكل : سيارة في غاية الاناقة من حيث التصميم و الجمال، يشاع انها تستطيع السير في طرق غريبة.عندما قمت بسياقتها في الحقيفة انت لم تسقها على مدى الطريق، بل انها عملت نسخا منها و من الطريق بحيث ان مع كل نسخة من الطريق تتقدم السيارة قليلا الى الامام. يفترض انه هناك طرقا اسهل و اكثر تقليدية لسياقتها و لكنك لا تعرف ما يكفي من الرياضيات كي تفهمها.
هاسكل: ليست في الحقيقة سيارة ، انها آلة مجردة تعطيها تفاصيل عملية السياقة لو كنت ستسوق.سيتوجب عليك ان تضع الالة المجردة داخل آلة"مادية" اخرى كي تقوم بأي نوع من السياقة الحقيقية، و لا يمكنك ان تسأل كيف تقوم الالة المادية بالعمل. هناك ايضا طريقة تمكنك من ان تاخذ عددا من الالات المجردة و تجعل منها الة مجردة واحدة و من ثم يمكنك ان تضعها في الالة المادية كي تقوم بعدة رحلات واحدة بعد الاخرى.
Lisp
تبدو مثل سيارة و لكن مع التعديل المناسب بامكانك ان تحولها الى طائرة او غواصة.
ليسب : في البداية لا تبدو كسيارة اطلاقا ، و لكن بين الفينة و الاخرى سترى البعض يقودها. بعد فترة ستقرر ان تتعلم عنها اكثر و ستدرك انها في الحقيقة سيارة باستطاعتها صنع المزيد من السيارات. ستخبر اصدقائك و لكنهم سيضحكون و يخبرونك ان هذه السيارات غريبة جدا. و ستبقي سيارة منها في منزلك على امل ان يأتي يوم تسيطر فيه هذه السيارات على الشوارع .
Mathematica
سيارة بتصميم جيد قد استعارت الكثير من ليسب و لكن بدون ان تعترف لها بالجميل! يمكنها ان تحل معادلات كي تحسب افضل طريق الى وجهتك و لكنها تكلف ثروة.
Matlab
سيارة مصممة خصيصا للمبتدئين و للمسافات القصيرة و الطرق التي تشبه الطرق التي عادة تسوق عليها سيارات ماثيماتيكا . لذلك هي مريحة في مثل هذه الطرق و لكن اذا انحرفت خارج المسار و لو قليلا سيصبح من الصعب التحكم بها ، ما يجعل بعض السائقين المتعجرفين يرفضون حتى الاعتراف بانها سيارة.
Ocamel
اوكامل سيارة اوربية مثيرة! ليست بسرعة السي و لكنها لا تتعطل ابدا، لذلك ستقطع اكثر في وقت اقل .لكن كونها فرنسية فالكثير من الازرار و المتحكمات ليست في محلها المعتاد.
Perl
يعتقد انها سيارة رائعة و لكن دليل السياقة لا يمكن استيعابه. ايضا حتى لو استطعت تعلم سياقة سيارة من نوع بيرل لن تتمكن من سياقة سيارات الاخرين.
PHP
هي من نوع Oscar Mayer Wienermobile ، غريبة و صعبة السيطرة عليها و لكن مع هذا الكل يريد ان يسوقها.
Prolog
سيارة الية تماما . تخبرها بوجهتك كيف تبدو فتأخذك الى هناك. على الرغم من هذا فان الجهد المبذول في تحديد الوجهات يساوي الجهد المبذول للقيادة الى هناك.
برولوج : سيارة تحتوي على نظام جي بي اس "نظام المحاولة و الخطأ" فريد من نوعه. ستتبع الطريق الى نهايته كي تجد مقصدك فان لم تجد مقصدك في نهاية الشارع ترجع الى الوراء و تحاول البحث في الطريق الاخر و هكذا حتى تصل الى مقصدك .
Python
سيارة ممتازة للمبتدئين، تستطيع قيادتها حتى بدون رخصة . اذا لم تكن تريد القيادة بسرعة او في الطرق الغادرة فربما لن تحتاج لغيرها.
Ruby
هي سيارة تكونت عندما تصادمت بيرل و بايثون و سمولتولك في حادث ثلاثي الاتجاه! قام مهندس ياباني بجمع القطع المبعثرة و انشأ منها سيارة يعتقد بعض السائقين انها افضل من مجموع الاجزاء. في الجهة المقابلة هناك سائقون يرون ان الكثير من المتحكمات قد تم تكرارها، ما يجعل بعضها لا يتصرف كما هو مطلوب في المواقف الغريبة ما يجعل السيارة اصعب مما ينبغي في قيادتها. تسري اشاعات ان هناك اعادة تصميم.
SmallTalk
سيارة صغيرة صممت اساسا فقط لمن يريدون تعلم السياقة، و لكنها صممت بشكل جيد لدرجة ان المحترفين ايضا يحبون سياقتها. ليست سريعة جدا و لكن يمكنك ان تأخذ اي جزء منها و تغيره بما يتناسب مع ذوقك. الغريب انك في الحقيقة لا تسوقها و لكن ترسل لها مسجا تطلب منها ان تذهب الى مكان ما و بناء على ذلك اما ان تستجيب لك او تخبرك بأنها لم تفهم المسج .
Visual Basic
هي سيارة تقودك ..!
المقالة الاصلية :
http://www.cs.caltech.edu/~mvanier/hacking/rants/cars.html