Конференция "Прочее" » Книги по Delphi
 
  • Тимохов Дима © (13.09.16 02:40) [0]
    Коллеги!

    1. Так получилось, что я "завис" на Delphi2007, который еще сам Ник Ходжес (он жив как профессионал вообще?) мне лично подарил. Т.е. живу пока без уникода. Но вот решил - надо обновляться до последних версий Дельфи.

    2. Пошел в магазин, купить литературу. И был в ужасе!!!! Где книги по Дельфи?

    3. Можете посоветовать набор литературы, для последовательного изучения Дельфи от неуникода до уникода+мобильные приложения?

    Спасибо!

    ЗЫ Язык любой - русский, аглицкий.
  • iop © (13.09.16 08:37) [1]
    ты со своим вопросом сейчас похож на школьника ищущего чернила для седьмого класса
  • Kipor © (13.09.16 10:19) [2]
    ты уж выбирай тебе Ник Ходжес дорог или unicod
  • Тимохов Дима © (13.09.16 10:33) [3]

    > ты со своим вопросом сейчас похож на школьника ищущего чернила
    > для седьмого класса


    Какое тонкое замечание)) А по сути то есть что?

    По сути есть вопрос, вылезшего из танка, к тем, кто давно едет на танке и находится в тренде.

    Меня удивило, что нет вообще литературы по новым Delphi. Лежит Архангельский, Ксавье с Пачеко и еще старье какое-то. Где вся лит-ра по кроссплатформу - андроиду с макос, по другим возможностям? Когда на дельфи2007 мигрировал были книги (в инете) типа - migrating to delphi 2007 и т.д.

    Что щас то актуальное? Кенту пишет еще? Может, какие ембаркадеровские ресурсы есть?  По логике ембаркадеро должно быть в этом заинтересовано.

    Kerk, Ромыч, подскажи что-то, пожалуйста)))
  • iop © (13.09.16 10:39) [4]
    А по сути то есть что?

    по сути вас двое.

    один ищет готовую книгу в которой про отличия вцл от фмх
    второй про последовательное изучение делфи от неуникода к уникоду.
  • Игорь Шевченко © (13.09.16 10:43) [5]
    Кенту пишет, вместе с Берлином его книжку раздавали. Но не на русском.
    Не ходи в книжный магазин, сходи на ozon.
  • Kerk © (13.09.16 11:05) [6]
    Минутка ссылочного спама :)
    http://roman.yankovsky.me/?p=1834
  • Pavia © (13.09.16 13:37) [7]
    >Минутка ссылочного спама :)
    В том то и дело что спам. Для новичков может и интересно. А для профи ничего толкового. Так что по сторинке изучаем методом научного тыка.
    > Может, какие ембаркадеровские ресурсы есть?
    Сейчас видеоуроки и вебинары в моде. Надо там искать. Kerk пару ссылок в этом разделе приводил.

    Сдешнии метры сидят на старых версиях и переходить на новые неспешат. Их понять можно, многие компонены перестали обновляться. А в новых много детских болезний. Переход сродни стартапу где выживает 1 из 10. На других форумах полно специалистов.
    Сам перешёл на xe10.1. Начал новый проект на новой версии.  Хотя скажу книжки нехватает.
  • Kerk © (13.09.16 14:11) [8]

    > Pavia ©   (13.09.16 13:37) [7]
    >
    > >Минутка ссылочного спама :)
    > В том то и дело что спам. Для новичков может и интересно.
    >  А для профи ничего толкового. Так что по сторинке изучаем
    > методом научного тыка.

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

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

    С другой стороны, перенос проекта из D2007 в новые версии может быть очень болезненным. Такой опыт тоже был. Но тоже успешный в итоге.
  • Тимохов Дима © (13.09.16 14:25) [9]

    > С другой стороны, перенос проекта из D2007 в новые версии
    > может быть очень болезненным.


    Да вообще жесть.

    Правда у меня есть Delphi2009Handbook.pdf Delphi2010Handbook.pdf Delphi2011XEHandbook.pdf .

    Может, они помогут.
  • Тимохов Дима © (13.09.16 14:25) [10]

    > С другой стороны, перенос проекта из D2007 в новые версии
    > может быть очень болезненным.


    Да вообще жесть.

    Правда у меня есть Delphi2009Handbook.pdf Delphi2010Handbook.pdf Delphi2011XEHandbook.pdf .

    Может, они помогут.
  • Игорь Шевченко © (13.09.16 16:55) [11]

    > Сдешнии метры сидят на старых версиях и переходить на новые
    > неспешат.


    Ты кого метром назвал ?
  • Тимохов Дима © (13.09.16 17:53) [12]
    Кенту Марка бесплатно раздают http://cc.embarcadero.com/item/30605

    Еще В. Леонова книгу бесплатно (легально) раздают http://delphi2010.ru/leaning-of-mobile-development-with-delphi-free-book/
  • kilkennycat © (13.09.16 18:27) [13]

    > Pavia ©   (13.09.16 13:37) [7]

    для профи вообще ничего не надо, на то он и профи. а если профи читает, то он уже не профи, а новичек. Переход на новые версии неоднозначен, у каждого свои причины, не только новизна глюков.
  • Eraser © (13.09.16 18:52) [14]

    > Тимохов Дима ©   (13.09.16 02:40) 

    эх, дано я эти ссылки не кидал, на удивление, еще живые

    http://edn.embarcadero.com/article/38446
    http://edn.embarcadero.com/article/38582
    http://edn.embarcadero.com/article/38703

    этого более чем достаточно для перехода на юникод.
  • Eraser © (13.09.16 18:56) [15]

    > Kerk ©   (13.09.16 14:11) [8]

    +100500
    самый лучший подход в современной реальности, особенно для команд, которым достаточно pro-версии, ибо arch стоит непомерных денег для почти любых команд )
  • Тимохов Дима © (13.09.16 20:39) [16]

    > kilkennycat ©   (13.09.16 18:27) [13]
    >
    > > Pavia ©   (13.09.16 13:37) [7]
    >
    > для профи вообще ничего не надо, на то он и профи. а если
    > профи читает, то он уже не профи, а новичек

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


    > Eraser ©   (13.09.16 18:52) [14]
    >
    > > Тимохов Дима ©   (13.09.16 02:40) 
    >
    > эх, дано я эти ссылки не кидал, на удивление, еще живые


    Благодарю!
  • Внук © (13.09.16 20:57) [17]
    >> Игорь Шевченко ©   (13.09.16 16:55) [11]
    Так скоро и до площади Ленина дойдем.
  • Kipor © (13.09.16 21:40) [18]

    > Ну и мы стабильно переходим на каждую новую версию делфи
    > в течение где-то месяца после ее выхода. Как только DevExpress
    > обновится

    погоди. У вас же fmx, а под него девок нету?
  • Kerk © (13.09.16 22:12) [19]
    Не только FMX, у нас не один проект.
  • kilkennycat © (13.09.16 23:12) [20]

    > Тимохов Дима ©   (13.09.16 20:39) [16]
    >
    > Все больше хочется быть новичком, у которого есть мануал как сделать то-то и то-то и все.


    Не то чтобы новичком, но неохота тратить время на осмысление, как прикрутить именно эту гайку именно в этом месте, которую уже мильен раз прикручивали. Это время интереснее тратить на обдумывание глобальной конструкции.
  • Германн © (14.09.16 01:28) [21]

    > Kerk ©   (13.09.16 14:11) [8]
    >
    > С другой стороны, перенос проекта из D2007 в новые версии
    > может быть очень болезненным. Такой опыт тоже был. Но тоже
    > успешный в итоге.

    Добавлю своё имхо. Непрограммиста, но пофигиста широкого профиля. Перенос проекта из Д2007 (а мои дельфийские проекты на нем и сидят до сих пор) в новые версии Дельфи разделяется на две сущности/проблемы.
    Первая это переход с ANSI на Юникод. При отсутствии в проекте сторонних компонент и проблема сия отсутствует. При наличии сторонних компонент иногда вызывает проблемы, но сравнительно легко решаемые.
    Вторая - многоплатформенность. Вот тут уже действительно могут быть проблемы. Переход с VCL на FMX простой заменой не выполнишь.
  • Eraser © (14.09.16 01:47) [22]

    > Германн ©   (14.09.16 01:28) [21]


    > Переход с VCL на FMX простой заменой не выполнишь.

    На FMX переходить никто не заставляет в новых версиях.
  • Германн © (14.09.16 01:55) [23]
    Но Дима об этом тоже спрашивал.
  • Тимохов Дима © (14.09.16 01:59) [24]

    > Германн ©   (14.09.16 01:55) [23]
    > Но Дима об этом тоже спрашивал.

    это для нового проекта.

    Про уникод. На самом деле ты не совсем прав. Сторонних компонент нет, но есть что-то типа
    var
      p: PChar
    begin
      p := p+1.
      ...
    end.


    Когда-то такой подход был удобен, чтобы "бегать" по байтам в памяти. Я лично так не писал никогда (предвидел, что будет Ж). Но у нас в проекте есть подобный код, и не мало.
    Так, что с уникодом тоже придется повозиться в своих исходниках.
  • Германн © (14.09.16 02:10) [25]

    > Тимохов Дима ©   (14.09.16 01:59) [24]
    >
    >
    > > Германн ©   (14.09.16 01:55) [23]
    > > Но Дима об этом тоже спрашивал.
    >
    > это для нового проекта.
    >
    > Про уникод. На самом деле ты не совсем прав. Сторонних компонент
    > нет, но есть что-то типа
    > var
    >   p: PChar
    > begin
    >   p := p+1.
    >   ...
    > end.
    > Когда-то такой подход был удобен, чтобы "бегать" по байтам
    > в памяти. Я лично так не писал никогда (предвидел, что будет
    > Ж). Но у нас в проекте есть подобный код, и не мало.
    > Так, что с уникодом тоже придется повозиться в своих исходниках.
    >

    А что такой код не работает в юникодных версиях Дельфи?
    Казалось бы что сей код изначально должен бегать по символам (Char), а не по байтам.
    Сам сейчас проверить не могу.
  • Германн © (14.09.16 02:25) [26]
    Или что мешает массово заменить объявление PChar на PAnsiChar?
  • kilkennycat © (14.09.16 02:51) [27]
    Note: AnsiChar is used by the Delphi desktop compilers, but is not supported by the Delphi mobile compilers. Так что тож, просто замена не для всех.
  • Pavia © (14.09.16 07:22) [28]

    > А что такой код не работает в юникодных версиях Дельфи?Казалось
    > бы что сей код изначально должен бегать по символам (Char),
    >  а не по байтам.

    XE10.1 код бегает по Char, т.е +2 байта.
    Для бега по байтам есть PByte, только включить арифметику указателей {$POINTERMATH ON}. Проверил по умолчанию включена.


    > Warning: Do not cast non-character pointer types to PAnsiChar
    > to do pointer arithmetic. Instead, use the PByte pointer
    > type, which is declared with the {$POINTERMATH ON} compiler
    > directive.
  • Pavia © (14.09.16 07:25) [29]

    > Переход с VCL на FMX простой заменой не выполнишь.

    А какие подводные камни? А то в книге с рецептами о них ни слово.
    Правда стандарты дизайна вернее управления в мобильных приложения отличаются от настольных компьютеров.
  • Pavia © (14.09.16 07:37) [30]

    > для профи вообще ничего не надо, на то он и профи. а если
    > профи читает, то он уже не профи, а новичек.

    Не говорите чуши. Основное умение которое учат в вузе это умение собирать материал. Гораздо выгоднее учиться на чужих ошибках, а не на своих. Вот книга и есть кладезь знаний которая и позволяет быстро учится. И профи тем и отличается от новичка что умеет быстро учиться.
    Проблема с книгами по программированию только одна - очень трудно оценить книгу с первого взгляда. Это связано с тем, что суть передаётся словами и выделить мелкую рыбку среди моря воды очень трудно (таки программирование ближе к гуманитарным наукам).
  • kilkennycat © (14.09.16 08:34) [31]

    > Pavia ©   (14.09.16 07:37) [30]
    > Основное умение которое учат в вузе это умение собирать материал.

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

    > Гораздо выгоднее учиться на чужих ошибках, а не на своих.

    Спорно. Свои лучше понимаются и запоминаются и нарабатывается опыт их решения. Выгода чужих лишь во времени.

    > И профи тем и отличается от новичка что умеет быстро учиться.

    Не спорю. О времяпровождении я примерно так же говорил.

    > Проблема с книгами по программированию только одна - очень
    > трудно оценить книгу с первого взгляда. Это связано с тем,
    >  что суть передаётся словами и выделить мелкую рыбку среди
    > моря воды очень трудно (таки программирование ближе к гуманитарным
    > наукам).

    Программирование абсолютно техническая наука, по крайней мере сегодня.
    А суть в любых книгах передается словами и картинками, это как бы в определении книги заложено. И если в гуманитарной или же художественной литературе суть может быть между строк, разная по одной теме и как угодно ещё, то в технической она буквальна, так как 2*2 =4 независимо от политики, погоды и предпочтений автора.
  • kilkennycat © (14.09.16 08:45) [32]
    Ща подумалось:почему вообще так говорят: "учиться на чужих ошибках"?
    Разве учиться на чужих успехах не выгодней?
    Да и те же книжки взять, по программированию, там же не пишется, что вот если вы сбацаете так - будет ошибка, если попробуете так - будет тоже ошибка... и еще двадцать восемь вариантов приведут к ошибкам, так что пишете так - будет хорошо :)
    Представляю книжку для радиомонтажника:
    "Следует помнить, что большинство клеевых составов, используемых для монтажа деталей, приведут к ошибке. Лучше паять".
  • Игорь Шевченко © (14.09.16 11:22) [33]

    > "Следует помнить, что большинство клеевых составов, используемых
    > для монтажа деталей, приведут к ошибке. Лучше паять".


    Возможно, токопроводящим клеем можно что-то склеить :)


    > Разве учиться на чужих успехах не выгодней?


    Отрицательный эффект от неуспеха меньше, чем от повторения ошибки, не ?
  • Внук © (14.09.16 14:04) [34]
    Представил себе сапера: "Не, не буду я учиться на чужих ошибках, я уж лучше на своих" :)
  • kilkennycat © (14.09.16 20:04) [35]

    > Игорь Шевченко ©   (14.09.16 11:22) [33]

    я поэтому и напечатал "... большинство клеев" ;)


    > Отрицательный эффект от неуспеха меньше, чем от повторения ошибки, не ?

    наверное. и наверное, тут просто всего должно быть в меру.


    > Внук ©   (14.09.16 14:04) [34]

    он может учиться на успехах, то есть, выполнять лишь действия, гарантированно успешные (в его случае - почти гарантированные). Иные действия считать ошибочными и не выполнять.
    Но сапер - это неправильный пример, портящий теорию :)
  • Rouse_ © (14.09.16 23:30) [36]
    Дим, тебе то книжки по дельфи нафига?
    Ну заскочи к нам в офис, мы тебе всю нашу макулатуру отгрузим, там на школу хватит :)
  • Rouse_ © (14.09.16 23:33) [37]

    > Тимохов Дима ©   (14.09.16 01:59) [24]
    >
    > Про уникод. На самом деле ты не совсем прав. Сторонних компонент
    > нет, но есть что-то типа
    > var
    >   p: PChar
    > begin
    >   p := p+1.
    >   ...
    > end.
    > Когда-то такой подход был удобен, чтобы "бегать" по байтам
    > в памяти. Я лично так не писал никогда (предвидел, что будет
    > Ж). Но у нас в проекте есть подобный код, и не мало.

    Такой подход удобен если использовать PByte() как "все правильные пацаны", а не брать ахинею из книжек Миши Фленова.
    Оть читал бы правильные книги - небыло бы такого кода :)
  • Германн © (15.09.16 01:19) [38]

    > Pavia ©   (14.09.16 07:25) [29]
    >
    >
    > > Переход с VCL на FMX простой заменой не выполнишь.
    >
    > А какие подводные камни?

    Ну не знаю правильно ли тут использовать термин "подводные камни", но мне при написании того ответа вспомнилось. Использовался в одном проекте TStringGrid. И в нем (проекте) часто использовались свойства TStringGrid.Cols и TStringGrid.Rows. А при переносе проекта на FMX выяснилось что в FMX у TStringGrid таких свойств нет! Есть только Cells и ничего более.
  • Eraser © (15.09.16 01:32) [39]

    > Германн ©   (15.09.16 01:19) [38]

    какой может быть перенос UI с VCL на FMX вообще? вы о чем?
    с горем пополам еще можно перенести какой-то код, не связанный с UI и платформой, и то там куча проблем может возникнуть. например ARC.

    вообще для меня главная загадка, почему под Mac используется FMX, но ARC нет, хотя, вопрос конечно риторический.
  • Германн © (15.09.16 01:39) [40]

    > Eraser ©   (15.09.16 01:32) [39]
    >
    >
    > > Германн ©   (15.09.16 01:19) [38]
    >
    > какой может быть перенос UI с VCL на FMX вообще? вы о чем?
    >

    А что тогда понимать под кроссплатформенностью?
  • Германн © (15.09.16 01:59) [41]
    И кстати. При чем тут UI-приложение? Речь-то идет о переносе кода.
  • Eraser © (15.09.16 03:06) [42]

    > Германн ©   (15.09.16 01:39) [40]

    так вся кроссплатформенность там внутри FMX, под Win32/64 тоже можно билдить FMX приложения.
  • Eraser © (15.09.16 03:09) [43]
    справедливости ради, у нас есть ряд юнитов, общих для FMX и VCL, но в них находятся довольно абстрактные (в прямом и переносном смысле) вещи, в основном.
  • Германн © (16.09.16 01:25) [44]

    > Eraser ©   (15.09.16 03:06) [42]
    >
    >
    > > Германн ©   (15.09.16 01:39) [40]
    >
    > так вся кроссплатформенность там внутри FMX, под Win32/64
    > тоже можно билдить FMX приложения.
    >

    Вот именно, что кроссплатформенность внутри FMX.
    Новые проекты можно делать на FMX без особых трудностей. Надо лишь уметь пользоваться справкой. А вот перенос уже готового VCL проекта на FMX это вполне возможно весьма сложная/трудозатратная работа.
  • Германн © (16.09.16 02:30) [45]
    Добавлю вспоминая тему о дженериках http://pda.delphimaster.net/?id=1470613547&n=0
    Пишешь новый проект и хочешь кроссплатформенность создавай новый проект на FMX.
    Имеешь проект/проекты на старых версиях Дельфи и хочешь перейти на новую версию Дельфи - 777 раз подумай стоит ли переносить эти проекты на новую версию. В конце концов пока ещё вроде бы не было жалоб на совместное использование нескольких версий Дельфи на одном компьютере.
Есть новые Нет новых   [134431   +13][b:0][p:0.001]