好的系统是由意识、想法决定,而不是由语言决定

原创 2015年11月17日 23:16:55
做系统,一直使用C#,其开发环境简单好用,被称为宇宙第一编译器,没有第二。

经常会看到一些争论,关于程序语言的争论,这个从不同的程序语言诞生,一直就存在的。

很多开发者,会有一些抱怨,使用的语言决定了软件或代码的组织结构。

这个因为一直在用C#做开发,一直没有体会到,我认为C#语言上的应用,确实能实现代码的完美艺术化。

最近,在开发一款,嵌入式的系统,用C语言做开发,在STM32处理器上开发,C语言的初次接触,可能要追溯到10年前了,那时候还是在大学时代考计算机资格证时,记得是谭浩强的一本书,用的Turbo C,好像是这么个开发环境。为了过级,在考前一个月突击背了一些算法和结构,总归最后过了。

后来工作了,初始接触的是VB.net,后来是C#,还有一段时间,花心思在MFC编程上。C#是用过最长的语言,从正式工作开始吧。

一直在用C#开发代码,有时接触一些C++或C封装的动态库和代码,会看到代码写的及其难解和不可读。印象中,这两种语言写得代码,就大致是这样,比较晦涩难懂,没有太多可读性。因为一些代码是面向硬件层面的开发人员写得,感觉更是缺少了像C#这种高级语言所有的一些抽象表达。

但是最近在写这款嵌入式系统的过程中,我意识到了,其实语言自身并没有限定我们的表达,是学习入门时或常年形成的一些固化习惯决定了程序能写成哪种样子,好的设计关键是意识、想法和大局观,如果在规划时,就是按照这个大局观去考虑,那就会组织明确、层次清晰明了,而直接反应到代码上就是结构和算法了。

用过C#等语言的开发者,不愿意接触C等语言开发的主要原因是,C#中编译器辅助实现了大量的函数和类库,可以轻松驾驭调取应用,那转到c开发,因为系统没有提供太多的函数和类库,有些需要自己去手动封装,比如队列,在C语言中是没有的,但是在设计中假设又要用到,这个时候即使队列的算法再复杂,我们也不能绕过去,而应该服从设计。

有了这种思路、意识、想法,一套软件代码,可能在设计阶段就不会纠结在语言的实现上,而只是关心怎样设计,用什么样的层次,为设计而去实现,自然就会处处流露出一些优秀的结构或算法了,抽象性就会更好了,用C语言写出了C#语言更容易表达的抽象性。


版权声明:所有的文章,为作者从事物联网溯源系统开发几年的经验总结和感悟,可能有行业、阶段、时间局限性。

相关文章推荐

从’物质决定意识’说起 2

7 实践是检验理论的最好方法,把理论应用于解决实际问题,就产生了解决问题的方案。方案和理论不一样,解决一个实际问题可能有很多方案,但能被实际采用的只能是一个或两个。这就产生了一个最好的方案是什么,它又...

从’物质决定意识’说起3

8 矛盾论曰:不同质的矛盾,只有用不同质的方法才能解决。          矛盾论中举例说:无产阶级和资产阶级的矛盾,用社会主义革命的方法去解决;人民大众和封建制度的矛盾,用民主革命的方法去解决;殖...

系统网络安全从良好意识习惯开始

随着互联网以及移动互联网的发展,我们的日常生活、工作和学习与网络联系越来越紧密,我们不仅从互联网上获取信息、社交、娱乐,甚至通过互联网购物、理财等等,如此多的个人信息数据在互联网上流动,在获得前所未有...

【网站性能监测系统网络安全必修课 良好意识习惯必不可少】

小蜜蜂网站监测致力于网站监测,网站监测软件,网页监测,网络监测系统,服务器监测,CDN监测,流媒体监测等服务。方便用户实时监测网站性能及可用性,一定程度上有助于用户分析和改善网站性能,提高网站运营品质...
  • xmfcom
  • xmfcom
  • 2014年09月15日 14:59
  • 6

强化语言意识,优化自己的语言

场景再现(2012.02.10  11:00:00):          打开米老师的门,看见王院长,“王院长,你怎么在这那!”(这是我说的第一句话)          错误分析:王院长首先来说不...

关于新手语言一些想法(本人也是小白)

近期接触了很多语言,多多少少都学会了一点,但相当粗浅。我盘点一下自己对这些语言的粗浅印象。 当然欢迎指点,再好不过。 个人认为作为新手将c语言作为入门语言并无不可。 C语言的优点 基础知识一个...
  • U___0
  • U___0
  • 2016年04月04日 11:09
  • 246

《數據結構與算法分析:C語言描述》習題1.3代碼及自己的想法

《數據結構與算法分析:C語言描述》習題1.3

C语言和快速排序以及一些想法

#includeint quick_sort(int num[], int left, int right);int main(){ int li[] = {8,12,5,9,2,11,28,...

关于任务系统设计的个人一点点小想法

摘自文章 http://www.woshipm.com/pd/34680.html (声明:我只是一个程序员,关于设计有点班门弄斧啦,全是个人兴趣,轻喷) 一.为什么要设计任务系统 1. 体...

010001 关于信息共享和系统完善一些想法

最近由于个人一些事情,
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:好的系统是由意识、想法决定,而不是由语言决定
举报原因:
原因补充:

(最多只允许输入30个字)