27 мая 2012 в 14:07

Цитаты о языках программирования перевод

Что учёные, писатели и программисты думают о популярных языках программирования.

Все языки


«Есть два подхода к программированию. Первый — сделать программу настолько простой, чтобы в ней очевидно не было ошибок. А второй — сделать её настолько сложной, чтобы в ней не было очевидных ошибок.»
Tony Hoare. Профессор, занимался реализацией Алгол 60, сейчас исследователь в Microsoft Research.


Algol 60 (позже повлиявший на C)


«Я не мог устоять перед искушением добавить в язык нулевой указатель (null), просто потому, что его так легко было реализовать. Это привело к бессчётному множеству ошибок, уязвимостей и сбоев, которые нанесли ущерб, наверное, в миллиард долларов за последние сорок лет.»
Tony Hoare.


Basic


«Практически невозможно научить хорошему стилю программирования студентов, которые раньше имели дело с Бейсиком; в качестве программистов они умственно покалечены без надежды на восстановление.»
Edsger Wybe Dijkstra, «The Threats to Computing Science».


C


«Программирование на C подобно быстрому танцу на полу, только что натёртом воском, среди людей с острыми бритвами в руках.»
Waldi Ravens. Программист.

«С моей эгоистической точки зрения, большинство программ на C надо выравнивать по уровню в шесть футов под землёй.»
Blair P. Houghton. Программист.

«Переходить от программирования на Pascal к программированию на C — это как учиться писать азбукой Морзе.»
J.P. Candusso. Программист.

«Одной из основных причин падения Римской империи было то, что, поскольку в их арифметике не было нуля, они никак не могли сообщать об удачном завершении в своих программах C.»
Robert Firth. Автор книг по программированию.

«Писать на C или C++ — это как работать с бензопилой без какой-либо защиты.»
Bob Gray. Писатель.

«Уже пол-шестого утра… Ты знаешь, где сейчас твой указатель стека?»
Аноним.


C++


«При помощи C вы легко можете выстрелить себе в ногу. При помощи C++ это сделать сложнее, но если это произойдёт, вам оторвёт всю ногу целиком.»
Bjarne Stroustrup. Создатель C++

«Эволюция языков программирования: Fortran — нетипизированный язык. C — слабо типизированный язык. Ada — строго типизированный язык. C++ — сильно разрекламированный язык.»
Ron Sercely. Программист.

«Я придумал термин „объектно-ориентированный“, но я вовсе не имел в виду C++.»
Alan Kay. Создатель Smalltalk

«Последние нововведения в C++ были созданы, чтобы исправить предыдущие нововведения.»
David Jameson. Писатель

«Неужели после пятидесяти лет исследований в области языков программирования мы пришли к C++?»
Richard A. O'Keefe. Учёный.

«Вы когда-нибудь читали comp.lang.c++? Это самое подходящее место для того, чтобы убедиться, сколько пользователей C++ ищут для себя язык получше.»
R. William Beckwith.

«C++ заслуживает место в истории языков программирования, так же как Калигула заслуживает место в истории Римской империи.»
Robert Firth.

«Java — это C++, из которого убрали все пистолеты, ножи и дубинки.»
James Gosling, один из создателей Java.

«C++ — это ужасный язык. Даже если бы С не давал никаких преимуществ, кроме отпугивания программистов на C++, это было бы уже достаточным аргументом в пользу C.»
Linus Torvalds, создатель Linux.


COBOL


«Использование Кобола калечит разум; его преподавание должно приравниваться к уголовному преступлению.»
E. W. Dijkstra.


Fortran


«Фортран — это не цветок, а сорняк — он резко и внезапно вырастает на каждом компьютере.»
Alan J. Perlis. Профессор (Йельский университет)

«Фортран дефектен от рождения и ему уже больше 20 лет, сегодня он безнадёжно неполноценен для любой компьютерной программы, которую вы можете придумать: его слишком тяжело, слишком рискованно и слишком дорого использовать.»
E. W. Dijkstra.

«Фортран был популярен по той же причине, по которой популярны соревнования по бегу со связанными ногами.»
Ken Thompson. Один из создателей Unix, Plan 9 и языка программирования Go.


Java


«Если бы в Java действительно работала сборка мусора, большинство программ бы удаляли сами себя при первом же запуске.»
Robert Sewell. Программист.


Lisp


«Lisp — это не язык, а строительный материал.»
Alan Kay.


Perl


«Perl — это единственный язык, программы на котором выглядят одинаково до и после RSA-шифрования.»
Keith Bostic. Программист, создатель Sleepycat, конрибьютор BSD.


PHP


«PHP — это малое зло, созданное некомпетентными любителями, а Perl — это громадное и хитроумное зло, созданное опытными и извращёнными профессионалами.»
Jon Ribbens. Программист.


Bash и другие шеллы


«Проще портировать шелл, чем шелл-скрипт.»
Larry Wall. Создатель Perl.


И наконец...


«Есть всего два типа языков программирования: те, на которые люди всё время ругаются, и те, которые никто не использует.»
Bjarne Stroustrup.
Автор оригинала: www.scriptol.com
Илья Струков @iley
карма
214,0
рейтинг 0,0
Самое читаемое Разработка

Комментарии (103)

  • +23
    И ни одной цитаты про Python? :(
    • НЛО прилетело и опубликовало эту надпись здесь
    • +8
    • +5
      C вашей аватаркой я бы не жаловался ;)
      • 0
        Сделаю себе такую же, только закрывающую
        • 0
          Хотел сказать открывающую
          • 0
            Уже есть
    • +3
      import this
      
  • +42
    Дейкстра безжалостен.
    • +4
      Я бы даже сказал, что беспощаден. Но нужно чётко осознавать: «программирование» Дейкстры — это не коммерческая прибыльная разработка, это, скорее, высокое искусство.
  • +9
    Еще парочка отличных цитат о программировании, но не привязанных к каким-либо языкам:

    «Если отладка — процесс удаления ошибок, то программирование должно быть процессом их внесения»,
    — Эдсгер Вайб Дейкстра.

    «Преждевременная оптимизация — это корень всех бед»,
    — Тони Хоар.
    • +3
      Вторую, вроде бы, Дональд Кнут сказал.
      • +8
        Сам Кнут отсылает авторство Хоару, хотя Хоар это отрицает.
        • +26
          Как всегда, крайних не найдёшь.
    • +4
      > «Преждевременная оптимизация — это корень всех бед»,
      > — Тони Хоар.

      Цитируйте уж полностью, а то когда приходится админить то, что понаписали люди люди, считающие вышеприведенную цитату своим жизненным кредо, сильно хочется этих людей-то позакопать.

      Во первых, цитата полностью:
      We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil"

      Во вторых, доподлинно не известно автор ли Тони Хоар:
      (He also attributed the quote to Tony Hoare several years later,[3] although this might have been an error as Hoare disclaims having coined the phrase.[4])
  • +8
    «Программирование на C подобно быстрому танцу на полу, только что натёртом воском, среди людей с острыми бритвами в руках.»

    Как в кунг-фу :) Ты либо мастер и не замечаешь скользкий пол, либо тебя нет — www.youtube.com/watch?v=0yueRzvFx9o&t=10s
    • +6
      Увы, фильмы «о кун-фу» так же не лишены эффекта штурмовика.
      • +1
        Спасибо за ссылку.
        Про краснорубашечников понравилось еще больше.
  • +2
    Практически ничего про функциональное программирование((
    • 0
      Цитата про LISP есть же
    • +1
      А как же последняя? )
      • 0
        Ага, она как бы намекает на все остальные языки,
        но я бы всё-таки предпочёл и поругаться на некоторые фунциональные, которые в продакшене есть. ;-)
  • +20
    Про джаву вообще убило :-). Жаль нет про C#.
    • +7
      Да, да, где цитаты про мой любимый C#? :)
      • +8
        «Есть всего два типа языков программирования: те, на которые люди всё время ругаются, и те, которые никто не использует.»
        Например :}
        • –1
          это Шарпом не пользуются? тыц
          • +23
            Сильно же тебя задело. Еще и с большой буквы написал :}
          • 0
            Так если не пользуются, значит не ругают… Как это не ругают??? Я вот каждый день его ругаю! Но ругаю, потому что люблю :)
      • +1
        -Why do some people still use Java?
        -Cause they can't see sharp.
  • +102
    По-моему, вот это самая знаменитая народная цитата про Java:

    • +9
      Это доказывает, что java круче регекспов:

      Some people, when confronted with a problem, think
      “I know, I'll use regular expressions.” Now they have two problems.
      • 0
        Эээм, причем тут джава? А эту цитату я вообще в dive into python видел.
        • +7
          Видимо, имеется в виду, что при использовании регекспов появляется всего одна дополнительная проблема, в отличие от Java, которая награждает нас целой фабрикой. Интересно, кстати: если пользоваться регекспами в Java, получим ли мы ProblemFactory и RegexpProblemFactory?
          • +4
            Ой, я неправильно прочитал комментарий, всем извините :-(
        • 0
          senia имел в виду, что с помощью регулярок можно создать себе лишь две проблемы, а при использовании Java с его/её ProblemFactory проблем можно создать гораздо больше. Ну а приведённая выше цитата настолько известна, что встречается, пожалуй, в каждой третьей книге по программированию.

          Ваш К.О.

          PS. Обновляйте комментарии :)
    • +19
      Ещё про java:
      Saying that Java is good because it works on all platforms is like saying anal sex is good because it works on all genders
      • 0
        У нас компьютеры у разработчиков — Windows и MacOS. А боевой сервер — Unix. Особых проблем не испытываем.

        Давайте вы возьмёте под мультиплатформенную разработку «не Java». Вот в таком случае будет повод поговорить про анальный секс.

        PS: Ещё под Android немного пишем.
        • +16
          Задело? Есть ещё: Write once — debug everywhere.
          • –7
            Задевает то, что довольно глупое сравнение столько людей плюсует. Если продолжить эту «странную» аналогию, то получается как-то так: Да, мы дрючим мужчин, женщин, лошадок, слоников, зайчиков и белочек. И за это нам платят неплохие деньги.

            «Write once — debug everywhere» — можно интерпретировать по разному и каждый будет понимать по своему. Не такие агресивные формулировки, как в предыдущем варианте. Соответственно, меньше «цепляет» аудиторию.
  • 0
    32. Эволюция языков: FORTRAN — не строго типизированный язык, С — слабо типизированный язык. Ada — сильно типизированный язык. С++ — сильно раздутый язык.
    — Ron Sercely
    автор вы что-то перепутали
    • +6
      В оригинале было «strongly hyped» и, если знания и словарь меня не обманывают, мой перевод ближе по смыслу.
      • –7
        Не знаю о каких знаниях вы говорите, а на счет словаря «разрекламированный (hyped)» маркетинговый термин, а так по смыслу более близок к «раздутому» (по данным моего словаря).
        • +21
          hyped — однозначно «раскрученный». Раздутый было бы «bloated». Статистический перевод гугла лажает очень часто)
        • +8
          Слово «to hype» означает «поднимать шум», «навязчиво рекламировать», «пускать пыль в глаза». Соответственно «hyped» — это «раздутый» в том смысле, что вокруг него подняли шум, как, например, в словосочетании «раздутый скандал». А поскольку слово «раздутый» в русском языке имеет несколько значений, я выбрал более однозначное «разрекламированный».

          «Раздутый» тоже подходит, но на мой взгляд «разрекламированный» больше соответствует оригиналу.
          • +3
            Ок, по рукам и без обид )
          • +4
            По смыслу очень здорово подходит русское «раскрученный», как выше правильно заметили. А-ля — «язык-звезда» :)
        • +1
          Нашли, чему верить.
          slovari.yandex.ru — вот это словарь, а не гуглопереводчик
        • 0
          Словарю от гугла надо верить в последнюю очередь.
          Ваш К.О.
        • +1
          Ну вот я и дожил до времени когда гуглопереводчик приводят в качестве аргумента…
    • +1
      > автор вы что-то перепутали

      Я считаю редко. Надо каждые полгода постить.
      • –2
        Вы я вижу не поняли о чем речь
  • +1
    >> «С моей эгоистической точки зрения, большинство программ на C надо выравнивать по уровню в шесть футов под землёй.»

    Сначала не понял, почему программы нужно выравнивать и только по оригиналу
    «In My Egotistical Opinion, most people's C programs should be indented six feet downward and covered with dirt.»
    Blair P. Houghton. Programmer.
    осознал, что речь идет про отступы
    • +2
      А разве тут не про «похоронены» идет речь?
      • +1
        Ну да, каламбур: выравнивать код (табами, отступами) и выравнивать кого-то под землей (то есть похоронить). По-английски звучит, а как перевести на русский — непонятно.
        • +9
          С моей эгоистической точки зрения, программам на C от большинства людей нужно сделать отступ на шесть футов вниз и покрыть землёй.

          Годится?
          • +3
            Вот вашу мысль (перевод) лично я понял с первого раза в отличие от перевода топикстартера )
    • 0
      Подозреваю, много программистских шуток хорошо понятны только на английском языке, ведь из него пришло огромное число подобных терминов.
  • +1
    Надо же было выбрать самую загадочную цитату про лисп. Добавьте что-ли
    “the most intelligent way to misuse a computer”

    или вот для раздела про Java:
    “In Lisp, if you want to do aspect-oriented programming, you just do a bunch of macros and you're there. In Java, you have to get Gregor Kiczales to go out and start a new company, taking months and years and try to get that to work.”
  • –9
    Даже не сомневался, что нет упоминания о Pascal (ну, не считая косвенного об ADA или Алгол).
    • –9
      Минусуют видимо те, кто на лабах по паскакалю получал двойки и, не осилив, ушел в въеб? Я прав?
      • +5
        А я думаю, это делаю те кто увидел упоминание о паскале, пусть и в главе про си.
      • +3
        Однажды, был на встрече с Никлаусом Виртом. Конечно же его спросили про паскаль. Он сказал, что не перестаёт испытывать удивление от того, что паскаль стал промышленным языком (на какое-то время, да). Сам Вирт разрабатывали и позиционировал его исключительно как язык для первоначального обучения программированию. Очевидно, промышленным его сделали те, кто так и не осилил выйти за пределы этих ваших «лабов по паскакалю» :).
  • +5
    Про Java:
    Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
    • +1
      Дежавю
  • 0
    После этой статьи могу с умным видом ругаться на С++ перед преподавателем, говоря, что цитирую великих.
  • +19
    — “Programming is like sex: one mistake and you’re providing support for a lifetime.”
  • 0
    «If when you see a problem you think „I'll fix it using threads“… now you have two problems»
  • +15
    Моя любимая цитата :)

    "… Си хорош тем, что имеет 7-8 операторов, десяток операций — и всё. Его учить — плёвое дело. Однако он не для трусов. Си — это свобода плюс ответственность. Почему многие так и остаются на всю жизнь на Паскале? Потому что готовы пожертвовать свободой, лишь бы ответственности поменьше. А у Паскаля настоящий тоталитаризм: шаг в сторону — расстрел. Си — это настоящая демократия. Разгильдяйство и воровство тут не проходят. Однако для людей, скажем так, с совестью — полная свобода. Ассемблер — это коммунизм. Туда дорога ещё меньшему количеству народа, чем в Си. VB — гнилой капитализм. Вот почему: меньше вложить — больше заработать, пару тыков мышой — и у вас офигенное приложение, медленное — значит солидное; и ещё для его приложений надо иметь крутую тачку, а крутая тачка — это престижно."
    (с) какой-то форум.
    (с) Крис Касперски, Компьютерные вирусы изнутри и снаружи
    • –4
      Си — это настоящая демократия. Разгильдяйство и воровство тут не проходят.
      После девяностых такой взгляд на демократию слабоактуален.
      • +3
        А какое отношение к демократии имеет анархия?
    • +4
      Я бы назвал Си скорее анархией. Нет никаких внешних запретов, всё только на самоорганизации.
    • 0
      > и у вас офигенное приложение, медленное — значит солидное

      Ага, я в своих первых оконных прогах стециально паузы вставлял «для солидности», а то как-то несолидно было — запустил — а оно уже результат выдало, ни картинки там, ни шкалы процентов…
      Сейчас жизнь стала с ног на голову — все тормозит само собой, думаешь, как бы выкрутиться и сделать побыстрее.
      Прогресс аднака.
      • 0
        Все так делали :-) А теперь стыдно вспомнить. Ну разве что, проги были консольные и под досом. Тогда это еще казалось крутым…
  • +1
    Я также никогда не забуду инопланетян, которые похитили меня и научили программировать.
    Эрик Паскарелло
  • +2
    Нет, меня конечно добил перл про perl и RSA шифрование. Как-то довелось мне, белорукому сишарповщику, читать perl…
    • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    >«Писать на C или C++ — это как работать с бензопилой без какой-либо защиты.»
    >Bob Gray. Писатель.
    А какая защита нужна для работы с бензопилой?
    • 0
      Ну типо, наверно, соблюдение техники безопасности и все такое.
    • 0
      Просто в России и так бензопилой работаю без защиты. Американский юмор, надо понимать
    • +1
      1.4. При работе с цепной бензопилой персонал должен использовать следующие СИЗ:

      защитные брюки с защитой от пилы;
      защитный шлем с предохраняющими наушниками;
      очки защитные;
      специальные защитные перчатки;
      защитные сапоги с предохранением от цепи с металлической вставкой и нескользящей подошвой;
      иметь при работе с бензопилой переносную аптечку.

      Отсюда:
  • НЛО прилетело и опубликовало эту надпись здесь
  • +3
    Про кобол неплохо, но что бы он сказал, если бы увидел 1с…
    • 0
      Лучше ABAP
  • +3
    Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.

    Greenspun's tenth rule
    • +3
      …including Common Lisp.

      Robert Morris
  • 0
    Уже пол-шестого утра…
    Аноним, ты почти угадал :)
  • +2
    тут много интересного:
    harmful.cat-v.org/software/c++/

    If you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor and when was the last time you needed one? — Tom Cargill
    • 0
      > protected… private
      > abstract virtual… pure virtual
      > base

      Не, цитата хороша когда в ней все-таки не врут. А тут «придумали» фразу которая вообще не верна относительно С++: приватный не может быть защищенным, абстрактных виртуальных нет, есть только чисто виртуальные (pure virtual) да и вообще это одно и тоже (просто из разных языков), а что там значит base — вообще не ясно, итого:

      protected pure virtual destructor — вполне тривиальная конструкция, хотя и несколько странная

      • +2
        Тоже несколько удивился и немного погуглил:

        «Q What is a protected abstract virtual base pure virtual private destructor? (Van Der Linden, Peter. Expert C Programming. Page 327)A It is a pure virtual private destructor that is inherited from a protected abstract virtual base. In other words, a destructor function that can only be called by members or friends of the class (private), and is assigned a 0 (pure virtual) in the base class (abstract base) that declares it, and will be defined later / overriden in a derived class that shares the multiply-inherited base (virtual base) in a protected way.»

        www.allegro.cc/forums/thread/478186/478216
  • +5
    Вот есть ещё одна цитата, которую я люблю вспоминать, сталкиваясь с кодом на Ruby:

    Ruby looks like broken Perl when you read it, but acts like broken Python when you run. Nicely done.

    via: identi.ca/notice/1944002

    Автор — Gustavo Franco, бразильский программист и системный администратор.

  • +4
    Тоже добавлю цитаты про программирование в целом:

    «Радость нахождения ошибки в своей программе сменяется горьким осознанием собственной тупости»
    (когда-то читал в сборнике «Народная мудрость» — поэтому автора не знаю, извиняюсь).

    «Никого так сильно не удивляет работа программы, как её автора»
    (аналогично первому — народная ирония).
    • +1
      Видел значок с надписью As a programmer, I find your faith in computers amusing
      • 0
        А я бы перефразировал: As a programmer, I find your faith in people amusing
        • 0
          А я бы перефразировал: As a programmer I find you amusing.
          • 0
            Ну, как бы некорректно обвинять молоток, когда у забивающего кривые руки.
            Компьютер делает то, что ему написали (не будем брать в расчёт выход оборудования из строя).
            • 0
              Отчего же обвинять :} Просто немного пафоса. Много программистов этим грешны :}
          • 0
            А я бы перефразировал: As a programmer I find you.
  • +1
    Разглядывая список процессов:
    — о, а Java как обычно, нажралась памяти и спит себе
  • –1
    «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете». Steven C. McConnell.
  • 0
    Цитаты про Фортран старенькие и уже не так актуальны. Фортран 77 и Фортран 2008 — это фактически разные языки.
  • НЛО прилетело и опубликовало эту надпись здесь

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.