语言和软件的本质是数据结构与算法

1.语言是由数据结构算法组成的,软件也一样.


2.语言的数据结构和算法是由语言定义者来定义(写死)的,而软件,除了语言本身的数据结构和算法,还使用了更多的自定义的结构(不管这是一个类,还是一个function)和算法,所谓的自定义,就是由开发者来完成


3.一门语言的数据结构越小,越原子化,预定义的东西越少, 它就越灵活,开发者能够使用它们天马行空的构造出各种各样的更大的数据结构;反正则越僵硬;比如脚本语言和C,最灵活, C++和java,就显得僵硬.


4.同理,软件的灵活性也表现在数据结构(主要是自定义的)是否尽可能的小,是否足够原子化,以及算法是否更简单,容易组装


5.灵活与稳定,在某程度上属于一个天枰的两端, 这么来说, 脚本语言或C写出来的软件, 稳定性有可能更低, 而C++或Java,有可能更高


6.软件写得好不好, 一是看选用什么样的语言, 比如软件要求非常灵活, 如果选定一门僵硬的语言,则会很容易质量低;二是看开发者自定义的数据结构和算法好不好,怎么构造类?构造类的层次?怎么构造方法?方法调用是什么样的序列? 这些高一层的数据结构和算法,很大程度上决定了软件的质量


7.设计模式在本质上来讲,也是一种数据结构和算法, 比如构建型和结构型的,那是数据结构, 而行为型,很多则是算法, 只不过,这类数据结构和算法,看起来更抽象,层面更高;


8.数据结构属于横向,算法属于纵向,横向和纵向,就构成了语言和软件


9.数据结构是节点,节点越多,语言就越强大,而软件中的自定义数据结构也是节点, 节点越多,软件就越大(是否强大还不一定); 算法则把数据结构串起来, 算法的"串"越多,软件就越复杂(是否强大也不一定)


10.良好的设计,最终的体现就是是否是良好的数据结构和算法,是不是结构简单?结构和结构之间的耦合度是不是很低?各种结构是否能灵活的组装?算法是不是调用的结构最少,执行的效率最高? 这些都是衡量设计的根本因素


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值