Макроязык vs Scripting

Здесь обсуждается всё, что касается макросов.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Макроязык vs Scripting

Post by techie »

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

Основная проблема в макросах в том, что они изначально не предназначены для редактирования и отлова ошибок. Конечно, для любого хакера будет за счастье намакросить многофункциональный плагин, не влезая в дебри компилирования сишного кода. Но предназначение макросов - это автоматизация, удобный инструмент для записи повторяющийся последовательностей клавиш. С увеличением функций, ветвящимися конструкциями, циклами и пр., макросы грозят превратиться в очередной visual basic. Для него нужен будет отладчик, чтобы выполнять макрос по шагам, сохранять макросы в файл, анализировать состояние Far, выводить значения внутренних переменных. Если для выполения задачи макросов не достаточно, а писать плагин нет времени, то чем расширять функциональность макроязыка, будет лучше вытянуть API для существующих скриптовых языков. API в этой Quake console, конечно, должен быть высокоуровневый, на уровне макросов. Вот над этим было бы интересно поломать голову, собрав для начала типовые сценарии применения макроязыка.
User avatar
HaRT
Moderator
Posts: 10869
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Макроязык vs Scripting

Post by HaRT »

Так ведь есть же два полнофункциональных движка для скриптования Фара: SHPCE и PowerShellFar. Первый из них уже давно полумёртвый, но ведь второй-то очень даже живой и перспективный. На мой взгляд, всё прогрессивное человечество должно восстать против перерастания макросов в этакий Visual Basic for Far.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
[e]Bu$ter
Posts: 792
Joined: Mon 30 May, 2005 23:05
Location: Беларусь, Минск
Contact:

Re: Макроязык vs Scripting

Post by [e]Bu$ter »

По моему, макроязык уже и так перенасыщен всякими мелочами. Это конечно не мешает юзать простые клавишные макросы, при необходимости снабжая их "интеллектом", однако на мой взгляд, все навороченные фишки должны реализовываться плагином. Я согласен с высказанной techie мыслью — если уж делать всё на совесть и до конца, то лучше отдельно, т.к. в самом FAR'е все необходимые вещи для удобного и полноценного использования сколь-нибудь развитого языка, реализованы будут вряд ли.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Дебаггер будет?

Post by techie »

Дебаггер будет?
User avatar
HaRT
Moderator
Posts: 10869
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Дебаггер будет?

Post by HaRT »

techie wrote:Дебаггер будет?
Я против!
Если требуется писать что-то настолько сложное, что необходим отладчик, то надо переходить на SHPCE или PowerShellFar.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Re: Макроязык vs Scripting

Post by Ariman »

HaRT wrote:Я против!
Если требуется писать что-то настолько сложное, что необходим отладчик, то надо переходить на SHPCE или PowerShellFar.
Слабоватые альтернативы немного. SHPCE - полумёртвый, а насчет PowerShellFar - как по мне, сам PowerShell продукт куда более маргинальный чем фар, да и все же достаточно узко специфический. Да и как мне показалось, PowerShellFar все же скорее шлюз .Net->Far, чем средство для скриптинга (хотя я особо не вникал, могу ошибаться в намерениях автора).
Скриптязык общего назначения, с отладчиком и шире распространенный был бы более уместен, как мне кажеться. Чтобы не раздувать макрозык до размеров VB for Far.
User avatar
HaRT
Moderator
Posts: 10869
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Макроязык vs Scripting

Post by HaRT »

Ariman
Я потому и назвал SHPCE полу-, а не мёртвым, что им отлично можно пользоваться, если не нужны новейшие добавления в FAR API.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Re: Дебаггер будет?

Post by techie »

HaRT wrote:Если требуется писать что-то настолько сложное, что необходим отладчик, то надо переходить на SHPCE или PowerShellFar.
Всё сложное начинается с простого. Ковертер с макроязыка в SHPCE или в PowerShellFar будет?
dolzenko
Posts: 452
Joined: Wed 19 Apr, 2006 14:42
Location: Ростов-на-Дону

Re: Макроязык vs Scripting

Post by dolzenko »

Ariman wrote:а насчет PowerShellFar - как по мне, сам PowerShell продукт куда более маргинальный чем фар, да и все же достаточно узко специфический.
с помощью Far.NET (PowerShell не осваивал еще) плагин напишу быстрее чем какой нибудь хитрый макрос, так что не надо вот тут.
User avatar
zg
zero-gravity
Posts: 6038
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Дебаггер будет?

Post by zg »

techie wrote:Ковертер с макроязыка в SHPCE или в PowerShellFar будет?
складывается ощущение, что тебе тут все должны. напишешь — будет.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Re: Макроязык vs Scripting

Post by Ariman »

HaRT wrote:Ariman
Я потому и назвал SHPCE полу-, а не мёртвым, что им отлично можно пользоваться, если не нужны новейшие добавления в FAR API.
Ну с таким же успехом можно пользоваться, скажем, Far 1.65. Если новые изменения не нужны. Кто-то ведь так и делает. :)
dolzenko_ wrote: с помощью Far.NET (PowerShell не осваивал еще) плагин напишу быстрее чем какой нибудь хитрый макрос, так что не надо вот тут.
Давай не путать понятия. Тут разговор про скрипты, а не про скорость разработки плагинов. А скрипты тем от плагинов и отличаются, что не надо ставить студию и компилять что-либо.
dolzenko_ wrote:(PowerShell не осваивал еще)

Вот именно. Фанатов .NET-а я много знаю, а вот PowerShell никто из них не осваивает. Ибо не нужен.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Re: Полезные подпрограммы и конвенции

Post by techie »

zg wrote:
techie wrote:Ковертер с макроязыка в SHPCE или в PowerShellFar будет?
складывается ощущение, что тебе тут все должны. напишешь — будет.
zg, я тут не при чём. Это вопросы к товарищам модераторам (и в частности к HaRT), которые позволяют себе переносить мессаги из темы в тему не слишком заботясь о контексте, из которого она вырвана.

Насколько я помню пост, на который ты ответил, принадлежит к треду "Полезные подпрограммы и конвенции" http://forum.farmanager.com/viewtopic.php?f=15&t=2561 Поэтому я бы хотел попросить модераторов не мешать мух с котлетами и убрать этот follow-up в соответствующий топик, так же как и вопрос про дебаггер. Понятно, что действия модераторов не обсуждаются, но всё же правилами хорошего тона для любого здорового интернет сообщества считается открытость действий модераторов, и перемещение мессаг с публичными комментариями в соответствующих темах.
User avatar
HaRT
Moderator
Posts: 10869
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Макроязык vs Scripting

Post by HaRT »

techie
Ответ тут.

Дальнейшее обсуждение модерирования здесь будет расценено как оффтопик.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Макроязык vs Scripting

Post by NightRoman »

Не хочется вступать в перепалку вкусов и особенно агитировать за PowerShellFar (хотя так и получится), но боюсь, что некоторые прозвучавшие авторитетные заявления могут исказить картину мира у некоторых неповинных читателей форума, поэтому вступлю с парой комментариев.
Если требуется писать что-то настолько сложное, что необходим отладчик, то надо переходить на SHPCE или PowerShellFar
+1 (или написать плагин, но мы говорим пока только о скриптинге).
Однако, я бы сейчас не ставил на SHPCE (при всем уважении к нему):
1) Microsoft не развивает это направление (а развивает PowerShell);
2) насколько я знаю, никто не собирается развивать сам SHPCE;
3) SHPCE отстает от FAR.NET по накрытию FAR API
как по мне, сам PowerShell продукт куда более маргинальный чем фар, да и все же достаточно узко специфический.
Более миллиона скачиваний только первой версии PowerShell со всеми ее недостатками говорит о том, что продукт не маргинальный. Все операционки после Висты будут оснащены PowerShell, нравится это кому-то или нет. Microsoft объявила, что с этого года все их главные продукты обязаны предоставлять средства автоматизации через PowerShell (в какой мере - не оговаривается, решают команды этих продуктов, но факт остается фактом и процесс уже идет). Никакой узкоспецифичностью в PowerShell и не пахнет, напротив, это язык (даже не просто язык, а скорей, платформа) супер общего назначения.
Да и как мне показалось, PowerShellFar все же скорее шлюз .Net->Far, чем средство для скриптинга (хотя я особо не вникал, могу ошибаться в намерениях автора).
PowerShellFar - это средство для скриптинга. В первую очередь. Таковы намерения автора. А вот раз "особо не вникал", то спрашивается - зачем тень на плетень наводить и других вводить в заблуждение и, возможно, отпугивать от того, что им может быть полезно (причем, не только для Фара, знание PowerShell пригодится и для других задач). Есть вопросы по PowerShell или по PowerShellFar? - добро пожаловать в соответствующий тред, всегда рад помочь разобраться.

Я не пользуюсь макроязыком (ну может где-то примитивный if где и заюзал разок), но и не против его развития. Неоспоримые его плюсы: 1) "простота"; 2) "ничего не надо ставить". Но вот наворачивать его я бы не стал, иначе плюс 1) отпадает, и наворотами, кроме может авторов, пользоватся не будут (нерационально, если становится проще сделать другими средствами). Надо остановиться на разумном этапе развития макроязыка. Но сам по себе макроязык пусть будет, это отличное и эффективное средство для определенного круга задач определенной сложности.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Re: Макроязык vs Scripting

Post by Ariman »

NightRoman wrote:Более миллиона скачиваний только первой версии PowerShell со всеми ее недостатками говорит о том, что продукт не маргинальный. Все операционки после Висты будут оснащены PowerShell, нравится это кому-то или нет.
Ну количество скачиваний дебютной версии ни о чем не говорит. Я вот тоже для посмотреть стянул :).
NightRoman wrote:Никакой узкоспецифичностью в PowerShell и не пахнет, напротив, это язык (даже не просто язык, а скорей, платформа) супер общего назначения.
M$ сделала PowerShell, чтобы прекратить вопли поклоников связки *nix/bash, что дескать как так можно работать, если нельзя задачи в консоли автоматизировать. И уж точно он не подразумевался как скрипт язык общего назначения. В первую очередь это задумывалось как средство для админов.
Впрочем, куда M$ развивает PowerShell сейчас, судить не берусь. Первые версии меня не впечатлили, поэтому я бросил следить за его судьбой.
NightRoman wrote:PowerShellFar - это средство для скриптинга. В первую очередь. Таковы намерения автора.
Для скриптинга Фара? ОК, значит я был не прав.
NightRoman wrote:А вот раз "особо не вникал", то спрашивается - зачем тень на плетень наводить и других вводить в заблуждение и, возможно, отпугивать от того, что им может быть полезно (причем, не только для Фара, знание PowerShell пригодится и для других задач).
Да Господь с тобой, ни в коем разе никого не собираюсь отпугивать или отговаривать. PowerShell очень возможно что и полезная приблуда. В перспективе полной замены им cmd, так и очень полезно изучить. Но все надо использовать сообразно заложенным целям. А для встроенного general purpose скриптинга есть более заточенные средства.
NightRoman wrote: Я не пользуюсь макроязыком (ну может где-то примитивный if где и заюзал разок), но и не против его развития. Неоспоримые его плюсы: 1) "простота"; 2) "ничего не надо ставить". Но вот наворачивать его я бы не стал, иначе плюс 1) отпадает, и наворотами, кроме может авторов, пользоватся не будут (нерационально, если становится проще сделать другими средствами). Надо остановиться на разумном этапе развития макроязыка. Но сам по себе макроязык пусть будет, это отличное и эффективное средство для определенного круга задач определенной сложности.
Вот в том то и вопрос, развивать дальше или хватит. А то тут уже чуть ли ни мини плагины на макросах пишут. Уже поперли конструктор, ком то отладчики нужны. Скоро так и IDE выйдет. :)
Post Reply

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