08 ноября 2009, 15:41 · everytime
Если бы языки программирования были машинами

Ada – это танк, уродливый и брутальный, но он никогда не сломается. Все могут смеяться, что вы до сих пор используете этот язык, но в зоне военных действий он куда эффективнее, чем спорткар

Assembler – это голый двигатель, без каких либо надстроек. Вам нужно вручную построить машину и завести её, но только если вы будете крайне аккуратны, она заработает и покажет всем раз и навсегда, чего это всё стоило.

Assembler – вы и есть машина

Basic – это простенькая машина для коротких поездок в ближайший магазинчик. Пользовался популярностью среди начинающих водителей, но потом был полностью переделан производителем для длительных путешествий и оригинал напоминает лишь отдалённо.

CarsС – это спортивная машина, которая ездит очень быстро, но при этом ломается каждые пятьдесят километров.

Cobol – слывёт автомобилем, но никто хоть раз проехав на нём не назовёт это машиной.

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

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

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

Erlang – это не один автомобиль, а целый корпоративный парк машин, которые все вместе призваны довезти вас до конечной точки. Сначала это может быть неудобно когда вы одновременно в нескольких машинах, но, привыкнув, вы сможете проехать где угодно и как угодно, и по-другому вам ездить уже не захочется. Кстати, так как у вас в распоряжении сразу парк машин, неважно будет, если какая-нибудь из них сломается.

Forth – это машина собранная вручную из набора деталей. Она не выглядит и не ведёт себя как какая-либо другая машина. Правда, ездит она только задним ходом.

Fortran – довольно примитивная машина. Ездит она очень быстро, но только по идеальной прямой. Говорят, те, кто смог освоить управление данной машиной, другие водить уже не сможет.

Java – это семейный универсал, не очень быстрый, легкоуправляемый и безопасный.

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

Haskell – это вообще не машина в действительности. Это некая абстрактная машина, которой мы задаём детальное описание процесса езды, и затем помещаем её в какую-то реальную машину. А уж как ездит эта реальная машина нас не особо волнует. Можно помещать и несколько абстрактных машин в одну реальную ля реализации нескольких поездок.

Lisp – выглядит как машина, но при желании может быть переделана в субмарину или самолёт.

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

Matlab – машина для новичков, которые ездят по тому же покрытию, что и машины Mathematica. Но стоит вам съехать с колеи, как даже самая простая машина данного класса, становится фактически неуправляемой, да и большинство водителей уже не считает её за автомобиль вообще.

Ocaml – это сексуальная европейская машина. Не такая быстрая как C, но она не ломается и поэтому довозит быстрее. Проблема только в том, что она французская, а это значит что всё органы управления у неё не на своём месте.

Perl – довольно симпатичная машина, но инструкция по эксплуатации у неё абсолютно нечеловеческая. Если вы осилили разобраться как управлять данной машиной, понять другие авто вы уже не сможете.

PHP – это Винермобиль Оскара Майера. Выглядит жутко и управляется с трудом, но почти каждый всё равно ещё хочет его водить.

Prolog – полностью автоматическая система. Вы просто задаёте пункт назначения, и машина доставляет вас сама. Правда, задать пункт назначение не проще, чем доехать, управляя машиной самостоятельно.

Prolog – машина с уникальной системой навигации. Она проезжает улицу до конца и если не находит точки назначения возвращается и исследует следующую улицу.

Python – отличная машина для начинающих, чтобы водить её даже не надо обладать водительскими правами. Если вы не хотите ездить действительно быстро или в каких-то сложных условиях, то другая машина вам не понадобится.

Ruby – это машина, которая получилась в результате аварии Perl, Smalltalk и Python автомобилей. Японский механик собрал из трёх машин одну, и она стала ездить, причём, по мнению многих водителей лучше, чем её составные части. Проблема только в том, что органы управления могут дублироваться, а то и триплироваться, что делает процесс управление более сложным, чем кажется на первый взгляд. По слухам идёт работа над редизайном данной модели.

Smalltalk – маленькая машина, спроектированная для тех, кто только учится водить. При этом управлять ею нравится и куда более искушённым водителям. Она не очень быстра, но вы можете проапгрейдить тот или иной элемент для своих нужд. Странность в ней только одна – вы фактически не управляете машиной, а лишь посылаете сообщение машине о своём желании проехать куда-то, а она либо довозит вас, либо выдаём ошибку том, что не поняла вашего запроса.

Visual Basic – машина управляет вами.

Перевод. Оригинал на сайте cs.calltech.edu:

Новые комментарии

Обсуждение

Missing-male
+1

Жаль нет lua ...

Missing-male

и скриптовых (JS, AS)

Picture?type=square

Lua - это такой конструктор, с помощью которого вы сможете добавлять, удалять и изменять конструктивные особенности машины и ее поведение без обращения на завод, более того, прямо на ходу =)

Missing-male
-4

Важно не только что из себя представляет машина, но и кто на ней ездит.

А некоторые ездят не просто на чем угодно, но и машинах собственной разработки :)

Missing
+1

> Java – это семейный универсал, не очень быстрый, легкоуправляемый и безопасный.

как-то про Java поскромничали. ;-)

Missing-male
-1

1. почему

Java – это семейный универсал, а С# - это любимый семейный универсал?!!

Надо срочно устроить холивар! И даже могу начать, уверив по поводу "С# - ... однажды его поводив, вы уже никогда не воспользуетесь автомобилями других производителей.", что поводив и Java и C#, ни за что в жизни не воспользуешься последним

Ff16fd70ed51a89e64c4a69c93d7ee7b?1507418034
+1

не flex developer'у холивары про жабу и дотнет начинать :)

Давайте без холиваров сегодня. Выходной как никак

Missing-male

в наше неспокойное время знать только 1 технологию опасно, так что я могу начинать холивары и не только про джаву, дотнет и флекс :)

Вперёд - выходные закончились!)

Missing
+10

поехали!

Как язык Java - suxx, C# - уродство. В силу необходимости создания имен существительных. ;-)

Missing-male
+1

вот чёрт. тогда холивар быстро закончился, так как сошлись на мнении, что и то и другое лажа)

Picture_2722?1356409884
-4

"С – это спортивная машина, которая ездит очень быстро, но при этом ломается каждые пятьдесят километров.

С - это проапгрейженый новым функционалом гоночный автомобиль, теперь он ломается только каждые 250 километров, но при этом понять, что сломалось, становится практически невозможным."

Руки надо иметь растущие откуда надо

Picture_968?1356409826
Dreamer
– Software Engineering Team Leader в EPAM

Дык это ж понятно.. только суть дела от этого не меняется )

Picture_2722?1356409884
+1

Почему не меняется? То есть если что то написано и это не работает то в этом виноват язык? Или C\C++ содержит что-то что в определенных ситуациях работает неправильно? Баги появляются по вине людей. Язык ни в чем не виноват. Тем более что никто и ничто не мешает вам писать без всяких сложных конструкций.

Missing-male

Именно так, все дело в руках

Missing-male
Andrey_Bas
– Software Engineer в EPAM

+3

Почему вдруг на юмористические колкости по описанию каждого языка все стали так реагировать. Суть заметки ведь не в том чтобы унизить или возвысить какой-то язык, а просто описать некие характерные моменты языка в такой шуточной форме. Мне было приятно почитать, улыбнуло, так сказать. Перевод даже помечен как "юмор", не воспринимайте Вы все как личную обиду.

Missing-male
Алексей Данченко
– Инженер-программист в ЛюксСофт

+1

Справедливости ради, надо заметить, что далеко не все. Если бы все стали реагировать, тут бы волнами уже всех снесло :)

Picture_130?1356409798
-1

Складывается впечатление, что автор понаслышке знает либо про некоторые языки, либо про некоторые автомобили. :)

Picture_2823?1356409888

В подобных статьях храмает система классификациию.

Предлагаю переклассифицировать по следующему принципу цена качество.

Только в отличие от автомобилей в случае с языком программирования цена - время, затраченное на изучения языка, А качество - соотвественно качество дальнейшей разработки.

Километры пробега без поломок для автомобиля - это размер проекта при котором вы не упретесь в органичения языка ( а скорее в органичение технологий связанных с данным языком ).

Скорость машины - соответенно скорость работы конечного приложения.

Учитывая все вышесказанное можно смело утверждать.

Что являсь опытным водителем автомолиля C вы смело можете поменять его без доплаты на новый C# (в этом случае доплатят еще и вам) либо Java ( скорее всего тоже доплатят ). При этом C# предпочтут любители эстетичной езды по автобанам Microsoft, в то время Java позволит перемещатся практически везде, заплатив при этом неким снижением скорости перемещения, получив в награду бесплатные автосервисы и тюнинговые мастерские на любой вкус.

Picture_3970?1356409921
Shota
– Senior PHP Developer в TulaCo

+5

Спасибо автору... "PHP – это Винермобиль Оскара Майера...." круто загнул)) Вот только остаётся понять как это автомобиль выглядит


Авторизуйтесь, чтобы оставлять комментарии

Использование материалов, размещенных на сайте, разрешается при условии прямой гиперссылки на dev.by. Ссылка должна быть размещена в подзаголовке или в первом абзаце публикации.
datahata — хостинг в Беларуси