什么是编程,什么是编程?( 四 )


汇编的hello world,打印一句hello world, 需要写十多行,也是醉了 。
; hello.asm
section .data ;数据段声明
msg db "Hello, world!",0xA;要输出的字符串
len equ $ – msg ;字串长度
section .text ;代码段声明
global _start ;指定入口函数
_start:;在屏幕上显示一个字符串
mov edx, len ;参数三:字符串长度
mov ecx, msg ;参数二:要显示的字符串
mov ebx,1;参数一:文件描述符(stdout)
mov eax,4;系统调用号(sys_write)
int0x80;调用内核功能
;退出程序
mov ebx,0;参数一:退出代码
mov eax,1;系统调用号(sys_exit)
int0x80;调用内核功能
高级语言
高级语言是大多数编程者的选择 。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令 , 并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等 , 这样就大大简化了程序中的指令 。同时 , 由于省略了很多细节,编程者也就不需要有太多的专业知识 。
高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,像最简单的编程语言PASCAL语言也属于高级语言 。
高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:
编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言) , 因此其目标程序可以脱离其语言环境独立执行(编译后生成的可执行文件,是cpu可以理解的2进制的机器码组成的),使用比较方便、效率较高 。但应用程序一旦需要修改 , 必须先修改源代码 , 再重新编译生成新的目标文件(* .obj,也就是OBJ文件)才能执行,只有目标文件而没有源代码,修改很不方便 。
编译后程序运行时不需要重新翻译,直接使用编译的结果就行了 。程序执行效率高,依赖编译器,跨平台性差些 。如C、C++、Delphi等
解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器(想运行,必须先装上解释器,就像跟老外说话,必须有翻译在场),但这种方式比较灵活,可以动态地调整、修改应用程序 。如Python、Java、PHP、Ruby等语言 。
总结
机器语言
优点是最底层,速度最快,缺点是最复杂,开发效率最低
汇编语言
优点是比较底层,速度最快,缺点是复杂 , 开发效率最低
高级语言
编译型语言执行速度快,不依赖语言环境运行,跨平台差
解释型跨平台好,一份代码,到处使用,缺点是执行速度慢,依赖解释器运行
主流编程语言介绍(10分钟)
世界上的编程语言有600多种 , 但真正大家主流在使用的最多二三十种,不同的语言有自己的特点和擅长领域,随着计算机的不断发展,新语言在不断诞生,也同时有很多老旧的语言慢慢无人用了 。有个权威的语言排名网站,可以看到主流的编程语言是哪些
TIOBE发布编程语言排行榜已经快6年的时光了,在这六年中我们见证了不少语言的起起落落 。虽然国内有很多大牛说,关注这语言的排名没有多少意义 。但仍可以看出那些语言日渐兴盛,哪些日渐没落,我们从Objective-C的上升过程中 , 还是能看到移动设备端 , 特别是iOS应用开发方面的黄金潜力 。
下面介绍下几个主流的编程语言:

经验总结扩展阅读