Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  20:27[Войти] | [Зарегистрироваться]
Обсуждение темы:
Книги для программистов. Состояние дел и перспективы.

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

Прочтение материалов <Деньги на ветер> и <За что я не люблю Архангельского> навело на некоторые мысли по поводу современного состояния издания программистских книг. Предлагаю обсудить состояние дел в этой отрасли. Для начала свои комментарии, замечания.
Первое.
Все книжки, выходящие на данный момент можно разделить на такие группы:
1) Новичку (<ХХХ за 24 часа> - название условно, вместо ХХХ подставьте название среды разработки, пакета обработки графики.. да что угодно).
2) Средний уровень. Что-то конкретное назвать трудно. Подразумевается владение базовыми навыками работы в избранной среде, написания простейших приложений.
3) Высший пилотаж. Типовые примеры - Дж. Рихтер <Создание эффективных Win32 приложений с учетом специфики 64-разрядной версии Windows>, Д. Соломон, М. Руссинович <Внутреннее устройство Microsoft Windows 2000>.

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

Кратко остановимся на особенностях теоретических книжек. По моему мнению, основные их отличия это:
- Весьма активное использование математики, причем, так сказать, математики высшего полета.
- Использование фраз типа: "Обычно это так, но не гарантируется".
- Рассмотрение различных фундаментальных понятий на почти бесполезных примерах.
- Почти обязательное использование компиляторов ANSI. (в основном, ANSI C).

Такие книжки очень любят преподаватели предметов наподобие "Теоретические основы программирования", "Логическое программирование" (названия чисто условны, но, думаю, понятно). Результатом изучения последними этой литературы являются вопросы на форумах типа: " Задан граф - не дерево. Проверить, можно ли превратить его в дерево удалением одной вершины вместе с ее ребрами", "Задана система двусторонних дорог. Найти замкнутый путь длинной не более T, проходящий через каждую дорогу ровно один раз" (вопросы списаны с форума www.rsdn.ru . Надеюсь, автор не обидится).

Теперь поговорим о прикладных. Очень часто авторы добросовестно списывают соответствующие разделы MSDN,справки Delphi, разбавляя своими комментариями оригинальный текст и листинги примеров. Но можно выделить и книги другого типа, которых пока не очень много и которые очень нужны. Это книги, посвященные решению различных типовых прикладных задач. К таким бы я отнес труды М.Е. Фленова "Программирование на Delphi глазами хакера", "Программирование на С++ глазами хакера", "Delphi в шутку и всерьез. Что умеют хакеры", А.Я. Архангельский, М. Тагин "Приемы программирования в Borland C++Builder 6. Механизмы Windows и сети". (Прошу не считать рекламой. Мне кажется, книги действительно достойные внимания).

Скажу пару слов о книгах начального уровня. Здесь абсолютно правильно говорили, что там часто бывает очень много недомолвок, формально правильных, но неполных примечаний и т.п. Вообще, мне кажется, что наиболее правильный путь написания таких книг - ознакомление со средой разработки и программированием в ней на различных полезных примерах. К сожалению, я мало видел таких книг. Единственный пример - книги С.Бобровского по Delphi и C++Builder.

О книгах для среднего уровня говорить много не надо. Пример - вышеупомянутые произведения М.Е. Фленова, А.Я. Архангельского.

О профессиональных книгах говорить вообще не буду - профессионалы сами разберутся, чего им надо.

Чего не хватает.
Здесь я скажу, чего не хватает лично мне. А Вы, уважаемые читатели, добавьте свои мнения, что бы Вы хотели прочитать.
Итак, книжки по работе с базами данных, но особой - для ламера от начала до конца. Т.е. я бы хотел видеть что-то типа такого начала книги: "Перед нами стоит задача создать СУБД. Структура таблиц у нас такая (описание структуры). В базе необходимо реализовать такие-то функции( например, вставка/удаление элементов, сортировка, выборка). Эти задачи мы решаем так-то(далее пример кода). И так до конца разработки - тщательный комментарий каждого шага.
Второе, книги по цифровой обработке сигналов и изображений с особым упором на программный код. Т.е. базовые алгоритмы с иллюстрацией на Pascal, C, Delphi, C++Builder. А начать такую книгу следовало бы с чтения данных из звуковых файлов, файлов изображений различных типов

Сергей Лысенко

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 88 сообщений

Добавить свое сообщение

Отслеживать это обсуждение
<<<... | 18—9 | 8—1
Всего сообщений в теме: 88; страниц: 9; текущая страница: 9


№ 8   21-04-2005 13:12 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 7« (Дмитрий)
___________________________

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


Ну так и темы непросты. Лучшая из книг по компиляторам, из тех что я читал, первые 50 страниц посвятила разъяснению применения теории автоматов и теории графов для разъяснения последующих 450-ти страниц. И потом довольно внятно и лаконично все объяснила, но все в терминах вышеупомянутых теорий, кстати весьма лаконичных. А если бы попытались рассказать все "по простому"?

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

Как может быть иначе?


№ 7   21-04-2005 07:35 Ответить на это сообщение Ответить на это сообщение с цитированием
Не хватает хороших книг по сложным темам, как то упомянутая обработка сигналов или компиляторы. То, что есть, либо вода совершеннейшая (одна книжка, которая мне попалась и теперь пылится в шкафу, содержала "рекламу" собственной технологии двух профессоров и их студентов), либо неподходят (довольно сложны) для обучения. Хотелось было сделать перевод книги хорошей книги с английского, доступной для скачивания, для себя и для студентов, да все руки не доходят.
С огромной тоской вспоминаются учебники 50-60 годов (тот же Перельман)...


№ 6   21-04-2005 05:30 Ответить на это сообщение Ответить на это сообщение с цитированием
Могу еще добавить из личного опыта, т.к. имею отношение к сфере образования. Учебников по информатике и информационным технологиям развелось видимо-невидимо: там и про Windows, и про Word-Excel-PowerPoint, и про устройства компьютера. Но покажите мне толковый и последовательно написанный учебник по основам программирования: с теоретической частью, с учебными заданиями и т.д. Причем так написанный, чтобы не переписывать каждый год заново после выхода очередной версии языка. Цель книги - сформировать у человека базовый минимум знаний, умений и навыков в этой области. Не конкретные кнопочки в инспекторе объектов изучать, а учиться конструировать алгоритмы и понимать основные концепции. За последние 10 лет только одна такая книжка попалась: "Основы программирования", Бондарев и др., изд-во Фолио, г.Харьков,кажется 1997 года. Больше ни одной - только "жирные" фолианты по 500-600 страниц с подробным описанием конкретной версии среды. Что-то вроде "Учебник по программированию для Delphi 6.0". Это вроде намек на то, что после выхода Delphi 7.0 учебник надо заменять на другой :))).
Вообщем книг с конкретикой полно, а литературы для "формирования основ", особенно для среднего образования практически нет.


№ 5   21-04-2005 05:03 Ответить на это сообщение Ответить на это сообщение с цитированием
Есть Книги, а есть книги. Первые оставляют в душе любовь, а вторые - пыль. Проводишь взглядом по полке и рука сама тянется к Марко Кэнту. Для книги главное мерило - это любовь в ней заложенная. А "хороших книг для программистов так мало..." - написано в "Беседах программирования" Кронрода.


№ 4   20-04-2005 19:23 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3« (S.A.)
___________________________
Абсолютно согласен. В данный момент я этим и занимаюсь. Пытаюсь ВДОЛБИТЬ в умы трудящихся на предприятии, что программирование, а тем более создание приложений для СУБД это не так просто, как кажется. У нас считают, что можно взять книжку, почитать как набросать компоненты на форму и все - ты программист. А то, что базу данных надо проектировать определенным образом - никто не задумывается. Для многих база данных это просто набор табличек. Начал писать программку, понадобилась табличка - создал. Пишу дальше - еще создал и т.д.
Проектирование баз данных это отдельный предмет и проектируются базы данных абсолютно без привязки к пользовательскому интерфейсу. База данных это отдельный, самостоятелно живущий обект. А интерфесы доступа к базе можно писать на любом языке. Лишь бы сам язык давал возможности доступа к конкретной СУБД.


№ 3   20-04-2005 13:44 Ответить на это сообщение Ответить на это сообщение с цитированием
>>>Перед нами стоит задача создать СУБД.
>>>Структура таблиц у нас такая (описание
>>>структуры). В базе необходимо реализовать
>>>такие-то функции( например, вставка/удаление
>>>элементов, сортировка, выборка).

1) Наверно, Вы все-таки имели в виду не "СУБД", а "приложение для СУБД" (базу данных).
Различных СУБД создано уже достаточно, в том числе очень высокого уровня: Oracle, DB2, Interbase, MySQL, MS SQL Server и т.п. Поэтому для программиста-прикладника умение работать с существующими СУБД важнее, чем умение создавать их. Во всяком случае я с трудом могу представить себе "ламера", который создает СУБД. Такие продукты, как Oracle или DB2 под силу только программистам высшей квалификации, которые к "семейству ламеров" ни с какой точки зрения не относятся.

2)Для "ламера" начинать надо, наверно, не с того, что надо создать какие-то таблицы для какой-то базы. Надо объяснить, что такое модель данных, ключ отношения, нормальная форма и т.д. Надо научить строить реляционные модели, т.е. описывать предметные области с помощью двумерных таблиц, дать основы реляционной алгебры и языка SQL. И только после того, как будет ясно, почему мы используем таблицы и почему именно такие, можно переходить к техническим деталям конкретной СУБД. Иначе мы получим не "конструктора БД", а "конструктора таблиц", которому, что Excel, что РСУБД - все едино.


№ 2   20-04-2005 10:14 Ответить на это сообщение Ответить на это сообщение с цитированием
Итак, книжки по работе с базами данных, но особой - для ламера от начала до конца.

Так не бывает ;-) Точно также как не может быть книжки "Создание сложных информационных систем, на примере написания многозадачной операционой системы , офисного пакета для нее и СУБД, для ламера от начала и до конца".

На мой взгляд, изучение СУБД лучше всего вести по описанной схеме: ознакомление с примерами, попытки написать свое, когда не все получится, и в голове накопится вопросы фундаментального характера - обратиться к теории; весьма рекомендую Дж. Дейт, "Введение в СУБД", 770 страниц. А потом долго спорить в форумах с другими его почитателями о правильности решения конкретных задач с точки зрения различных требований на примере набитых шишек.

Дело в том, что наука о СУБД сегодня еще жива и во многих местах сыровата; многие положения считаются сомнительными, малополезными в некоторых случаях. Как же может быть книжка от начала до конца?


№ 1   20-04-2005 04:42 Ответить на это сообщение Ответить на это сообщение с цитированием
Прежде всего "ламерам" нужно усвоить возможности языка на тривиальных задачах (типа решения квадратных, кубических и т.д уравнений). Для этого полно книжек по языкам. Вопросы, задаваемые в форумах говорят о том, что люди, задающие их не владеют достаточными знаниями ОС (для познания необходимы справочники по разным аспектам ОС) и математикой, без знания которой невозможно стать программистом (только кодером). В общем, лучшая книжка, как правило, это Help (F1) или любая другая документация в доступном виде. В интернете всего этого добра полно, было бы желание изучать.


<<<... | 18—9 | 8—1
Всего сообщений в теме: 88; страниц: 9; текущая страница: 9


Добавить свое сообщение

Отслеживать это обсуждение

Дополнительная навигация:
Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру
  
Время на сайте: GMT минус 5 часов

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

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

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

Яндекс цитирования