Невыносимая лёгкость экспериментов с API

Хотите предложить идею нового плагина или знаете, что улучшить в существующем? Пишите сюда.
Post Reply
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Невыносимая лёгкость экспериментов с API

Post by citRiks »

DrKnS wrote: Fri 25 Oct, 2013 07:15 В фар можно и нужно внести нормальный word wrap, а не подпорки для костыльных плагинов.
DrKnS wrote: Fri 25 Oct, 2013 10:35 Так проблема в том, что если выстругать нормальный костыль, который не будет натирать, то нормальной реализации можно уже не ждать. А так всё же мотивация.
Уважаемый DrkNs, во-первых не сочтите за критику.
Во-вторых, я совершенно в курсе о вашей проделанной работе, о самых лучших ваших намерениях и планах, вашей бескорыстности, и проч.
вы справедливо не любите костыльность и кривизну реализации, совершенно верно что затрудняет жизнь развитие продукта.
Я вижу что вы делаете это не только для себя, и возможно даже не столько для себя.
Вот вы же не хотите чтобы ваша работа, и вот это все, стало напрасным и ненужным?
Если сильно тянуть с функционалом, то юзеров просто не будет, и зачем тогда ваши оптимизации и заделы на будущее?
Пока надо же просто облегчить людям строгание временных внешних костылей, и потом постепенно их заменять.
Компромис можно найти в выдаче наружу внутренней кухни, например АПИ работы с историей изменений редактора.
С оговоркой большими красными буквами что может сломаться в любой момент и никак не поддерживается.
АПИ наружу - это такая штука что переделывается относительно легко в любом случае.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Virtual string wrap

Post by HaRT »

citRiks wrote: Wed 02 Sep, 2020 18:38 АПИ наружу - это такая штука что переделывается относительно легко в любом случае.
Это большое заблуждение.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Virtual string wrap

Post by citRiks »

HaRT,
Ну я не имел ввиду что все внешнее АПИ и всегда легко передeлывать.
Я имел ввиду лишь некоторые, но распространенные сценарии.
Например, передачу наружу некоторой структуры.
В новом АПИ например переименовали определенное поле в структуре.
При передаче можно его просто переименовать обратно.
Или добавление полем или убирания поля - то же самое, можно или тупо удалить лишнее, либо как-то реконструировать.
В некоторых сценариях может быть невозможным или чрезмерно сложным реконструировать,
но я думаю что большинство сценариев переделки АПИ соответствуют моему мнению выше
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Virtual string wrap

Post by citRiks »

HaRT,
Или если расширить идею, можно добавить compatibility plugins,
которые приводят существующее новое АПИ в заданный compatibility mode.
И по крайнeй мере, значительную часть таких преобразований можно выпонять и уже сейчас в Луа.
Например, заменить нативный Editor.Open() на какую-то обработку с дополнительными параметрами в Луа.
Выглядит сложным?
В любом случае, полной поддержки этому быть не обязательно и даже не должно быть,
чтобы разрабы занимались рефакторингом, развитием, и прочими заделами на будущее
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Virtual string wrap

Post by citRiks »

Еще пример из жЫзни.
В ФАРе "старое" макро-АПИ и "новое" макро-АПИ очень хорошо уживаются вместе, и даже помогают друг другу.
это я не к тому что надо сделать еще миллион поддерживаемых версий макро-АПИ, совсем наооборот
A к тому что само по себе это не очень то и проблема - приспособить старое к новому.
при условии что поддержка не оказывается, и вынесено, опять же, наружу, -
кому надо сами справятся с адаптацией, а конечным пользователям вообще пофиг
Last edited by citRiks on Wed 02 Sep, 2020 19:52, edited 1 time in total.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Virtual string wrap

Post by DrKnS »

citRiks wrote: Wed 02 Sep, 2020 18:38 Если сильно тянуть с функционалом, то юзеров просто не будет, и зачем тогда ваши оптимизации и заделы на будущее?
На этом форуме, как в Симпсонах, было уже все, в т.ч. и обсуждение этого вопроса.
АПИ наружу - это такая штука что переделывается относительно легко в любом случае.
Хорошая шутка.
можно добавить compatibility plugins, которые приводят существующее новое АПИ в заданный compatibility mode.
У нас есть достаточно много плагинов для Far 2, которые теперь не поддерживаются. Возьметесь?
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Virtual string wrap

Post by citRiks »

DrKnS wrote: Wed 02 Sep, 2020 19:51 У нас есть достаточно много плагинов для Far 2, которые теперь не поддерживаются. Возьметесь?
Мечтаю этим занятся, честно.
Надеюсь выйти на тот режим экспертизы который позволит решать элементарщину за минуты а не часы как сейчас.
И тогда сделаю более открытый бранч ФАРа, идей-то много.

Но что касается конкретно старых плагинов,
то в большинстве случаев их достаточно просто вставить в новый шаблон и перекомпилировать, не?
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Virtual string wrap

Post by citRiks »

DrKnS wrote: Wed 02 Sep, 2020 19:51 На этом форуме, как в Симпсонах, было уже все, в т.ч. и обсуждение этого вопроса.
Было конечно, но в том что я видел на вас просто предлагают навесить больше работы не предлагая ничего взамен.
Я же не предлагаю увеличивать количество работы, предлагаю нечто даже обратное.
Технически к каждой сишной штуковине можно приделать автоматический вынос наружу в Луа Макро-АПИ.
Написать скрипт который это генерит при каждом билде сам, и на этом все.
сделав например scope (в Macro-API) называемый "internal".

Это в Симпсонах было?
Можно ли посмотреть где, как и ваши разьяснения хотя бы вкратце?
Last edited by citRiks on Wed 02 Sep, 2020 20:21, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Virtual string wrap

Post by John Doe »

DrKnS wrote: Wed 02 Sep, 2020 19:51 У нас есть достаточно много плагинов для Far 2, которые теперь не поддерживаются. Возьметесь?
Кажется и переходник был, но пропал вместе с Maximus5.
https://t.me/FarManager — Telegram чат
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Virtual string wrap

Post by citRiks »

John Doe,
Фар3Врап в качестве бинариес лежит тут:
https://sourceforge.net/projects/conemu ... arPlugins/
Утешение слабое, так как без исходников ценности не представляет я считаю.
По поводу самих Фар2-плагинов - то же самое,
если есть исходники - надо их перекомпилировать,
если нет - то ценности не представляют, даже с наличием Фар3Врап,
будут валиться, или сейчас или в будущих версиях, авторы будут пропадать,
ничего не починишь, не добавишь и не прибавишь.

Написал в ГитХаб Максимусу запрос исходников Фар3Врап

Но, что интересно, само наличие Фар3Врап демонстрирует легитимность подхода - "один код - много (версий) внешних АПИ".
И даже что можно самостоятельно (внешне от кода ФАРа) их реализовывать,
в качестве обертки наподобие как это делает LuaMаcro, ФарНет, или Фар3Врап

PS
хотя модель "продолжать девелопить плагин как и для АПИ ФАР2",
(при условии наличия исходников как Фар3Врап так и самого плагина)
тоже может быть забавным и имеет право на существование
Last edited by citRiks on Sat 05 Sep, 2020 11:11, edited 1 time in total.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Невыносимая лёгкость экспериментов с API

Post by Shmuel »

citRiks wrote: Sat 05 Sep, 2020 09:32 Написал в ГитХаб Максимусу запрос исходников Фар3Врап
Поиском находится легко: https://github.com/mirror/conemu/tree/master/Far3Wrap
Post Reply

Return to “Предложения и идеи”