Книга "Основы программирования в среде Lazarus"

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Книга "Основы программирования в среде Lazarus"

Сообщение Kubanych » 28.10.2010 11:22:24

tmp писал(а):У меня есть замечание по оформлению: текст слишком разрежен (а блоки с исходниками ещё больше). Зачем сделан такой большой межстрочный интервал? Для сравнения, в книге слева влезло как минимум в 2 раза больше информации на страницу, чем в данной (справа). Это как бы намекает (лично мне), что автор гнался за количеством страниц в книге... Жирный минус вам за оформление!

Ну что Вы! Какой мне смысл гнаться за количеством страниц?
Насчет оформления - я же не профессиональный редактор-издатель! Если бы книга была бы издана в бумажном виде, уверен редакторы исправили бы этот недостаток.
Межстрочный интервал везде 1.5. В блоках с исходниками использован шрифт Courier New, там даже расстояние между буквами больше. Но я специально выбрал этот шрифт, поскольку при издании книги в бумажном виде размер страницы уменьшится, а именно примеры должны быть (на мой взгляд) четко видны.
Кроме того, представьте себе в тексте программы последний оператор
Код: Выделить всё
end.

не поместился на страницу. Мне, например, это не нравится. Поэтому в таких случаях я намерено увеличивал расстояние между строк путем Enter.
tmp писал(а):И ещё заметил: на некоторых скриншотах есть выделение пунктов, но сделано это "коряво". Неужели нельзя было всё это по-аккуратнее (как например выделено ниже)?

Согласен! Но в той программе, которую я использовал для выделения, таких инструментов не было.
Kubanych
новенький
 
Сообщения: 73
Зарегистрирован: 15.10.2008 10:02:18

Re: Книга "Основы программирования в среде Lazarus"

Сообщение Иван Шихалев » 28.10.2010 14:44:41

Что касается оформления — я готов перегнать книгу в LaTeX — он дает весьма аккуратный вывод. Но надо как-то договориться отслеживать исправления, поскольку процесс этот — не единомоментный.

Добавлено спустя 2 минуты 5 секунд:
В принципе, при наличии исходного файла, переброска текста займет вечер-два. Со схемами и рисунками — еще некоторое время...
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Re: Книга "Основы программирования в среде Lazarus"

Сообщение amateur » 28.10.2010 14:59:06

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

Кажись gimp осилит подобное :wink: да и Paint тоже (токо, иногда, Shift нуно жать).

По поводу книги:
у Вас есть нечто - Решение проблем в лазаре?
Поясню. Поставил я лазарь на комп. Запустил его и нумо клацать, а он мне
но как только пробуешь создать какое-нибудь событие у любого компонента Lazarus ругается на отсутствие модуля.

выдает, долго я ржал когда узнал в чем проблема. Но искал дольше, а вырыл здеся:
http://www.webdelphi.ru/2010/10/reshenie-mikro-problem-v-lazarus-0-9-xx/
Но больше всего добил меня ответ анг. юзверя: для решения данной проблемы используйте CodeTyphon там такого глюка нет :) А проблема - то была в маленькой букофке...
Млин: и проблема то махонькая, но для начинающего.?
Аватара пользователя
amateur
энтузиаст
 
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Re: Книга "Основы программирования в среде Lazarus"

Сообщение Kubanych » 28.10.2010 15:13:50

Вы знаете, наш форум отличное подспорье для решения вот таких "маленьких" проблем. А таких проблем "всплывает" так много, что размещать пути их решения в книгу я счел нецелесообразным.
Kubanych
новенький
 
Сообщения: 73
Зарегистрирован: 15.10.2008 10:02:18

Re: Книга "Основы программирования в среде Lazarus"

Сообщение GAMER » 28.10.2010 15:47:16

Тем более, что проблемы со временем исправляют :)
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Книга "Основы программирования в среде Lazarus"

Сообщение amateur » 28.10.2010 16:18:36

Тем более, что проблемы со временем исправляют

Угу: особенно эту, нет ее нет а потом появилась, потом опять исчезла. Или скрол...
Вы знаете, наш форум отличное подспорье
а ссылка в книге есть ???
Да ответ я вырыл почти на форуме, просто вскользь кто то написал.

Кстати: баги или такие финты в лазаре правятся на ура. Ррррраз и в новый баг :)
Аватара пользователя
amateur
энтузиаст
 
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Re: Книга "Основы программирования в среде Lazarus"

Сообщение Nik » 28.10.2010 21:28:17

Gimp, TeX... Может взять Scribus - вёрстка его прямое назначение (TeX всё-таки больше для сложных научных вёрсток создавался, а GIMp вообще растровый :) ).
Аватара пользователя
Nik
энтузиаст
 
Сообщения: 573
Зарегистрирован: 04.02.2006 00:08:09
Откуда: Киров

Re: Книга "Основы программирования в среде Lazarus"

Сообщение Иван Шихалев » 28.10.2010 21:45:04

С ним возни много. TeX все-таки — логическая разметка. Для любого технического текста гораздо предпочтительней всякого визуального.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Re: Книга "Основы программирования в среде Lazarus"

Сообщение Kubanych » 29.10.2010 06:52:05

amateur писал(а):а ссылка в книге есть ???

Да, стр 765. А на странице 27 я пишу:
"В конце книги приведены адреса нескольких сайтов, в которых имеются форумы по программированию, в частности форум, посвященный программированию в среде Lazarus."
Kubanych
новенький
 
Сообщения: 73
Зарегистрирован: 15.10.2008 10:02:18

Re: Книга "Основы программирования в среде Lazarus"

Сообщение amateur » 29.10.2010 16:04:53

Nik
а причем тут жимп до верстки ??? я ведь про фотки писал...
стр 765
упс :oops:

Просмотрел бегло исходники. Работают, вроде :) Вот ток не пойму: в чем разница между вин и лин версией? Я в лине нормально использовал вин исходники. Кросс ведь вроде :wink:

пардон, но "А на странице 27 я пишу:" прочитал. Такое ощущение что тама зарыт сундук ссылок :) Посмотрел на 765, мдя. А королевство делфи а delphimaster.ru и иже с ними, а то 3 ссылки - эт не море, эт лужица...
Аватара пользователя
amateur
энтузиаст
 
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Re: Книга "Основы программирования в среде Lazarus"

Сообщение Vadim » 29.10.2010 16:22:30

amateur писал(а):в чем разница между вин и лин версией?

Для общераспространённых алгоритмов нет никакой разницы в какой ОС их реализовывать. С ОС может быть связано, например, особенности вывода данных на экран. А это, согласитесь, уже не для начинающих. ;)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Книга "Основы программирования в среде Lazarus"

Сообщение Kubanych » 29.10.2010 16:46:22

amateur писал(а):в чем разница между вин и лин версией?

В Linux для консольных приложений надо дополнительно настраивать параметры запуска (см. стр 79).
В примерах все проекты уже настроены. Кроме того, названия папок, имена проектов не содержат пробелов.
amateur писал(а):пардон, но "А на странице 27 я пишу:" прочитал. Такое ощущение что тама зарыт сундук ссылок :) Посмотрел на 765, мдя. А королевство делфи а delphimaster.ru и иже с ними, а то 3 ссылки - эт не море, эт лужица...

Я же писал "адреса нескольких сайтов". Несколько это не значит целый "сундук ссылок" или "море" ссылок.
А Гугл на что?
Kubanych
новенький
 
Сообщения: 73
Зарегистрирован: 15.10.2008 10:02:18

Re: Книга "Основы программирования в среде Lazarus"

Сообщение minoshi » 30.10.2010 11:22:46

Доброго времени суток!

Читал Вашу книгу и походу делал кое-какие пометки, так, мысли в слух.

стр 10
- слова "финитность", "детерминированность" - это видимо какие-то слова из спецкурсов по программированию? Я самоучка и их слышу впервые (и через пару дней забуду). Уверены, что они действительно нужны начинающему?

стр 16
"Программирование - это научная дисциплина", а далее по тексту программирование - это творчество. Как-то несуразно...

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

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


глава 2.1
- все-таки стоит наверно отдельно обозначить, чтобы начинающий программист с самого начала выработал для себя правила наименования переменных! Сам я к этой идее пришел не сразу и поначалу имел от этого много проблем, когда читал код своих же программ, написанных год или два назад. (хотя в качестве оправдания в то время интернета еще толком не было, негде было такую простую мысль прочитать). В качестве примера из своего опыта:
- однобуквенные переменные используются только в рамках отдельной процедуры (функции), например, при этом у меня выработана привычка использовать их в определенном порядке:
b - это только boolean
i, y, x = это integer переменные для циклов
s, s2 - это только string
f - textfile, fs - Tsearchrec, fi - tinifile
и так далее ...
для глобальных переменных несколько другие правила:
- имя переменной отражает суть переменной (SettingsFileName - переменная содержащая имя файла настроек,
- если в переменной что-то подсчитывается то оно обязательно содержит слово count
- не лениться использовать заглавные буквы или знак подчеркивания. humanwithrussianpassportcount прочитать сложнее, чем human_with_russian_passport_count или HumanWithRussianPassportCount

глава 2.1.1
-стр 50
операции над целыми, вещественными и логическими, числами может стоит оформить в виде таблицы ?

2.1.2
- операции отношения может стоит оформить в виде таблицы ?

2.1.3
- на стр 51 есть примеры объявления переменных, может стоит упомянуть, что при объявлении глобальных переменных можно сразу задать начальное значение переменной ?
FIO_of_manager : string = 'IVANOV IVAN IVANOVICH'

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


2.1.7.2
- стр 56
"например она может выдавать информацию на экран ..." - не на ЭКРАН , а на КОНСОЛЬ! Эта фраза кочует по учебникам еще с ДОСовских времен. Спору нет в те времена консоль и была экраном, но сейчас нет. Сейчас эта фраза только смутит НАЧИНАЮЩЕГО программиста. Для вывода на экран скорее используется MessageDlg или ShowMessage.
- стр 57 по оператору ввода - то же самое замечание.


2.1.7.3 (стр 58)
про операторы inc и dec. Может стоит упомянуть что операция inc(i) отрабатывает быстрее чем i := i+1 ?

2.1.8
стр 59
-"например поддерживает перезагрузку операторов" . Очередная кочующая из статьи в статью, из книги в книгу фраза. Для начинающего программиста может стоит привести более простой пример? Хотя я себя не считаю начинающим, но "перезагрузка операторов" для меня не была определяющим моментом для перехода на FPC .... А! вот и нужный пример (немного далее по тексту): "...поддерживающий огромное количество платформ...". Может вот ЭТУ отличительную черту стоит поставить первой? и дополнить, что благодаря FPC можно писать код который потом скомпилируется и в Windows, и в Линуксе и в Мак
Проще и понятнее как-то, чем использованное слово "платформа".(помнится школьники тоже являются частью целевой аудитории).

to be continued ....
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: Книга "Основы программирования в среде Lazarus"

Сообщение Иван Шихалев » 30.10.2010 11:56:34

minoshi писал(а):inc(i) отрабатывает быстрее чем i := i+1

Уже давно это не так. Компилятор оптимизирует и то, и другое в одну и ту же одну инструкцию.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Re: Книга "Основы программирования в среде Lazarus"

Сообщение Kubanych » 30.10.2010 17:48:52

Здравствуйте, minoshi!
Благодарю за столь подробные замечания и предложения! Теперь по пунктам:
minoshi писал(а):стр 10
- слова "финитность", "детерминированность" - это видимо какие-то слова из спецкурсов по программированию? Я самоучка и их слышу впервые (и через пару дней забуду). Уверены, что они действительно нужны начинающему?

Вообще-то сначала я употребляю русские значения этих понятий. Так что пусть остаются!
minoshi писал(а):стр 16
"Программирование - это научная дисциплина", а далее по тексту программирование - это творчество. Как-то несуразно...

Здесь я с Вами не согласен. Именно в программировании знания и творчество идут рука об руку! Я об этом в нескольких местах пишу достаточно подробно, поэтому не стану повторяться.
minoshi писал(а):стр 31
-раз уж заговорили про альфы и бета версии, может стоит упомянуть об основных тенденциях назначения версий? Знаю, что единых правил не существует, но основные тенденции все-таки прослеживаются, например версии до единицы - это нестабильные версии, единица - это релиз, ну и так далее...

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

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

Об этом я пишу на стр. 491.
minoshi писал(а):глава 2.1.1
-стр 50
операции над целыми, вещественными и логическими, числами может стоит оформить в виде таблицы ?

2.1.2
- операции отношения может стоит оформить в виде таблицы ?

2.1.3
- на стр 51 есть примеры объявления переменных, может стоит упомянуть, что при объявлении глобальных переменных можно сразу задать начальное значение переменной ?
FIO_of_manager : string = 'IVANOV IVAN IVANOVICH'

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

Конечно, каждый применяет то, что ему нравится! Но, посмотрите любой системный модуль Lazarus. Вы увидите, что в основном используются // и {}. Я имел ввиду только это!
minoshi писал(а):"например она может выдавать информацию на экран ..." - не на ЭКРАН , а на КОНСОЛЬ! Эта фраза кочует по учебникам еще с ДОСовских времен. Спору нет в те времена консоль и была экраном, но сейчас нет. Сейчас эта фраза только смутит НАЧИНАЮЩЕГО программиста.

Именно начинающий, особенно школьник или самоучка лучше поймет слово ЭКРАН! Но, по большому счету, Вы абсолютно правы!
minoshi писал(а):"например поддерживает перезагрузку операторов" . Очередная кочующая из статьи в статью, из книги в книгу фраза. Для начинающего программиста может стоит привести более простой пример? Хотя я себя не считаю начинающим, но "перезагрузка операторов" для меня не была определяющим моментом для перехода на FPC .... А! вот и нужный пример (немного далее по тексту): "...поддерживающий огромное количество платформ...". Может вот ЭТУ отличительную черту стоит поставить первой? и дополнить, что благодаря FPC можно писать код который потом скомпилируется и в Windows, и в Линуксе и в Мак
Проще и понятнее как-то, чем использованное слово "платформа".(помнится школьники тоже являются частью целевой аудитории).

Согласен!
Kubanych
новенький
 
Сообщения: 73
Зарегистрирован: 15.10.2008 10:02:18

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28

Рейтинг@Mail.ru