Старые учебные материалы по Delphi

Есть много недорогих старых книг по Delphi. Как новичку-самоучке (продвинутому) мне сложно понять, какие идеи все еще актуальны и актуальны, а какие уже устарели. Я надеюсь на небольшое руководство. Например, будет ли устаревшим узнавать о базах данных на базе BDE? COM больше не является широко используемой моделью? (примечание: возможно, я не понимаю, как я использую эти термины ... я мало о них знаю.)

Спасибо за ваши мысли!


person Al C    schedule 21.07.2009    source источник
comment
Не используйте BDE. См. Комментарий Брюса о COM и курении ниже. То же правило применимо и к BDE, только в большей степени.   -  person Nick Hodges    schedule 22.07.2009
comment
Для баз данных используйте компоненты dbExpress, ADO (только для SQL Server) или DevArt. В любом случае держитесь подальше от BDE, Paradox и DBase.   -  person Ertugrul Kara    schedule 24.07.2009


Ответы (7)


В большинстве книг по Delphi все еще есть большие куски важного материала. Большинство вещей, которые все еще хороши, - это вещи низкого уровня, такие как написание кода с использованием dll и bpls. Даже написание компонентов почти такое же. На днях я сослался на книгу о Delphi 3 и нашел то, что хотел.

В качестве рекомендации я бы взял комбинацию старых и новых книг. Что касается новинок, я бы получил руководства Marco Cantu по Delphi 2007 и 2009 гг. И его Mastering Delphi 2005 (игнорируя материал .net) или Освоение Delphi 7, которые дадут вам довольно хорошее освещение и все являются отличными книгами. У Боба Сварта также есть несколько полезных книг.

Вы, вероятно, не захотите возвращаться к чему-либо более раннему, чем Delphi 3, но некоторые книги по программированию на паскале могут быть полезны.

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

Я также рекомендую прочитать Code Complete 2 или The Pragmatic Programmer. Вы также можете прочитать книги по шаблонам проектирования и рефакторингу, которые специально для Delphi не написаны.

person Alister    schedule 21.07.2009
comment
+1 для прагматичного программиста. Отличная книга. Я сейчас читаю Code Complete 2. - person Pauk; 22.07.2009

Многие концепции (и код) Delphi, даже из более старых версий, одинаково хорошо применимы к более новым. Определенных компонентов больше нет (NetMasters и т. Д.), Некоторые заморожены и не должны использоваться для новых разработок (BDE), и есть ОГРОМНОЕ количество новых функций, чтобы наверстать упущенное.

Что касается COM. По бессмертным словам Лино Тадроса (парня, в значительной степени ответственного за обеспечение поддержки COM в Delphi):

COM похож на КУРЕНИЕ: если вы еще не начали, вам не следует начинать сейчас, если вы уже делаете это, пора остановиться.

person Bruce McGee    schedule 21.07.2009
comment
+1 ага - как курение дурной травы! :-) - person marc_s; 22.07.2009

BDE мертв, но его можно где-то использовать, и вы можете найти энтузиастов BDE. BDE было сложно установить, а также возникли некоторые юридические проблемы. COM также мертв, но он все еще доступен и широко используется в устаревших приложениях. Большинство людей используют бесплатные библиотеки, такие как JEDI или Zeos, или коммерческие, DevExpress или TMS. Я думаю, что изучение базового VCL и некоторых бесплатных библиотек будет хорошим началом. Также знание того, как объекты и классы работают в Delphi, будет большим подспорьем для вашего карьерного роста.

person smok1    schedule 21.07.2009

Смерть практики кодирования - вещь очень относительная. Я все еще знаю приложения COBOL, которые все еще работают ... в основном потому, что они все еще работают и не обрабатывают даты, поэтому было более чем нормально просто позволить им работать. Иногда это может быть не лучший «новый способ» делать что-то, но если он работает без каких-либо изменений ... зачем с ним связываться.

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

В Delphi COM - это не только объектная модель. Речь также идет об интерфейсах. Интерфейсы по-прежнему могут быть очень полезным инструментом, и если вы знакомы с разработкой COM в Delphi, вы знаете, как работают интерфейсы.

Что касается старых книг ... Я советую держать их на полке и время от времени заглядывать в них. Иногда оглядываясь назад, можно сделать рывок вперед. Вот почему у меня есть копия Алгоритмы + структуры данных = Программы на моей полке. Забавно, но большая часть кода в книге все еще компилируется с небольшими изменениями. Конечно, код - это не ООП, но концепции все еще те, которые я использую сегодня. Вы можете быть поражены тем, насколько бинарное дерево не изменилось и как лучший способ его оптимизации остался прежним. Как иногда использование простой подпрограммы «старый-мастер-новый-мастер» быстрее, чем загрузка данных в таблицу SQL и последующее обновление.

Дело не ВСЕГДА в крутом факторе ... иногда дело в том, что работает.

person skamradt    schedule 21.07.2009
comment
+1. Если он не сломан, не чините его. - person Mason Wheeler; 22.07.2009

Выпущенный Calvert Delphi также является хорошим началом для Delphi и COM.

person Marco van de Voort    schedule 22.07.2009

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

BDE означает ядро ​​базы данных Borland. Любое приложение, использующее компоненты TTable, TQuery, TSession и TDatabase, использует BDE.

Вместо этого вам следует использовать метод доступа к базе данных с отключенной моделью доступа к данным dbExpress / client dataset. Это звучит немного сложно, и да, по сравнению со старым BDE, это немного сложнее.

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

TDBEdit в TDataSource в TTable в TDatabase

В приложении стиля набора данных клиента dbExpress компоненты подключаются следующим образом

TDBEdit в TDataSource в TClientDataSet в TDataSetProvider в TSQLDataSet в TSQLDatabase

Первые две части в этой цепочке (TDBEdit, TDataSource) работают точно так же, как и любая книга по Delphi, которую вы можете найти.

Следующие две части, ClientDataSet и TDataSetProvider, первоначально назывались MIDAS, но теперь известны как DataSnap. Они тоже существуют довольно давно, но только в последних нескольких версиях они стали официально рекомендованным решением для доступа к базе данных.

TSQLDataSet и TSQLDatabase являются новейшей частью этой цепочки и известны как DBExpress.

person LachlanG    schedule 23.07.2009

Любая книга по Delphi, начиная с Delphi 3, по-прежнему должна быть в значительной степени актуальной во многих аспектах. В Delphi 3 были внесены серьезные изменения, поэтому все, что было раньше, может быть устаревшим.

Я согласен с другими, что BDE не существует. Мне он никогда не нравился, даже когда предполагалось, что это будет основным вариантом с Delphi. Это может объяснить, почему Borland потребовалось так много времени, чтобы предоставить достойный встроенный набор компонентов ADODB (вы должны были покупать их в качестве дополнительных компонентов в Delphi 5).

COM по-прежнему очень актуален, если у вас есть какая-либо необходимость в межпроцессном взаимодействии (я не уверен, какие альтернативы доступны для всех людей, которые говорят, что COM мертв). Фактически, COM + (служба на серверах Windows, которая размещает объекты для масштабируемости) по-прежнему является неотъемлемой частью стратегии микрософтов. COM отнюдь не идеален, но Microsoft еще не заменила его как концепцию (.NET не заменяет его).

person Toby Allen    schedule 23.07.2009