从LabVIEW到C++

Paste_Image.png

前言

最近一段时间一直没有更新,一方面是时间精力的问题(PS:懒癌犯了),另一方面是小黑大部分的时间都在学习C++相关知识,恶补了许多的知识(从大学C语言水平强制拔高了一段)。

本文谈谈自己近期的一些感受和感悟,算是对一段时间的总结和记录。


为什么要去学习C++

用LabVIEW好多年,在利用LabVIEW做开发,解决问题方面,深感LabVIEW的强大,但是为什么还去学习另外一门语言呢?

事实上,随着项目越来越大,LabVIEW中的一些限制会慢慢暴露出来。一方面,LabVIEW为我们做了很多封装的工作,简化我们的工作,但需要去接触底层时,LabVIEW的便捷性反而限制了软件的设计。另一方面,LabVIEW编程让我们很容易的上手,却也将软件设计的很多核心概念屏蔽掉,让我们在软件设计思想上的深入变的非常困难

总结一下自己的问题和客户的问题,发现LabVIEW在开发到不同的阶段,普遍会遇到下述的问题。

1. LabVIEW写出来的程序效率比较低

效率问题我见过N多次,从学校毕业的学生,航天、汽车、电力等行业的客户,很多人都遇到了相关的问题。罗列几个常见的描述:

  • 信号量特别多,界面刷新特别慢
  • 功能全部都好使,但是控制周期不知道为什么特别长
  • 程序越写越大,也越写越卡,卡到编程开发者根本不知道原因在哪里
  • 算法的执行时间比想象中的长....

2.LabVIEW写的程序拓展非常困难

遇见很多客户来咨询,大部分的问题是程序添加一个功能非常困难,有的甚至可以说异常困难。

举例两个场景,我觉得肯定不陌生:

案例一:编程经验不足导致程序拓展困难

公司招来几个应届生,开发一个新业务程序,不长时间开发的有模有样,要界面有界面,要功能有功能。领> 导很开心,发现原先只能想一想的项目也能实现,迅速推出产品计划,需求也源源不断。

LabVIEW工程师卖力维护,程序越来越大,但添加一个功能的时间却越来越长,添加到一段时间后,整个程序就是意大利面条,无论是单个的代码框图还是整个的软件架构全都混乱不堪.....

案例二:频繁换人,团队风格不一致导致拓展困难

公司让一个老员工开发LabVIEW程序,老员工用过很多的编程语言,熟练也懂业务。开发程序一段时间后,程序迅速的跑起来了。

一段时间后,老员工休假,让另外做LabVIEW相关开发的去接手这个项目,再过一段时间这个员工由于其他原因没时间维护,再换一个人。

每次领导都认为LabVIEW开发程序比较简单,一个人就可以搞定,当换了2次之后,程序已经难以维护,混乱的编程风格让维护者不堪代码修改的重负,整个项目处于半吊子状态无法继续。

这两个案例不说人人都会遇到,但大部分LabVIEW工程师中都会存在这些问题,而且越是遇到问题的工程师,越认为LabVIEW编程非常简单...这也是很多研究所,甚至好多小企业的通病。在项目中,如果没有很好的开发风格和团队管理,单枪匹马不注重软件质量的开发,只能让软件始终停留在勉强能用的阶段。

3. LabVIEW有天花板,有需求实现不了

LabVIEW写程序的问遇到的最多题是软件能力的问题,这些问题是由LabVIEW高度封装的特性导致,为了方便工程师使用,做出了很多反软件工程的一些设计。

LabVIEW初衷为工程师降低语言依赖,关注核心业务,在快速原型和解决研发性质项目的时候,它可以让我们加速项目进度,是研发的利器。

但随着软件功能的强大临,测控软件也面着所有软件开发通用的问题,原型验证与产品研发在需求和最终效果上都有很多的差别。

那C++比LabVIEW好用吗?

既然你说这么多LabVIEW的坏话,那C++好用吗?

答案非常遗憾,C++还不如LabVIEW好用,在解决问题方面,C++是LabVIEW万分之一都不到。C++学习初期,大量的时间都在解决指针问题,语法问题,学习曲线很陡峭。即使你懂了一些基本语法,在解决问题上也很困难,还需要学习面向对象思想,泛型编程等一系列的概念,等所有内容学完出师,LabVIEW工程师都做完好多个项目了。

以我亲身经历而言,用惯LabVIEW再去学习C++反而更难入手,有一次,读写配置文件读取的程序都花费了我1天的时间,而LabVIEW只要几分钟。

以前写LabVIEW程序大家都努力做成Windows风格,而使用C++之后发现不是Windows风格好,而是VC++只能做成这样子...做其他界面的代价太大...

以前写LabVIEW多线程没觉得有什么难,而用C++去做,感觉就是难于上青天,线程之间的概念理解不清楚,还不如不用多线程。

很多优秀的软件概念已经封装到LabVIEW的基本语法,使用C++需要我们重新把理所当然的东西深入的学习一遍。

那你学C++干嘛

虽然C++各种不便于工程。但,正所谓,尺有所短,寸有所长,不同的软件工具在不同的地方各有优劣。C++虽然学习曲线陡升,但是在效率和设计思想上的书籍,非常丰富。长期的软件工程思想都能在这里找到影子。

我们能找到大量的资料探讨,如何去使用指针,如何节约内存,如何避免复制。

我们可以通过C++可以摆脱很多低效的编程操作,如LabVIEW中大量的图标设计和右键操作

我们可以实现相同的功能,开发的程序都在K级别,而LabVIEW至少要上M

当然,世界总是公平的,上帝为你关了一扇门,就会开一扇窗,仔细寻找不同工具之间带给你的便利性,你会找到最适合自己的解决问题的方案。


后记

后续小黑还会继续充电C++,在陡峭学习曲线上攀爬,写文章可能会偏向于C++和一些碎片化的心得,共勉之。

记得很有意思的两个段子对我感触很深,分享给大家:
1. LabVIEW

硬件领域(硬件开发&测试)的工程师们,一般不懂软件。
所以,本来在硬件工程师眼中“写程序这么反人类的事情”。
突然间,硬件工程师们发现,自己用LabVIEW居然可以编写程序了。
“哎,居然特么实现了”
“哎,程序跑起来了”
“哎,我擦,出结果了”这种感觉真是太酷了,奏这样!

2.C++

C++跟其他语言有一点区别,就是早期你才刚学习一点点的时候,什么靠谱的程序都写不出来,等到你学的差不多了,突然就变的牛逼了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,719评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,337评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,887评论 0 324
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,488评论 1 266
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,313评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,284评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,672评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,346评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,644评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,700评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,457评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,316评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,706评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,261评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,648评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,859评论 2 335

推荐阅读更多精彩内容