Якби мови програмування були автомобілями

Привіт всім! Щоб якось розрядити атмосферу трудового тижня, я вирішив перевести цікаву статейку. У ній описані мови програмування, якби вони були машинами. Ну-с, почнемо!

Ada - це танк, потворний і брутальний, але він ніколи не зламається. Будь-хто може сміятися, що ви до сих пір використовуєте цю мову, але в зоні військових дій він куди ефективніше, ніж спорткар

Assembler - це голий двигун, без будь-яких надбудов. Вам потрібно вручну побудувати машину і завести її, але тільки якщо ви будете вкрай обережні, вона запрацює і покаже всім раз і назавжди, чого це все коштувало.

Assembler - ви і є машина

Basic - це простенька машина для коротких поїздок в найближчий магазинчик. Був популярним серед початківців водіїв, але потім був повністю перероблений виробником для тривалих подорожей і оригінал нагадує лише віддалено.

С - це спортивна машина, яка їздить дуже швидко, але при цьому ламається кожні п'ятдесят кілометрів.

Cobol - славиться автомобілем, але ніхто хоч раз проїхавши на ньому не назве це машиною.

С # - це улюблений сімейний універсал, одного разу його поводив, ви вже ніколи не скористаєтеся автомобілями інших виробників.

С ++ - це проапгрейжений новим функціоналом гоночний автомобіль, тепер він ламається тільки кожні 250 кілометрів, але при цьому зрозуміти, що зламалося, стає практично неможливим.

Eiffel це автомобіль відразу разом з інструктором з французьким акцентом. На перших кроках він допоможе вам швидше з усім розібратися і вчитися на помилках, але краще не намагатися з ним сперечатися - інакше він вас образить і викине з машини.

Erlang - це не один автомобіль, а цілий корпоративний парк машин, які всі разом покликані довезти вас до кінцевої точки. Спочатку це може бути незручно коли ви одночасно в декількох машинах, але, звикнувши, ви зможете проїхати де завгодно і як завгодно, і по-іншому вам їздити вже не захочеться. До речі, так як у вас в розпорядженні відразу парк машин, неважливо буде, якщо котрась із них зламається.

Forth - це машина зібрана вручну з набору деталей. Вона не виглядає і не поводиться як будь-яка інша машина. Правда, їздить вона тільки заднім ходом.

Fortran - досить примітивна машина. Їздить вона дуже швидко, але тільки по ідеальній прямій. Кажуть, ті, хто зміг освоїти управління цією машиною, інші водити вже не зможе.

Java - це сімейний універсал, не надто швидкий, легкокерований і безпечний.

Haskell - це на рідкість красива і елегантна машина, яка пересувається досить своєрідним шляхом. Насправді ви навіть не їдете по дорозі в цій машині - вона, скоріше, створює копії себе і дороги, і кожна наступна ітерація машини виявляється трохи далі, ніж попередня. В принципі, напевно, можна їздити і більш простим способом, але вам не вистачить знання математики, щоб визначити, як це зробити.

Haskell - це взагалі не машина насправді. Це якась абстрактна машина, якій ми задаємо детальний опис процесу їзди, і потім поміщаємо її в якусь реальну машину. А вже як їздить ця реальна машина нас не особливо хвилює. Можна поміщати і кілька абстрактних машин в одну реальну ля реалізації кількох поїздок.

Lisp - навряд чи це взагалі машина на перший погляд, але якщо придивитися, то ви помітите на вулицях кілька людей, які керують даними машинами. Коли ви вирішите дізнатися більше про дані машинах, ви виявите, що дані машини можуть самі робити інші машини. Правда, ваші знайомі сміються над цим, оскільки аж надто убого виглядають ці самі машини. Ось і стоїть один Lisp автомобіль у вас в гаражі в надії коли-небудь вийти на світ божий.

Mathematica - добре спроектована машина, запозичена багато від Lisp без будь-яких докорів сумління. Вона може провести обчислення для того, щоб найбільш ефективно дістатися до необхідної точки, правда коштувати це буде чимало.

Matlab - машина для новачків, які їздять по тому ж покриттю, що і машини Mathematica. Але варто вам з'їхати з колії, як навіть найпростіша машина даного класу, стає фактично некерованою, та й більшість водіїв вже не вважає її за автомобіль взагалі.

Ocaml - це сексуальна європейська машина. Чи не така швидка як C, але вона не ламається і тому довозить швидше. Проблема тільки в тому, що вона французька, а це значить що все органи управління у неї не на своєму місці.

Perl - досить симпатична машина, але інструкція з експлуатації у неї абсолютно нелюдська. Якщо ви подужали розібратися як управляти цією машиною, зрозуміти інші авто ви вже не зможете.

Prolog - повністю автоматична система. Ви просто задаєте пункт призначення, і машина доставляє вас сама. Правда, задати пункт призначення не простіше, ніж доїхати, керуючи машиною самостійно.

Prolog - машина з унікальною системою навігації. Вона проїжджає вулицю до кінця і якщо не знаходить точки призначення повертається і досліджує наступну вулицю.

Python - відмінна машина для початківців, щоб водити її навіть не треба володіти водійськими правами. Якщо ви не хочете їздити дійсно швидко або в якихось складних умовах, то інша машина вам не знадобиться.

Ruby - це машина, яка вийшла в результаті аварії Perl, Smalltalk і Python автомобілів. Японський механік зібрав з трьох машин одну, і вона стала їздити, причому, на думку багатьох водіїв краще, ніж її складові частини. Проблема тільки в тому, що органи управління можуть дублюватися, а то і триплировані, що робить процес управління більш складним, ніж здається на перший погляд. З чуток йде робота над редизайном даної моделі.

Smalltalk - маленька машина, спроектована для тих, хто тільки вчиться водити. При цьому управляти нею подобається і куди більш досвідченим водіям. Вона не дуже швидка, але ви можете проапгрейдить той чи інший елемент для своїх потреб. Дивина в ній тільки одна - ви практично не керуєте машиною, а лише посилаєте повідомлення машині про своє бажання проїхати кудись, а вона або довозить вас, або видаємо помилку тому, що не зрозуміла вашого запиту.

Visual Basic - машина керує вами.

Схожі статті