Если бы языки программирования были машинами

19 комментариев
Если бы языки программирования были машинами
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:

Горячие события

Конкурс EY Entrepreneur Of The Year 2020
31 мая — 31 мая

Конкурс EY Entrepreneur Of The Year 2020

GoWayFest 4.0
11 июля — 11 июля

GoWayFest 4.0

Минск

Читайте также

Данные смартфонов помогают мониторить пандемию, приватность отменяется
Данные смартфонов помогают мониторить пандемию, приватность отменяется

Данные смартфонов помогают мониторить пандемию, приватность отменяется

Государства пытаются различными способами, в том числе с помощью информационных технологий, замедлить распространение коронавируса. По данным сайта Top10VPN, который собирает такие примеры, на 31 марта методы цифрового трекинга используются в 20 странах, продвинутые технологии видеонаблюдения за перемещением граждан — в 7 странах.
1 комментарий
Когда перевода недостаточно, или что бизнесу может дать локализация
Когда перевода недостаточно, или что бизнесу может дать локализация

Когда перевода недостаточно, или что бизнесу может дать локализация

Создать бизнес — гордость для каждого. А создать успешный бизнес, который можно масштабировать на другие страны, — это непростая задача и большая ответственность. И, как в любом ответственном деле, здесь много подводных камней. Один из них — локализация сайта и приложения для бизнеса. Компания Alconost рассказывает, что такое локализация, чем она отличается от простого перевода, как влияет на перспективы компании и что бизнес может получить благодаря локализации.
10 бесплатных приложений для домашних тренировок
10 бесплатных приложений для домашних тренировок

10 бесплатных приложений для домашних тренировок

Перевели подборку приложений от Android Police, которые помогут поддерживать тело в хорошей форме без спортзала.
1 комментарий
10 научных и технологических музеев, которые можно посетить онлайн
10 научных и технологических музеев, которые можно посетить онлайн

10 научных и технологических музеев, которые можно посетить онлайн

Подборка виртуальных туров по музеям в разных странах от Interesting Engineering.
1 комментарий

Обсуждение

46

Жаль нет lua ...

0

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

0

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

1

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

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

1

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

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

1

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

1

не flex developer'у холивары про жабу и дотнет начинать :)
Давайте без холиваров сегодня. Выходной как никак

0

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

1

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

1

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

0

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

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

Anonymous
Anonymous Software Engineering Team Leader в EPAM
1

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

0

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

0

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

Anonymous
Anonymous Software Engineer в EPAM
1

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

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

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

Anonymous
Anonymous Team Leader в Booking.com
-1

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

0

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

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

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

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

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

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

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

Anonymous
Anonymous Senior PHP Developer в TulaCo
1

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