Форум: "Прочее";
Текущий архив: 2014.10.05;
Скачать: [xml.tar.bz2];
ВнизЯ Написал Книжку по Делфи, хотел бы узнать Ваше мнение и отзывы Найти похожие ветки
← →
big_djo © (2014-02-22 20:59) [0]Здравствуете! Недавно я опубликовал книжку для начинающих программистов "Курс практического программирования в Delphi. Объектно-ориентированное программирование" в Москве в изд-ве "Солон-Пресс", был бы рад узнать Ваши мнения и отзывы
← →
big_djo © (2014-02-22 21:03) [1]Привожу ознакомительный вариант книжки. Приведены: Практическая работа №1 -полностью, остальные несколько работ частично.
http://yadi.sk/d/5SRgrCCTJMnwv
← →
Дмитрий СС (2014-02-22 21:31) [2]
Для обучения и освоения объектно-ориенитрованной среды программирования Delphi наиболее оптимальными версиями являются Delphi 6 или Delphi7.
Почему?
И еще в глаза бросилось: 4 скриншота по поводу сохранения проекта и ни одного в "Задание 1.1.0".
Оформление кода плохое, оформление форм - плохое (а ведь к аккуратности нужно приучать с самого начала!)if D<0 then
begin
ShowMessage("Корней нет");
halt;// немедленное прекращение программы
end;
Зачем halt?
Я уже не говорю, что D таким образом сравнивать с нулем некорректно в общем случае.
if Drug=true then Canvas.LineTo(X,Y)
Зачем =true ?
Дальше смотреть не стал.
У меня мама изучает Delphi в данный момент (переходит с Pascal) с целью преподавания. Я бы ей вашу книгу не порекомендовал.
← →
Mystic © (2014-02-22 21:40) [3]Мне непонятно, кому адресована книга. Если совсем начинающим, то нужно дать основы программирования вообще. Как введение в Delphi для тех, у кого есть опыт, то слишком элементарно. Как справочник тоже не тянет.
← →
clickmaker © (2014-02-22 21:59) [4]TForm1.Button1Click
edit4.Text
edit5.Text
Дальше можно не читать
← →
Inovet © (2014-02-22 22:05) [5]Недавно была такая тема, кто помнит.
← →
Inovet © (2014-02-22 22:19) [6]Бросилось в глаза: "Вернитесь в режим программирования". Как-то оно не по-нашему звучит. Что за режим такой? Для начинающих тем более не надо выдумывать несуществующие режимы, как и приучать к этим, набившим оскомину Form1, Edit1 и т.д.. Наоборот надо чётко объяснять что есть что и рекомендовать заменять дефолтные имена на осмысленные, показывая заодно и это в примерах.
← →
ухты (2014-02-22 22:22) [7]
> TForm1.Button1Click
а надо было TMySuperPuperForm.MySuperPuperButtonClick ?
← →
Inovet © (2014-02-22 22:28) [8]> [7] ухты (22.02.14 22:22)
Посмотри Задание 1.2.1
← →
Inovet © (2014-02-22 22:32) [9]> [5] Inovet © (22.02.14 22:05)
> Недавно была такая тема, кто помнит.
Нашёл, но её, оказывается, безжалостно выпилили не понятно за что.
← →
ухты (2014-02-22 23:32) [10]
> Посмотри Задание 1.2.1
да я тоже не в восторге от книги с самого начала, думаю критики к ней больше чем в ней заданий :)
← →
big_djo © (2014-02-22 23:51) [11]-->Зачем halt?
Согласен halt здесь лишний, но с другой стороны он не сильно и портит код) выпилю его в последующем переиздании
-->if Drug=true then Canvas.LineTo(X,Y)
-->Зачем =true ?
для новичка нормально так написать, пусть будет ясно что Drug сравнивается именно с true. Книжка не посвящена нюансам паскаля, паскал новички могут выучить по другим книжкам
-->Бросилось в глаза: "Вернитесь в режим программирования". Как-то
-->не по-нашему звучит. Что за режим такой?
это Режим набирания кода программистом в редакторе кода))) Это просто для упрощения
-->да я тоже не в восторге от книги с самого начала, думаю критики к
-->ней больше чем в ней заданий :)
Я нормально отношусь к конструктивной критике) буду рад замечаниям
← →
big_djo © (2014-02-22 23:54) [12]-->Оформление кода плохое, оформление форм - плохое
согласен, щас делаю новое переиздание код будет выделен Courier New
-->У меня мама изучает Delphi в данный момент (переходит с Pascal) с
-->целью преподавания. Я бы ей вашу книгу не порекомендовал.
я книжку протестировал многократно на студентах, за месяц они стали разбираться в Делфи очень неплохо)
← →
картман © (2014-02-22 23:58) [13]как стать преподом за 24 часа))
← →
DVM © (2014-02-22 23:58) [14]
> big_djo © (22.02.14 23:51) [11]
> это Режим набирания кода программистом в редакторе кода)))
> Это просто для упрощения
Так и писали бы Редактор кода и Дизайнер форм. Иначе только путаница будет. Пользуйтесь устоявшейся терминологией.
← →
DVM © (2014-02-23 00:02) [15]Над языком, надо еще поработать. Чтоб не было таких фраз:
Таким образом, чтобы отловить любое шныряющее к вашему приложению сообщение Windows, достаточно создать свою собственную процедуру с любым именем, например, ApplicOnMessage с теми же параметрами.
← →
ухты (2014-02-23 00:06) [16]
> я книжку протестировал многократно на студентах, за месяц
> они стали разбираться в Делфи очень неплохо)
а студенты каких факультетов, вузов?
← →
ухты (2014-02-23 00:06) [17]
> я книжку протестировал многократно на студентах, за месяц
> они стали разбираться в Делфи очень неплохо)
а студенты каких факультетов, вузов?
← →
big_djo © (2014-02-23 00:12) [18]-->а студенты каких факультетов, вузов?
первокурсники, самых разных, негуманитарных, физики, математики , информаты
← →
Дмитрий СС (2014-02-23 00:15) [19]
> они стали разбираться в Делфи очень неплохо
Я думаю от этого до первой тысячи рублей как до луны.
← →
big_djo © (2014-02-23 00:23) [20]-->Так и писали бы Редактор кода и Дизайнер форм. Иначе только
-->путаница будет. Пользуйтесь устоявшейся терминологией.
да надо поменять будет, на типа "Далее, в редакторе кода сделайте то-то и то-то.."
-->Над языком, надо еще поработать. Чтоб не было таких фраз:
-->Таким образом, чтобы отловить любое шныряющее к вашему
-->приложению сообщение Windows, достаточно создать свою
Это просто некоторый легкий сленг, ради разнообразия сухих фраз)) его очень мало, а в новой версии таких фраз совсем не будет
← →
Inovet © (2014-02-23 00:33) [21]> [11] big_djo © (22.02.14 23:51)
> для новичка нормально так написать
Это ненормально, тем более ненормально такую ахинею в учебнике предлагать ученику.
← →
Inovet © (2014-02-23 00:35) [22]> [11] big_djo © (22.02.14 23:51)
> пусть будет ясно что Drug сравнивается именно с true
Он не сравнивается - он и есть сам. И нюансы Паскаля здесь совершенно ни при чём, потому что это не нюансы Паскаля.
← →
Inovet © (2014-02-23 00:35) [23]> [11] big_djo © (22.02.14 23:51)
> Режим набирания кода программистом в редакторе кода))) Это
> просто для упрощения
Это для запутывания и усложнения.
← →
big_djo © (2014-02-23 00:38) [24]-->Это ненормально, тем более ненормально такую ахинею в учебнике
-->предлагать ученику.
не согласен, это лишь мелочь которая у новичка заострит внимание с чем сравнивается переменная. выпиливать не стану)
← →
big_djo © (2014-02-23 00:41) [25]-->Это для запутывания и усложнения
Насколько я могу судить по сотне студентов никто НИ РАЗУ не запутался)) Выполняли всё с нуля без малейшей подсказки с моей стороны)
← →
Inovet © (2014-02-23 00:43) [26]> [24] big_djo © (23.02.14 00:38)
Да не сравнивается она, не должна сравниваться. Не надо приучать к таким глупостям, это называется - непонимание типов данных. Наоборот, надо показывать что логический тип сам участвует в условной операции. Вот на этом надо заострить внимание на примерах. А не на масло = масло.
← →
Inovet © (2014-02-23 00:45) [27]> [25] big_djo © (23.02.14 00:41)
> Насколько я могу судить по сотне студентов никто НИ РАЗУ не запутался
Стойкие студенты, но если приложить достаточно усилий, то и их можно вогнать в глубокий лес таких вот самобытных представлений.
← →
big_djo © (2014-02-23 00:50) [28]Для меня важнее читабельность, программа работает корректно, ничего страшного если там будет сравнение с true.
-->Стойкие студенты, но если приложить достаточно усилий, то и их
-->можно вогнать в глубокий лес таких вот самобытных представлений.
самобытного там ничего нет)
← →
big_djo © (2014-02-23 00:52) [29]-->Для обучения и освоения объектно-ориенитрованной среды
-->программирования Delphi наиболее оптимальными версиями являются
-->Delphi 6 или Delphi7.
-->Почему?
Потому , что Delphi 7 наименнее глючный из всех версий, насколько я мог убедиться
← →
Anatoly Podgoretsky © (2014-02-23 00:55) [30]Д5 безглючнее
← →
Павиа (2014-02-23 01:03) [31]Сразу видно что книжка Русская.
Будь американская была бы благодарность и имена тестеров на 10 листов.
Всё-таки мне больше нравятся немецкие книжки. Где в первых главах даются необходимые знания, для дальнейшего освоения материала.
Что такое ООП не описано. Зачем оно нужно тоже не описано.
Да и вообще название книги не отражает её содержание.
Выбранная версия Delphi не актуальна.
По edit"ам автору следует рассказать про ошибку доступа и прочие ошибки. Которые будут при выполнении на первых уроков.
Отсутствует обработка ошибок. Хотя согласен что по началу не стоит перегружать учеников.
Также книжка учит дурному коду, а именно демонстрирует как применять глобальные переменные.
Из ошибок.
Автор путает язык Delphi с языком object Pascal.
> В Delphi стандартные оконные приложения являются потомками
> класса TWinControl и TControl, и, когда они создаются, они
> регистрируются в Windows, получая уникальный идентификатор
> – дескриптор (Handle)
Во первых Handle это не дескриптор.
Handle это указатель, ссылка.
Descriptor- описатель, это некоторая структура.
Во-вторых давать описание неизвестного термина через неизвестный это издевательство над читающим.
> Переместите на форму Label1, checkbox1, а также таймер timer1
Если переместить, то без единичек либо создать.
Вердикт, куда не ткни везде залёты и ошибки. Так что книгу рекомендую выбросить.
← →
Павиа (2014-02-23 01:07) [32]
> Anatoly Podgoretsky © (23.02.14 00:55) [30]
> Д5 безглючнее
Д4 ещё более безглючнее.
← →
Inovet © (2014-02-23 01:08) [33]> [28] big_djo © (23.02.14 00:50)
> Для меня важнее читабельность, программа работает корректно,
> ничего страшного если там будет сравнение с true.
Это плохо как раз для читабельности. "Не плоди сущности без необходимости".
Видим:
if a = true then
Запинка. Так, а почему эта переменная сравнивается с true, может это на логический тип там? Сомнения. Смотрим выше на 10 страниц
var
a : boolean;
А, ну так ламер писал, понятно что ждать дальше. Плюёмся листаем вниз на 10 страниц, ищем где там эта долбаная строчка, вспоминая проматерь всех говнокодеров.
Тогда следуя такой логике надо писать в едином стиле
if a = false then
вместо
if not a then
и
if b > c = true then
вместо
if b > c then
и т.п.
← →
Palladin © (2014-02-23 01:13) [34]ну нафига я это читаю...
← →
clickmaker © (2014-02-23 01:20) [35]явное сравнение с true/false актуально только в тех языках, где присвоение и равно обозначается одним символов. c/c++, c#, php...
Иногда сишники пишут даже что-то типа
if (false == a)
чтобы избежать случайных ошибок, да и читается лучше, чем !a
← →
big_djo © (2014-02-23 01:50) [36]-->Во первых Handle это не дескриптор.
-->Handle это указатель, ссылка.
-->Descriptor- описатель, это некоторая структура.
Здесь контекст текста подразумевает схожесть между терминами, дескриптор - описатель или разновидность указателя.
Привожу ссылку на текст из http://www.delphikingdom.com/asp/viewitem.asp?catalogid=169#03
"
Каждому объекту, созданному с помощью Win API, присваивается уникальный номер (дескриптор). Конкретное значение этого дескриптора не несёт для программиста никакой полезной информации и может быть использовано только для того, чтобы при вызове функций из Win API указывать, с каким объектом требуется выполнить операцию. В большинстве случаев дескрипторы представляют собой 32-значные числа, а значит, их можно передавать везде, где требуются такие числа. В дальнейшем мы увидим, что Win API несколько вольно обращается с типами, т.е. один и тот же параметр в различных ситуациях может содержать и число, и указатель, и дескриптор, поэтому знание двоичного представления дескриптора всё-таки приносит программисту пользу (хотя если бы система Windows была "спроектирована по правилам", тип дескриптора не должен был бы интересовать программиста)."
p.s. В новой версии книжки я скорректирую этот момент и приведу более точное описание
--> if a = false then
вы используйте операцию сравнения "=" двух значений "a" и "false" и получайте результат.
кто Вам сказал, что нельзя использовать такой вариант?
В стандарте паскаля об этом не говорится и не запрещается:
6.7.2.3 Boolean operators
Operands and results for Boolean operations shall be of
Boolean-type. The Boolean operators
or, and, and not shall denote respectively the logical
operations of disjunction, conjunction, and
negation.
Boolean-expression = expression .
A Boolean-expression shall be an expression that denotes
a value of Boolean-type.
Inovet вы сконцентировали внимание на несущественных мелочах, а конструктивной критики именно от вас ноль
← →
big_djo © (2014-02-23 01:55) [37]-->Также книжка учит дурному коду, а именно демонстрирует как
-->применять глобальные переменные.
По вашему про глобальные переменные им вобще не надо знать так?
Я не хочу делать книжку по паскалю, предполагается, что понятие переменных, область видимости, стандартные типы они прочитают в других книгах по паскалю
← →
Inovet © (2014-02-23 02:01) [38]> [35] clickmaker © (23.02.14 01:20)
> if (false == a)
Pачем такое? Другое дело написать
if(a = 3)
вместо
if(a == 3)
но и тут предупреждение будет, но на всякий случай можно
if(3 == a)
если там вдруг окажется внезапно
if(3 = a)
так и фиг с ним, такое - уже ошибка времени компиляции. Ну а если шибко хочется присвоить и тут же сравнить, так что тут уже поделаешь, можно влететь, но кто заставлял
if(d == (a = b + c))
← →
Германн © (2014-02-23 02:06) [39]
> big_djo © (22.02.14 20:59)
>
> Здравствуете! Недавно я опубликовал книжку для начинающих
> программистов "Курс практического программирования в Delphi.
> Объектно-ориентированное программирование" в Москве в изд-
> ве "Солон-Пресс", был бы рад узнать Ваши мнения и отзывы
Я не сторонник зелёных, но в данном случае мне деревья жалко. Даже если пострадает только несколько веток. Ибо эта книга не стоит той бумаги, на которой она напечатана.
← →
Inovet © (2014-02-23 02:10) [40]> [36] big_djo © (23.02.14 01:50)
> кто Вам сказал, что нельзя использовать такой вариант?
> В стандарте паскаля об этом не говорится и не запрещается:
Много чего не запрещается и делается, я уж не буду уточнять что именно, но большинству (пока) это не подходит.
> [36] big_djo © (23.02.14 01:50)
> Inovet вы сконцентировали внимание на несущественных мелочах,
> а конструктивной критики именно от вас ноль
В книжке куда не ткни везде такие ляпы, но для Вас это несущественные мелочи. Но Вы, заметим, пытаетесь нести свет знания и навыков в массы, так могут ли при этом мелочи быть несущественными. Это на форуме ещё простительно на скорую руку или под настроение ляпуть что-то не то, и то в есть некие границы, хотябы внутренние, а у Вас книга, по крайней мере, предентующая на учебник. Серьёзней надо быть в таких действах.
Страницы: 1 2 3 4 5 6 7 8 9
10 вся ветка
Форум: "Прочее";
Текущий архив: 2014.10.05;
Скачать: [xml.tar.bz2];
Память: 0.58 MB
Время: 0.009 c