自学电脑编程_程序人生:盲人程序员蔡勇斌——用耳朵打开盲人的程序世界 - 沐歌爱编程...

有句话说:没有你想不到,只有你做不到。今天想为大家介绍一位程序员界中的励志人物,他就是蔡勇斌。

蔡勇斌幼年失明,靠着顽强的毅力和不服输的精神自学编程,成为了一名全栈工程师。

他是阿里“多隆奖”首位盲人获得者,十年间,他开发的PC秘书,安卓秘书等,广泛应用于互联。

他说:只要环境无障碍了,这世界就不存在残疾人。

c8341a157e8050341172ad2aea5bad6a.png

不愿做盲人按摩师的盲人少年

蔡勇斌于1988年出生在广东省东莞市。6岁那年,蔡勇斌家里装修,他因为好奇和贪玩,不小心被石灰灼伤了眼睛,仅存一点光感,视力几近为零。由于视力存在严重的障碍,蔡勇斌一直到13岁才得以去了深圳元平特殊教育学校读书。到中考前,蔡勇斌因为需要做手术而辍学,前前后后,他只上过4年的学。

当时考虑到以后的生计问题,家人最初给蔡勇斌安排的出路是学习按摩,将来做一名盲人按摩师,但蔡勇斌并不喜欢按摩。

蔡勇斌在深圳特殊学校上学时,一次偶然的机会接触到了互联网,当时有一款功能简单的读屏软件,可以帮助蔡勇斌接触外面的世界,但由于那时的读屏软件功能单一,仅仅限于读写功能,因此没能带给他带去太多的帮助。

后来,功能更强大的读屏软件诞生了,蔡勇斌可以通过它浏览互联网、下载资料、进行QQ聊天等等。第一次听到QQ的咳嗽声,蔡勇斌非常的兴奋,就像是打开了新世界的大门一样,从此蔡勇斌不可自拔地愛上了网络。

997a7c869f91e7860edfbe22901c0777.png

动手重装系统

上高中时,蔡勇斌有一回在家里琢磨电脑时,不小心把哥哥电脑上的系统软件给删除了。他既紧张又害怕,担心被哥哥责罚的他决定靠自己摸索,给电脑重装系统。眼睛看不见的蔡勇斌只能靠着耳朵听声音来判断系统重装到了哪一步。就这样,经过无数次的摸索和学习,蔡勇斌终于学会靠听声音就能熟练给电脑安装系统软件的本领。

蔡勇斌从这件事之中获得了很大的成就感,同时也启发了自己:何不学会使用电脑来改善生活。他不禁想到这世上还有无数和他一样身处黑暗之中的盲人,他们使用电脑时肯定存在许多不便。蔡勇斌就想着有没有可能开发出一些电脑软件给他们使用,让他们也可以和正常人一样使用网络来学习并且和外界交流。

09dfd1e95bb518f3d38c85f2d34a89ca.png

自学编程

有了这个想法之后,蔡勇斌开始想办法学习电脑编程。尽管蔡勇斌身处互联网科技先进发达的深圳,但对于一个眼睛看不见的少年来说,学习编程又谈何容易。

因为看不见相关的教材,蔡勇斌便找到学校的计算机老师央求他教自己编程。一开始,老师被蔡勇斌的想法给惊呆了,一个盲人竟然想学习编程?这简直是天方夜谭!出于好心,老师劝蔡勇斌不要折腾,不如趁早放弃这个念头。但蔡勇斌却异常地坚定执着,他一次次地去找老师,向他虚心求教,最终被他的执着所感动的老师同意试着教蔡勇斌。

虽然有老师帮忙,但蔡勇斌的编程学习之路却并不顺利。因为看不见的缘故,很多的代码都要靠背诵来识记。有时候为了写一小段程序,蔡勇斌却不得不把所有的代码都背诵下来,不仅为了查找方便,还为了修改时不需要别人帮助就可以自己更正。除了这些,因为很多编程书籍没有盲文版,蔡勇斌只好花高价钱请人把编程书籍翻译成语音版的。

反复地背诵,不断地练习,一次次地自我纠错,蔡勇斌不知道在黑暗中摸索了多久,他曾经从早上六点就坐在电脑面前自学,一直到晚上八点才恋恋不舍地离开。靠着不懈的坚持和惊人的毅力,蔡勇斌牢牢记住了几百万字的程序代码,也学会了如何编程。

06241a50ccfe49efb854a637f6224d22.png

成为全栈工程师

为了能跟上技术的更迭,蔡勇斌逼着自己学习了C语言、C++,为了自己的软件能有一个发布平台,他还学习了建站技术、PHP、Javascript等编程语言。如今的蔡勇斌已经成了一名具有十几年开发经验的全栈工程师,Web端、移动端、PC端都有涉及,不管是前端还是后端都有做过代码相关的工作。

对于这些经历,蔡勇斌并不觉得痛苦,他总是能在苦中作乐。

在学习html语言时,由于视觉障碍的关系,蔡勇斌起先怎么也不能理解tr(表格的行)、td(表格的列)到底有什么区别。于是,利用自己的一点残存的一点光感,蔡勇斌将电脑屏幕调到最亮,把脸凑得很近,以此来分辨tr和td的区别。

蔡勇斌曾调侃自己:“当时我的电脑是完全没有灰尘的,大概是凑得太近,眉毛把灰尘全清理掉的缘故吧。”

用耳朵写代码

人们也许会好奇,眼睛看不见的话,怎么能写出代码?

对蔡勇斌来说,写代码是用耳朵来完成的。和一般的程序员不同,他工作时不需要打开电脑屏幕,而是通过读屏软件听取每一个字符代码来进行程序编写,因此一个主机、一个键盘、再戴一个耳机就可以了。至于写代码,则通过记事本。对于像蔡勇斌这样的程序员来说,记事本是一个很好的编程环境,因为它的无障碍效果最好,不管是快速查找、跳转、或者浏览,都是一个非常便捷的工具。

同时,蔡勇斌编写程序时追求越简洁越好,不追求过多的排版。排版是相对于视觉而言,对于听觉而言,则完全没有必要。

3ab3d87bde9ce0384ca47d015e14b64f.png

积极通过互联网改善盲人的生活

成为一个出色的程序员之后,蔡勇斌加入了深圳信息无障碍学会。这是一个致力于用电脑和网络等新型技术来改善残疾人生活的协会。深知盲人生活的不便的蔡勇斌决定用自己的特长来改善盲人的生活。

为了让盲人的生活变得方便起来,蔡勇斌决定从互联网着手,他先后与阿里巴巴、百度等知名互联网公司合作,一步一步改善盲人的生活。他从自己学习编程时靠耳朵和语音达到与正常人学习速度的经历中受到启发,决定让所有盲人软件都逐步实现“语音化”、“智能化”。

蔡勇斌利用自己身为盲人的特点,设身处地地为他们着想,亲自参与各种软件的设计。在他的努力下,手机天猫、无障碍版的通讯软件钉钉、手机百度等盲人版相继上市。同时为了让视觉障碍者们能够顺畅地学会使用这些软件,他还一次次地深入全国各地的盲人学校,亲自教他们如何使用。

互联网给普通人带来了便利,也给残障人士带来了许多不可替代的解决方案。蔡勇斌说,“只要这个产品‘无障碍’了,这个世界上是不存在所谓的‘残疾人’的。互联网成为了我们身体的延伸。”

123a40e9492048cd1094cc650858eec2.png

荣获“多隆奖”

2018年5月,五四青年节社区发起了来晒晒属于你的“第83行”的活动,活动中邀请业界的大牛、大神们来晒代码或者Review代码!最终,由网友和大牛共同评选出了获得点赞和大牛评分最高的2位参与者,其中一位正是蔡勇斌。对于蔡勇斌晒出的代码,阿里巴巴系统软件事业部高级研究员多隆评价称:“简洁,这可能是盲人工程师特点。”

29日,多隆在第二届研发效能嘉年华(云效)直播间为其颁发了“多隆奖”。他的获奖评语为,“作为一个拥有10年PC开发经验的盲人程序员,他不仅参与了钉钉无障碍版本的测试,还编写过很多帮助盲人使用电脑之类的软件。他带我们走进了属于他的代码视听世界,让更多盲人看见。”

结语

中国有1731万视障者,如果蔡勇斌的App能打造成功,也便是让这些人有机会在互联网时代无障碍通行,“看见”全世界了。

在黑暗的世界里,他用各种方式自救,更像堂吉诃德面对风车一样,挑战着世俗的偏见。如果有一天,都市的写字楼里有盲人白领,咖啡店里有盲人老板,电视里有盲人主持人……到那时,也许不需要自救者联盟,盲人们都可以无障碍地与世界交流相处,并且有尊严地生活下去。

b3026be87c66c9f4e5af19c39f87451c.gif

最后,如果你也想成为程序员,想要快速掌握编程,这里为你分享一个学习企鹅圈子!

里面有资深专业软件开发工程师,在线解答你的所有疑惑~编程语言入门“so easy”

编程学习书籍:

d9cfb330bc0a4a9a5672f632c10edc54.png

编程学习视频:

7a0ef9e1aa1823fc502ca4d1bb6be2e7.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262262.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qtabwidget的图标_QTabWidget每个标签上的关闭按钮怎样设置

自己做窗标题栏首先[DllImport("User32.dll", EntryPoint "ReleaseCapture")] static extern long ReleaseCapture(); [DllImport("User32.dll", EntryPoint "SendMessage")] private static extern int SendMessage(IntPtr hWnd, i…

poj 2299 (归并排序)

给定一个无序的数列&#xff0c;由32位整数组成的&#xff0c;序列长度可达500000&#xff0c;现在通过不断的两两交换&#xff0c;把这个序列排成由小到大的有序序列&#xff0c;问交换的次数是多少。 1 #include<stdio.h>2 #include<stdlib.h>3 #define NN 50000…

SQLite轻量级数据库,操作数据常用语句

2019独角兽企业重金招聘Python工程师标准>>> -----创建表---- ----------表格头英文换中文显示select name as 名字,age 年龄,class from student -----if not exists判断表存在否--字符串用char也行--- --如果用自增长&#xff0c;只能用包装类型integer,不能用int…

.NET常用功能和代码[总结与收藏] (转)

.NET常用功能和代码[总结与收藏] 1. 打开新的窗口并传送参数&#xff1a; 传送参数&#xff1a;response.write("<script>window.open(*.aspx?id"this.DropDownList1.SelectIndex"&id1"...")</script>") 接收参数&#xff1a;s…

deepin安装卡死在蓝色背景_求大神帮助~安装DEEPIN系统卡在蓝色背景图什么原因...

可能是联想拯救者 R7000笔记本的原因&#xff0c;用以下方法解决了先点开联想的电脑管家 你能在左边栏找到一个选项 那个选项是显卡模式点击进去→然后选择独显模式(如果找不到就在当前界面里面选择调回游戏模式)然后重启电脑确认你的电脑进入了独显模式然后再次重启按F2(单按…

cuda编程_CUDA编程入门(四)并行归约算法

这一篇我们一起学习一下如何使用CUDA实现并行归约算法。首先我们要知道什么是并行归约。并行归约&#xff08;Reduction&#xff09;是一种很基础的并行算法&#xff0c;简单来说&#xff0c;我们有N个输入数据&#xff0c;使用一个符合结合律的二元操作符作用其上&#xff0c;…

在ubuntu下各种格式软件安装及常用命令

Ubuntu下软件安装的几种方式&#xff1a; (1).bundle 格式 以VMware-Workstation-Full-7.0.0-203739.i386.bundle为例 命令如下&#xff1a;sudo sh VMware-Workstation-7.0.0-203739.i386.bundle(先切换到该文件所在文件夹) (2).deb格式 最常用的是deb包&#xff0c;deb是deb…

解决Windows客户端访问vsftpd服务器中文乱码问题

上周五-业务部同事反馈客户使用我司的FTP服务&#xff0c;发现文件和目录是中文全部乱码,不方便查看修改文件目录等操作故障原因&#xff1a;vsftpd不能处理字符编码的转换&#xff0c;Windows使用GBK编码&#xff0c;linux使用zh_CN.UTF-8编码解决方法&#xff1a;1、使用能够…

csgo怎么控制电脑玩家_电脑怎么远程控制他人电脑,教您给电脑设置远程控制的方法...

有些时电脑出现了一些我们解决不了的问题时&#xff0c;这时我们一定第一时间想到就是让电脑高手帮忙看一下问题&#xff1b;但要对方在异地该办呢&#xff0c;那就通过电脑远程来解决了&#xff1b;那么问题又来了&#xff0c;电脑怎么远程控制他人电脑呢&#xff1f;小编下面…

JAVA实验报告九异常处理_JAVA实验报告_Java异常处理

贵州大学实验报告学院&#xff1a;计信学院专业&#xff1a;网络工程班级&#xff1a;101 姓名学号实验组实验时间05.27 指导教师肖源源成绩实验项目名称Java异常处理实验目的1)掌握Java异常的概念及工作机制2)掌握异常的分类3)掌握抛出异常语句的使用(throw)4)掌握抛出捕获处理…

win8下vs2012加wp8 sdk开发xna4.0PC游戏

vs2012安装wp8后&#xff0c;只能开发手机端的xna游戏程序&#xff0c;没有xbox和pc端的&#xff0c;看来官方是不打算更新了&#xff0c;不过我们还是有办法的。前提条件下&#xff0c;您得安装了vs2010和xna4.0 game studio或者是windows phone sdk 7.1。如果您没有安装wp8&a…

div悬浮在固定位置_悬浮式超声波致动器概要及研究动向

作者&#xff1a;东京工业大学 中村 健太郎1. 序言以往的超声波马达是通过摩擦力驱动&#xff0c;固定片压电振子与转子接触&#xff0c;通过振动摩擦转子从而获得旋转力和推动力。虽然具有高转矩、高控制性等特点&#xff0c;从原理上讲其速度无法超过振子振动速度。压电振子的…

基于Java的设计开题报告_基于Java的电子邮件的收发系统的设计与实现开题报告...

基于Java的电子邮件的收发系统的设计与实现开题报告 (8页)本资源提供全文预览&#xff0c;点击全文预览即可全文预览,如果喜欢文档就下载吧&#xff0c;查找使用更方便哦&#xff01;9.90 积分开题报告 基于 Java 的电子邮件的收发系统的设计与实现 一、选题的背景、意义 1、 电…

Java GUI 开发专题

Java GUI 开发专题 IBM http://www.ibm.com/developerworks/cn/java/j-gui/#N10095 作者&#xff1a;wenhai_zhang 发表于2009-11-25 23:53:00 原文链接 阅读&#xff1a;7 评论&#xff1a;0 查看评论 转载于:https://www.cnblogs.com/wenhaizhang/archive/2009/11/25/2099172…

Zookeeper-源码启动

源码启动zookeeper zookeeper源码下载地址&#xff1a; //选择分支3.5.8 https://github.com/apache/zookeeper.git 源码导入idea后&#xff0c;org.apache.zookeeper.Version类会报错&#xff0c;需要建一个辅助类 //全局搜索org.apache.zookeeper.Version这个类就找到了…

python之获取微信服务器的ip地址

# -*- coding: cp936 -*- #PYTHON 27 #xiaodeng #获取微信服务器的ip地址import urllib urlhttps://api.weixin.qq.com/cgi-bin/getcallbackip data{access_token:VchuOKNr8X9tZVDrY_yG9qiJus_1nO1a7uT_iwWVwgGFdzPhPyaqreTE_qMKPas4SwRNif5k0A1zVw6Y9eTPI4CAYiUwpJvHdBt4fzDTR…

pandas 取excel 中的某一列_Excel快速分表(xlwings+pandas)

Excel总表快速分表&#xff1a;step1: 读取exel数据到DataFramestep2: dataframe中数据进行筛选step3&#xff1a;将筛选完的数据存储到excel中工作中应用实例step1&#xff1a;读取Excel的数据到pandas 的Dataframe方法1&#xff1a;采用pandas&#xff0c;读取sheet1的内容到…

[转]C#连接操作mysql实例

本文转自&#xff1a;http://hi.baidu.com/zhqngweng/item/c4d2520cb7216877bfe97edf 第三方组件&#xff1a;Mysql.Data.dll说明&#xff1a;去官方网站下载Mysql.Data.dll&#xff0c;然后在项目中添加该组件的引用&#xff0c;在代码页里输入using Mysql.Data.MysqlClient&a…

通过点击切换文本框内容的脚本示例

定义一个字符串为内容的数组,每一行的多个文本框为一组,要求点击切换内容,且内容不重复. 代码 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">2 <html>3 <head>4 <title>New Document </title>5 <script>6 …

qmenu只在鼠标单击时消失_两种方法解决win10电脑无法使用无线鼠标问题

使用有线鼠标时用户们是否也都会被那条线控制住&#xff0c;有时需要大范围移动时并不行&#xff0c;现在很多用户都会选择使用无线鼠标&#xff0c;因为可以随意移动使用更加方便。但是在使用中也有用户遇到了麻烦&#xff0c;使用win10连接鼠标后无法使用&#xff0c;这是要怎…