О целесообразности экстенсивного развития макроязыка

Здесь обсуждается всё, что касается макросов.
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: О целесообразности экстенсивного развития макроязыка

Post by zg »

Latest post of the previous page:

DAtaMan wrote:Тогда примерно так:

Code: Select all

Editor.DelColor(); 
$AKey; 
Editor.AddColor(%%BG_Yellow+%%FG_Blue);
И повесить этот макрос на все клавиши, изменяющие позицию курсора - что не потребуется, если будет возможность использовать маски для задания клавиш.
а вы производительность представляете всего этого на файле с 1000 строк? а с 5000 строк?
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: О целесообразности экстенсивного развития макроязыка

Post by zg »

DAtaMan wrote:Но написать (и изменить "под себя") макрос намного проще, чем использовать Луа (для чего нужен плагин, внезапно неработоспособный после изменения API) или написать плагин. Проще для любого пользователя.
1. а что вот это за такое свербящее чуство у всех иметь фар нестабильной сборки прямо вот последнего билда мгновенно. если пару дней подождать, случится что-то страшное?
2. из личного опыта пользования плагином, он обновлялся иногда раньше, чем стандартные плагины фара.
User avatar
Raistlin
Posts: 750
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

Re: О целесообразности экстенсивного развития макроязыка

Post by Raistlin »

LAT wrote:Продумать функции, относящиеся к базовой части, и привести для них в порядок Писание. А расширенную использовать фактически как экспериментальную - т.е. так, как сейчас, только без многостраничных споров, нужна или не нужна функциональность, без жалоб на неполноту Писания, ожидания устаканенной версии FAR'а и т.д.
Что, кто-то сейчас не использует функции - ждет устаканенной версии? Может, и от использования макросов воздерживается? Да, для таких разделение будет панацеей.
LAT wrote: Заказали функцию, разработчики (по желанию, настроении, при наличии времени и т.д.) включили ее в расширенный набор - работайте со своей сложностью, на других пользователях (не увлекающихся макросонаписанием) это никак не скажется. Поработали/доработали/показалось удобным, проголосовали, включили в базовый комплект. "Простые" пользователи опять ничего не заметили.
А как на других пользователях скажется включение этой функции в основной набор? Пусть с недоработанными доками? Что же вы все время этот вопрос игнорируете?
LAT wrote:В чем недостаток? В необходимости работы с еще 1-м плагином.
Это не просто еще один плагин. Чтобы начать работать с обычным плагином, мы должны изучить его возможности - покопаться в интерфейсе, набросать макросы, настроить. Требуются вполне определенные усилия - просто скачать недостаточно. Поэтому невключение их в поставку (если речь о дополнительных стандартных плагинах разработчика основного продукта) не то чтобы оправдано - оправдано оно было в эпоху диалапа, - но не страшно. Тут же от нас требуется только скачать, установить и перезапустить Far - ведь, чтобы написать sin(3,14/2), даже в Энциклопедию лезть не надо.
Magically yours
Raistlin
User avatar
Raistlin
Posts: 750
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

Re: О целесообразности экстенсивного развития макроязыка

Post by Raistlin »

zg
Вы под коллапсом объем кода подразумеваете?
И на сколько может увеличиться количество функций, если реализовать, например, все стандартные математические и строковые функции? Под стандартом подразумеваю объем реализованности в других языках, вот выше про PHP и Java упоминали.
Magically yours
Raistlin
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: О целесообразности экстенсивного развития макроязыка

Post by zg »

Raistlin wrote:Вы под коллапсом объем кода подразумеваете?
нет.
User avatar
DAtaMan
Posts: 262
Joined: Wed 24 Jun, 2009 10:01
Location: не отсюда

Re: О целесообразности экстенсивного развития макроязыка

Post by DAtaMan »

zg wrote:а вы производительность представляете всего этого на файле с 1000 строк? а с 5000 строк?
Пока нет. Потому-то всё не так просто, как кажется, да.
А вот производительность Editor.(Get|Set)String (из #2059), значительно выше, чем танцы с Editor.Pos(...), Editor.Value и т.д.
Это достаточная причина для их добавления в Far?
zg wrote:1. а что вот это за такое свербящее чуство у всех иметь фар нестабильной сборки прямо вот последнего билда мгновенно. если пару дней подождать, случится что-то страшное?
Не знаю. У меня свой Far, с блекджеком и шахматами.
zg wrote:2. из личного опыта пользования плагином, он обновлялся иногда раньше, чем стандартные плагины фара.
Так может встроить в Far Lua? А ещё лучше LuaJit?
Выпилить все встроенные макрофункции, заменив их стандартными Lua-скриптами...
2B OR NOT 2B = FF (Иногда code - это просто код. Почти Дйерф Омолш Днумзигис)
To ban or not to ban, that is the question. ©
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: О целесообразности экстенсивного развития макроязыка

Post by zg »

DAtaMan wrote:Так может встроить в Far Lua? А ещё лучше LuaJit?
Выпилить все встроенные макрофункции, заменив их стандартными Lua-скриптами...
заметьте, не я это предложил :)
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Re: О целесообразности экстенсивного развития макроязыка

Post by LAT »

Raistlin wrote:Сейчас проблемы не у всех, а только у использующих функции. У них проблем прибавится. Остальным по барабану, где функции сидят, им от этих внутренних реформ ни жарко, ни холодно, неужели это не очевидно?
Нет. Зато очевидно, что у использующих базовый функционал (или не использующих макроязык вообще) проблем не будет. А для использующих расширенный функционал - какая разница, качать целый FAR, или только один модуль (плагин)? Заодно и трафик сэкономят :).
Raistlin wrote:
LAT wrote:Требование единственной внешней библиотеки такой-то версии чем-то принципиально отличается от требования едиственного Far'а не ниже такой-то версии? Тем более, это требование будет действовать не для всех, а только для использующих расширенный функционал.
Конечно, отличается - для нового пользователя! Он скачивает последнюю версию Far и обнаруживает, что нативно поддерживается лишь самое простое. Если нужно что-то посложнее, он еще что-то вынужден докачивать.
Полагаете, новый пользователь будет качать FAR ради использования мега-набора функций, с которым даже старожили не всегда справляются? Как показывает опыт вопросов на форуме, у новых пользователей проблемы с изучением не то, чтобы макроязыка, а даже основной функциональности самого FAR'а.
Raistlin wrote:
LAT wrote:Если синус нужен только "некоему пользователю", следует ли из этого, что синус нужен всем остальным польователям? Если синус действительно нужен "некоему пользователю", что мешает ему скачать за компанию с FAR'ом еще один плагин (модуль) и заглянуть другим глазом в Расширенную Энциклопедию (которую, кстати, можно вести не столь тщательно как основную) этого плагина?
Да Far он давно скачал. А задача перед ним только что встала.
Раз он "давно скачал", значит, это не так уж и часто возникающая перед ним задача. В чем проблема докачать еще один модуль?
ЗЫ. И все-таки, огласите, пожалуйста, список этих "неких пользователей" (или хотя бы укажите их количество), а то не понятно - "некие пользователи", которым раз в 3 года требуется синус, и которые не в состоянии установить еще один модуль (плагин) для этого, в природе вообще существуют?
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Re: О целесообразности экстенсивного развития макроязыка

Post by LAT »

Raistlin wrote:Что, кто-то сейчас не использует функции - ждет устаканенной версии?
Нет, конечно. Одни периодически регулярно переписывают макросы, другие периодически регулярно обновляют эти макросы, чтобы соответствовали текущей версии FAR'а. А все вместе периодически регулярно ругаются на неустаканенность программы.
Raistlin wrote:
LAT wrote: Заказали функцию, разработчики (по желанию, настроении, при наличии времени и т.д.) включили ее в расширенный набор - работайте со своей сложностью, на других пользователях (не увлекающихся макросонаписанием) это никак не скажется. Поработали/доработали/показалось удобным, проголосовали, включили в базовый комплект. "Простые" пользователи опять ничего не заметили.
А как на других пользователях скажется включение этой функции в основной набор? Пусть с недоработанными доками? Что же вы все время этот вопрос игнорируете?
Игнорирую, потому что мне его никто не задавал. В принципе, я уже писал: в базовый набор функций включать только широко используемые макросы. Естественно, доки для них должны быть доработаны. На других (использующих расширенный набор) пользователях это скажется тем, что нужно будет качать не новую версию всего FAR'а, а только новую версию модуля (плагина) для работы с расширенными функциями.
Raistlin wrote:Это не просто еще один плагин. Чтобы начать работать с обычным плагином, мы должны изучить его возможности - покопаться в интерфейсе, набросать макросы, настроить. Требуются вполне определенные усилия - просто скачать недостаточно. Поэтому невключение их в поставку (если речь о дополнительных стандартных плагинах разработчика основного продукта) не то чтобы оправдано - оправдано оно было в эпоху диалапа, - но не страшно. Тут же от нас требуется только скачать, установить и перезапустить Far - ведь, чтобы написать sin(3,14/2), даже в Энциклопедию лезть не надо.
Т.е. Вы изучаете только возможности плагинов, а возможности макросов не изучаете? Ответ на Ваш вопрос давался еще раньше: "я предлагаю переместить все редко используемые функции в единственный отдельный модуль (плагин?), и обеспечить такую же работу с ними, как и с функциями из базового набора." Т.е. это такой же макродвижок, как и основной. Ничего дополнительного изучать не придется.
ЗЫ. Если, конечно, мое предложение реализуемо.
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: О целесообразности экстенсивного развития макроязыка

Post by Maximus5 »

LAT, маленький вопрос вам, на подумать: кто будет писать и в дальнейшем поддерживать этот гипотетический плагин с расширенным набором. Причем, как я понял, вы наивно полагаете, что он будет единственным и скачать его можно будет с оф.сайта.

и второй вопрос: нафига лишний геморой гипотетическому разработчику гипотетического плагина.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Re: О целесообразности экстенсивного развития макроязыка

Post by LAT »

Maximus5 wrote:LAT, маленький вопрос вам, на подумать: кто будет писать и в дальнейшем поддерживать этот гипотетический плагин с расширенным набором. ... и второй вопрос: нафига лишний геморой гипотетическому разработчику гипотетического плагина.
Я уже не раз писал: если мое предложение приемлимо и реализуемо. Я отлично понимаю, что:
1) у разработчиков может отсутствовать желание что-то ломать;
2) предлагаемая переделка может может оказаться настолько мегагеморройной, что за нее лучше и не браться;
3) переделка может быть вообще невозможной.
Maximus5 wrote:Причем, как я понял, вы наивно полагаете, что он будет единственным и скачать его можно будет с оф.сайта.
В той же степени, в которой FAR является единственным, и в которой скачать его можно только с оф.сайта.
User avatar
Raistlin
Posts: 750
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

Re: О целесообразности экстенсивного развития макроязыка

Post by Raistlin »

LAT wrote:
Raistlin wrote:Остальным по барабану, где функции сидят, им от этих внутренних реформ ни жарко, ни холодно, неужели это не очевидно?
Нет.
Еще раз: вам не очевидно, что не пользующимся редкими функциями пользователям все равно, где они сидят, - в Far.exe или в плагине?
LAT wrote:Полагаете, новый пользователь будет качать FAR ради использования мега-набора функций, с которым даже старожили не всегда справляются? Как показывает опыт вопросов на форуме, у новых пользователей проблемы с изучением не то, чтобы макроязыка, а даже основной функциональности самого FAR'а.
Не вырывайте из контекста. Смысл в том, что если пользователь почему-то сидит на древнем билде, то ему, конечно, без разницы, качать ради функции новую версию или новый плагин - но, может, мы не будем ориентироваться на таких пользователей?
Raistlin wrote:
LAT wrote:Да Far он давно скачал. А задача перед ним только что встала.
Раз он "давно скачал", значит, это не так уж и часто возникающая перед ним задача. В чем проблема докачать еще один модуль?
Вы или невнимательно читаете, или сознательно игнорируете аргументацию оппонента. Задача может быть мелка (редка) в сравнении с усилиями по скачке, установке и перезапуску. Может быть достойна этих усилий. И в обоих случаях, как я писал выше, вынос функций в отдельный модуль приводит к потерям времени. Какой смысл?
LAT wrote:ЗЫ. И все-таки, огласите, пожалуйста, список этих "неких пользователей" (или хотя бы укажите их количество), а то не понятно - "некие пользователи", которым раз в 3 года требуется синус, и которые не в состоянии установить еще один модуль (плагин) для этого, в природе вообще существуют?
Дело не в синусе, а в принципиальном подходе. Огласите список пользователей, которым присутствие всех функций в самом Far'е мешает. И заодно обоснуйте, чем. NB: "не нужно" и "мешает" - это не одно и то же.
Magically yours
Raistlin
User avatar
Raistlin
Posts: 750
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

Re: О целесообразности экстенсивного развития макроязыка

Post by Raistlin »

LAT wrote:
Raistlin wrote:Что, кто-то сейчас не использует функции - ждет устаканенной версии?
Нет, конечно. Одни периодически регулярно переписывают макросы, другие периодически регулярно обновляют эти макросы, чтобы соответствовали текущей версии FAR'а. А все вместе периодически регулярно ругаются на неустаканенность программы.
И что изменится от выноса функций в отдельный плагин? У каких конкретно функций увеличится от этого устаканенность? Потому что абстрактная устаканенность всей программы - она сферическая и в вакууме.
LAT wrote:
Raistlin wrote:А как на других пользователях скажется включение этой функции в основной набор? Пусть с недоработанными доками? Что же вы все время этот вопрос игнорируете?
Игнорирую, потому что мне его никто не задавал. В принципе, я уже писал: в базовый набор функций включать только широко используемые макросы. Естественно, доки для них должны быть доработаны. На других (использующих расширенный набор) пользователях это скажется тем, что нужно будет качать не новую версию всего FAR'а, а только новую версию модуля (плагина) для работы с расширенными функциями.
Резюмируем: "минималистам" все равно, а "максималистам" не придется качать новую версию Far'а, всего лишь плагин. Какая трогательная забота о трафике.
LAT wrote:
Raistlin wrote:Это не просто еще один плагин. Чтобы начать работать с обычным плагином, мы должны изучить его возможности - покопаться в интерфейсе, набросать макросы, настроить. Требуются вполне определенные усилия - просто скачать недостаточно. Поэтому невключение их в поставку (если речь о дополнительных стандартных плагинах разработчика основного продукта) не то чтобы оправдано - оправдано оно было в эпоху диалапа, - но не страшно. Тут же от нас требуется только скачать, установить и перезапустить Far - ведь, чтобы написать sin(3,14/2), даже в Энциклопедию лезть не надо.
Т.е. Вы изучаете только возможности плагинов, а возможности макросов не изучаете? Ответ на Ваш вопрос давался еще раньше: "я предлагаю переместить все редко используемые функции в единственный отдельный модуль (плагин?), и обеспечить такую же работу с ними, как и с функциями из базового набора." Т.е. это такой же макродвижок, как и основной. Ничего дополнительного изучать не придется.
Во-первых, в моей цитате нет вопроса. Во-вторых, речь не о том, чтобы не изучать макросы, а о том, что, если я знаю синтаксис функций макроязыка и то, что математические функции поддерживаются полностью, я напишу в макросе "sin(3,14/2)" - и получу то, что ожидал.
Magically yours
Raistlin
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Re: О целесообразности экстенсивного развития макроязыка

Post by LAT »

Raistlin wrote:Задача может быть мелка (редка) в сравнении с усилиями по скачке, установке и перезапуску. Может быть достойна этих усилий. И в обоих случаях, как я писал выше, вынос функций в отдельный модуль приводит к потерям времени. Какой смысл? …
Дело не в синусе, а в принципиальном подходе. Огласите список пользователей, которым присутствие всех функций в самом Far'е мешает. И заодно обоснуйте, чем. NB: "не нужно" и "мешает" - это не одно и то же.
Да, Вы правы. Присутствие в FAR'е функции по доставке еды из холодильника никому не помешает. И необходимость оторваться от компьютера, подойти к холодильнику, взять эту еду, и вернуться назад, по сравнению с запуском функции, приводит к потерям времени.
ЗЫ. У меня нет желания вести спор ради спора. Я пострался максимально объяснить предложение по изменению макроязыка. Если разработчики считают мое предложение неудачным/бредовым, или это предложение трудно/невозможно реализовать - говорить тут не о чем.
User avatar
Raistlin
Posts: 750
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

Re: О целесообразности экстенсивного развития макроязыка

Post by Raistlin »

Присутствие в FAR'е функции по доставке еды из холодильника никому не помешает.
Передергиваете. Лично я (пока) вел речь исключительно о стандартных (среди языков) математических и строковых функциях. Поддержку которых искушенный пользователь интуитивно ожидает увидеть. Я, например, попал в эту тему, после того как не обнаружил в макроязыке функции rep(n,str), аналогичной той, что, как мне помнится, была в 4NT.
Magically yours
Raistlin
User avatar
John Doe
Бюрократ
Posts: 13860
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Re: О целесообразности экстенсивного развития макроязыка

Post by John Doe »

Maximus5 wrote:кто будет писать и в дальнейшем поддерживать этот гипотетический плагин с расширенным набором.
Известно кто: DAtaMan.
И получаться это у него будет быстрее и лучше чем сейчас, и все желающие получат необходимую функциональность быстрее.
Locked

Return to “Обсуждение макросов”