自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

盲人程序員的編程生涯

開發(fā) 后端 開發(fā)工具
本文來自于Stackoverflow上的一個(gè)問題,下面確實(shí)有很多盲人程序員作出回答,筆者感觸頗深,故整理成文。詳細(xì)請(qǐng)看下文

本文來自于Stackoverflow上的一個(gè)問題,下面確實(shí)有很多盲人程序員作出回答,筆者感觸頗深,故整理成文。

具體技術(shù)細(xì)節(jié)不必深究,主要了解一下他們的工作狀態(tài),以期讓更多的朋友關(guān)注殘障人士的生活與工作。

原問題大致如下:

視力應(yīng)是大多數(shù)程序員理所當(dāng)然應(yīng)有的感官之一,大多數(shù)程序員都會(huì)花大量的時(shí)間盯著顯示器(尤其是當(dāng)他們處于巔峰狀態(tài)時(shí)),不過我知道還存在很多的盲人程序員(比如目前供職于Google的T.V. Raman)。

如果你是個(gè)盲人(或者視力衰退嚴(yán)重),那么你會(huì)怎樣設(shè)置你的開發(fā)環(huán)境來協(xié)助你編程呢?

下面整理一些精彩回答:

From Jared:

我是一個(gè)完全失明的大學(xué)生,已經(jīng)參加過幾個(gè)編程實(shí)習(xí),所以我的回答將基于這些經(jīng)驗(yàn)。我使用Windows xp作為操作系統(tǒng),使用Jaws的合成語音來閱讀屏幕上的內(nèi)容。對(duì)于Java編程,我使用eclipse,因?yàn)樗且粋€(gè)全功能可訪問的IDE。

以我的經(jīng)驗(yàn)來看,java編程中使用SWT作為GUI工具的可訪問性要比使用Swing好一些,這就是為什么我放棄netbeans的原因。對(duì)于.net編程,我使用visual studio 2005,因?yàn)檫@是我實(shí)習(xí)時(shí)使用的標(biāo)準(zhǔn)版本,而且通過使用Jaws和一系列腳本(比如簡化表單設(shè)計(jì)的腳本),可以使操作變得非常簡單。

對(duì)于C和C++編程,我使用cygwin加上gcc作為編譯器,使用emacs或者vim作為編輯器,視具體工作而定。我的大部分實(shí)習(xí)涉及到Z/OS的編程,我使用一個(gè)登錄會(huì)話通過Cygwin訪問USS子系統(tǒng),并且使用C3270作為我的3270模擬器來訪問主框架的ISPF部分。

我一般依賴于帶點(diǎn)字(Braille:點(diǎn)字/盲文)顯示(譯者注:下圖為一種點(diǎn)字設(shè)備)的合成語音。我發(fā)現(xiàn)在標(biāo)點(diǎn)很重要且比較復(fù)雜的情況下使用點(diǎn)字顯示的話,工作效率會(huì)更高。一個(gè)例子就是當(dāng)有很多if聲明很許多嵌套的括號(hào)和JCL時(shí),標(biāo)點(diǎn)就顯得非常重要了。

更新

我在玩cygwin下的Emacspeak http://emacspeak.sourceforge.net,我不確定這個(gè)作為編程使用的編輯器是否有用,因?yàn)樗袝r(shí)好像反應(yīng)遲鈍,不過我還沒有查看任何配置選項(xiàng)。

[[79460]]

From Saqib

我是個(gè)盲人,我已經(jīng)使用Windows、mac、Linux和DOS編程大約13年了,使用的語言從C/C++、Python、Java、C#到各種小眾語言。盡管原問題是關(guān)于環(huán)境配置的,不過我認(rèn)為最好應(yīng)該從盲人如何使用電腦開始回答。

有些人使用有聲環(huán)境,例如T. V. Raman樓上提到的Emacspeak環(huán)境。迄今為止更通用的解決辦法是使屏幕閱讀器運(yùn)行在后臺(tái),并監(jiān)視操作系統(tǒng)的活動(dòng),然后通過合成語音或者物理點(diǎn)字顯示(一般一次顯示20至80個(gè)字符)提醒用戶。這就意味著盲人可以使用任何可訪問的應(yīng)用程序了。

那么,我自己這些日子在用Visual Studio 2008,只做了很少的更改。我關(guān)掉了一些諸如在輸入時(shí)顯示錯(cuò)誤等功能,因?yàn)槲野l(fā)現(xiàn)這個(gè)功能很容易使你分心。在加入微軟行列之前,我的所有開發(fā)工作都在類似記事本(Notepad)這樣的標(biāo)準(zhǔn)的文本編輯器中完成,所以仍然沒有任何自定設(shè)置。

讓屏幕閱讀器讀出縮進(jìn)也是可能的,我自己不用這個(gè)功能,因?yàn)閂isual Studio會(huì)處理這些,并且C#中是用大括號(hào)的。但是在像Python這樣空格很關(guān)鍵的語言中就很重要了。最后,Emacspeak可以使用不同的聲音/音高來指出語法的不同部分(關(guān)鍵字、注釋、標(biāo)識(shí)符等)。

From Manish

我是個(gè)盲人,已經(jīng)編程大約12年了。目前我是Sapient Corporation(一個(gè)劍橋的顧問公司,專注基于Web的和胖客戶端的企業(yè)解決方案)的高級(jí)架構(gòu)師。我使用幾個(gè)屏幕閱讀器,不過大部分是在Windows上使用的Jaws和NVDA。

我大部分在微軟平臺(tái)上工作,使用visual studio作為開發(fā)環(huán)境。我也使用像MS Sql企業(yè)版以及其他的數(shù)據(jù)庫操作工具、網(wǎng)絡(luò)監(jiān)控工具等。我曾嘗試花些時(shí)間使用emacspeak,不過由于我的工作大部分基于MS平臺(tái),所以不會(huì)在那上面花太多時(shí)間。我也花過幾年在Linux上使用C++,大部分時(shí)候是在windows上使用記事本或者visual studio完成所有的編碼工作,然后用samba與linux環(huán)境共享文件。我也使用borland C來做些小實(shí)驗(yàn)。最近在玩python,它普遍被認(rèn)為是對(duì)盲人用戶最不友好的程序語言,因?yàn)樗褂每s進(jìn)作為嵌套機(jī)制。說到這里,最流行的開源屏幕閱讀器NVDA就完全是用python寫的,而且這個(gè)項(xiàng)目的一些貢獻(xiàn)者本身就是盲人。一個(gè)很有意思的問題就是,我經(jīng)常被問到,作為一個(gè)架構(gòu)師我是如何處理各種圖表的(UML、viso以及rational rose等等)。Visio可能是最易操作的圖表工具了,我還可以寫jaws腳本來為我讀出rational rose圖表。我曾用過一個(gè)叫T-dub(technical diagram understanding for the blind)的工具來處理UML 2.0圖表,它是一些德國大學(xué)開發(fā)出來的。我還用過一個(gè)基于java的非常丑陋的工具叫做magic draw來處理模型驅(qū)動(dòng)(model-driven)的開發(fā)工作,并且作為androMDA項(xiàng)目的一個(gè)提交者(commiter)協(xié)助開發(fā)了從UML模型生成.Net代碼的生成器。

總體來說,我發(fā)現(xiàn)我的自力更生激勵(lì)了整個(gè)團(tuán)隊(duì)。例如,當(dāng)一個(gè)圖表對(duì)溝通/文檔化一個(gè)設(shè)計(jì)非常重要時(shí),實(shí)際的設(shè)計(jì)過程牽扯到大量的思考和頭腦風(fēng)暴,并且當(dāng)設(shè)計(jì)定稿時(shí),你的一個(gè)隊(duì)友可以幫你快速將其整理為一個(gè)干凈整齊的圖片。人們通常將這種情況視為缺乏獨(dú)立性或能力,而我卻認(rèn)為這是純正的相互依存,因?yàn)槲液艽_定那個(gè)隊(duì)友靠他/她自己或著幾人輪流都不可能想出那樣的設(shè)計(jì),如果我依賴他將設(shè)計(jì)文檔化也是如此。我遇到的大部分障礙都是基于工具的不可訪問的問題。例如所有的oracle的產(chǎn)品都鼓吹其訪問性好多年了(鄙視他們),但在團(tuán)隊(duì)環(huán)境中卻只搞了個(gè)在屏幕閱讀器和自定義腳本之上的額外的防御層。

From Edward Kmett

我為大底特律盲人輔導(dǎo)會(huì)(Greater Detroit Society for the Blind)工作三年了,運(yùn)營一個(gè)為盲人訪問量身定制的BBS,并且和很多盲人用戶一起工作探尋如何能夠更好地滿足他們的需求,并幫助新的盲人用戶訓(xùn)練他們使用軟件和硬件。如果不出意外的話,我至少學(xué)會(huì)了閱讀點(diǎn)字(盲文)來防止萬一我遇到跟他們一樣的處境。

大部分盲人計(jì)算機(jī)使用者及程序員使用類似屏幕閱讀器的東西。Jaws在某種程度上是最受歡迎的。幸運(yùn)地,現(xiàn)今的大多數(shù)應(yīng)用程序都提供了某種形式的殘障人士訪問方式。你可能需要將你的環(huán)境稍微調(diào)整一下,讓它少說一些,比如,可以考慮禁止Visual Studio中的智能感知(Intellisense)。

點(diǎn)字顯示設(shè)備就不那么常用了,相比之下也貴很多,它可以顯示40或80列文本,而且可以用在當(dāng)精確定位/標(biāo)點(diǎn)很重要的場合。而屏幕閱讀器可以配置成快速讀出標(biāo)點(diǎn),很多人發(fā)現(xiàn)它容易令人分心,其實(shí)通過它可以很容易找到適合自己的方式。Jaws可以配置成顯示驅(qū)動(dòng)的,因此你無法兼顧可訪問性應(yīng)用程序。

同時(shí),很多法律上的盲人用戶仍然有一點(diǎn)遺留的視力。使用高對(duì)比度的背景和放大功能可以幫助很多這樣的用戶。

在Windows中使用ToggleKeys可以在你不小心敲擊了”caps lock“、”num lock“、”scroll lock“等健時(shí)讓你能夠聽到。

我知道至少有一個(gè)Haskell(譯者注:一種純函數(shù)式編程語言)程序員使用屏幕閱讀器,并且不使用Haskell的布局規(guī)則直接編程,并且不使用非慣用(non-idiomatic)的選項(xiàng),而是用支持{;}的。因?yàn)樗粫?huì)使閱讀器讀出大量的標(biāo)點(diǎn),而且還得計(jì)算出Haskell布局規(guī)則中精確的縮進(jìn),這樣他就不會(huì)太過分心。同樣的,我還聽說一些盲人程序員在寫Python的時(shí)候發(fā)些牢騷。

最終,你還是要學(xué)會(huì)發(fā)揮自己的長處。

From Kyle Burton

可以從Blinux項(xiàng)目開始:http://leb.net/blinux/

這個(gè)項(xiàng)目描述了如何獲得Emacspeak(帶文本閱讀的編輯器)并且還有許多其他資源。

我曾經(jīng)跟這樣的一個(gè)人工作,他的視力導(dǎo)致他不能使用顯示器,但他使用屏幕閱讀器軟件并花費(fèi)大量時(shí)間使用基于文本的應(yīng)用程序和shell也工作得很好。

維基百科上有個(gè)屏幕閱讀器得列表,也可以從這里開始:

http://en.wikipedia.org/wiki/Listofscreen_readers

 From ifwzh

我是來自中國北京的一個(gè)研究生,我是計(jì)算機(jī)科學(xué)專業(yè)的并且大部分工作是編程。我天生弱視,需要使用放大工具才能看清屏幕上的文字。我在windows上使用微軟的放大鏡工具,在linux上使用compiz的放大插件。我一般將工具設(shè)置成放大原始字體的三倍。對(duì)于我來說,放大工具就夠了,主要問題是速度,我需要移動(dòng)鼠標(biāo)來確保指針跟隨我所看到的文本,微軟的放大鏡提供了一個(gè)選項(xiàng)”自動(dòng)跟隨文本編輯光標(biāo)“,這可以讓我在編輯文本或編碼時(shí)擺脫頻繁移動(dòng)鼠標(biāo)的困擾。但是這招并不總是管用,因?yàn)榫庉嬡浖蛘逫DE可能不支持。linux上的放大工具比較難用。KDE中自帶的KMag擁有令人恐怖的刷新率,讓我的眼睛很不舒服,我現(xiàn)在使用的compiz的放大插件還可以,不過沒有自動(dòng)聚焦功能。對(duì)我來說,iOS提供了十分完美的全屏放大解決方案,尤其是ipad的9.7英寸顯示屏。它們的自動(dòng)聚焦就沒必要了,因?yàn)槲液苌儆盟鼈兙庉嫽蚓幋a。安卓(Android)系統(tǒng)只提供了非常少的可訪問性功能,只有像搖動(dòng)反饋這樣的功能,對(duì)我根本沒用。在安卓上沒有什么放大工具,更別提像iOS上這種全屏放大的功能了。我以前研究Qt,希望做一個(gè)linux上好用的放大工具,甚至是安卓上的,不過很難有什么進(jìn)展。

 

通過以上一些回答,我們可以大致了解一些盲人程序員每天的工作狀況,我很驚訝居然有這么多盲人程序員,對(duì)于我們來說,可能蒙上眼睛就什么也干不了了,真的很敬佩這些同仁們!

我也希望能夠通過本文讓更多Web開發(fā)者更加關(guān)注網(wǎng)站的可用性及可訪問性問題,更多地關(guān)注殘障人士。

原文鏈接:http://www.ituring.com.cn/article/details/1346

責(zé)任編輯:林師授 來源: 圖靈社區(qū)
相關(guān)推薦

2015-02-03 02:40:33

程序員盲人程序員

2009-03-26 09:22:05

2012-12-03 10:22:24

程序員

2017-11-09 07:58:07

程序員編程代碼

2017-09-15 11:28:55

程序員編程常犯錯(cuò)誤

2021-06-15 14:36:38

程序員職業(yè)經(jīng)歷

2009-11-04 10:45:39

程序員生涯

2014-09-25 09:59:06

2011-04-11 09:30:00

程序員感慨

2016-11-21 11:54:34

程序員代碼

2012-08-30 10:05:40

編程編程語言程序員

2009-03-23 14:26:42

程序員網(wǎng)絡(luò)游戲經(jīng)驗(yàn)

2018-01-03 10:28:02

程序員生涯雷軍

2013-11-14 10:05:25

程序員職業(yè)轉(zhuǎn)型

2014-11-10 09:46:57

程序員

2015-06-03 10:22:31

程序員代碼

2013-08-20 09:33:59

程序員

2018-05-28 14:55:56

職業(yè)錯(cuò)誤程序員

2014-06-13 11:03:19

程序員

2009-02-27 09:25:28

編程語言程序員C#
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)