Краткое введение в современный Object Pascal для программист

Обсуждение вариантов переводов, организационных вопросов и других моментов...

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

eugeneloza
новенький
Сообщения: 24
Зарегистрирован: 26.05.2015 12:13:08

Краткое введение в современный Object Pascal для программист

Сообщение eugeneloza »

2017-04-24-180046_1920x1080_scrot.png


Совместно с Александром Скворцовым выполнили перевод книги Quick Modern Object Pascal for Programmers от Michalis Kamburelis, автора Castle Game Engine.
Книга очень полезна для программистов "старой закалки", существенно отставших от новых возможностей Free Pascal или желающих "по быстрому" разобраться со спецификами реализации ООП уже имея достаточное представление о программировании вообще.

Краткое введение в современный Object Pascal для программистов
Читать:
https://castle-engine.io/modern_pascal_ ... ssian.html
Скачать:
https://castle-engine.io/modern_pascal_ ... ussian.pdf

Репозиторий:
https://github.com/michaliskambi/modern ... troduction

Комментарии и исправления приветствуются!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось eugeneloza 01.08.2019 21:43:05, всего редактировалось 1 раз.
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Re: Краткое введение в современный Object Pascal для програм

Сообщение pupsik »

"Writeln('Сложвнеие величин типа String: ', StringCalc.Value);" стр. 50
Аватара пользователя
Xenar
постоялец
Сообщения: 158
Зарегистрирован: 08.06.2011 12:54:07

Re: Краткое введение в современный Object Pascal для програм

Сообщение Xenar »

Спасибо!

/потирая лапки/ сейчас почитаем.....
eugeneloza
новенький
Сообщения: 24
Зарегистрирован: 26.05.2015 12:13:08

Re: Краткое введение в современный Object Pascal для програм

Сообщение eugeneloza »

pupsik писал(а):"Writeln('Сложвнеие величин типа String: ', StringCalc.Value);" стр. 50

Ооооо, благодарю! Коммитнул исправление: https://github.com/eugeneloza/modern-pa ... 8db766e1f8
Аватара пользователя
vitaly_l
долгожитель
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41
Контактная информация:

Re: Краткое введение в современный Object Pascal для програм

Сообщение vitaly_l »

eugeneloza писал(а):Ооооо, благодарю!

Код: Выделить всё

Чтобы проделать тоже с глобальными параметрами иногда используются
глобальные (на уровне unit-а) свойства, см. ???.

стр.25

Код: Выделить всё

свойства (property) (удобный синтаксис для конструкции подобной полю,
однако в действительности являющейся парой методов, используемых для
чтения (getter) и записи (setter) чего-либо; детальнее см. ???).

стр.25
eugeneloza
новенький
Сообщения: 24
Зарегистрирован: 26.05.2015 12:13:08

Re: Краткое введение в современный Object Pascal для програм

Сообщение eugeneloza »

vitaly_l писал(а):стр.25

Упс, это будет чуть сложнее подправить (видно, что-то глюкнуло и asciidoctor не подхватил кириллическую ссылку на раздел), но я посмотрю, что можно сделать. Кстати, благодаря Вам заметил ещё одну опечатку (три раза ж вычитывал!):
vitaly_l писал(а):проделать тоже с

Исправил.
dedm0zaj
постоялец
Сообщения: 108
Зарегистрирован: 05.10.2012 19:55:20

Re: Краткое введение в современный Object Pascal для програм

Сообщение dedm0zaj »

а авторам данного движка следует почитать что нить из opengl, чтобы выйти из "старой закалки")
eugeneloza
новенький
Сообщения: 24
Зарегистрирован: 26.05.2015 12:13:08

Re: Краткое введение в современный Object Pascal для програм

Сообщение eugeneloza »

dedm0zaj Автор движка сказал бы: commits are highly welcome :)
(UPD) а под "старой закалкой" я имел в виду себя - было дело я "закляк" в синтаксисе старом turbo pascal (типа type MyObj = Object), пропустив классы и другие полезные особенности языка. По этому лично для меня эта книга была просто откровением :)
Аватара пользователя
runewalsh
энтузиаст
Сообщения: 579
Зарегистрирован: 27.04.2010 00:15:25

Re: Краткое введение в современный Object Pascal для програм

Сообщение runewalsh »

Такое ощущение, что в интернете только он и ребята вроде этих подмечают сломанность delphi-интерфейсов и пытаются как-то агитировать против. Остальные смирились.
Аватара пользователя
vitaly_l
долгожитель
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41
Контактная информация:

Re: Краткое введение в современный Object Pascal для програм

Сообщение vitaly_l »

eugeneloza писал(а):Исправил

Код: Выделить всё

Интерфейс, так же как и класс, объявляет API, но не определяет его конкретную
реализацию. Класс [b][u]может может[/u][/b]

стр.70
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Re: Краткое введение в современный Object Pascal для програм

Сообщение zub »

runewalsh
Согласен с теми ребятами
Аватара пользователя
vitaly_l
долгожитель
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41
Контактная информация:

Re: Краткое введение в современный Object Pascal для програм

Сообщение vitaly_l »

zub писал(а):Согласен с теми ребятами

А толку? Всё равно уже внесли и теперь придётся с этим жить. Но по опыту, 100% знаю, что все новые фичи - для сиюминутных потребностей авторов, и как правило без них лучше.
eugeneloza
новенький
Сообщения: 24
Зарегистрирован: 26.05.2015 12:13:08

Re: Краткое введение в современный Object Pascal для програм

Сообщение eugeneloza »

vitaly_l писал(а):может может

Благодарю! Коммитнул исправление https://github.com/eugeneloza/modern-pa ... 7366c8b823
java73
постоялец
Сообщения: 257
Зарегистрирован: 21.11.2013 09:08:10

Re: Краткое введение в современный Object Pascal для програм

Сообщение java73 »

Блин)) ну вот на полгодика бы раньше. Уже пришлось изучить по англицки и дженерики, и интерфейсы))
Спасибо за труд.
Аватара пользователя
vitaly_l
долгожитель
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41
Контактная информация:

Re: Краткое введение в современный Object Pascal для програм

Сообщение vitaly_l »

А вот вопрос про интерфейсы, которыми я не пользуюсь. Точнее про вот эти циферки: ['{3075FFCD-8EFB-4E98-B157-261448B8D92E}']

Код: Выделить всё

IMyInterface = interface
 ['{3075FFCD-8EFB-4E98-B157-261448B8D92E}']

Откуда их берут и как их вычисляют?
В остальном спасибо, за перевод, т.к. читать на английском - всё равно что программировать на ассемблере.

.
Ответить