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?1494064434
+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 – это Винермобиль Оскара Майера...." круто загнул)) Вот только остаётся понять как это автомобиль выглядит


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

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