КулЛиб электронная библиотека
Всего книг - 579675 томов
Объем библиотеки - 870 Гб.
Всего авторов - 231888
Пользователей - 106486

Впечатления

vovih1 про Владимир: Леннарт Фартовый (Ироническое фэнтези)

Финальный роман

Рейтинг: 0 ( 0 за, 0 против).
argon про серию Московский лес

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

подробнее ...

Рейтинг: +1 ( 1 за, 0 против).
Serg55 про Котова: Королевская кровь. Книга 11 (Любовная фантастика)

ждем 12 книгу, Автору респект и наилучшие пожелания ...

Рейтинг: 0 ( 0 за, 0 против).
vovih1 про Бульба: Цикл романов "Галактика Белая". Компиляция. Книги 1-14 + Глоссарий (Космическая фантастика)

Спасибо за релизы интересных авторов

Рейтинг: 0 ( 0 за, 0 против).
vovih1 про Кронос: Цикл романов "Аутем" . Компиляция. Книги 1-10 (Фэнтези: прочее)

Читается, как полностью отдельный и автономный цикл. При этом является продолжением "Эволюции". Те, кто её читал, думаю сразу поймут, кем является главный герой.

Рейтинг: 0 ( 0 за, 0 против).
a3flex про Кощиенко: Сакура-ян (Попаданцы)

Я думал автор забросил этот цикл. Рад возвращению хорошего чтива.

Рейтинг: 0 ( 0 за, 0 против).
Влад и мир про (Cyberdawn): Музыка Имматериума (СИ) (Космическая фантастика)

Общее впечатление начала книги - словесный панос. Однозначно в мусорную корзину. Не умеет автор содержательно писать, не матом (Краб), не псевдоумным философствованием. Философия - это инструмент доказывания с элементами логики, а не пустой трёп, типа я вот какие слова знаю и какой я умный, дивитесь мной! Не писатель, а чудо-юдо какое то. Детсад, штаны на лямках с комплексами. А кому это надо? У хороших авторах даже мат и пошлости в тему и к

подробнее ...

Рейтинг: +3 ( 3 за, 0 против).

Программирование, как вид человеческой деятельности [Эдсгер Дейкстра] (fb2) читать постранично

- Программирование, как вид человеческой деятельности (пер. Alf) 178 Кб, 11с.  (читать) (читать постранично) (скачать fb2) (скачать исправленную) - Эдсгер Вайб Дейкстра

Настройки текста:




Эдсгер В. Дейкстра ПРОГРАММИРОВАНИЕ, КАК ВИД ЧЕЛОВЕЧЕСКОЙ ДЕЯТЕЛЬНОСТИ

Programming Considered as a Human Activity, Edsger W. Dijkstra, EWD117, 1995

Введение

В качестве введения мне хотелось бы начать разговор с истории и цитат.

История эта — о физике Людвиге Больцмане, который хотел достичь своих результатов путем громоздких вычислений. Кто-то однажды пожаловался на то, что его методы ужасны, на что Больцман заявил, что «об элегантности должны заботиться портные и сапожники», дав тем самым понять, что его самого это никоим образом не беспокоит.

В противоположность ему, я хотел бы процитировать другого известного ученого XIX века, Джорджа Буля. В своей книге «Исследование законов мышления», в главе «Условия совершенного метода», он писал: «Я говорю здесь не только о том совершенстве, которое состоит в могуществе, но и о том, которое основывается на концепции изящества и красоты. Вполне возможно, что тщательное изучение этого вопроса приведет нас к выводу, что совершенный метод должен быть не только эффективным по отношению к объектам, для которых он разработан, но и демонстрировать определенное единство и гармонию всех своих частей и процессов». Вряд ли кто-то не заметит коренного различия в этих подходах.

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

О качестве результатов

Даже полагая, что машины работают безупречно, мы должны задать себе вопрос: «Когда компьютер выдает результаты, почему мы должны им доверять, если только мы им действительно доверяем?», а затем: «Какие меры мы можем предпринять, чтобы повысить степень нашей уверенности в том, что выданные результаты — это то, что нам нужно на самом деле?».

Насколько важен первый вопрос, можно проиллюстрировать на простом, даже несколько упрощенном примере. Предположим, что математик, работающий в области теории чисел, имеет в своем распоряжении машину с программой факторизации чисел. Этот процесс может завершиться двумя способами: либо он выдает факторизацию данного числа, либо отвечает, что заданное число является простым. Предположим теперь, что наш математик хочет подставить в этот процесс, скажем, число с 20-ю десятичными знаками, для которого у него есть веские причины полагать, что оно простое. Если машина подтверждает это ожидание, он будет счастлив; если она находит факторизацию, математик будет разочарован, так как интуиция снова подвела его, но, если он сомневается, он может взять счетную машинку и перемножить полученные множители, чтобы проверить, получится ли в результате исходное число. Если же, наоборот, машина выдает ответ, что данное число, согласно его ожиданиям и горячему желанию, является простым, с чего бы ему верить этому? Наш пример демонстрирует, что даже в полностью абстрактных задачах получение результата не является четко определенным процессом, четко определенным в том смысле, что можно сказать: «Я сделал это», не беспокоясь за убедительность результата, то есть его «качество».

Ситуация, в которой находятся программисты, очень похожа на ту, в которой находятся чистые математики, которые разрабатывают теорию и доказывают результаты. Долгое время чистые математики думали — а некоторые из них до сих пор думают — что теорема может быть доказана полностью, что вопрос о том, является ли предложенное доказательство теоремы адекватным или нет, допускает абсолютный ответ «да» или «нет». Но это иллюзия, потому что как только кто-то начинает думать, что доказал что-то, он должен доказать, что его доказательство безукоризненно, и так далее, до бесконечности! Никто не может гарантировать, что доказательство корректно, в лучшем случае он может сказать: «Я не нашел ни одной ошибки». Порой мы льстим себе мыслью о неопровержимом доказательстве, но на самом деле все, что мы делаем, это лишь придаем правдоподобный вид своим заключениям.

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