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

Используя Ruby 1.8.6+, вы можете сделать это:

require 'enumerator' #Only for 1.8.6, newer versions should not need this.

s = "AustinTexasDallasTexas"
positions = s.enum_for(:scan, /Texas/).map { Regexp.last_match.begin(0) }

Это создаст массив с:

=> [6, 17]
685
задан 4 revs, 3 users 52% 18 September 2011 в 22:45
поделиться

13 ответов

Я - полностью слепой студент колледжа who’s, имел несколько стажировок программирования, таким образом, мой ответ будет базироваться от них. Я использую Windows XP в качестве своей операционной системы и Челюсти для чтения то, что появляется на экране мне в синтетической речи. Для программирования Java я использую затмение, с тех пор it’s полнофункциональный IDE, который доступен.

, По моему опыту, как правило программы Java, которые используют SWT в качестве инструментария GUI, более доступны тогда программы, которые используют Swing, который является, почему я избегаю netbeans. Для любого .net программирование я использую Visual Studio 2005, так как это было стандартной версией, используемой при моей стажировке, и является очень доступными Челюстями использования и рядом сценариев, которые были разработаны для создания вещей, таких как конструктор форм более доступными.

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

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

Обновление

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

1018
ответ дан Jerub 18 September 2011 в 22:45
поделиться

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

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

2
ответ дан Polsonby 18 September 2011 в 22:45
поделиться

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

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

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

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

2
ответ дан Loren Pechtel 18 September 2011 в 22:45
поделиться

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

http://leb.net/blinux/

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

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

список Википедии пакетов программы экранного доступа является другим местом для запуска: http://en.wikipedia.org/wiki/List_of_screen_readers

14
ответ дан Kyle Burton 18 September 2011 в 22:45
поделиться

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

, нечто равнялось кавычке, это - строковая кавычка

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

23
ответ дан Cebjyre 18 September 2011 в 22:45
поделиться

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

, Кроме того, существует BLinux:

http://leb.net/blinux/

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

47
ответ дан Chris 18 September 2011 в 22:45
поделиться

Это сообщение в блоге имеет некоторую информацию о том, как команда Visual Studio делает их продукт доступным:

Рабочая группа Visual Studio Туристическое Действие Accessibility Lab

Многие программисты используют Emacspeak:

Emacspeak - Полный Аудио Рабочий стол

10
ответ дан Arthur Vanderbilt 18 September 2011 в 22:45
поделиться

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

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

43
ответ дан DGM 18 September 2011 в 22:45
поделиться

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

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

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

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

401
ответ дан Saqib 18 September 2011 в 22:45
поделиться

Вернувшись в Новую Зеландию Я знал кого-то, кто имел дегенерацию , поэтому был частично смотрел. Он очень талантливый программист и завещал с помощью Delphi, потому что он мог работать, распознавая формы слов, это было проще сделать с мозгом на Pascal, чем синтаксис, как C-ISH Saqgly. У него есть веб-сайт, но, похоже, вообще не упоминает о макулярной дегенерации, поэтому я не буду называть его.

8
ответ дан 22 November 2019 в 21:40
поделиться

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

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

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

13
ответ дан 22 November 2019 в 21:40
поделиться

Оба ваших класса названы "Leads". Когда CI включает их, они загружаются в одно пространство имен. Вероятно, имеется ошибка "Невозможно повторно объявить класс 'Leads'" . Попробуйте переименовать модель, и вы должны быть в порядке.

Edit: guess confirmed

-121--3223099-

Вы можете определить собственную карту сортировки при выполнении сортировки пузырей по ключу. Это, наверное, не очень эффективно, но это работает.

<pre>
<?php

$array = array('a'=>1,'z'=>2,'d'=>4);

$array['c'] = 3;

print_r( $array );

uksort( $array, 'sorter' );

print_r( $array );

function sorter( $a, $b )
{
    static $ordinality = array(
        'a' => 1
      , 'c' => 2
      , 'z' => 3
      , 'd' => 4
    );
    return $ordinality[$a] - $ordinality[$b];
}

?>
</pre>

Вот подход, основанный на ArrayObject с использованием той же самой концепции

$array = new CitizenArray( array('a'=>1,'z'=>2,'d'=>4) );
$array['c'] = 3;

foreach ( $array as $key => $value )
{
    echo "$key: $value <br>";
}

class CitizenArray extends ArrayObject
{
    static protected $ordinality = array(
        'a' => 1
      , 'c' => 2
      , 'z' => 3
      , 'd' => 4
    );

    function offsetSet( $key, $value )
    {
        parent::offsetSet( $key, $value );
        $this->uksort( array( $this, 'sorter' ) );
    }

    function sorter( $a, $b )
    {
        return self::$ordinality[$a] - self::$ordinality[$b];
    }
}
-121--1515969-

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

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

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

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

Использование TogenseKeys в Windows позволит вам услышать, когда вы случайно коснетесь одной из модальных клавиш 'caps lock', 'num lock', 'scroll lock' и т.д.

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

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

31
ответ дан 22 November 2019 в 21:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: