我的德国盲人程序员朋友(1)
盲人也能做程序员吗?
看了在德国工作的程序媛许小西的回忆故事,相信能给生活中暂时遇到挫折的你,一点点前进的动力。
小西:来讲讲我的那个计算机专业的德国盲人朋友吧。想起来认识他已经差不多是距今十年左右的事情了。每当我没有勇气继续前行的时候,我都会想想他的故事。
初识
那时的某天,有人在学校食堂的各种小广告板上贴了个条:找人做他的助手帮他一起“看”一些课件。嗯,之所以在“看”上打上引号,因为他其实是一个盲人。当年正好处于各种求打工机会养活自己的时候,看到他给出的每个小时的时薪挺丰厚的,还有一部分原因也有对盲人读大学的好奇,于是邮件联系了他。嗯,没错,他留了邮箱,并且很快的回复了我的邮件约定了我们见面的时间,于是在当时有过短短的片刻,我甚至怀疑过他到底是不是真的是一个盲人,或者只是一个骗子?
后来的日子里,我做了他差不多一年的助手。这一年里几乎每一次我和他的见面,都会给我的心灵带来巨大的冲击。也许在我的概念里,残疾人,特别是盲人或者聋哑人,在中国都是特别弱势的群体。也许他们可以去特殊的工厂上班,也能拿到微薄的也许能够勉强维持的生计的工资,但是他们在普通人看来终究还是一个悲情的角色。我也是带着这样的先入为主自以为是的怜悯,开始认识这个1米90的德国大男生S。
见到他的第一面,他告诉我,他在读大学,第四学期了。在一所双元制大学。(嗯,德国的双元制大学是这么一种大学,学生一般是上一学期的课,然后去和大学合作的企业去实习一学期,在这一学期里面你可以在这个企业里的不同部门实习,一般是一个部门3个月,然后再轮职到下一个部门。这样每学期下来你都可以在这个企业的差不多2个部门得到相关的锻炼,然后,再继续回到学校上一学期的理论课,这么循环个4年,并且通过了所有的考试,你就能够毕业了。)在大学读书已经很令我吃惊了,可他丝毫不在乎我的吃惊而是继续告诉我,他是学计算机应用的。一个残疾人,确切的说是一个双眼都完全失明的盲人,能上大学,并且学习的是一门几乎完全是要在电脑屏幕上来工作的专业,这对当时的我来说简直等于天方夜谭了吧!
接下来的日子,我一次次的用自己的双眼见证着这个令人钦佩的奇迹。
震惊
S有一台普通的笔记本电脑,他需要的只是一个外接的盲文特制键盘。嗯,盲文键盘是这样一种设计,除了我们普通键盘上的字母和符号按键之外,它还附加了一块用很多能活动的小凸点组成的盲文显示区域。当鼠标指定到电脑屏幕上的某一位置,这里的内容就能够被活动的凸点排列组成相对应的盲文,于是,当鼠标被缓慢的移动,屏幕上一行的内容就能被“读”出来了。
同时,电脑的操作系统里都有自带的残疾人辅助语音功能,同样是靠鼠标的移动和定位,屏幕上的内容也能同步的被阅读出来。于是,每当他打开电脑,接好键盘再带上耳机,他的嘴角都会溢出微笑。我想,这应该是他最快乐的时候了吧。因为这个时候,他能够像一个真正的大学生一样,学习,编程,上网,“看”新闻,发邮件甚至聊天。
遇到PPT格式的课件,是他最苦恼的事情。因为很多文字被镶嵌在图片里以致鼠标无法取字进而识别。他所在的学院的任课教授,但凡是遇到这样格式的课件,都会专门为他制作一份相应的Word版本的文档,以便他能够更方便的阅读。不得不说,在这方面,尽管我从来不是一个所谓的“公知”,但是还是要感慨下欧洲国家的人性化以及他们为残疾人所提供的各种尽可能的便利以及帮助。
可是,尽管有先进的专用键盘及语音辅助,以及友好的极尽所能给予帮助的任课教授,作为一名计算机专业的学生,还是会遇到各种需要用画图来理解算法的时候。嗯,这就是我出马的时候了。计算机的图论里面有几个用来计算一些节点之间最短路径的重要算法,比如A*算法,再比如Dijkstra算法。在计算的时候,你需要不停的修改你之前生成的路径图,每添上一个新节点,就需要重新计算一次最短路径,然后画出新的最短路径。可以说,帮助他学习图论的那个时候,真是最有挑战的一段经历了。
艰难
那个时候我的德语也不是很好,刚刚来了2年不到,日常对话和上课还算勉强可以,可是,要组织语言,把本来你可以直接画在纸上就能讲解清楚的东西,必须一步步用文字描述出来,使其变有形为无形,让对方能在任何图形都看不到的情况下仅仅凭借想象在大脑中勾绘一个图形,并且这个图形还是一步步动态改变的,现在想起来我都觉得头大。幸运的是,不知是因为上天觉得在视觉上亏待了他所以要在其他方面给予他补偿,还是因为视力的缺陷迫使他后天不得不锻炼出其他的技能,总之,S拥有我望尘莫及的优秀记忆力。
于是,我们一起计算着新的节点新的路径,他在把他们量化的输入到电脑上的同时把它们同样全部“输入”到了大脑里。每当要将一个新结果和之前的路径比较的时候,他便会轻皱眉头沉思片刻,然后从大脑中“取出”他想要的数据。当节点太多已经记不太清的时候,他就摸索着键盘,把鼠标重新定位到之前的数据那里重新“看”一遍。就这样一遍一遍的重复,一遍一遍的计算,经常,7,8个小时就过去了。
周中的时候,我先自学他的讲义大概3到4个章节,然后找到我认为的重点和考点,并且把这几个章节里附带的练习自己先做一遍。
然后周末碰面的时候,先给他讲讲义上的一个重点,然后我们一起做一遍相关的练习再和我之前自己做的答案对照一下(因为这些练习大部分都是没有给出标准答案的,所以只能靠自己做)。
然后我再给他讲课件上的下一个重点,然后再一起做练习巩固。就这么一个个的把我自学的这几章节的所有重点都过完一遍,那么这一周的任务就算完成了。
收获
朋友
感激
看了这个故事后,
我试着闭着眼睛,想象自己打开编辑器,
打开一个Java项目,
用鼠标从上至下”浏览“项目里的诸多class,
再打开其中一个class,
用盲文键盘”阅读“代码,
再修改其中一行。
然后开启debug模式,
用键盘读取console里繁多的log
再回到编辑窗口修改代码......
我真的已经无法再想象下去,自己工作中遇到的那点烦心事算个屁。
虽然生活的重负把我们压得面目全非,
但是我们必须得笑面生活。
小西表示,还会有续篇,叙述这位朋友更多的故事,但是要看大家赞赏和转发的支持度来定写稿日期了。