Отправляет email-рассылки с помощью сервиса Sendsay

[TC] Re: Cobra и скриптописание.

Привет, Виктор.

работы

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

--
С уважением, Сергей.

Ответить   Wed, 8 Dec 2010 20:24:28 +0300 (#1324585)

 

Ответы:

Привет Сергей и Анатолий!
ну ладно Иван но как то от вас я неожидал непонимания того о чём я говорю и главное
спрашиваю.
попробуем чужими цитатами.
из статьи на которую дал ссылку анатолий:

*
Помимо стандартного функционала VBscript в скриптах к Thunder также используются
специфические функции и переменные,
***
собственно то о чём я спрашивал
тоесть всё таки есть доступное в виде вызываемых пользователем функций
расширение vbs для конкретного скринридера
но производители вместо того чтобы написать:
используется vbs и написаное на его основе расширение языка
или ряд функций расширяющий возможность vbs
просто пишут
vbs.
если можно, господа, то просто ссылку на док в котором описаны расширения vbs
для последней кобры.
интересно взглянуть насколько её производители преуспели в этом деле.
так же вот такой момент:
когда мы вставляем функцию в скрипты JAWS
мы видим её описание и описание её параметров.
насколько удобно и вообще реализованы такие подсказки для аналогичных ситуаций
в кобре и питоне.
не для функций ядра этих скриптовых движков
а именно для расширений языков для скринридеров.

продолжаю цитировать статью:
*
возможность пользователя самостоятельно улучшать доступность необходимого ему
приложения является для некоммерческих программ ещё более актуальной, чем для
их конкурентов, распространяемых за плату.
В этом отношении, программа NVDA испытывает ряд трудностей, так как в ней отсутствует
возможность простого написания пользовательских скриптов
***
обратите внимание что покрайней мере на счёт NVDA с её питоном автор статьи придерживается
аналогичного моему мнения.
правда его никто ни в чём не обвиняет.
кратко повторю его:
в прочих скринридерах написание пользовательских скриптов реализовано гораздо
хуже чем в JAWS.

теперь почему я попрежнему считаю JAWS скрипт более выгодным решением чем vbs
не в теории а исключительно на практике.
не то что там когда то разовьют и напишут
а именно то что есть на сегодняшний день.
в приводимой статье на этот счёт и за это спасибо её автору есть конкретные данные
*
Основные встроенные функции
***
и далее список на аж 12 системных переменных,
43 функции
и 9 событийных функций.
как бы меня не убеждали что это очень классно
мне как то не очень верится что подобным количеством пусть даже при просто таки
супер качестве можно хотя бы близко подойти к тому функционалу что есть у JAWS
скриптов при работе с экраном.
интересно насколько в этом плане продвинута кобра и nvda?

можно конечно сказать что JAWS на рынке давно и мы просто его скрипты лучше знаем
но тот же vbs тоже не вчера появился но что то как то не очень много серьёзных
приложений заскриптовано пользователями прочих скринридеров.
и именно плохую заточенность расширений языка
а может и в приличной степени не очень пристальное внимание к тем кто потом эти
расширения будет применять со стороны производителей скринридеров в плане подробной
документации,
и объясняется что в итоге не смотря на все прелести и правильности как питона
так и vbs
мы имеем то что имеем:
на JAWS скриптов пишется во многие разы больше чем на прочие скринридеры скорее
всего вместе взятые.
и приложений с JAWS мы можем использовать гораздо больше чем любым другим скринридером.
о качестве скриптов можно конечно спорить
плохие трогать не станем,
но например Сергей буквально на днях был одним из тех кто приводил данные о том
что NVDA
при всей правильности её скриптов почему то потребляет ресурсов в несколько раз
больше чем тот же JAWS с его неправильными скриптами.
видимо информация о том что скрипты JAWS так уж плохи всё таки сильно приувеличена.
косяки конечно есть там и не малые
но многие из них мы с таким же успехом можем обойти применив
wsh
тоесть возможности JAWS не ограничиваются его собственными функциями.
теперь внимание вопрос,:
(приходится отмечать это особенно чтобы не получить ответов подобных тем что
получил в прошлых письмах)
цитата:
Для MS Windows характерна любовь к COM/OLE-Automation, поэтому весь специфический
функционал, реализуется в виде OLE-Automation компонентов, до которых можно прекрасно
дотянуться из любого скриптового движка от Microsoft (собственно, OLE-Automation
и было сделано для того, чтобы дать скриптам доступ к COM-объектам).
можем ли мы дотянутся до
OLE-Automation компонентов
при помощи скриптов JAWS и помощи wsh из скриптов JAWS.
если да,
а именно так это и есть,
то тогда все разговоры о том что vbs в прочих скринридерах даёт какие то приимущества
мне не понятны.
или обращения из языка скриптов JAWS напрямую или через wsh чем то отличаются
от обращения из vbs и js
повторю,это был вопрос
и хотелось бы на него получить конкретный ответ.
а не высказывания типа:
ц
Потому что ты не знаешь, что такое скриптовый язык, для чего он нужен и как применяется.
это то я не знаю?...
Анатолий, это мягко говоря преувеличение
ну очень мягко говоря...
у меня у самого есть скриптовая так сказать api
на почти сто килобайт
поэтому я не просто это знаю а и использую постоянно.
но доков на неё неопубликовано а значит её как бы и нет.

и ещё 1 вопрос
если ктото сравнивал,
сильно ли изменились функции кобры относительно вирго?
наблюдается ли приемственность?
и конкретно предложение Анатолию:
уж если я незнал о серьёзной документации по этой теме
то что говорить о начинающих скриптописателях,
может есть смысл выложить на тифлокомпе текущую документацию по расширениям vbs
для кобры
и питона для nvda.
или ссылки разместить.
а может они там уже есть?
тогда просто ещё раз стоит обратить на них внимание в этой уважаемой рассылке.
ведь во многом заслуга что у нас JAWS популярен и что мы спокойно пишем к нему
скрипты именно сайта tc и его разработчиков

Виктор

Ответить   Thu, 9 Dec 2010 12:03:41 +0300 (#1325588)

 

Доброго времени суток, Виктор.

Из сообщения от 09.12.2010 11:12:

Так это не есть.

приимущества

отличаются

Дабы не продолжать начинающийся холивар,
конкретный пример на тему "почувствуйте разницу":

http://rghost.ru/3541248

Кроме того, не могу не упомянуть об ущербности скриптового движка jaws
с точки зрения используемых типов данных,
даже имея в виду появившиеся в версии 11 нововведения

А каковы на вкус сублиматы типа sendMessage, addHook
и другие обрывки win api?..

С уважением, Руслан Усачев

Ответить   Thu, 9 Dec 2010 16:28:34 +0200 (#1326047)

 

Здравствуйте, уважаемые участники рассылки.
Я сам абсолютный чайник в скриптописании и программировании но... могу вам
придложить взглянуть на некоторые скрытые возможности и закрытые подразделы
меню кобры. Возможно эта информация принесет вам пользу..
Если вы зайдя в меню кобры нажмете там комбинацию control Shift F1 то таким
образом вы активируете так называемый service mode. Пос ле этого, зайдя в
меню сервис вы обнаружите в нем два ранее недоступных раздела меню generic
settings и object browser.
Но я прежде всего советую обратить пристальное внимание на пункт
представление особенно на кнопочку добавить сигмент,которая также появляется
после активации service mode. Возможности,которые предоставляет там кобра
для опытных пользователей настраивать под себя поведение кобры в тех или
иных приложениях даже не прибегая к скриптописанию, гораздо более гибкие чем
это может показаться на первый взгляд. Так, например,через пункт
представление я могу не только настраивать какая информация будет
отображаться,а какая нет,но также указать кобре из какого источника мне эту
информацию удобней получать: по средствам перехвата или через различные
компоненты msaa.
С уважением, Павел Каплан.

Ответить   Thu, 9 Dec 2010 20:21:20 +0200 (#1326358)

 

Здравствуйте Павел!
я давно слежу за коброй,
меня в своё время привлекло в этом скринридере то что разработчики прикрутили
к ней распознавание шрифтов.
но тогда это было ещё на английском и немецком,
я во-первых сам работаю сейчас в этом направлении и добился неплохих результатов
со скриптами JAWS как в монохромных так и в цветных шрифтах.,
и считаю отсутствие подобной возможности в JAWS весьма печальным фактом.
впрочем вопрос собственно вот в чём:
есть ли какой док на тему расширения vbs
для кобры по принципу fsdn у JAWS.
где были бы описаны те функции vbs что специально создали для работы скринридера.
Виктор Горелов

Ответить   Fri, 10 Dec 2010 02:21:28 +0300 (#1326650)

 

Приветствую всех.

Виктор, ты, вероятно, забыл, с чего начал: с утверждения, что бессмысленно использовать
VBS в Cobra, потому что там нет функционала, который нужен скриптам скринридера.
Тебе пояснили, что этот функционал там есть и расширять возможности скриптового
движка дополнительным функционалом -- это подразумеваемая (!) возможность любого
(!) встраиваемого скриптового движка. Об этом даже речи не идет, потому что это
само собой разумеется!
Ты упрямо твердил, что в VBS нет и не может быть ничего полезного для скринридеров,
из чего следует, что ты не только со скриптовыми движками не знаком, но и не
знаешь, как в MS Windows реализована поддержка скриптинга, встраиваемого в приложения.
Так что извини, но это факт.

таки

Тебе эту статью дали, чтобы ты не заблудился в описаниях функций и понял принцип
использования скриптовых движков, а не для того, чтобы ты сравнивал функционал
недавно появившегося бесплатного скринридера с его платным конкурентом, который
уже лет 15 или более того окучивает рынок.
Кроме того, количество скриптовых функций в JAWS -- это не достоинство, а его
беда, указывающая на то, что процесс расширения языка скриптов JAWS идет стихийно,
концептуально не выдержан, функции добавляются на скорую руку под конкретную
проблему или баг (поэтому их функционал часто перекрывается или дублирует друг
друга). Сам язык тоже лишен сколько-нибудь явно выраженной продуманности, единообразия
в подходах и т.п. Вот ты можешь объяснить, зачем нужна строгая типизация, когда
сам движок втихую занимается неявным преобразованием из одного типа в другой
(например, строк в целое и наоборот).?

По поводу Cobra напиши Павлу -- он предлагал выслать документацию для разработчиков.
Думаю, функционал у Кобры будет почище, более структурирован и менее походить
на нагромождение функций JAWS -- бессмысленное и беспощадное.
В NVDA, если ты до сих пор не в курсе, вообще нет пользовательских скриптов как
таковых. Python используется в NVDA не как скриптовый язык, а как язык разработки
приложения и среда его выполнения.

знаем

Некоторые просто больше ничего не знают.

По VBS документация гораздо полнее, чем по скриптовым функциям JAWS (не говоря
уже о том, что выражение "полнота документации" к скриптам и скриптовым функциям
JAWS никак не подходит).
Плюс документация от разработчика скринридера по добавляемым объектам и т.п.

Рынок JAWS гораздо больше, чем рынок Virgo (а других коммерческих скринридеров
с поддержкой скриптов до 2008 г. я что-то не припомню, либо их рынок ничтожно
мал).

том

раз

Во-первых, не "в несколько раз". Во-вторых, не ресурсов, а конкретно процессорное
время. А главное, он ни слова не обмолвился о причинах, по которым NVDA загружает
процессор, больше чем JAWS. То есть виноваты ли в этом скрипты или нет, он не
сказал ни слова.
И еще раз: в NVDA нет поддержки скриптов! Там нет скриптов в принципе.
Ты же не называешь программы на JAVA, C# или C++.Net скриптами, а они по сути
не отличаются от программ на python -- тот же байт-код, та же виртуальная машина.

Во-первых, до этого твоего сообщения никто не говорил, что скрипты JAWS плохи.
Речь шла о том, что как средство разработки скриптов язык сценариев JAWS уступает
VBS.
Надо понимать, что любая среда разработки включает два важных компонента:
1. реализацию языка программирования;
2. среду исполнения (в простейшем случае это run-time библиотека функций).
Так вот речь шла о языке(!) сценариев JAWS, а не о скриптовых функциях (которые
относятся ко второму пункту, то есть это run-time библиотека).
Язык (в том числе и язык программирования) -- это средство выразить свои мысли
(в программировании -- выразить алгоритмические мысли).
Если язык позволяет выразить мысль ясно и недвусмысленно при помощи наименьшего
числа конструкций, то это хороший язык. Если ты вынужден конструировать какие-то
трехэтажные трудновыговариваемые выражения, чтобы выразить совсем простую мысль,
то это плохой язык программирования.
Он плох и потому что твой трехэтажный код будет трудно понять другому человеку
(или тебе самому через какое-то время), и потому что, строя сложное выражение,
ты рискуешь сделать гораздо больше ошибок, чем когда пишешь просто.
Ошибки -- это время, которое ты тратишь на их поиск. Сложные выражения -- это
время, которое ты тратишь на его понимание.
У тебя много лишнего времени? И ты готов принести его на алтарь скриптинга под
JAWS?
Если программирование для тебя -- это хобби, то возможно, ты компенсируешь потраченное
время тем удовольствием, которое получаешь от процесса. Но не у всех это так...

Ну, разумеется, ты опять получишь такие ответы, потому что невнимательно читаешь
то, что тебе пишут остальные.

Перечитай предыдущее мое сообщение -- там явно и недвусмысленно указано, что
не "какие-то преимущества", в вполне конкретные: время и деньги.
Встроить поддержку доступа к спец. функционалу в уже существующий, отлаженный,
присутствующий в ОС по умолчанию скриптовый движок проще, быстрее, менее затратно,
чем писать этот самый движок с нуля.
Вот Freedom купила/стащила/разработала сама свой скриптовый движок и вот тянет
на себе уже не первый десяток лет бремя развития этого движка и его сопровождения
(тянет, конечно, без особого усердия, но время и деньги на это уходят, а столь
актуальный функционал все равно появляется гораздо позже, чем он становится необходимым
для скриптописателей). Возможно, Freedom таким образом создает рабочие места
для инвалидов по зрению, но ты не задумывался, за чей счет?..
В случае VBS бремя по развитию и сопровождению тащит на себе Microsoft, а разработчику
скринридера остается лишь сопровождать свой собственный компонент, который дает
доступ из скриптов к специфическим функциям.

Отличаются своей недоделанностью.

А ты ей интересовался???
Если интересовался, то знаешь, что Cobra еще официально не вышла как стабильный
релиз, Window-Eyes реализовала поддержку скриптинга лишь с 2008 г., а материал
по скриптингу в Virgo лежит на тифлокомпе с незапамятных времен.

vbs

1. Думаю, ближе к официальному стабильному релизу это будет доступно на сайте
разработчика (как, например, fsdn).
2. Вопрос копирайтов: целиком выложить нельзя, надо разбивать на статьи и переписывать.
3. Если перепишешь (желательно на русском), то непременно выложу.

Документация по питону входит в состав дистрибутива этого языка. Документации
для разработчиков e NVDA нет (или почти нет) -- см. исходники (без этого все
равно ничего не сделаешь).

Присылай. Буду очень признателен.

Успехов. Анатолий.

Ответить   "i_chay" Thu, 9 Dec 2010 21:57:39 +0300 (#1326409)

 

Привет Анатолий!
ц
Виктор, ты, вероятно, забыл, с чего начал: с утверждения, что бессмысленно использовать
VBS в Cobra, потому что там нет функционала, который нужен скриптам скринридера.
можно ссылку на этот самый функционал в виде как это есть у JAWS?
собственно об этом я и пытаюсь в который раз спросить но мне отвечают на что
угодно но только не конкретными ссылками на документацию а общими рассуждениями
как пррекрасен vbs и как крив скриптовый язык JAWS.
даже ты мне не смог предоставить информации на счёт расширения скриптового языка
а значит его для кобры пока нет.
впрочем ты об этом далее собственно и пишешь,
ц
Если интересовался, то знаешь, что Cobra еще официально не вышла как стабильный
релиз, Window-Eyes реализовала поддержку скриптинга лишь с 2008 г., а материал
по скриптингу в Virgo лежит на тифлокомпе с незапамятных времен.
и того:
разработчики NVDA не считают что нужно как то предоставить вобщем то удобную
возможность пользователям без особой програмерской подготовки расширять возможность
их продукта в приложениях.
кобра ещё не выпустила те самые расширения своего языка для того чтобы мы это
могли применять хотя програме не первый год,
Window-Eyes это сделали но недавно и это плюс
правда самой програмой я не интересовался
но зато слышал мнения о ней что та же nvda только хуже и за деньги.
Thunder пока ещё не успели разработать,
а вирго так и вообще как то помоему остался незамеченым и его разработка прекращена
несколько лет назад.
так в чём я не прав?
собственно ты заостряешь своё внимание на частностях
и не обратил его на главную мысль:
прочие скринридеры неудобны для пользователя в плане самостоятельного создания
доступа к приложениям.
из за отсутствия скриптового языка или документации,

Виктор Горелов

Ответить   Fri, 10 Dec 2010 02:18:41 +0300 (#1326651)

 

Здравствуйте, Виктор.

Вы писали 10 декабря 2010 г., 2:18:41:

Но само наличие альтернативных скринридеров уже хорошо, а тем более
бесплатных или с часовой демкой. Да и по большому счету не на столько
часто нужны скрипты чтобы отвергать пользование алтернативами. Лично
меня радует появление новых качественных продуктов, а недостатки
конечно есть у любого продукта в том числе и любимого нами джоза. :-)

Ответить   Fri, 10 Dec 2010 22:45:54 +0300 (#1328312)

 

Привет Оксана!
ц
Но само наличие альтернативных скринридеров уже хорошо, а тем более
бесплатных или с часовой демкой.
согласен полностью.
а если учесть что в той же кобре появилось распознавание шрифтов с картинок чего
нет в JAWS
то вдвойне хочется получить кобровские специал функции и попробовать применить
эту возможность там где нечитает JAWS.
надеюсь что это вскоре всё таки появится и это будет полноценное описание
а пока ждём.
Виктор

Ответить   Fri, 10 Dec 2010 23:21:04 +0300 (#1328353)