为什么图形化编程火不起来
2018-10-09
最近由于标定相机的问题,稍微使用了一下UE4的蓝图功能,也就是传说中的“图形化编程模型”。在这个过程中我知道为什么图形化编程这个理念火不起来来了。
值得肯定的是UE4的图形化编程(蓝图)功能设计的相当好,应该也是世界级别的工作了。它确实能够给程序员带来相当的便利,对于函数的实现我们可以只通过连线来实现相当直观,程序的整体就变成了一个一个模块的组合,让人很快就能上手。这些特点就造就了如果在UE4上开发一个小游戏,甚至只需要一个人就够了。就像在UE4上开发的“吃鸡”,也就是仅仅用了15名程序员。
然而,图形化编程的优点也就仅仅止于此了。它之所以火不起来的原因是:没有受众,换句话说就是没有特殊需求的情况下,没有人会愿意去用这套系统,哪怕它很方便。
首先是普通人,作为一个非程序员出生的人,他是决然不会使用的。按理说图形化编程的理念已经定义好了接口和模块,程序应该就像搭积木一样普通人也能使用了呀?然而残酷的事实是:没有学习过编程的普通人,根本看不懂程序界的接口。他们并不懂int、double、uint等等。所以说对于非程序员,这套系统与密密麻麻的代码并没有区别,还是理解不能。
然后是对于程序员。对于程序员来说如果不是人力有限或者deadline逼近,也绝对不会使用这套系统。这是因为它有太多缺点。
- 首先就是不灵活:函数都被局限到了被提供的那一些,虽然很多但是不总能满足需求的,显得特别呆板;
- 然后就是不方便:有很多时候我们需要访问类里面的一个值这个在图形化编程中不好实现,但是这个在源代码中就是一句话的事;
- 最后是效率低:在图形化编程中可能模块的实现很高效,但是组成程序之后就不一定了。这是因为有时我们可能需要用很多个模块去实现一个代码中只需要三行的逻辑,这就导致了效率低。
其实还有最重要的原因,C++学了这么多年都还没学懂,谁还会花时间去读图形化编程那厚厚的操作指南?就像回到了汇编时代(笑)。