Siemens和AB技术博弈论之悔知篇
我职业生涯最大的成长得益于,我曾经在这两家公司工作过。那时觉得step7是最好的,无所不能,只要你能想到的我能通过STL或者SCL全部实现,并为自己能够S7 OS底层开发系统功能块SFC相当狂热过宣传过自己的博客和论坛。
后来接触了AB产品,我被这个产品折磨得够呛。因为我骨子里认为AB是垃圾、是邪恶的。AB缺少像step7 指针,需要用数组来完成,ab没有FB和FC只有头疼的add-on,另外ab没有sfc和sfb需要手写gsv和scv,感觉天就要塌下来。
然而,经过了一些年的使用,我发现,AB的产品非常优秀,有其自己的技术特点,比如标签编程省去了定义地址的繁琐,加快了工期;丢去指针使用数组简化了编程难度,增加了系统的稳定性;add-on自定义指令省去背景数据块,修改后省去单独下载数据块不同而造成程序混乱;网络透明一点接入全部可视,省去定义网络和节点通过代码诊断才能得知网络问题。还有太多的技术先进性就不一一列举了。
更重要的是,我开始意识到我过去的代码偏执使我关上了很多扇门。我开始觉得,可能我过去所有的技术选择都不一定是最好的。我开始思考,其实许多最流行的技术,它们之间并没有那么大的区别。
我开始意识到,相对于盲目崇拜某个首次选择的技术,广泛地理解一系列技术和编程语言可以使我变得更有价值。
现在,我发现我对单个的技术理解得特别快,因为不再是“闭门造车”,我可以用我的大脑去比较和对比不同编程语言和技术之间的区别,这样使我对所有的一切都有了更深的理解。
说了这么多,我的观点就是,对技术的选择持封闭态度最后只会伤害你自己并限制你作为一个开发者的个人成长。
没有最好的
在结束这篇文章之前,但愿你能相信我说的”世上没有最好的PLC或者编程语言“。
我不是在用说编程语言各有各的好、各自处理不同的情况来侮辱你的智商,。因为真相远比这个深刻。
真相是,有很多很好的方法能做成同一件相同的事情,使用不同的工具和技术。
真相是,所有的编程语言和技术都有一些大错误和大弱点。
真相是,你学的不同技术越多,你越能发现大多数技术核心的东西是非常相似的。我指的是,编写软件的核心概念,无关乎技术和编程语言语法。
跟我一样,你也会发现,如果你愿意接受其他技术并且承认自己的无知,并从中学习,那么,不管你去了哪里,你都会找到很多乐于助人的友好人士,他们非常乐于把他们知道的东西教给你。