На этой неделе я прочитал «Скромный программист» Эдсгера В. Дейкстры. Некоторые из вас, возможно, слышали его имя из его знаменитого «алгоритма Дейкстры».

В любом случае, вот некоторые части, которые я нашел интересными:

«Я должен был принять решение: либо бросить программировать и стать настоящим, уважаемым физиком-теоретиком, либо продолжить изучение физики слишком формально, с минимальными усилиями, и стать… да чем? Программист? » (859) - Я стою перед тем же решением, но вместо того, чтобы иметь другую степень и информатику, моя дилемма состоит в том, закончить ли колледж или бросить учебу, чтобы продолжить более предпринимательский путь.

«Многие умные программисты получали огромное интеллектуальное удовлетворение от хитрых уловок, с помощью которых он умудрялся втиснуть невозможное в ограничения своего оборудования». (860).

«Чем раньше мы забудем, что Фортран когда-либо существовал, тем лучше, потому что как средство мышления он больше не является адекватным: он тратит впустую наши мозги, и это слишком рискованно и, следовательно, слишком дорого в использовании». (862). - Это не столько интересное, сколько отличное жаркое. «Это напрасно тратит наши мозги».

«В качестве отступления я хотел бы добавить предупреждение тем, кто отождествляет сложность задачи программирования с борьбой с недостатками наших текущих инструментов, потому что они могут прийти к выводу, что, когда наши инструменты станут намного более адекватными, программирование не будет больше не будет проблемой. Программирование останется очень сложным, потому что, как только мы освободимся от косвенной громоздкости, мы сможем решать проблемы, которые сейчас выходят далеко за рамки наших возможностей программирования ». (865) - В то время у них действительно были некоторые физические ограничения, которые не позволяли им легко решать проблемы с кодированием, но Дейкстра указал на то, что, в конечном итоге, мы сможем решить эти проблемы, и оборудование больше не будет проблемой , что заставляет нас сосредоточиться на программировании, которое, как мы заметили, все еще остается сложным. Это всегда будет так, поскольку оборудование будет становиться все быстрее и эффективнее, и в то же время проблемы кодирования, которые нам сейчас трудно решить, по-прежнему будет трудно решить, но с более совершенным оборудованием мы сможем чтобы упростить тестирование наших решений.

«Первый эффект обучения методологии, а не распространения знаний - это усиление способностей уже способных, что увеличивает разницу в интеллекте. В обществе, в котором образовательная система используется как инструмент для создания гомогенизированной культуры, в которой сливки не могут подняться на вершину, образование компетентных программистов может быть политически неприятным ». (866). - Пока он говорит о том, что школа запрещает рост хороших программистов, я думаю, что эта логика применима не только к начинающим программистам. Многие школы сталкиваются с кризисом из-за наличия системы, которая навязывает одинаковые стандарты всем учащимся вместо того, чтобы помогать учащимся оттачивать навыки, в которых они действительно хороши. Я понимаю необходимость всестороннего образования и даже вижу, как это может принести пользу тому, кто сосредоточен на одной теме. Однако я действительно думаю, что когда-нибудь мы переусердствуем. Когда ребенок или даже взрослый демонстрирует умение в чем-то, лучше погрузиться в это глубже, одновременно собирая знания из других областей, а не подавлять их ради получения более сбалансированного и широкого образования.

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

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

Вот статья для тех из вас, кто хочет прочитать ее самостоятельно: http://cs-exhibitions.uni-klu.ac.at/fileadmin/template/documents/text/p859-dijkstra.pdf

Надеюсь, вам понравился этот пост, и, как всегда, поделитесь своими мыслями в комментариях!