среда, 25 сентября 2013 г.

О создании сложных систем

Еще одна цитата из SICP:

Поскольку большие программы вырастают из малых, нам необходимо обзавестись арсеналом программных структур, в правильности которых мы можем быть уверены - их можно назвать идиомами - и научиться объединять их в струкутры большего размера с помощью организационных методов (organizational techniques), ценность которых также доказана.

Программирование и моделирование

Я тут начал читать замечательную книгу под названием "Структура и интерпретация компьютерных программ", а по сему я надеюсь на пополнение коллекции цитат из этой книги:) Итак, начнем.

Любая компьютерная программа – это порожденная человеческим разумом модель реального или воображаемого процесса. Эти процессы, возникающие из нашего опыта и мысли, многочисленны, сложны в деталях, и мы всегда понимаем их лишь частично. … Хотя наши программы представляют собой искусно собранные наборы отдельных символов, мозаики переплетенных функций, они непрерывно развиваются: мы изменяем их по мере того, как наше восприятие модели приобретает все большую глубину, расширяется и обобщается, до тех пор, пока модель не достигнет, наконец, метастабильного состояния в рамках следующей модели, с которой мы продолжим сражаться дальше.

воскресенье, 8 сентября 2013 г.

Что такое разработка ПО? Часть 2

И еще одна мысль от Стива Макконнелла о том, что такое разработка ПО:

"Те, кто считает программирование искусством, указывают на эстетические аспекты разработки ПО и утверждают, что наука не допускает такого воображения и творческой свободы, а те, кто считает программирование наукой, указывают на огромное количество ошибок в программах, утверждая, что столь низкая надежность недопустима, и черт с ней с творческой свободой. Обе эти точки зрения грешат неполнотой и ставят во главу угла неверный тезис. Разработка ПО– это искусство, наука, ремесло, археология, тушение пожаров, социология и еще много других видов деятельности человека, взятые вместе. В некоторых областях это любительство, в других – профессионализм. Это столько же различных вещей одновременно, сколько существует программистов. Но правильно поставленный вопрос состоит не в том, что такое есть разработка ПО на данный момент, а скорее в том, чем должна быть профессиональная разработка ПО. С моей точки зрения, ответ на этот вопрос ясен: профессиональная разработка ПО должна быть инженерией. Такова ли она сегодня? Нет. А должна быть? Несомненно."

Что есть разработка ПО


Читаю книгу Стива Макконнелла "Профессиональная разработка ПО", вот одна из любопытных цитат:

"Один из моих любимых вопросов во время собеседования с претендетами на должность программиста, следующий: "Как бы вы описали ваш подход к программированию?" ... Мне больше всего нравится такой ответа: "При проектировании ПО я архитектор. Когда я конструирую интерфейс пользователя, я художник. Когда я пишу код я ремесленник. А когда я тестирую программу, я ужасная сволочь."