计算机语言发展史

计算机语言的种类非常的多,总的来说可以分为机器语言,汇编语言,高级语言三大类。

第一代语言

机器语言

  • 我们都知道计算机的基本计算方式都是基于二进制的方式。

  • 二进制:010111001010110010110100

  • 这种代码是直接输入并给计算机使用的,不经过任何的转换!

主要缺点

  1. 存在大量繁琐的细节牵制着程序员,使得他们不可能有更多的时间和精力去从事创造性的劳动。如确保程序的正确性、高效性。

  2. 需要驾驶程序设计的全局又要深入每一个局部直到实现的细节,导致程序员频频出错,因而编出的程序可靠性差,且开发周期长。

  3. 该语言仅适用于计算机的程序设计的思维和表达方式于人类的方式大相径庭,人们需要较长的时间才能去使用该语言。

  4. 该语言的书面形式全是”密码”,可读性差,不利于交流与合作。

  5. 严重地依赖于具体的计算机,所以可移植性差,重用性差。

第二代语言

汇编语言

  • 解决人类无法读懂机器语言的问题

  • 指令代替二进制

目前应用

  • 逆向工程

  • 机器人

  • 病毒

语言特点

汇编语言是计算机提供给用户的最快最有效的语言,也是能够利用计算机的所有硬件特性并能够直接控制硬件的唯一语言。但是由于编写和调式汇编语言程序要比高级语言复杂,因此目前其应用不如高级语言广泛。

汇编语言比机器语言的可读性要好,但跟高级语言比较而言,可读性还是较差。不过采用它编写的程序具有存储空间占用少、执行速度快的特点,这些是高级语言所无法取代的。在实际应用中,是否使用汇编语言,取决于具有应用要求、开发时间和质量等方面作权衡。

优点

  1. 可以轻松的读取存储器状态以及硬件I/O接口情况

  2. 编写的代码因为少了很多编译的环节,可以能够准确的被执行

  3. 作为一种低级语言,可扩展性很高

缺点

  1. 因为代码非常单调,特殊指令字符很少,所以造成了代码的冗长以及编写的困难

  2. 因为汇编仍然需要直接去调用存储器存储数据,很容易出现BUG,而且调试起来也不容易

  3. 就算完成了一个程序,后期维护时候也需要耗费大量的时间

  4. 因为机器的特殊性造成了代码兼容性差的缺陷

摩尔定律

img

戈登·摩尔(Intel公司的创始人之一)

当价格不变时,集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也讲提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18个月翻两倍以上!

第三代语言

高级语言

  • 大体上分为:面向过程面向对象两大类。

  • C语言是典型的面向过程的语言。C++、JAVA是典型的面向对象的语言

  • 聊聊各种语言:

    • C语言:第三代语言中C语言最为重要,所有高级语言的鼻祖。既有高级语言的特点又有汇编语言的特点。较为复杂,该语言主要用于写操作系统、应用程序系统和工作系统设计,编写一些不依赖计算机应用的程序,应用广泛,有很强的数据处理能力。

    • C++语言:C++语言为C语言的升级版。为C语言面向对象的版本,扩充并完善了C语言。

    • JAVA语言:最开始被称为C++–,跟上面两种语言有千丝万缕的联系。–意思将C语言中不好的方面给改掉了。

每日三道Java面试题

1.Java中关键字有哪些?

关键字 含义
package 指定报名
import 引用类
class 定义类
interface 定义接口
abstract 抽象类或者抽象方法
new 创建对象
this 实例本身
super 引用父类
void 无返回
byte 字节型
char 字符型
int 整型
short 短整型
long 长整型
float 单精度浮点数
double 双精度浮点数
boolean 布尔型
enum 枚举型
strictfp 精确浮点
extends 继承类
private 私有权限,本类中可用
protected 保护权限,本类和子类可用
public 公开权限,可跨包用
final 类不可继承,方法不可重写、常量
static 静态属性
synchronized 静态属性
if 如果
else 或者
for for循环
do do while循环
while do while循环
switch switch case 分支
case switch case 分支
default switch case 分支
break 结束循环
continue 继续循环,结束本次循环
return 返回
try 异常代码捕获
catch 异常处理
finally 最后处理
throw 手动抛出一个异常
throws 声明要抛出的异常
instanceof 判断是否XX类的实例
volatile 线程可见
transient 不用序列化
native 非Java实现方法
assert 断言
var 任意类型,JDK 10增加

 

保留关键字  
goto 跳转
const 常量

 

特殊关键字  
ture
false
null 空值

2.Java标识符命名规则是怎样的?

Java标识符命名规则:

  1. 标识符只能由字母(a-z,A-Z),数字(0-9)、下划线(_)和美元符号($)组成

  2. 标识符不能以数字开头

  3. 标识符不能使用Java关键字

  4. 标识符区分大小写

3.Java类命名规范是怎样的?

类命名规范:

类名首字母大写,后面每个单词首字母大写,符合UpperCameCase大驼峰式风格,如:

  • Order

  • OrderDetail

  • OrderMonthSummary

但一般像这种众所周知的缩写例外:DO、BO、DTO、VO、AO、PO、UID等。

原文地址:http://www.cnblogs.com/cuijiuba/p/16884129.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性