Pull to refresh

Comments 136

Отличные цитаты, спасибо :)

Но только в конце я понял, почему вы нумеровали с хвоста :)
а я так и не понял, почему?
Наверное, по принципу «Топ», как во всяких тв-программах, сначала с неплохих, постепенно приближаясь к самому заветному первому месту.
Все цитаты очень достойные, потому такой подход здесь мне непонятен =)
а может автор последовательно клал их в стек? :)
UFO just landed and posted this here
Наверно автору коммента выше вообще не стоило писать. Никакой другой логики для пропуска слов и обзывания «Цитат» «полушутками» я не вижу.
Гениально, после прочтения некоторых улыбка на лице :)
А как это:
Каждый программист должен вырастить сына в DOM-дереве.
Ключевое слово — вырастить. Не создать, заметьте, а вырастить! :-)
чем совершеннее машина, тем больше она прощает неумелому водителю, и как следствие, порождает множество плохих водителей
Судя по оригиналу, эта цитата — последний довод для холиваров:
«Ладно, возможно Java — хороший пример того, каким должен быть язык программирования. Но Java-приложения — хороший пример того, какими не должны быть приложения.» Видимо с намёком на сильную тормознутость ранних версий JRE.
Оригинал:
Fine, Java MIGHT be a good example of what a programming language should be like. But Java applications are good examples of what applications SHOULDN’T be like.
— pixadel
Для себя я эту цитату понял так:
Java как язык представляет собой крепкую конструкцию — логичную, довольно лаконичную (но без фанатизма), понятную. Но Java, как среда, берет на себя столько рутинной работы (которую в других языках должны делать сами программисты), что это ведет к написанию неряшливых программ. Тот же самый сборщик мусора и ускоряет разработку программы, и расхолаживает разработчика.
Java только избавляет от тонн рутинной работы, за что ей огромное спасибо, но и очень берет на себя заботу в самых критичных участков работы: нельзя нечайнно разрушить стек, обратится по невалидному указателю или неверно привести тип.

Сборщик мусора хоть и ускоряет разработку программы, но и расхолаживает разработчика.
Высокая зарплата хоть и повышает кайф от жизни, но и расхолаживает разработчика.
Хорошая машина хоть и ускоряет передвижение, но и расхолаживает разработчика.
Куча найденных баг хоть и хорошо отразятся на продукте, но и…
Да, вы правы, разработчика расхолаживают многие вещи.

Давайте я приведу пример из жизни, когда неопытный разработчик создал карту с тяжеловесными объектами и оставил ее на все время ее жизни (т.к. она была членом класса, жила она столько, сколько жил экземпляр класса), когда она была актуальна только для десятка строк в единственном методе. Такие вещи сразу не замечаешь, но когда вдруг перестает хватать гигабайта оперативки для казалось бы тривиальной задачи, начинаешь задумываться, что что-то тут не так.

Банальная очистка карты сама по себе позволила решить немало проблем (спасибо сборщику мусора и алгоритмам, по которым он работает).
«кто в армии служил — тот в цирке не смеётся» ;-)
Ява слишком много прощает. Этот язык кажется очень простым, но в ней уйма подводных камней, незнание которых приводит к огромному перерасходу ресурсов. В результате программисты на яве регулярно вырезают гланды автогеном через задницу и даже не сознают какую фигню творят — результат-то достигнут.
Сложно с вами согласиться.
Java очень читаемый, хороший и надежный язык.
А подводных камней, думаю, там на порядок меньше чем в С++

Глядя на строчку if (!a) в Java можно сказать, что существует переменная a типа Boolean. Глядя на эту же строчку в C++ вообще ничего утверждать нельзя.
Ну и где больше подводных камней?
Глядя на эту строчку в си всем понятно что следующий блок выполнится если значение а не истинно, то есть если а равно нулю.
Если для Вас как джавера это подводный камень, то цитата в тему)
operator! () сейчас смотрит на вас из-за угла и обдумывает план :)
А также operator bool()
Но их существование никак не делает ложной фразу
следующий блок выполнится если значение а не истинно
Это может быть boolean, а может быть Boolean. Две большие разницы. Сложная для новичков концепция что указатель на объект не есть сам объект, а вот примитив он и есть примитив. Может вызвать много факапов, когда объект куда-то передается и там изменяется — привычка к автобоксингу может сыграть злую шутку, когда после смены принимаемого функцией аргумента с boolean на Boolean полностью меняется логика кода.

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

Еще крупная проблема — неочевидность скорости выполнения. Предсказать как долго будет задача выполняться, сколько памяти потребует и каков будет оверхед GC тоже не так уж просто. GC вообще расслабляет в плане памяти, а уж ловить внезапно появившиеся утечки…

Собственно, написать рабочую программу на яве просто. Написать эффективную — порой очень сложно. Отсюда и репутация явы как быдлокодерского языка.
При правильном проектировании программы на Java _легко_ оптимизировать. Хотя это верно для любого языка )
Да ну? Точно Boolean? А не boolean ли? :-)
Превосходно! Нужно обязательно показать коллегам, такое нельзя пропускать. И ведь правильные цитаты (:
Мне нравится такая: «Если отладка — это поиск ошибок, то программирование — их создание».
41. Я думаю, что Microsoft назвал технологию .NET для того, чтобы она не показывалась в списках Unix.

Не все автоматические переводчики одинаково полезны. :)

В остальном отлично, большое спасибо за подбороку.
Автоматическим переводчиком не пользуюсь — если где и коряво, то это мой русский или хвосты от множественного редактирования. Если можете дать свой перевод, и он будет хорош — то заменю им свой =)
«списки Unix» — думаю, что каталоги или директории было бы правильнее.
Вы мне только что открыли глаза на эту шутку)
Я думаю, что Microsoft назвал технологию .NET, чтобы она просто бы не находилась в директориях unix.

Может как-нибудь так: «Думаю Microsoft назвал .NET именно так, чтобы он не отображался в директориях UNIX». Потому что «не находилась» — это немного не то.

Как бы то ни было, большое спасибо за статью. Для жаждущих — более обширный топик.
В четырнадцатом пункте все еще нормальная правка не подтверждена (сейчас там жуткая конструкция «будет ли что это»), а ваш первый вариант — ад и искажение смысла.
«Programming is like sex. One mistake and you have to support it to the end of your life.» ©
Software is like sex: it's better when it's free. ©Linus Torvalds
Только не уверне что вашу цитату он же произнес…
Некоторые просто до ужаса злободневны. Спасибо за подборку.
спасибо большой, почти всё из жизни.
Отличные цитаты! Прям хоть печатай, и вешай на стену.
как раз думаем чем занять стены нового офиса =))
Уже. :)
Хороший мотиватор, да)
Мне очень понравились цитаты от Торвальдса :) особенно первая, иногда лучше скинуть код, чем на словах объяснять свою логику, и что вы хотите от того, кому скинули код) прежде всего это экономия времени, а времени много не бывает)
Книга великолепна) Причем для того, чтобы она понравилась не нужно быть линуксоидом) Отличная книга для программистов, любых) Главное не относиться к ней с предубеждениями)
Гениально. Особенно про теорию и практику.

Но рейтинг непонятен.
Может голосование провести на Хабре, на лучшую цитату.
кстати да, было бы забавно :)
странно, ожидал увидеть одну из моих любимых

Phil Karlton: «There are only two hard things in Computer Science: cache invalidation and naming things.»
Недавно слышал это в таком виде:
«В программировании существует лишь два характерных затруднения: инвалидация кеша, наименование сущностей и ошибка на единицу».
В программировании существует лишь 10 характерных затруднений: инвалидация кеша и наименование сущностей.
«There are only 10 types of people in the world: those who understand binary, and those who are not.»

Пятерых мы уже вычислили, при том — на хабре.
Моя любимая: «There are only two kinds of languages: the kind everybody bitches about, and the kind nobody uses.» © B. Stroustrup.
как раз в тему о C++
Я бы перевел это так:
«Существуют только два вида языков: невыносимые и неиспользуемые».
File names are infinite in length where infinity is set
to 255 characters.
— Peter Collinson, «The Unix File System»
по крайней мере это не досовские 8.3, которых должно было хватить всем :)
вот чем кончается излишняя погоня за совместимостью со старыми поделками
По-моему, подборка достаточно некачественная.
И разве цитата [2], на Руси звучащая: «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете» не принадлежит Стиву Макконнеллу?
Усиленный интернет-поиск показывает, что первенство в авторстве этой фразы удерживают Джон Вудс и Мартин Голдинг. С учётом того, что вставляют её, с некоторых пор, практически в каждый третий блог и каждую пятую книгу, лучше остановиться на этих двоих и поверить людям, которые выслеживали цитату вплоть до тредов 1991-ого года.

Впрочем, приятно, что в нашей стране (судя по плюсам) много людей эту фразу знает либо напрямую из «Code Complete», либо по блогам/сайтам, её цитирующим.
Благодарствую за столь обширное разъяснение.
>скажите на милость, мистер Баббэдж, что случиться

1. Бэббидж.

2. «Что случится» или «что может случиться».

Другие ошибки в этой статье не вызывают во мне такого чувства протеста, как эти.
«Weeks of coding can save you hours of planning», unknown artist.
Все рейтинги всегда вызывают массу споров, потому что у каждого свои предпочтения. Можно было сделать просто списком.
з.ы. про лень очень понравилось;)
Лучше в историческом порядке
7. Большинство программ на сегодняшний день подобны египетским пирамидам из миллиона кирпичиков друг на друге и без конструктивной целостности — они просто построены грубой силой и тысячами рабов.

Как же ж в точку про силу и рабов)
UFO just landed and posted this here
И цифры арабские.
А еще у всех ники явно не русскими буквами написаны.
Мне ещё нравится
«If programmers got paid to remove code from sofware instead of writing new code, software would be a whole lot better.»
— Nicholas Negroponte
мне кажется, в некоторых компаниях это всерьёз применяют
вот только приведёт ли кто-нибудь пример таких? ;-)
Отлично спасибо! Многие цитаты очень могут пригодиться в реальной жизни
«первородный грех программы перед программистом в том, что она исполняет то, что программист сделал, вместо того, что программист имел в виду» ©утерян

спасибо! некоторые цитаты забрал на куки почтовика.
Язык Си становится все удобнее по мере того, как приобретается опыт работы с ним. — предисловие к первому изданию книги «Язык программирования Си».
Компьютерная защита это постоянная борьба на два фронта – с глупостью пользователей и интеллектом хакеров.
Думаю, нужно еще добавить ошибки программирования. Которые иногда вносятся в результате объединения кода, написанного двумя разными людьми. По-отдельности все бы работало, а вместе — логическая бомба.
Си — инструмент, острый, как бритва: с его помощью можно создать и элегантную программу, и кровавое месиво. (Брайан Керниган)
38: criminal offense — «уголовно наказуемое преступление». что за «криминальное преступление», это как?
28: Экзюпери не знал, что такое дизайн. здесь это куда лучше перевести как «замысел». а вообще речь у него про самолет — и перевод Норы Галь этой фразы такой: «Как видно, совершенство достигается не тогда, когда уже нечего прибавить, но когда уже ничего нельзя отнять».
5 вы совсем не поняли. это значит: «человеку свойственна итерация (вообще-то — »итерировать", но это совсем не понятно), богу же — рекурсия" (аллюзия на: «to err is human, to forgive divine» Александра Поупа).
Спасибо! Поправил. Если еще какие-то замечания или несоответствия по переводу, то пишите, пожалуйста, в личку или, есть время, можно править на сайте translated.by (я потов внесу изменения на этой странице.
Простите, написал свой комментарий до того, как прочитал этот.
Пойду сразу поправлю на translated.by.
Отправил множество изменений на translated.by.
Все ваши изменения внес. Спасибо. Действительно, был невнимателен при переводе — в следующий раз это учту.
In my experience, any attempt to make any system idiot proof will only challenge God to make a better idiot.
есть более интересный перефраз 3-й цитаты:
«Зачем платить деньги программисту, если ему итак дали возможность попрограммировать»
Простите, я понимаю, translated.by и всё такое, но перевод некоторых цитат — просто отвратительный.
11. Отлаживание кода вдвойне сложней, чем написание этого кода. Так что, если вы написали код по умному и без ошибок, то отсюда следует, что вы недостаточно умны для его отладки.

Наверняка все уже слышали эту цитату в нормальном переводе или в оригинале:
11. «Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.»

Моя версия перевода:
11. «Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, вы по определению недостаточно сообразительны, чтобы его отлаживать.»
46!… 20!… 29!… 24, 22!!! 28(общечеловеческое)! [чисто субъективная выборка]

11 — да, если код трудно писать, то гарантированно невозможно будет отладить. Надо браться в момент, когда начинает писаться легко.

18 — наверное, это прямо связано с IQ (ключевое слово — скорость).

Ошибка в переводе 33: надо в конце «дайте ему леденец» (т.е. признайте его млапденцем).
Ещё привлёк внимание топорный перевод 47, который в оригинале — 5-стопный ямб, почти тот, которым заговорил Васисуалий Лоханкин, причём с похожим зловещим подсмыслом:
47. "They don't make bugs like Bunny anymore."
1) они уже не делают детских ошибок
2) (но это не значит, что не делают недетских).
И как тут перевести в 1 строчку — тот ещё вопрос.
47. «Ошибок детских нет — зато не без недетских» (В стиле одностиший Вишневского.)
У мена еще варианты: «Их баги уже выросли из детских штанишек» или «Их детские ошибки уже недетcкие», «Их ошибки повзрослели». Какой вариант лучше?
Потому что неподготовленый человек с си в руках это так же приятно как сайт на флеше анписаный человеком ничего в нём не понимающем.
5. Итерация свойственна человеку, рекурсия божественна.
9-ая цитата очень понравилась. Прочувствовал ее на собственной шкуре.
Вообще говоря, смысл этой цитаты можно спроецировать практически на любую область человеческой деятельности. Сначала мы тщательно (или не очень) изучаем мат. часть, а потом просто «играем».
Вспоминаются законы Мерфи )
Я думаю на первом месте всё таки должен быть Билл Гейтс, 1981 год:

«Больше 640 Кб памяти персональным компьютерам никогда не понадобится»
.
Он утверждает, что этого не говорил, вроде.
Но мы-то с вами знаем)
>>> Программирование на С похоже

Когда-то так и было, а теперь есть всякие песочницы, виртуальные машины, и.т.д.
… многие отдали предпочтение реляционным системам баз данных, поскольку используемый в них стандартизованный язык SQL открывал возможности безболезненного
перехода от одной СУБД к другой. Хотя воспользовались ими на практике только единицы, мысль о возможной смене поставщика СУБД, не связанной со сколько-нибудь ощутимыми затратами, согревала всех.
Мартин Фаулер
большАя часть знакома из вставок в «Совершенном коде»
Улыбнуло, благодарствую.
Спасибо, такое удовольствие получил, почитав. Но 35 какой-то бред (:
The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.
Tom Cargill

Тоже очень жизненно.
№3 и №8 особенно понравились
но некоторые цитаты бы всё-таки заменить более интересными
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
— Linus Torvalds

Я бы добавил, что именно такие программисты написали много фантастических продуктов. Не за деньги, а ради удовольствия. Сейчас таких все меньше и меньше.
или же сейчас больше не таких, и поэтому хорошие теряются в общей массе
#2 имхо точнее перевести так: «Пишите вашу программу так, как будто парень, который будет ее поддерживать жестокий психопат, который знает, где вы живете»
Из моих любимых цитат не встретил только эту:
«Saying that Java is good because it works on all platforms is like saying anal sex is good because it works on all genders» (анонимус)
Отличный цитаты и вправду.
Особенно понравилась цитата под №2. =)
Жаль, ни одной цитаты от русского программиста. ( Все американцы
Жаль нет знаменитого изречения от отца-основателя Perl, что-то дословно в стиле:
— Язык программирования можно считать законченным, когда в нём использованы все символы на клавиатуре.
1. 'Элементарно', употребляется исключительно при оценке задач, стоящих перед другими программистами, независимо от степени их сложности.

2. Программист – человек, который решает проблему, о которой вы даже не знали, таким способом, который вы не понимаете.
одна из моих любимых цитат, Дяди Димы:
Если проект представляет из себя “кровавое месиво”, то никакие ухищрения не позволят вам минимизировать время, необходимое для поиска ошибки.
>> 14. Меня не интересует, будет ли что это работаеть на ваших машинах! Мы не отдаем их заказчику!
>> — Vidiu Platon.

“I don’t care if it works on your machine! We are not shipping your machine!”
смысл искажен

тоже интересная подборка по категориям:
— Компьютеры как бикини, они экономят людям время на догадки. (Sam Ewing)
— Любой дурак может использовать компьютер. Многие так и делают. (Janet Reno)
— Java во многом C++–. (Michael Feldman)

и т.д.

Мне очень нравится цитата озвученная одним из преподавателей моего ВУЗа: «Лучший комментарий — это пробел».
НАверное, ему или кому-либо еще не доводилось рефакторить его же код.
Запел бы он по-другому.
Без комментариев можно разобрать логику, а вот без отступов — проблематично.
В большинстве современных IDE код форматируется в один-два клика, так что теперь эта фраза неактуальна.
Почему же? Вы же форматируете код(руками или IDE это не столь важно). Пробелами вы показываете где начало цикла, где конец, где вложенная логика, пропуская строки вы разделяете код на логические блоки и т.д.
Я имел ввиду то, что если пробел отсутствует — IDE поставит его за пару секунд. Но вот комментарии IDE не напишет, так что в современных условиях отсутствие нормального форматирования вовсе не страшно, а вот отсутствие комментариев там, где они нужны, по прежнему является бедой.
Python'еры смотрят на вас с улыбкой…
Ну прям кладезь какой-то.
Хоть весь топик распечатывай, все романтики такие…
П.26 как-бы не только к программированию относится.
А вот П.8 — в самую точку!
Цитата №6 — хорошо, но исправьте ошибки (не перевода):
Трудность работы с программистом заключается в том, что вы не можете понять, что он делает, до тех пор, пока не стало слишком поздно.
«Класс, содержащий только данные — как ребенок. У него есть потенциал, но чтобы реализовать его, он должен принять на себя ответственность» © Мартин Фаулер
21. Намного легче портировать шелл, чем скрипт на шелле.


Насколько же это верно… Медаль автору )
Sign up to leave a comment.

Articles