Tech
[程序员] 软件工程不会消失
-- AI 率 0% --
考虑一个软件系统是如何构建和迭代的,它可以被抽象为以下的一个 Loop:
需求建模 A->代码编写 A->需求反馈 A->需求建模 B->代码编写 B->需求反馈 B......
那么,我们如何定义一个完美的系统?给定系统 S ,用户需求的形式化描述为 R,对于所有针对系统的动作 A 的反馈,其不确定性都为 0(预期返回正确),这里可以用条件熵来表示:∑H(R|S(A_i)) = 0 。而需求反馈本身则扮演了优化函数的作用,它的作用本身是引导条件熵 ∑H 向 0 优化,优化的过程则是降低各个流程的不确定性。
编程语言的演化,本质上是不断提高抽象程度,把越来越多的实现细节从程序员转移给编译器,编程语言是一种对于信息的 encoder 。现代语言使程序员用更少的描述表达所需行为,并把更多实现选择交给系统,失去了对底层代码的控制,引入了更多的不确定性(信息熵)。如果要加强对底层的控制,则需要用更底层的语言和更长的描述长度降低不确定性。即便是 AI Coding 也无法违背信息论的规律。程序员对系统的描述越短,系统的不确...
Read the full discussion on V2EX
This article was aggregated from V2EX. Click to join the conversation.
View on V2EX