奎克的藏经阁 · 原书印刷页

算法权力与政治 · 第 22 页

PDF 物理页索引 32 · 牛津数字政治研究

书名
算法权力与政治
作者
未记录
印刷页
22
PDF 物理页
32(从 0 开始)
章节
牛津数字政治研究
UUID
00b53386-166c-4d03-bcf3-987d55c93423
来源类型
original_book
页面 SHA-256
1f8554aeff413441c2dedf77d68c045454bdc6e5c200fea03175796a61f811c4

单词,而“如果”…Then”语句只能计算“真”语句,而“if…”然后…Else”构造也将能够执行另一条路径算法本质上表明什么时候应该发生什么,程序员称之为“控制流”的原则,它在源代码或伪代码中实现。程序员通常通过编程语言指定某些过程和参数来控制流程。原则上,该算法“独立于编程语言,独立于执行程序的机器”(Goffey,2008: 15)。相同类型的指令可以用C、c#或Python语言编写,但仍然是相同的算法。这使得“算法”的概念特别强大,因为算法所表示的是所有软件设计中关于顺序、序列和排序的固有假设。重要的是实际的步骤,而不是措辞本身。

设计一种算法来执行某项任务,意味着对手头的问题进行简化。从工程的角度来看,算法的具体操作很大程度上取决于技术上的考虑,包括效率、处理时间和内存负载的减少,但也取决于所写代码的优雅性(Fuller,2008;高德纳,1984)算法的运行依赖于各种其他元素——最根本的是依赖于数据结构很明显,Niklaus Wirth(1985)在“结构化编程”方面的开创性工作题为“算法+数据结构=程序”。为了实际操作,算法不仅要与数据结构一起工作,还要与整个元素组合一起工作,包括数据类型、数据库、编译器、硬件、CPU等等在解释为什么他以数据结构而不是算法开始他的书时,Wirth写道:“人们有一种直观的感觉,数据先于算法:你必须有一些对象,然后才能对它们进行操作”(2004:7)。此外,Wirth的书名表明算法和程序是不一样的。一个程序,或者软件,不仅仅是它的算法。算法本身并不能使软件具有可计算性。为了进行计算,必须将源代码转换为可执行文件,这不是一步走的过程。转换通常要经过多个步骤,其中包括翻译以及其他软件程序(如编译器和链接器)的参与。编译器创建的“目标文件”是一种中间形式,本身不能直接执行。为了使一个程序被执行,另一种叫做链接器的设备必须把几个目标文件组合成一个可执行(或“。exe”)文件的功能程序软件就是把不同的代码文件收集或组合成一个“可执行文件”。虽然软件可能看起来是一个单一的实体,但它从根本上是分层的,并且依赖于无数不同的关系和设备才能发挥作用。因此,为了有效地计算信息,算法基于数据的特定表示和结构。尽管算法和数据结构相互依赖,但“我们可以将两者视为分析上不同的”(Gillespie,2014:169)。鉴于我的主要兴趣在于对数据-什么的执行的操作

22

IF . . . THEN