程序的本质是什么?程序员的工作性质到底是什么?容易被取代么?
程序的本质是把人的思想变成计算机可执行的机器代码。
程序员的工作性质的本质是翻译。
你思路和需求清晰后,可以用任何高级语言来表达思想的,最后会被翻译成机器语言,驱动计算机去执行。
软件行业有两个著名的公式 :
1、软件=数据结构+算法。 这是瑞士计算机大师Niklaus Wirth 说的,他发明过Euler、Algol-W、Pascal、Modula 和 Oberon很多种编程语言。
2、算法=控制+逻辑。 这是英国计算机大师Robert Kowalski说的,他发明了逻辑编程,他的学生研制了Prolog的编译器。
理工科的学生看到公式就想强迫带入:
软件=数据结构+控制+逻辑
这下明白了,当前程序员工作量大,是因为翻译工具不顺手。取代程序员的工作已经开始了,谁让咱们工资高呢?
数据结构现在可以做成模型驱动和可视化的表单,控制可以做成可视化的流程和活动,要是逻辑问题也解决了,低代码无代码就上天了,可能大部分软件需求就真的不需要程序员做翻译了。
你若有思想,请把思想表达清楚。你若实现的是别的人思想,请把翻译工作做好。