Как вы можете программировать, если вы слепы?

Взгляд - это одно из чувств, которое большинство программистов считают само собой разумеющимся. Большинство программистов часами смотрят на монитор компьютера (особенно в те времена, когда они находятся в зоне), но я знаю, что есть слепые программисты (например, Т. В. Раман, который в настоящее время работает в Google).

Если вы были слепым человеком (или медленно становитесь слепым), как бы вы настроили среду разработки, чтобы помочь вам в программировании?

(Одно предложение для каждого ответа, пожалуйста. Цель этого вопроса - довести хорошие идеи до вершины. Кроме того, читатели экрана могут лучше читать хорошие идеи раньше.)

Ответ 1

Я полностью слепой студент колледжа, у которого было несколько стажировок по программированию, поэтому мой ответ будет основан на этих проблемах. Я использую Windows XP в качестве моей операционной системы и Jaws, чтобы читать то, что появляется на экране мне в синтетической речи. Для java-программирования я использую eclipse, так как это полностью доступная IDE, доступная.

В моем опыте, как правило, java-программы, которые используют SWT в качестве инструментария GUI, более доступны, чем программы, которые используют Swing, поэтому я держусь подальше от netbeans. Для любого программирования .net я использую визуальную студию 2005, поскольку она была стандартной версией, используемой на моей стажировке, и очень доступна с помощью Jaws и набора сценариев, которые были разработаны, чтобы сделать такие вещи, как конструктор форм, более доступным.

Для программирования на C и С++ я использую cygwin с gcc как мой компилятор, а emacs или vim - как мой редактор, в зависимости от того, что мне нужно делать. Большая часть моей стажировки включала программирование для Z/OS. Я использовал сеанс rlogin через Cygwin для доступа к подсистеме USS на мэйнфрейме и C3270 в качестве моего эмулятора 3270 для доступа к части ISPF мэйнфрейма.

Я обычно полагаюсь на синтетическую речь, но имею дисплей Брайля. Я считаю, что я обычно быстрее работаю с речью, но использую дисплей Брайля в ситуациях, когда пунктуация имеет значение и усложняется. Примерами этого являются операторы с множеством вложенных скобок и JCL, где пунктуация невероятно важна.

Update

Я играю с Emacspeak под cygwin http://emacspeak.sourceforge.net Я не уверен, будет ли это использоваться в качестве редактора для программирования, поскольку он появляется чтобы быть несколько не отвечающим, но я еще не смотрел ни один из параметров конфигурации.

Ответ 2

Я слепой и программировал около 13 лет в Windows, Mac, Linux и DOS, на языках C/С++, Python, Java, С# и различных языках меньшего размера. Хотя первоначальный вопрос заключался в настройке среды, я думаю, что лучше всего ответить, посмотрев, как слепой человек будет использовать компьютер.

Некоторые люди используют разговорную среду, такую ​​как Т. В. Раман и среда Emacspeak, упомянутые в других ответах. Наиболее распространенным решением на сегодняшний день является наличие программы чтения с экрана, которая работает в ОС ОС фонового мониторинга и оповещения пользователя через синтетическую речь или физический дисплей Брайля (обычно показывающий от 20 до 80 символов за раз). Это означает, что слепой может использовать любое доступное приложение.

Итак, я лично использую Visual Studio 2008 в эти дни и запускаю его с очень небольшим количеством изменений. Я отключу некоторые функции, такие как отображение ошибок, когда я печатаю, так как я нахожу это отвлекающим. До прихода в Microsoft вся моя разработка была выполнена в стандартном текстовом редакторе, таком как "Блокнот", поэтому еще раз никаких настроек.

Можно настроить программу чтения с экрана, чтобы объявить отступы. Я лично не использую это, поскольку Visual Studio позаботится об этом, а С# использует фигурные скобки. Но это было бы очень важно на языке, таком как Python, где пробелы имеют значение. Наконец, Emacspeak использует разные голоса/смолы для обозначения разных частей синтаксиса (ключевые слова, комментарии, идентификаторы и т.д.).

Ответ 3

Я слепой и был программистом последние 12 лет или около того. В настоящее время я являюсь старшим архитектором и работаю с корпорацией Sapient (консалтинговой компанией на базе Cambridge, создающей как основанные на Интернете, так и толстые клиентские решения на основе бизнеса). Я использую несколько программ чтения с экрана, но в основном придерживаюсь Jaws для окон и NVDA.

В основном я работал на платформе Microsoft и визуальной студии в качестве среды. Я также использую такие инструменты, как корпоративная студия MS Sql и другие для доступа к БД, сетевой мониторинг и т.д. Я попытался провести некоторое время с emacspeak, но так как моя работа была в основном основана на платформе MS, она никогда не проводила там много времени. Я также провел пару лет, работая над С++ на linux - в основном использовал блокнот или визуальную студию для окон для всего кодирования, а затем для samba для совместного использования файлов в среде linux. Также используется borland C для некоторых экспериментальных материалов. Недавно играли с питоном, который, как отмечали другие люди, особенно недружелюбен для слепых пользователей, потому что он написан с использованием отступов как механизма вложения. Сказав это, NVDA, самый популярный читатель с открытым исходным кодом, написан полностью с использованием python, и некоторые из участников этого проекта сами слепы. Особенно интересный вопрос, который я часто задаю как архитектор, - это то, как я рассматриваю диаграммы - UML, visio и рациональную розу и т.д. Visio, вероятно, является наиболее доступным инструментом для построения диаграмм. Я смог написать сценарии челюстей, чтобы читать диаграммы рационального роста для меня. Я использовал инструмент под названием T-dub (понимание технических схем для слепых), разработанный некоторым университетом Германии для доступа к диаграммам UML 2.0. Использовали jug-based уродливый инструмент под названием magic draw для разработки, основанной на моделях, и был коммитером в проекте androMDA и помогли разработать генератор кода .Net из UML-модели.

В целом, я нахожу, что я процветаю больше всего в командной среде, где я могу работать над своими сильными сторонами. Например, хотя диаграмма чрезвычайно полезна для связи/документирования дизайна, фактический процесс проектирования включает в себя много мышления и мозгового штурма, и когда дизайн был продуман, один из ваших товарищей по команде может помочь вам быстро собрать аккуратно нарисованный изображение из него. Люди неправильно неверно истолковывают вышеупомянутое как отсутствие независимости или способности, пока я рассматриваю это как чистую взаимозависимость - так как я уверен, что только один из партнеров по команде никогда не мог придумать этот проект самостоятельно и в -верните, если я буду зависеть от него, чтобы документировать дизайн, пусть будет так. Большинство препятствий, с которыми я сталкиваюсь, - недоступность инструментария. Например, все продукты oracle постепенно снижаются в доступности на протяжении многих лет (стыдно за них), и командная среда в основном позволяет мне дополнительный уровень защиты от них сверх моих читателей экрана и пользовательских сценариев.

Ответ 4

Я слепой разработчик, и я работаю под Windows, GNU Linux и MacOS X. Каждая из платформ имеет разные рабочие процессы для слепых пользователей. Это зависит от устройства чтения с экрана, которое использует слепой разработчик. Средства разработки не полностью доступны для слепых разработчиков. Я могу набирать код и использовать функции компиляции во всех IDE, но есть много проблем, если мне нужно разработать интерфейс, используя инструменты проектирования, такие как Interface Builder, XGlade или другие. Когда я развивался с Borland Delphi, я мог добавить элемент управления, например Button, и я мог бы модифицировать каждый визуальный атрибут элемента управления с помощью окна инспектора объектов. Многие IDE используют окна инспектора объектов для изменения визуальных и не визуальных атрибутов, но проблема для слепых разработчиков заключается в добавлении новых элементов управления, потому что метод добавления нового элемента управления состоит из перетаскивания элемента управления из палитры в холст. Visual Studio 200x использует альтернативные методы для этого, но интерфейс IDE изменяется в каждой новой версии, и это большая проблема, поскольку для чтения с экрана для Windows требуется специальная поддержка, используя скрипты, для идентификации каждой области некоторых нестандартных приложений. Ослепительный разработчик может использовать Visual Studio 2008 с его программой чтения с экрана, но когда появится новая версия этой IDE, ему придется ждать появления новой версии скриптов для этой версии IDE. Xcode с построителем интерфейса не имеет альтернативы для перетаскивания задач. Я много раз просил об этом Apple, но они работают над другими вещами. Я опубликовал 3 приложения в магазине приложений (доступный тральщик, доступная программа для фруктов и программатор ciegas RSS), и мне пришлось разработать весь интерфейс по коду. Это тяжелая работа, но я могу управлять всеми функциями каждого элемента управления. Eclipse имеет доступный редактор кода, но другие средства разработки в качестве консоли отладки, плагины для проектирования или области документации представляют проблемы для вспомогательных инструментов для слепых пользователей.

Документация также является проблемой для слепых разработчиков. Многие образцы и демонстрации используют изображения, чтобы показать объяснение (установите параметры среды, как вы можете на картинке)

Я думаю, что вопрос не слепой. Вопрос заключается в том, что компании и группы разработчиков считают, что доступность влияет на конечное программное обеспечение, но это не влияет на программное обеспечение для разработки. Они считают, что слепой пользователь должен быть клиентом, но слепой пользователь не может быть помощником по разработке.

Слепые ассоциации задают доступность для продуктов и услуг, но они забыли слепых разработчиков. Слепые люди могут работать юристами, журналистами, учителями, но слепой разработчик - странная концепция даже для слепых. Много раз я чувствую себя одиноким, потому что некоторые слепые мои друзья не могут понять мою работу.

Вы можете прочитать мое мнение об этой проблеме в этой статье на испанском, в моем блоге http://www.programaraciegas.net/2010/11/05/la-accesibilidad-en-crisis-para-los-desarrolladores-ciegos/ на веб-странице есть инструмент перевода. Извините, но я не перевел его.

Ответ 5

В Emacs есть несколько расширений, позволяющих слепым пользователям манипулировать текстовыми файлами. Вам нужно будет проконсультироваться с экспертом по этой теме, но emacs имеет возможности преобразования текста в речь. И, вероятно, больше.

Кроме того, есть BLinux:

http://leb.net/blinux/

Linux для слепых. Был очень долго. Более десяти лет я думаю и очень зрелый.

Ответ 6

Имейте в виду, что "слепой" - это целый ряд условий - есть люди, которые легально слепы, которые могут читать действительно большой монитор или с помощью увеличения, а затем есть те, у кого нет никакого видения. Я помню одноклассника в колледже, у которого было специальное устройство для увеличения книг и специальное программное обеспечение, которое она могла использовать для увеличения части экрана. Она тяжело работает, чтобы закончить колледж, потому что ее зрение становилось все хуже, и собирался уйти полностью.

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

Ответ 8

Я работал в Большом Детройтском обществе для слепых в течение трех лет, работая на BBS, специально предназначенном для слепых доступов, и работал с рядом слепых пользователей о том, как лучше удовлетворить их потребности, а также с новыми слепыми пользователями, чтобы они были адаптированы к доступных аппаратных и программных продуктов, которые были доступны в то время. Если ничего другого, я, по крайней мере, научился читать Брайля как преграда против случая, когда я когда-либо попадал в ту же ситуацию!

Большинство пользователей и программистов слепых компьютеров используют экранный ридер. Jaws, в частности, популярен. К счастью, большинство основных приложений в наши дни предлагают некоторую форму доступа для инвалидов. Возможно, вам придется слегка настроить свою среду, чтобы вырезать болтовню, например. рассмотрите возможность отключения Intellisense в Visual Studio.

A Брайлевский дисплей является менее распространенным и сравнительно дорогим и может отображать 40 или 80 столбцов текста и может использоваться, когда точное позиционирование/пунктуация важны. В то время как программа чтения с экрана может быть сконфигурирована так, чтобы трепетать от пунктуации, многие люди считают ее отвлекающей, и во многих случаях легче прочувствовать свой путь через нее. Челюсти могут быть настроены для управления дисплеем, поэтому вы не жонглируете приложениями доступности.

Кроме того, у многих законно слепых пользователей по-прежнему остался некоторый недостаток. Использование высококонтрастных фоновых изображений и функциональность увеличения могут помочь многим из этих пользователей.

Использование ToggleKeys в Windows позволит вам слышать, когда вы случайно нажимаете один из модальных "блокировок", "блокировка номера", "блокировка прокрутки" и т.д., а также.

Я знаю, по крайней мере, одного программиста Haskell, который использует программу чтения с экрана и который явно программирует, не используя правила компоновки Haskell, и вместо этого предпочитает использовать скорее неидиоматический, а поддерживаемый {;}, потому что он легче/менее отвлекает для него, чтобы его экранный читатель прочитал пунктуацию, чем для него, чтобы определить точный отступ, который соответствует правилам макета Haskell. На той же ноте я слышал, как некоторые ворчание от нескольких слепых программистов о том, когда им приходится писать Python.

В конечном счете, вы научитесь играть на своих силах.

Ответ 9

Я не могу вспомнить источник, но я слышал/читал о форме звукового синтаксиса "coloring" - чтобы вместо присваивания строки считалось

foo equals quote это строковое предложение

часть строки будет считана с другим шагом или голосом, чтобы сделать более четкое разделение элементов.

Ответ 10

Одно место для запуска - проект Blinux:

http://leb.net/blinux/

В этом проекте описывается, как получить Emacspeak (редактор с текстом в речь) и имеет множество других ресурсов.

Я работал с одним человеком, который видел все, но не позволял им использовать монитор - они отлично справлялись с программным обеспечением для чтения с экрана и много времени проводили с использованием текстовых приложений и оболочки.

Список программ для чтения с экрана в Википедии - это еще одно место для начала: http://en.wikipedia.org/wiki/List_of_screen_readers

Ответ 11

Я аспирант в Пекине, Китай. Я занимаюсь информатикой, и моя работа - программирование. Я родился с низким зрением, мне нужно использовать увеличительные инструменты, чтобы ясно видеть шрифты на экране. Я использую инструменты microsoft mgnify в окнах и использую compiz magnify plug in if on linux. Я обычно устанавливаю инструмент для увеличения в три раза больше, чем исходный размер шрифта. Для меня инструменты maginify в порядке, основная проблема - это скорость, мне нужно перемещать мышку, чтобы курсоры следовали тексту, который я ищу, microsoft magnify предоставляет возможность "автоматически следовать точкам редактирования текста", которые меня выбрали из непрерывное движение мыши при редактировании или кодировании. Но это не всегда работает, потому что программное обеспечение для редактирования или IDE может не поддерживать это. Инструменты увеличения на linux трудно использовать. KMag поставляется с KDE, имеет ужасную частоту обновления, которая делает мои глаза неудобными, масштабируемые вилки Compiz, которые я использую сейчас, в порядке, но не имеют функции автофокуса (фокусировка автоматически). iOS предоставляет совершенно идеальное решение для меня с полноэкранным увеличением, особенно на экране с разрешением 9,7 дюйма. там автофокус не нужен, потому что я почти не использую их для кодирования или других материалов редактирования. Android предоставляет очень мало функций доступа, только как обратная связь с встрясками, что бесполезно для меня. на андроиде нет каких-либо хороших инструментов увеличения, не говоря уже о дополнительной функции, такой как полноэкранное увеличение на iOS. Я изучал Qt, хочу создавать полезные инструменты увеличения на linux, даже на Android. Но вряд ли есть какой-то прогресс.

Ответ 12

Когда я учился в град-школе, у нас был член нашей исследовательской команды, который был слепым. Он был немного старше, может быть, в середине 40-х. Он рассказал нам о том, как он запрограммировал свой первый компьютер (который был задолго до того, как текст в речь был распространен), чтобы вывести содержимое экрана в код Морзе. Чтобы преодолеть очевидную проблему с курицей и яйцом, ему пришлось полностью переписать код каждый раз с нуля, пока он не работал достаточно хорошо, чтобы он мог прочитать его.

Теперь он использует текст в речь, хотя он очень тщательно разрабатывает код, прежде чем писать его, чтобы минимизировать цикл отладки.

Он также был очень хорош в предоставлении презентаций PowerPoint, которые, несмотря на его недостаток зрелищности, были примерно так же отформатированы, как и любой зримый докладчик.

Ответ 14

В Новой Зеландии я знал кого-то, у кого была дегенерация желтого пятна, поэтому была частично замечена. Он очень талантливый программист и закончил работу с Delphi, потому что он мог работать, распознавая формы слов. Это было легче сделать с синтаксисом, подобным Паскалю, чем C-ish squiggly bracket one. У него есть веб-сайт, но, похоже, он не упоминает макулярную дегенерацию, поэтому я не буду называть его.

Ответ 15

Я слепой, и с некоторых месяцев я использую VINUX (Linux-дистрибутив на основе Ubuntu) с SODBEANS (версия netbeans с плагином с именем SAPPY, который добавляет поддержку TTS). Это решение работает довольно хорошо, но иногда я предпочитаю запускать Win XP и NVDA для запуска многих страниц на FireFox, потому что Vinux работает не очень хорошо, когда вы пытаетесь открыть более 3 окон FireFox...

Ответ 16

Как уже отмечалось многими, emacspeak является прочной платформой для многих старых хакеров. Поскольку он поддерживает Linux и Mac из коробки, он стал моим предпочтительным средством разработки эксистических проектов Windows.

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

Слуховые значки могут стоять на месте для словесных дескрипторов для одного примера. Вы можете, поместить тоны, как далеко отступ с линией. Чем дольше тон, тем дальше отступ. Поскольку мелодии могут воспроизводиться параллельно с текстом в речь, информация поступает в тот же таймфрейм и не сериализует передачу чего-то такого основного.

Брайль может быстро и точно декодировать пользователю точный синтаксис строки. Это более полезно для людей, которые используют шрифт Брайля в повседневной жизни; самым большим преимуществом является случайный доступ к содержимому дисплея. У обновляемых устройств обычно есть ключи маршрутизатора над каждой ячейкой символа, которые могут поместить курсор в эту ячейку. Не запускать клавиши со стрелками O (n) op vs O (1).

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

Emacs и другие редакторы для меньших экстентов (Visual Studio) позволяют кодеру симулировать программу симпатично (следующий блок, блок сгиба, down defun, переход в def, просмотр дерева разбора и т.д.). Вы можете очень быстро получить "большую" картину структуры всего проекта, делающего это; с расширениями, такими как Cedet, вы можете получить доброту перекрестной платформы VS/Eclipse/etc и в текстовом редакторе.

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

Ответ 17

Группа студентов из Университета Южного Иллинойса Эдвардсвилл и Университет штата Вашингтон работают над языком программирования для слепых:

http://www.youtube.com/watch?v=lC1mOSdmzFc

Ответ 18

harald van Breederode - известный голландский эксперт, тренер и ведущий Oracle Oracle, который слепой. В его блоге содержатся полезные советы для людей с ослабленным зрением.

Ответ 19

Что в мире будет клавиатура Брайля даже?

Есть такие вещи, как писатели Брайля, но вы никогда не использовали бы это как устройство ввода для компьютера.

Если вы просто говорите о клавиатуре с символами Брайля, это также будет очень плохой идеей. У вас будет гораздо больше ключей для ввода при наборе текста, и все равно будет медленнее.

Сенсорный ввод не является визуальным навыком, слепой может делать это так же, как и зрячий человек.

Ответ 20

NVDA - хороший читатель с открытым исходным кодом для выигрыша.

Ответ 21

Я думаю, что это будет хорошо работать в экстремальном программировании с использованием принципа парного программирования. Если вы создаете программное обеспечение для слепых людей, которым лучше сделать это, тогда кто-то, кто буквально будет поддерживать деловые требования, поэтому я не думаю, что он очень далеко придет.

Что касается написания кода, ну, если бы не была какая-то обратная связь, я думаю, что человек может бороться с синтаксисом. Звуковая обратная связь может помочь в этом.

Ответ 22

Как насчет того, чтобы изобрести какое-то устройство, которое вы подключили к порту USB, и это будет в основном "лист резины", который изменит сам себя, чтобы показать Brail вашего кода, позволяя слепым людям читать его, а не слышать?

Ответ 23

Существуют различные инструменты, помогающие слепым людям или частично замеченным, включая обратную связь и клавиатуру Braille. http://www.rnib.org.uk/Pages/Home.aspx - хороший сайт для помощи и консультаций по этим вопросам.

Ответ 24

Как только я встретил Сэма Хартмана, он является известным разработчиком Debian с 2000 года и слепым. В этом интервью он рассказывает о доступности для пользователя Linux. Он использует Debian и gnome-orca в качестве программы для чтения с экрана, он работает с Gnome и "делает относительно хорошую работу по разговору с Iceweasel/Firefox и Libreoffice".

Говоря конкретно о программировании, он говорит:

В то время как [gnome-orca] действительно говорит о gnome-terminal, это не очень хорошо которые мне удобны в использовании. Итак, я бегу Emacs с пакетом Emacspeak. В этом я запускаю Emacs терминальный эмулятор, и в этом я, как правило, запускаю Screen. Для добавления весело, я часто запускаю дополнительные экземпляры Emacs во внутреннем экраны.