Призрак бродит по Либрусеку. Призрак библиотечного классификатора

Товарищи! Господа и дамы! Пани и панове! К вам обращаюсь я, братья и сестры мои...
После сомнений и тягостных раздумий, отнести ли очередную книгу по мордобою в категорию спорта, хобби или книг о здоровье, во мне назрел кризис и я нашел в и-нете,что существуют и используются библиотеками следующие системы классификации
Десятичная классификация Дьюи
По ней жанр обозначается тремя целыми числами, структура древовидная, категории верхнего уровня имеют код х.0.0, второго - у.х.0 и т.д. Собственно, именно трехзначность не имеет, ИМХО, сакрального значения. Посмотреть на первые 2 уровня можно здесь - http://www.gpntb.ru/win/dewey/ddc-sum01.html
УДК (http://www.nglib.ru/book_view.jsp?idn=003613&page=6&format=free),
дочка Дьюи и Классификация библиотеки Конгресса США (LCC)

Поскольку классификация по Грибову плоская - раз, и ... предельно лаконичная - два, не имеет ли смысл расширить формат на дополнительное поле классификатора ?

Комментарии


Гут. Классификатор как-нибудь называется и существует ли в виде отдельного документа ?
kv написал:

Ну а по художке <... грызь...> вот интересная задумка, но не доведено

Кгхм.... И после этого меня считают маньяком ? Да я - агнец божий.... :)

Ulenspiegel написал:

Гут. Классификатор как-нибудь называется и существует ли в виде отдельного документа ?

Этого не знаю. А вот вытащить оттуда классификацию вместе со всем каталогом особой проблемы нету - еще в прошлом году это делал:) Надо будет дотащить что нового появилось за это время. Но заметил, что рубрицированных, а особенно проиндексированных книг, среди новинок встечается все меньше и меньше.
Ulenspiegel написал:
kv написал:

Ну а по художке <... грызь...> вот интересная задумка, но не доведено

Кгхм.... И после этого меня считают маньяком ? Да я - агнец божий.... :)

:)
По-моему, это как раз пример того, о чем говорил Stager,
Цитата:
что-то новое, типа - "фасеточное", в общем - нечто среднее между тезаурусом и классификатором

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

Кстати, вот специально посмотрел обсуждения фб3 на предмет чего там с классификациями удумали. И - не нашел ничего:) Или плохо искал?

kv написал:
По-моему, это как раз пример того, о чем говорил Stager,
Цитата:
что-то новое, типа - "фасеточное", в общем - нечто среднее между тезаурусом и классификатором

только в зачаточном состоянии.

Ну да.

kv написал:
Ну и в виду огромной трудоемкости по наполнению, автор бросил.

При наличии соответствующего софта и организации - ничего страшного.
А софт у меня есть.

Stager написал:
kv написал:
Ну и в виду огромной трудоемкости по наполнению, автор бросил.

При наличии соответствующего софта и организации - ничего страшного.
А софт у меня есть.

А надо ли - в смысле новое нечто. Не, я конечно только за, если желающие найдутся ручками это все делать - какой бы софт хороший не был, а принятие решения останется за человеком. Или нет?
Тут бы собрать хоть то, что уже есть, с тех же классификаций например, и совместить это на общей книжной базе:(

kv написал:
А надо ли - в смысле новое нечто.

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

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

Мне показалось, что противники и сторонники классификатора говорят о разных вещах. Де-факто:
Сторонники говорят, что хорошо бы если бы расширенный классификатор был. Противники говорят, что сложности внедрения расширенного классификатора не оправдывают получаемой usability. Так что спор, собственно, хм, недопониманческий.

Конечно, неплохо было бы, если бы классификатор был (вплоть до конницы :). Давайте выясним, какова цена вопроса? Может надобность в дискуссии отпадет?

JFYI. УДК есть здесь - http://teacode.com/online/udc/index.html. Интересно, кстати, посмотреть на их about - есть намеки на какую-то автоматизированную систему. Если найдется добрая душа и отзеркалит (например) ресурс, пока его не прикрыли - с меня бутылка кефира. Буду пытаться писать УДК / ББК в теги для тех книг, где они есть в выходных данных, по появлении чуть большего количества свободного времени - попробую проставить для ранее залитых книг, с которыми знаком лично. Пример - http://lib.rus.ec/b/124692. Если кто-нибудь скажет мне, что за составляющая УДК с скобках УДК 510.6(075.8) - еще бутылка кефира. В общем - Gott mit uns! :))

Ulenspiegel написал:
JFYI. УДК есть здесь - http://teacode.com/online/udc/index.html. Интересно, кстати, посмотреть на их about - есть намеки на какую-то автоматизированную систему. Если найдется добрая душа и отзеркалит (например) ресурс, пока его не прикрыли - с меня бутылка
дык а в чем проблема?
wget -a log.txt -nc -c -t200 -x -r -l10 inf -k -np --retry-connrefused "http://teacode.com/online/udc/index.html"
и заодно сэкономишь на кефире:)
Правда, в ключи давно не лазил, уже и забыл чего там накрутил, счас запустил, работает - и ладно:)

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

Ulenspiegel написал:
В общем - пытаюсь оным УДК пользоваться

Не надо, а?

Ээээ.... А почему ? Чесслово - это совсем не больно! :)
Или есть более заманчивые предложения ?

Ulenspiegel написал:
Ээээ.... А почему ?

Потому что правильно Вы не сможете. А ещё потому, что даже если сможете - оно бесполезно.

Но если зудит - лепите лучше индексы ББК. В этом можно усмотреть хоть какую пользу.

Stager написал:

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

Не доверяете, значить.... :(
Ладно, буду проставлять УДК/ББК там, где это есть в выходных данных. И насколько упрямства хватит. :)

Кстати, Грибов пример файла в fb3 выложил, так вот, кусок из дескрипшен:

<!-- УБК, ББК. Не факт, что это понадобится, но всё к тому идет -->
<udk>82-3</udk>
<bbk>32</bbk>

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

Teolog написал:
Комп отлично способен искать без всяких древовидных мегаструктур.

Полагаю, что в сравнении с Вами "комп" отлично способен и читать и понимать.

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

Оно называется "затраты вычислительных ресурсов".
У Гугля (да что там у Гугля, хотя бы у Апорта) вычислительные мощности несколько выше, чем у Либрусека. Содержимое необходимо регулярно индексировать. Вы же не думаете, что Гугль при каждом запросе перерывает зеттабайты Интернета? Нет, для этого создаётся кэш, в котором и содержится информация для поиска. Чем оно чаще обновляется, тем она более актуальна.
Но проблемы регулярного обновления, хранения и доступа к кэшу меркнут по сравнению с проблемой алгоритма индексации. Каким образом вы собираетесь получать ключевые слова? Как уже намекнул Stager, комп не сможет их додумать - получить из текста, проанализировав содержимое книг. Значит, их будут задавать некие литературоведы-сеошники, читая книги, сопоставляя с другими (чтобы избежать лишних ключевых слов)... Может, просто ограничимся жанровым каталогом?
Да и в целом поиск только по ключевикам - зло. Я забью, к примеру что-нибудь про ракетные двигатели, а он мне вместо научной литературы какую-нибуть космическую фантастику.

Цитата:
Все действия связанные с электронной литературой противозаконны, и в библиотеке совершатся не могут, потому IT-пипл который и мог бы модернизировать систему, относится к библиотеке как к зубоврачебному кабинету-старается забыть как дурной сон.

Ваши данные устарели, закон уже принят. Правда только для трёх крупнейших, но это ведь только начало...

Rogue написал:
Да и в целом поиск только по ключевикам - зло. Я забью, к примеру что-нибудь про ракетные двигатели, а он мне вместо научной литературы какую-нибуть космическую фантастику.

К чему этот неолуддизм? Кто-то и с гуглем ничего не может найти, но это не недостаток гугла. Просто не умение. Пользоваться поисковиками нужно учиться (немножко, но все же), так же как и пользоваться каталогом. Вряд ли в каталоге Ленинки вы обнаружите раздел "ракетные двигатели".

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

oldvagrant написал:
Вряд ли в каталоге Ленинки вы обнаружите раздел "ракетные двигатели".

О! Ещё один орк. Может эта - думать "компу" доверить? Или Гуглю, на худой конец? Лучше выйдет!

А тот, у кого с головой нормально, легко узнает, что что в "каталоге Ленинки" есть ракетные двигатели - это раздел ББК О.6.5.1 Ракетные двигатели космических летательных аппаратов. Как частный случай О.6.5 Силовые установки космических летательных аппаратов, с подразделами О.6.5.1-01 Теория ракетных двигателей космических летательных аппаратов, О.6.5.1-04 Детали , узлы , системы ракетных двигателей космических летательных аппаратов, О.6.5.1.1 Химические ракетные двигатели космических летательных аппаратов, О.6.5.1.2 Электрические ракетные двигатели космических летательных аппаратов.
Ну и ещё, например - Безэлектродные электротермические ракетные двигатели космических летательных аппаратов, Фотонные ракетные двигатели космических летательных аппаратов, Главные ( маршевые ) жидкостные ракетные двигатели космических летательных аппаратов, Хемисферные ракетные двигатели...

Только радости с этого мало - поиск в электронном каталоге не поддерживает поиск по индексу ББК (а кстати - почему? Пойду, спрошу....).

Stager написал:
Только радости с этого мало - поиск в электронном каталоге не поддерживает поиск по индексу ББК (а кстати - почему? Пойду, спрошу....).

Отчего же не поддерживает - http://aleph.rsl.ru/F/?func=file&file_name=find-a

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

Ака Орк.

oldvagrant написал:
Stager написал:
Только радости с этого мало - поиск в электронном каталоге не поддерживает поиск по индексу ББК (а кстати - почему? Пойду, спрошу....).

Отчего же не поддерживает - http://aleph.rsl.ru/F/?func=file&file_name=find-a


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

На самом деле была мегапрограмма в 90х автореферирования текстов и не четкого поиска в них. Я даже ей пользовался :). Там были хитрые нейросетки и нечеткая логика, например на загрузив туда труды Ключевского я потом удивлял местных историков фактами о родном городе. Программа понимала русский и английский, строила ключевые слова и автореферат. У них логотипом был кальмар, потом меняли название ... В общем ввиду привязки демки к почившей в 90е НТ я даже толком название уже не могу найти. По моему байманцы делали...

p2004r написал:
На самом деле была мегапрограмма в 90х автореферирования текстов и не четкого поиска в них. Я даже ей пользовался :)

Ого. А не слабо найти? Потому что ныне - сильно плохо с этим делом.

Вот книжку залил (сам сделал!) - воочию ознакомился с предметом. !!! !!!!!! !!!!!! Это не рубрикатор. Это.... !!!! !!!!! !!!!
Это Грибов сочинил?

В общем, так жить нельзя....
В качестве рубрикатора предлагаю доработать рубрикатор SpyLOG'а: http://dir1.spylog.ru в сторону художественной литературы.
В качестве инструмента указания тегов - использовать http://lbc.rsl.ru, с доработкой для Либрусека.

поискал, нашел первоназвание --- TextAnalyst , оно реально работало. По ссылке история развития.

http://www.rco.ru/article.asp?th_no=1980

Попробую найти на харде, но больно много времени с 1998 года прошло :(.

вот демки, но на этих они уже заложили по моему (если склероз не изменяет) резкие ограничения, предыдущие демки которые я и потерял (там классически откатывалась дата при инсталяции) были действительно без ограничений :(

http://www.analyst.ru/index.php?lang=eng&dir=content/downloads/

оно запустилось в wine :) версия аналиста 2.3

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

Есть выгрузка в csv построенной сети терминов. Для Альтшулера например получилось

Топовые
1 Задача
2 Решение
3 Изобретатель

В Инете валяется и SDK к аналисту, насколько им можно пользоваться не знаю... Есть еще в виде примочки к експлореру.

p2004r написал:
поискал, нашел первоназвание --- TextAnalyst , оно реально работало.

А. Знаю. Даже использовать пытался. Вон - на машине стоит. Только оно что-то как-то зарегистрированное....
SDK использовать не смог - глючит сильно. Поддержки от RCO добиться не удалось - говорят, не поддерживаем, не продаём, и так не дадим.

вот судьба любой проприетарщины :(

Тьфу, блин. Опять задвоился пост.

А ещё это шаманство называется "отсутствие текстового представления". Имеются в виду DJVU книги без текстового слоя и PDF в "картиночном" представлении.

А "индексация от гугля" - это, по сути, передоверение формирования списка ключевых слов компу. В каких-то ситуациях хорошо (когда нет физической возможности вникнуть в содержание), в каких-то - плохо (когда наиболее часто употребляемое слово не характеризует содержимое книги). Но у Гугля есть специфика - он индексирует документы, добавление которых ( в WWW) он никак не контролирует. Соответственно - индексация происходит не в момент добавления (разово), и без участия лица, опубликовавшего документ. У нас (Либрусека) ситуация другая - человек, добавляющий книгу обычно ознакомился уже если не с книгой, то хотя бы со сторонней аннотацией на нее, и может либо классифицировать ее по жанру, либо осмысленно выделить какие-либо ключевые слова, её характеризующие.

Ulenspiegel написал:
У нас (Либрусека) ситуация другая - человек, добавляющий книгу обычно ознакомился уже если не с книгой, то хотя бы со сторонней аннотацией на нее, и может либо классифицировать ее по жанру, либо осмысленно выделить какие-либо ключевые слова, её характеризующие.

Боюсь, что на этот счёт Вы принимаете желаемое за действительное.

А в остальном, конечно, да. Если в книге нет слов (а одни картинки), то поиск по ключевым словам её не найдет. Будь ты три раза Гугл.

pkn написал:
А в остальном, конечно, да. Если в книге нет слов (а одни картинки), то поиск по ключевым словам её не найдет. Будь ты три раза Гугл.

Так не бывает. У книги есть название, аннотация, авторы, теги, серии, жанры. Что-нибудь да найдётся.

larin написал:
pkn написал:
А в остальном, конечно, да. Если в книге нет слов (а одни картинки), то поиск по ключевым словам её не найдет. Будь ты три раза Гугл.

Так не бывает. У книги есть название, аннотация, авторы, теги, серии, жанры. Что-нибудь да найдётся.

Я имел в виду, например, "голый" pdf-файл картиночный. Или djvu без OCR-слоя. В них, в самих файлах - нет ничего.

pkn написал:
Я имел в виду, например, "голый" pdf-файл картиночный. Или djvu без OCR-слоя. В них, в самих файлах - нет ничего.

Это если на диске болтается файл типа HZCH002.djvu.
Но даже в gen.lib.rus.ec книги ищутся: по автору, по словам в названии. А в основной библиотеке есть и аннотации и проч., прописанные добрыми людьми. А внутрь книг поиск все равно не лазит, хоть бы это был и fb2-файл :(.

Ulenspiegel написал:

Десятичная классификация Дьюи
По ней жанр обозначается тремя целыми числами, структура древовидная, категории верхнего уровня

Поскольку классификация по Грибову плоская - раз, и ... предельно лаконичная - два, не имеет ли смысл расширить формат на дополнительное поле классификатора ?

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

Stager написал:
Ну... э.... Эта - на сарае, бывает, такого напишут...
В общем, с того момента, как на указанной Вами страницу появилась надпись "ББК" - много воды утекло. А оно и ныне... В том же месте... Не ищет, типа.

У меня, однако, работает. Правда введенный индекс типа О.6.5.1 она тут же преобразует в О651, но раздел "Ракетные двигатели" нашла. Кроме того, где-то внутри встречался поиск, в котором была опция "искать в"
и в списке из Авторов, Заголовков и проч. фигурировал и ББК. Я его тоже юзал - работает.

Кстати - говоря, что "классификатор" Грибова избыточный, я и имел ввиду, что он очень неравномерный. Некоторые поджанры по степени подробности требуют существенно большего списка "жанров" (технический - ниболее яркий пример). Так что его бы сократить, выкинув поджанры более глубокого уровня вложения. А если расширять до наиболее глубокого из представленных уровней, потребуется нарастить список минимум в десятки раз.

oldvagrant написал:
У меня, однако, работает.

Это имитация...
Но, впрочем, ладно. На самом деле - я давно не справлялся, как там дела. Может, и сделали. Спрошу, при случае.

В общем - говорят, что должно искать введённую подстроку в строке индекса. При этом обе строки хитро приводятся к общему виду. Должно работать.

Может быть, уважаемому сообществу удастся почерпнуть какую-нибудь идею из того каталогизатора, который используется на «Фантлабе»?

Угу.... Страуструпа, "Язык программирования С++", предлагаю охарактеризовать,как:
- Сюрреализм
- Религиозное
- Виртуальная реальность
:(((
Нам хочется удобоваримо классифицировать и художественную, и техническую литературу. А не получается....

Просто засунутый целиков в Теханалист выдает

1 Функция
2 Тип
3 Класс
4 Объект

Начало книги дает

1 Язык
2 Программа
3 Тип
4 Программирование
5 Класс

Реферат начала из куска в 31 килобайт

За исключением второстепенных деталей С++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, С++ предоставляет гибкие и эффективные средства определения новых типов.

Используя определения новых типов, точно отвечающих концепциям
приложения, программист может разделять разрабатываемую программу на
легко поддающиеся контролю части.
Классы обеспечивают сокрытие данных,
гарантированную инициализацию данных, неявное преобразование типов для
типов, определенных пользователем, динамическое задание типа,
контролируемое пользователем управление памятью и механизмы перегрузки
операций.
В языке есть также
усовершенствования, не связанные непосредственно с классами, включающие
в себя символические константы, inline-подстановку функций, параметры
функции по умолчанию, перегруженные имена функций, операции управления
свободной памятью и ссылочный тип.
Имеющаяся на
текущий момент реализация языка будет идти в большинстве систем,
поддерживающих C. Из С++ программ можно использовать C библиотеки, и с
С++ можно использовать большую часть инструментальных средств,
поддерживающих программирование на C. Эта книга предназначена главным
образом для того, чтобы помочь серьезным программистам изучить язык и
применять его в нетривиальных проектах.
Во второй главе
описаны средства определения новых типов в С++, начинающие могут
отложить более подробное изучение этого до того, как прочтут Главы 2, 3 и 4.

В Главах 2, 3 и 4 описываются средства С++, не входящие в определение
новых типов: основные типы, выражения и структуры управления в С++
программах.

В Главах 5, 6 и 7 описываются средства С++ по описанию новых типов,
особенности языка, не имеющие эквивалента в C. В Главе 5 приводится
понятие базового класса, и показывается, как можно инициализировать
объекты типа, определяемого пользователем, обращаться к ним и, наконец,
убирать их. В Главе 6 объясняется, как для определяемого пользователем
типа определять унарные и бинарные операции, как задавать преобразования
между типами, определяемыми пользователем, и как как задавать то, каким
образом должно обрабатываться каждое создание, уничтожение и копирование
значения определяемого пользователем типа.
Глава 7 описывает концепцию
производных классов, которая позволяет программисту строить более
сложные классы из более простых, обеспечивать альтернативные интерфейсы
класса и работать с объектами эффективно и с гарантией типа в тех
ситуациях, когда типы объектов не могут быть известны на стадии компиляции.

Язык, описанный в этой книге, – это «чистый С++», но
имеющиеся на текущий момент компиляторы реализуют большое число
«анахронизмов» (описанных в #с.15.3), которые должны способствовать
переходу от C к С++.

В качестве источника упражнений к Главам 2-4 можно
использовать любую книгу по C. У Ахо и др. [1] приведено большое
количество общих структур данных и алгоритмов в терминах абстрактных
типов данных.
Однако языку, который в этой книге использовался, недостает
как функций членов, так и производных классов.

С++ проектировался для использования в довольно традиционной среде
компиляции и выполнения, среде программирования на C в системе UNIX.

Еще одним источником вдохновения послужил
язык Simula67 [2,3], из него была позаимствована концепция класса
(вместе с производными классами и функциями членами).
Базовый язык, C подмножество
С++, спроектирован так, что имеется очень близкое соответствие между его
типами, операциями и операторами и компьютерными объектами, с которыми
непосредственно приходится иметь дело: числами, символами и адресами.

В С++ используются те же последовательности вызова и возврата из
функций, что и в C. В тех случаях, когда даже этот довольно эффективный
механизм является слишком дорогим, С++ функция может быть подставлена
inline, удовлетворяя, таким образом, соглашению о записи функций без
дополнительных расходов времени выполнения.

С++ еще более выразителен, но чтобы достичь
этой выразительности, программист должен уделить больше внимания типам
объектов.
Когда известны типы объектов, компилятор может правильно
обрабатывать выражения, тогда как в противном случае программисту
пришлось бы задавать действия с мучительными подробностями.
Знание типов
объектов также позволяет компилятору обнаруживать ошибки, которые в
противном случае остались бы до тестирования.
Заметьте, что
использование системы типов для того, чтобы получить проверку параметров
функций, защитить данные от случайного искажения, задать новые операции
и т.д., само по себе не увеличивает расходов по времени выполнения и памяти.

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

С++ программа, описывающая типы
параметров функций, использующая классы и т.д., обычно немного короче
эквивалентной C программы, в которой эти средства не используются.

Язык программирования служит двум связанным между собой целям: он дает
программисту аппарат для задания действий, которые должны быть
выполнены, и формирует концепции, которыми пользуется программист,
размышляя о том, что делать.
По этой причине ограничивать свойства языка только целями
исключения ошибок программиста в лучшем случае опасно.

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

Однако подробности задачи и идеи решения часто становятся ясны только в
результате попытки выразить их в виде программы – именно в этом случае
имеет значение выбор языка программирования.

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

Проще всего иметь дело с такими понятиями, которые имеют традиционную
математическую форму: числа всех видов, множества, геометрические фигуры
и т.п. На самом деле, следовало бы иметь стандартные библиотеки классов,
представляющих такие понятия, но к моменту написания это не имело места.

Для определения набора действий для самой общей интерпретации понятия
(базового класса) часто можно использовать виртуальные функции (#7.2.8).

Если вы можете организовать понятия программы только в виде общего графа
(не дерева или ациклического направленного графа), и если вы не можете
локализовать взаимные зависимости, то вы, по всей видимости, попали в
затруднительное положение, из которого вас не выручит ни один язык
программирования.

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

ГВАРХ!. Нафига столько текста?

Страницы

X