软件工程:方法与实践 第七次读书笔记
编码:
语言:编程所用的语言不同,它的特点也不同。汇编语言更接近机器代码,而高级语言或者领域特定语言则更接近人类对于现实世界问题的思维方式,以及解决方式。这样更解放了人类的思维,不在意去关注电脑对于语句的实现具体过程。高级语言回避了很多实现细节,提高了抽象能力和表达能力。当然没有好好封装的语言工具使用起来确实会繁琐一些,但是会更高效快速。
代码行数比较:
语言 | 等效的c语言行数 |
c | 1 |
c++ | 2.5 |
Fortran 95 | 2 |
Java | 2.5 |
Perl | 6 |
Python | 6 |
Smalltalk | 6 |
越是高级的语言,完成相同功能的代码行数确实有显著的减少,这样明显的减少了程序员的编码的负担,但是越是高级的语言封装的越好使用起来越是方便,细节部分全部被别人做了(虽然很有些会是白费功夫),这样的时间消耗就会大于最原始的语言。所以谨慎的选择语言是很重要的,需要权衡编码的代价与时间的代价。
其他的重要影响因素:
代码的普及程度:就像这次的对接任务一样,使用什么Java,Python之类的就是自己跟自己过不去,没有人对接的了,这就很尴尬了,即使是非常好的作品,没有人一起完成始终是残次品(除非自己完成整个作品的全部工作,就像那些天才程序员一样)
系统的兼容性:可执行文件需要依靠操作系统才能运作,不同的系统对可执行文件的要求是不同的,这会影响可执行文件的流通程度、平台,这很关键的影响着用户的数量未来的规模。