Возможно ли успешно спроектировать и создать приложение, основанное на процедурах (императивах)?

StackOverflow https://stackoverflow.com/questions/257873

  •  06-07-2019
  •  | 
  •  

Вопрос

Можете ли вы привести примеры современных приложений, которые носят процедурный характер и поддерживают высокий уровень целостности и эффективности?Существуют ли какие-либо книги, учебные пособия или ссылки, содержащие примеры того, как успешно создать и поддерживать императивную систему?Если бы вам пришлось давать рекомендации в этой области, какие советы вы бы дали о том, как это должно быть структурировано?Я спрашиваю, потому что ООП часто представляется как естественное развитие процедурного программирования, но мне трудно поверить, что это всегда так.

Это было полезно?

Решение

Примеры успешных процедурных применений??

Вы имеете в виду, скажем, ядро Linux?Ядро BSD?Веб-сервер Apache?Подавляющая часть пользовательских утилит Unix?Подобные приложения?

Конечно, методы ООП имеют ценность с точки зрения организации, ремонтопригодности и абстракций в программном обеспечении, но даже сегодня ООП, вероятно, является незначительным подмножеством всего написанного сегодня кода и приложений.

Рассмотрим весь код Java, C # или VB, который, хотя и написан на языке программирования с поддержкой ООП, единственная причина, по которой они вообще используют много методов ООП, - это взаимодействие с внешними библиотеками или системами.Между тем сами приложения, хотя и используют фреймворки ООП, скорее всего, довольно процедурные по дизайну и реализации.

ООП - прекрасная парадигма, но, по правде говоря, она на самом деле не нужна для большей части логики во многих системах.

Другие советы

Хотя я не могу указать на какую-либо существующую систему напрямую, существует огромное количество устаревших корпоративных систем, написанных до OO COBOL. Многие классические программы 4GL являются процедурными и нацелены на разработку систем с высокой степенью целостности. Некоторые из них хорошо написаны, другие не так много.

Книги включают в себя «COBOL от Micro до мэйнфреймов», «Руководство по программированию Enterprise COBOL».

Структурные советы по хорошему императивному коду аналогичны методам ОО: хорошо называйте вещи, разделяйте ваши проблемы, не повторяйте себя, принцип единой ответственности, не оставляйте разбитые окна без изменений.

На самом деле я бы просто предложил прочитать "Прагматичный программист" даст большинству людей правильную идею в любой парадигме.

Насколько убедительная причина перехода на ОО для бизнес-ориентированных приложений; процедурные языки допускают сценарий транзакции подход к доменной логике, тогда как языки OO допускают модель домена .

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top