一种绝对提高开发水平的方法
一、概要
英语对提升软件开发水平很重要。
假设你英文水平不高,这并不影响你成为一个普通程序猿。程序很多其它是靠逻辑思维。
假设做了多年开发的你发现自己的水平一直上不去,你可能要提高自己的英文水平了。英语就是你技术的瓶颈,对有些人可能是硬伤。
我周围的高水平的开发人员英文都不差,官方API,专业英文资料、书籍没问题,代码质量也明显也高很多(比方说命名)。
英语是世界上使用最广泛的语言之中的一个。是欧盟、很多国际组织与英联邦国家的官方语言之中的一个。现在英语也是与电脑联系最密切的语言,大多数编程语言都与英语有关系。
英语在软件行业、编程世界里都占有压倒性的优势,它可以帮助人们在关键词和代码库的选择上带来灵感。
依据HOPL编程语言在线数据库的统计,全球有8500种以上的编程语言,大概2400种起源于美国,600种是在英国发展起来的,160种是来自加拿大的,75种是在澳大利亚发展起来的。换句话说,世界上三分之中的一个以上的编程语言是在以英语为母语的国家发展起来的。可见,英语在编程语言里是多么的重要。
计算机相关的书籍质量英文原版明显高于中文版。
看中文文档肯定比都英文方便,节省时间,但软件的主流技术是在国外,这样的对翻译依赖使很多程序猿失去获取第一手资料的宝贵机会。
在日常中大量阅读英文书籍和资料是提高计算机英语水平的最佳途径。
眼下市场上大量的计算机原版影印图书为我们提供绝好的机会,阅读英文计算机图书一開始是啃的感觉,比較费时费力,对于英文基础不是非常好的人。来说应该是相当艰苦的。可是我们要是要去做,对于不太好的地方,最好还是拿起笔来逐行逐字的翻译出来,这对英语水平的提高非常有帮助
一般完整阅读2-3本原版书籍以后,你就能发现读原版的乐趣。并受益终生
我的英文水平非常一般,但我坚持学习,近期我同事“David”(又称军爷:)向我推荐了一本比較适合阅读的英文原版计算机书籍《object-oriented-javascript》,翻译过来是"javascript面向对象编程"。有翻译稿与原版:
这本书有第二版了。
上面是David翻译的。很棒。
二、经常使用单词
2.1、0基础单词
第一节
void:[vɔid] 空的
main:[mein] 基本的
class:[klɑ:s] 类
system:['sistəm] 系统
out:[aut] 出,外,输出
print:[print ] 打印
public['pʌblik] 公共的,公用的
static['stætik] 静的;静态的;精巧的
oracle: [ˈɔ:rəkl] 甲骨文公司
eclipse:[i'klips] java编程软件
第二节
int:[int] 整型
char:[tʃɑ:] 字符型
scanner:['skænə] 接收输入,扫描器
integer:['intidʒə]整数 整型
type:[taip]类型
string:[striŋ] 字符串类型
double:['dʌbl] 双精度浮点型
第三节
boolean:['bu:li:ən] 布尔类型真假二值
true:[tru:]真
false:[fɔ:ls]假 不对的
if:[if] 假设
else:[els] 否则
break:[brek] 打破。跳出
第四节
case:[keis] 情况,实例
default:[di'fɔ:lt] 默认
switch:[switʃ] 开关,切换
break:[breik] 退出
match:[mætʃ] 匹配
exception:[ik'sepʃən] 异常
equals:['i:kwəls] 相等
第五节
while:[hwail] 当什么时候。常作循环
index:['indeks] 索引
bug:[bʌg] 缺陷
debug:[di:'bʌg] 调试
step:[step] 步骤
error:['erə] 错误
answer:['ɑ:nsə] 答案 回答
第六节
rate:[reit] 比率
young:[jʌŋ] 年轻的
customer:['kʌstəmə] 顾客 买主
birthday:['bə:θdei] 生日
point:[pɔint] 分数 得分 点
continue:[kən'tinju:] 继续、进入到下一个循环
return:[ri'tə:n] 返回
total:['təutl] 合计、总人数,,全体的
第七节
array:[ə'rei] 数组
length:[leŋθ] 长度
sort:[sɔ:t] 分组 排序
primitive:['primitiv] 初始的 简单的
reference:['refərəns] 參照 证明 关系
info:['infəu] 通知 报告 消息
interface:['intəfeis] 接口
第八节
random:['rændəm] 随机
insert:[in'sə:t] 插入 嵌入
compare:[kəm'pɛə] 比較 对比
ignore:[ig'nɔ:] 忽视 不理会
invert:[in'və:t] 使转位 倒转
password:['pɑ:swə:d] 密码 口令
第九节
bit:[bɪt] 位,0或1
byte:[baɪt] 字节,8个bit
put:[pʊt] 放
log:[lɔ:g] 日志
show:[ʃoʊ] 展示,显示
第十节
change:[tʃeindʒ] 交换 互换
administrator:[əd'ministreitə] 管理员
initial:[i'niʃəl] 開始的、最初的
class:[klɑ:s] 类
object:['ɔbdʒikt] 物体 对象
encapsulation:[in,kæpsju'leiʃən] 封装
null:[nʌl] 空的
第十一节
person:['pə:sn] 人
start:[stɑ:t] 開始
menu:['menju:] 菜单
login:[lɔg'in] 登陆
main:[mein] 基本的
document:['dɔkjumənt] 文档
display:[di'splei] 显示
method:['meθəd] 方法 条理
version:['və:ʃən] 版本号
parameter:[pə'ræmitɚ] 參数
since:[sins] 自…..之后
calculator:['kælkju,leitə] 计算器
第十二节
shape:[ʃeip] 形状
open:[əup] 打开
date:[deit] 日期
operate:['ɔpə,reitə] 操作
protect:[prə'tekt] 保卫 护卫
private:['praivit] 私人的 私有的
第十三节
manage:['mænidʒ] 控制。管理
search:[sə:tʃ] 搜寻 查找
upper:['ʌpə] 上面的
第十四节
equal:['i:kwəl] 相等的
ignore:[ig'nɔ:] 忽视 驳回
lower:['ləuə] 较低的 下部的
last:[lɑ:st] 最后的
trim:[trim] 裁切
concatenate:[kɔn'kætineit] 使连锁 连成一串 使连接
buffer:['bʌfə] 缓冲
final:['fainl] 最后的 终于的
第十五节
定义变量中经常使用的单词
score:[skɔ:]成绩
price:[prais]价钱
test:[test]实验,測试
demo:['deməu]演示样例
sum:[sʌm] 和
num:[nʌm] 数字
height:[hait] 身高
weight :[weit] 体重
music:['mju:zik] 音乐
computer:[kəm'pju:tə] 电脑
student:['stju:dənt] 学生
total:['təutl] 总计的,总括的,全体的
第十六节
max 最大的
min 最小的
avg 平均分
Add 加
Minus 减
multiply:['mʌltiplai] 乘
divide:[di'vaid] 除
Monday:['mʌndei] 星期一
Tuesday:['tju:zdi] 星期二
Wednesday:['wenzdi] 星期三
Thursday:['θə:zdi] 星期四
Friday:['fraidi] 星期五
Saturday:['sætədi] 星期六
Sunday:['sʌndi] 星期日
月份+缩写
一月:January Jan.
二月:February Feb.
三月:March Mar.
四月:April Apr.
五月:May –
六月:June –
七月:July –
八月:August Aug.
九月:September Sept.
十月:October Oct.
十一月:November Nov.
十二月:December Dec
2.2、高级部分
下载区能够下到Excel文件。
三、《Java语言程序设计》书中单词频率排行
使用工具软件能够把一本电子档中的单词所有提取出来,并分析其出现频率,如:
以下是我分析一本电子书的单词:
查看全部单词:
四、常见异常与错误翻译
4.1、java中
//算术异常 ArithmeticExecption //空指针异常类 NullPointerException //类型强制转换异常 ClassCastException //数组负下标异常 NegativeArrayException //数组下标越界异常 ArrayIndexOutOfBoundsException //违背安全原则异常 SecturityException //文件已结束异常 EOFException //文件未找到异常 FileNotFoundException //字符串转换为数字异常 NumberFormatException //操作数据库异常 SQLException //输入输出异常 IOException //方法未找到异常 NoSuchMethodException //抽象方法错误,当应用试图调用抽象方法时抛出 java.lang.AbstractMethodError //断言错误,用来指示一个断言失败的情况 java.lang.AssertionError //类循环依赖错误。若检測到类之间循环依赖则抛出该异常 java.lang.ClassCircularityError //类格式错误 java.lang.ClassFormatError //错误基类。标识严重程序执行问题,不应被应用程序捕获的反常情况 java.lang.Error //非法訪问错误,违反域或方法的可见性声明 java.lang.IllegalAccessError //不兼容的类变化错误,当正在执行的方法所依赖的类定义发生了不兼容的改变时。抛出该异常 java.lang.IncompatibleClassChangeError //实例化错误。构造一个抽象类或者接口时抛出该异常 java.lang.InstantiationError //内部错误 java.lang.InternalError //链接错误 java.lang.LinkageError //未找到类定义错误,找不到该类的定义时抛出该错误 java.lang.NoClassDefFoundError //域(成员变量。字段)不存在错误 java.lang.NoSuchFieldError //方法不存在错误 java.lang.NoSuchMethodError //内存不足错误 java.lang.OutOfMemoryError //堆栈溢出错误,如递归调用的层次太深 java.lang.StackOverflowError //线程已结束 java.lang.ThreadDeath //未知错误 java.lang.UnknownError //未满足的链接错误 java.lang.UnsatisfiedLinkError //不支持的类版本号错误 java.lang.UnsupportedClassVersionError //验证错误 java.lang.VerifyError //虚拟机错误 java.lang.VirtualMachineError //算术条件异常。如整数除零 java.lang.ArithmeticException //数组索引越界异常 java.lang.ArrayIndexOutOfBoundsException //数组存储异常,存放非数组声明类型 java.lang.ArrayStoreException //类型转换异常 java.lang.ClassCastException //找不到类异常 java.lang.ClassNotFoundException //克隆不支持异常,如没有实现Cloneable接口 java.lang.CloneNotSupportedException //枚举常量不存在异常 java.lang.EnumConstantNotPresentException //根异常 java.lang.Exception //非法訪问异常 java.lang.IllegalAccessException //非法的监控状态异常 java.lang.IllegalMonitorStateException //非法的状态异常 java.lang.IllegalStateException //非法的线程状态异常 java.lang.IllegalThreadStateException //索引越界异常 java.lang.IndexOutOfBoundsException //实例化异常 java.lang.InstantiationException //被中断异常 java.lang.InterruptedException //数组大小为负值异常 java.lang.NegativeArraySizeException //属性不存在异常,当訪问某个类的不存在的属性时抛出该异常 java.lang.NoSuchFieldException //方法不存在异常 java.lang.NoSuchMethodException //空指针异常。当应用试图在要求使用对象的地方使用了null时。抛出该异常 java.lang.NullPointerException //数字格式异常 java.lang.NumberFormatException //执行时异常 java.lang.RuntimeException //安全异常 java.lang.SecurityException //字符串索引越界异常 java.lang.StringIndexOutOfBoundsException //类型不存在异常 java.lang.TypeNotPresentException //不支持的方法异常 java.lang.UnsupportedOperationException //Jsp页面异常 javax.servlet.jsp.JspException //JSP引擎解析异常 org.apache.jasper.JasperException //Servlet异常 javax.servlet.ServletException //对象已被删除异常 org.hibernate.ObjectDeletedException
4.2、.NET中
System.Exception //全部异常的基类型 System.ApplicationException //发生非致命应用程序错误时引发的异常 System.SystemException //为System命名空间中的提前定义异常定义基类 System.SystemException //异常根类 System.AccessViolationException //在试图读写受保护内存时引发的异常 System.ArgumentException //在向方法提供的当中一个參数无效时引发的异常 System.Collections.Generic.KeyNotFoundException //指定用于訪问集合中元素的键与集合中的不论什么键都不匹配时所引发的异常 System.IndexOutOfRangeException //訪问数组时,因元素索引超出数组边界而引发的异常 System.InvalidCastException //因无效类型转换或显示转换引发的异常 System.InvalidOperationException //当方法调用对于对象的当前状态无效时引发的异常 System.InvalidProgramException //当程序包括无效Microsoft中间语言(MSIL)或元数据时引发的异常,这通常表示生成程序的编译器中有bug System.IO.IOException //发生I/O错误时引发的异常 System.NotImplementedException //在无法实现请求的方法或操作时引发的异常 System.NullReferenceException //尝试对空对象引用进行操作时引发的异常 System.OutOfMemoryException //没有足够的内存继续运行程序时引发的异常 System.StackOverflowException //挂起的方法调用过多而导致运行堆栈溢出时引发的异常 System.ArgumentException //參数异常 System.ArgumentNullException //当将空引用传递给不接受它作为有效參数的方法时引发的异常 System.ArgumentOutOfRangeException //当參数值超出调用的方法所定义的同意取值范围时引发的异常 System.ArithmeticException //算术异常 System.DivideByZeroException //试图用零除整数值或十进制数值时引发的异常 System.NotFiniteNumberException //当浮点值为正无穷大、负无穷大或非数字(NaN)时引发的异常 System.OverflowException //在选中的上下文中所进行的算数运算、类型转换或转换操作导致溢出时引发的异常 System.IOException //派生的异常类型 System.IO.DirectoryNotFoundException //当找不到文件或文件夹的一部分时所引发的异常 System.IO.DriveNotFoundException //当尝试訪问的驱动器或共享不可用时引发的异常 System.IO.EndOfStreamException //读操作试图超出流的末尾时引发的异常 System.IO.FileLoadException //当找到托管程序却不能载入它时引发的异常 System.IO.FileNotFoundException //试图訪问磁盘上不存在的文件失败时引发的异常 System.IO.PathTooLongException //当路径名或文件名称超过系统定义的最大长度时引发的异常 ArrayTypeMismatchException //试图在数组中存储错误类型的对象 BadImageFormatException //格式错误异常,如32位应用訪问64位系统Dll引起 DivideByZeroException //除零异常 DllNotFoundException //找不到引用的dll FormatException //參数格式错误 MethodAccessException //试图訪问私有或者受保护的方法 MissingMemberException //訪问一个无效版本号的dll NotSupportedException //调用的方法在类中没有实现 PlatformNotSupportedException //平台不支持某个特定属性时抛出该错误 ArgumentException //參数异常 ArgumentNullException //空參数异常 ArgumentOutOfRangeException //參数值超出范围 ArithmeticException //算术异常 ArrayTypeMismatchException //类型不匹配异常 IndexOutOfRangeException //索引超出范围异常 InvalidcastException //不对的类型转换异常 InvalidOperationException //不对的操作异常 MethodAccessException //方法訪问异常 MissingMemberException //丢失成员异常 NotFiniteNumberException //无穷大数字异常 NotSupportedException //操作不支持异常 NullReferenceException //空引用异常,如调用没有实例化的对象的成员 OutOfMemoryException //内存空间不够 PlatformNotSupportedException //平台不支持某个特定属性时抛出该错误 StackOverflowException //堆栈溢出
五、学习软件推荐
5.1、百词斩 APP
百词斩是由成都超有爱科技有限公司针对英语学习开发的一款“图背单词软件”。软件为每个单词提供了趣味的配图和例句,让记单词成为一种乐趣。
百词斩覆盖了从初高中、四六级、考研、到雅思、托福、SAT、GMAT、GRE等所有英语考试词表。适合从12岁到24岁的所有学生群体,备考英语。
1、支持离线使用。0流量背单词。
2、一个单词一张图,利用图形建立单词与真实环境的联系。打造最易记、最难忘的背单词软件。
3、直接加入好友,既能互相看见学习动态,还能一起冲刺每周排行榜。背单词,不再是一个人。
4、提供单词TV和单词电台,英语老师原创趣味内容去深度解读10000+个单词,提供很多其它样的学习方式。
5、參考美国SAT的词汇量评估模型,准确測试单词量。记录你成长的每一步。
6、锁屏背单词。在锁屏界面就可以完美背单词。充分利用每天的琐碎时间。
7、初中/高中/ 四级/六级/考研/托福/雅思/专四/专八/SAT/GRE/GMAT全覆盖。
8、5种方式复习。背单词绝不能反复再反复。
我每天仅仅记15个但坚持。基本没有漏掉过,但有时候软件在没有网络的情况下会打卡失效。
5.2、滴答双语阅读 APP
“滴答双语阅读”真正实现了中英文分段对比阅读。点击英文就可以打开或关闭相应段落的译文;内嵌词典可以离线查单词;网络书库提供数十本双语书籍下载。
1. 中英文分段对比阅读, 一键打开或关闭相应段落的译文
2. 内嵌词典可以离线查单词,可以直接点击单词查询,不须要手工输入
小成本软件,但适合英语水平一般的人看小说。比背单词效果可能还好。一直想要一个8英寸左右的墨水屏Android系统平板,kindle好像扩展性不强
5.3、新东方背单词
新东方背单词软件不同于普通模式的单词记忆工具,它提供了更为强大、更有方向的记忆手段使您每一次单词记忆都变的更有效率,本款为新东方背单词5.0下载。在原有基础上对经常使用词汇进行了更新。让你背起单词来更加事半功倍
功能:单词初记、单词复习、測验与游戏、书籍管理、笔记本管理
4款让你事半功倍的帮助背单词的趣味游戏:单词拆图、迷宫赛跑、单词速降和无敌枪手
能够让你解决在英语学习中最大的障碍。即英语单词的词汇量问题
发音标准。例句多,形式多样
六、提高英文水平的建议与资源
6.1、提高英文水平的个人建议
(1)、自己起一个英文名称,作为网名和登录名。
(2)、将自己电脑中的中文版或汉化软件换成英文版。能够挑战一下英文操作系统。建议从英文手机系统開始。
(3)、选择一本适合自己的计算机英文教材。
(4)、保证一年至少读1-2本原版影印的计算机书,并坚持读完。
(5)、上网尽量多訪问英文技术论坛和站点。不使用汉化帮助。
(6)、在程序中使用英文名称。坚持不用中文或汉语拼音作为变量名、字段名、文件和目录名(上过中文路径当的朋友是不是深有同感)
(7)、每月至少看1-2部原版电影。双语初学。去字幕练习听力,重复。
(8)、每天坚持记录和复习遇到的生词。对于缩略语。一定要搞清楚每一个英文字母的含义。
(9)、最重要的一条:相信自己能学会(世界上最难的中文你都能够学会英文肯定没问题),遇到英文不逃避、坚持、反复、再坚持(制定计划)。
(10)、曾经一段时间我非常喜欢去Youtube看新闻与自己喜欢的节目,主要是看评论,原汁原味,还非常有趣。后来就被墙了...
欢迎很多其它建议与方法。谢谢了!
6.2、翻译与双语视频字幕站点
http://fanyi.baidu.com/ 百度翻译。比曾经要进步非常多了。能够选择意思
http://fanyi.youdao.com/ 有道翻译,计算翻译比較准确
http://translate.google.cn/ google翻译,老牌翻译,大,强,但这几年变化不大
http://www.yinbiao5.com 音标网,支持批量单词音标
http://dict.cn/ 海词,例句多
http://assrt.net/ 射手网 双语字幕
http://subhd.com/main Sub HD 字幕站
6.3、双语电影
原声外语电影、电视剧、视频节目等作为学习材料,进行口语、听力、词句等方面的学习,称为“看电影学英语”。原声电影的原汁原味、内容丰富多彩、人物口音各异、语言环境真实,很有助于练就一口地道口语。为大家整理出来55部最适合学习英语的中英文动画电影,有完整电影视频+中英字幕:
疯狂原始人
魔法奇缘
个人觉得看这些双语电影时尽量慢,一句看懂、听懂、重复看自己喜欢的几部
下载字幕更加清楚。也能够是其他的英语电影或喜欢的节目
假设须要这55部电影麻烦告诉我您的邮箱地址,不直接分享是版权问题,请理解。
6.4、用听的学英语与背单词
假设您每天上下班坐车时间非常长,跑步或其他运动时能够利用碎片化的时间学习英语,这里有两个方法:
1、有非常多手机App像《喜马拉雅山》、《蜻蜓》、《凤凰FM》等自媒体平台上有不少能够听着学英语的栏目
2、我曾经还找到了一些听着背单词的mp3。感觉还能够。基础2000个,进阶3000个,共1.08G:
七、下载
单词统计:https://pan.baidu.com/s/1bTy84u
新东方背单词:https://pan.baidu.com/s/1jIn1e0e password: z4eg
单词统计高级Excel: https://pan.baidu.com/s/1pKWvWtd password: 7xpu
其他的背单词软件能够在软件市场搜索,假设实在找不到请给我留言!当然适合自己的才是最好的。
须要书籍《object-oriented-javascript.pdf》高清版本号与中文翻译版的请留下您的邮箱,不上传的原因是版权问题,您也能够上网搜索。
假设须要这55部电影麻烦告诉我您的邮箱地址
第一批已发送完毕,请大家查收,没有收到请留言,我再发一次。谢谢。
http://blog.csdn.net/zhangguo5/article/details/64438529
http://www.cnblogs.com/best/p/6589908.html
张果