Библиотеки

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

Особенностями эти программных библиотек является не только их высокая гибкость и удобство использования (тем более, что эти свойства, ввиду отсутствия адекватных общепринятых метрик, анонсируются большинством разработчиков библиотек J). Важнее то, что эти библиотеки покрывают все разнородные аспекты построения законченных приложений (связанных с вычислениями) и при этом являются взаимно согласованными. В разделе "Быстрая разработка исследовательского программного обеспечения" показано, почему степень покрытия и степень согласованности именно для исследовательского программного обеспечения важнее многих других особенностей кода.

Следует заметить, что «взаимная согласованность» не мешает высокой модульности программного кода (в проектировании программ это называется низкой зацепленностью, low coupling). В детальном описании библиотек (составленном для тех, кто уже решил ими воспользоваться) приведены диаграммы, которые подчеркивают возможность независимого использования каждой части кода (библиотеки или даже отдельного пакета).

Joomla Templates by Joomlashack