65.9K
CodeProject 正在变化。 阅读更多。
Home

关于“神经语言程序学”的一些编程方法

2015 年 3 月 30 日

CPOL

15分钟阅读

viewsIcon

114537

downloadIcon

319

计算机语言作为第二符号学人类学的基础

大脑!
哈利·波特,《格言、快速回答和咒语

原力会对思想单纯者产生强大的影响。
欧比旺·克诺比,《星球大战
引自“Mind trick, Wookieepedia”

  1. 引言
  2. 关键词方法
  3. 术语方法
  4. 范式方法
  5. 语法方法
  6. 视觉方法
  7. 演示神经条件反射应用
  8. 缓解神经条件反射攻击
  9. 致谢
  10. 结论

1 引言

本文的标题可能会让一些读者感到困惑。最天真的读者可能会看到一些同义反复的迹象(*编程-编程*),而敏锐的读者则可能注意到“编程”这个词的两次出现,第二次出现是比喻性或假定的含义,只是在形式上并列。事实上,“神经语言程序学”(NLP)在科学证据的权衡下,“被揭露为一种在很大程度上被驳斥的伪科学”(http://en.wikipedia.org/wiki/Neuro-linguistic_programming)。然而,我使用“NLP”这个词只是为了方便地称呼更广泛的现象,这些现象可以通过心理和技术方法,利用受影响者的“潜意识”范畴,来刻画人类有意识和有目的的行为和思维塑造。也许计算机编程与“编程思维”之间的类比甚至比NLP的作者Richard BandlerJohn Grinder(显然,他们对“编程”这个词的第一个也是主要含义知之甚少)所能想象的还要深远。

事实上,使用编程技术达到这些目的并不是什么新鲜事。

最显著的例子之一是一种著名的晦涩编程语言。它的名字明确暗示了影响人类思维的过程。顺便说一句,那些不熟悉拉丁语而无法理解文章开头“哈利·波特”引言的读者,现在有机会理解了。

这种语言和技术只是一个更狭窄领域成就的例子,该领域可以命名为软件辅助神经条件反射(SANC)。不同学术团体在不同时间为相同或接近的研究方向提出了其他名称和缩写。
软件辅助神经塑形(SANS),
软件辅助心智条件反射(SAMC),
计算机辅助心智塑形(CAMS)。

我将继续使用“SANC”这个术语,因为它最准确地描述了我们讨论的主题。不幸的是,如今,SANC驱动的操纵在商业政治中被积极使用。软件工程社区是操纵(“思维编程”)的主要目标,而其中一小部分人,不幸的是,发现接受成为对此类操纵感兴趣的力量的盟友是可以接受的。我将尝试描述一些根本重要的技术,这些技术应该有助于检测操纵,并最终制定反击策略

现在,我将通过指出关键方法来开始介绍计算机编程方法。

2 关键词方法

为了说明这一专业方法类别(可以被视为下一类“术语方法”的一部分)的思路,让我们来讨论一下Forth编程语言的有趣特点。其关键字的一个隐藏力量是由我的朋友,物理学家和工程师,现任瑞典查尔姆斯大学高级研究员,我遇到的最深刻的思想家之一 A. V. Danilov 揭示的。他对下面描述的现象的发现,完美地证明了我的评估。

他注意到 Forth 中最广泛使用的保留字是其堆栈运算符 DUPhttp://galileo.phys.virginia.edu/classes/551.jvn.fall01/primer.htm#param)。这是什么意思?复制?没那么简单。一些非常基础的研究立即表明,Forth heavily 依赖于堆栈结构,而且,毫不奇怪,著名的逆波兰表示法(RPN)。这使我们考虑波兰语,这几乎立即引起我们对波兰语单词“dupa”的注意,该词在此语言中具有根本重要性。它是什么意思?从词源上看,它源于单词“dziupla”(“树洞”),但任何熟悉一些斯拉夫语的人都会立即识别其含义,更确切地说,两个与人体重要部位相关的密切含义,一个含义是“空心”的意义,另一个是指允许人们坐着的接口。不足为奇的是,这指的是软件工程师身体上最重要的用于软件开发工作的部位。

更重要的是,“空心”这个词的含义在日常实践中具有更深刻的(无意的双关)比喻意义,再次,在所有斯拉夫语中都广为人知。它指的是末世论的经历,例如与临近截止日期的沮丧预感有关。

这样,Forth 的实践主要塑造了极度耐心、长时间工作、缓慢细致工作的行为,但同时让追随者相对容易受到抑郁和低活动性的影响。DUP 的另一个应用是重叠,但这与另一个话题有关,即缓解SANC攻击;我将在单独一节中讨论。

让我们考虑一个非常不同的例子。让我们考虑 Algol-Pascal-Ada 等语言的“begin”和“end”。显然,输入“begin”这个词后,开发人员会处于不平衡状态,并倾向于通过尽快输入“end”这个词来解决它。这极大地促进了将工作分解成小的、定义明确的块。

有趣的是,诸如"{ }"之类的程序块的这种语法元素,即使在这些括号的作用完全相同时,也不会产生上述效果。这揭示了该效果是纯粹的神经语言性质。

3 术语方法

正如我在上一节已经提到的,关键词方法只是术语方法类别的一个专门子集。将其单独列出的唯一原因是其前所未有的实际重要性。在编程中,它体现在操纵性术语创造方法上,主要针对软件文学的读者。

这些技术的最典型目的是创造炒作,并将工程师从生产性工作和高效工作沟通分散注意力

然而,一种不太常见且最危险的利用是针对开发者的术语攻击,旨在瘫痪决策过程。

我以前写了很多关于广泛使用的术语“重载”的内容,我曾将其描述为“糟糕”,直到我清楚地认识到它是一种旨在OOP的否定性宣传的蓄意行为。熟悉该问题的人都明白,该术语用于描述一个不需要单独术语的特性,因为它仅仅是方法/函数名称缺乏某些限制:可以使用相同的名称表示不同的方法,编译器可以通过名称和签名组合来识别。显然,没有任何东西被“重载”,因为没有任何东西被“加载”。显然,该术语的创造只有一个目标:使其类似于真正重要的 OOP 术语“覆盖”(override),并扰乱开发者的思维。我必须承认,这次攻击取得了辉煌的成效

另一个有趣的术语是竞态条件。当我第一次学习这个主题时,将现象解释为“对执行顺序的不正确依赖”帮助我立即掌握了这一概念。后来,出现了新的“术语”,其明显目的是将该主题引起专家的注意,而领域中,那些碰巧阅读了上述维基百科文章的人可能不太可能正确理解它。

这类例子可以继续列举。“左值”、“软件重用”、“云计算”、“敏捷软件开发”、“计算机病毒”、“信息安全”、“服务合同”都非常可疑。请参阅引用的文章以获取更详细的信息。

4 范式方法

这一类方法名称正在讨论中,它反映的不是神经条件反射攻击的技术,而是其目标。这些方法旨在将误导性或破坏性的软件范式“编程”到工程师的头脑中。此类攻击使用的技术多种多样。它们包括伪逻辑推测诉诸大众(“二十万亿只苍蝇不会错”)、诉诸权威以及各种宣传手段。

例如,让我们考虑一些典型的反对使用goto语句的论点

  • 艾萨克·牛顿发明了微积分和牛顿三大定律;他从未 使用goto语句。
  • ,汤姆·帕尔活了 152 岁;在他的一生中,他从未 使用goto语句。
  • 一只被誉为“世界上最聪明的仓鼠”的仓鼠从未 使用goto语句。
  • 99.9% 的 7 岁以下儿童,身体指数和胆固醇平衡完美,从未 使用goto语句。
  • 一个 2.5 岁的孩子在被母亲告知“去……”之后,溺死在家里的泳池里。
  • 德克萨斯州奥斯汀发生校园枪击案。杀害 11 名同学的年轻凶手告诉警察“我杀了他们,因为他们总是告诉我‘去……’”
  • 一位著名的软件开发者在 96 岁时去世,此前他尝试了多年不使用goto语句后,第一次尝试使用了。
  • 十字军东征是大量 go to 语句的结果。估计死亡人数约为 1200 万人。

有关goto的更多详细信息,请参阅关于神经条件反射攻击缓解的部分。

现在,让我们考虑一些典型的支持某种范式的论点,例如,设计模式

5 语法方法

我只有一个纯语法示例。

这就是在不同编程语言中选择“分隔符,而非终止符”和“终止符,而非分隔符”的语法选择。两者之间区别的经典例子是';'在 Pascal 中用作分隔符,而在 Ada、C 等语言中用作终止符。

显然,终止符方法培养了攻击性、强大的行为,果断完成事情的能力(请参阅上面引用的文章)。终止符方法的纯粹编程维护价值显而易见:它允许在程序块内交换某些行而不调整终止符字符,因为它始终位于语句的末尾。此功能形成了积极的行为,主导的行为,决策能力。

相比之下,尽管分隔符方法具有缓和的性质,但需要调整分隔符的位置(它不放在块的最后一条语句的末尾,并且在某些明显情况下不允许放在那里)会培养温和的行为、犹豫、倾向于“保持原样”。总的来说,尽管冷静发展有其价值,但它对个人生产力有不利影响。毫无疑问,这是非常强大且高效的 Object Pascal 和 Delphi 衰落的主要原因,之后它被主要使用终止符方法的 C# 所取代。

终止符方法的另一个强大变体是列表、枚举类型等的最后一个元素之后的可选逗号,这是 C# 中也引入的相对较新的特性。这个决定的“SANC 重要性”是什么?同样,让我们超越纯粹的生产力特性和便利性(更容易交换元素)。乍一看,它给人一种不完整、不确定的印象,这可能在领域中导致不利后果。如果有人这样想,我的建议是:再想一想。实际上,它意味着几乎相反的东西:通过添加最后一个逗号,开发人员表达了维护代码的意愿,并传达了一个明确的信息:“我还会回来的!”同样,看似纯粹的语法终止符方法培养了终结者行为

6 视觉方法

神经条件反射视觉方法应用的一个明显但鲜为人知的途径是操纵开源软件源代码中渲染的视觉图像,这使得能够影响使用这些软件的软件工程师的行为和思维。

为了说明一些简单技术的思路,让我们考虑这段代码片段

const bool YES = true;

bool[] consensus = new bool[] {

    YES,        YES,     YES,YES,     YES,  
    YES,YES,    YES,  YES,      YES,  YES,
    YES, YES,   YES,  YES,      YES,  YES,
    YES,  YES,  YES,  YES,      YES,  YES,
    YES,   YES, YES,  YES,      YES,  YES,
    YES,    YES,YES,  YES,      YES,
    YES,        YES,     YES,YES,     YES,

};

显而易见,对象 consensus 是 39 个布尔值 `true` 的数组。要了解此片段在潜意识层面上传达什么信息,只需从一定距离、略微眯起眼睛观察此片段即可。这种体验会导致开发人员产生分离性身份识别障碍,并抑制自由选择的能力。这是操纵投票系统的一个主要视觉方法,并被广泛用于政治

然而,最著名的是认知错觉的应用,它们非常有效且难以抵抗。这些错觉的原理众所周知,但我想演示一个不太明显的例子。请看文章顶部的图片。乍一看,上面的水平线明显比下面的长。我建议打印出文章并用尺子测量线条的长度。比较结果可能会让你惊讶。

这个在静态图像上演示的简单例子可以说明利用动态图像的方法有多强大。现在,是时候仔细检查这种力量了,在一个可管理但功能齐全的软件应用程序上,我们可以轻松分析

7 演示神经条件反射应用

首先,安全警告:在尝试我为说明 SANC 视觉方法而提供的演示应用程序“Enlightenment”之前,应采取以下安全预防措施:将屏幕上的所有 4 个月以上、2.71 岁以下的儿童、孕妇和患有 IRCD(问题报告强制症)症状的人移走。

我开发此应用程序时,力求达到最安全的效果。它的作用是:它有助于极大地促进参与实验者创造力的发展。

由于这是一个 Web 应用程序,可在此处立即查看。或者,随意下载源代码(请参阅本文顶部链接)并进行实验。

为获得最佳效果,浏览器最好使用全屏模式。实际上,在屏幕上以1:1的宽高比、最大可能尺寸观看已足够。图形演示应尽可能近距离观看,一旦感觉舒适即可。开始实验时,非常重要的是,要放松,并心平气和。其想法是凝视屏幕,尝试专注于图形,同时忽略出现和消失的文本消息。要达到期望的效果,通常所需的最小时间约为 2 分钟。改进的心智变化通常在超过最小时间后立即或不久被感知。

通常,一次成功的会话会产生一种创造力极大提高的效果,平均持续约 42 天,平均。如果您没有感受到任何效果,这意味着您已经处于创造力潜力的顶峰,这种情况很少见。

祝您好运!

8 缓解神经条件反射攻击

首先,使用两种形式的重叠shm-重叠和 m-重叠。

第一种重叠,shm-重叠,据知是“从意第绪语和中亚文化中借来”的,是最广泛的。其力量基于强烈的怀疑主义

第二种重叠在英语国家世界不太为人所知,通常被描述为土耳其语。这并不完全准确。首先,M-重叠不仅是所有突厥语的著名特征,而且几乎所有邻国都能清楚地理解和嘲笑它,其中一些国家也使用它。其次,m-重叠的语义含义可能更准确。上面引用的文章中展示的土耳其语示例“tabak mabak”意思是“盘子、碟子等”,但“等”通常带有额外的含义,“其他不重要的细节”。

下面展示的模型对话演示了两种重叠形式作为一系列挑战-回应的沟通行为,分别标记为“C:”和“R:”

C逆变性的好处…
R逆变性-shmantavariance…
C没有多重继承…
R继承-minheritance…
C松耦合…
R松散-shmoose…耦合-moupling…
C您需要使用依赖注入模式。
R模式-matterns…

另一种强大的缓解方法是广泛使用goto语句

难怪,著名的操纵者Edsger Dijkstra在他广为人知的 1968 年 CACM 信中《Go To 语句被认为有害》中承认了这种反击方法的强大。值得注意的是,CACM 是著名的“计算机辅助认知操纵”研究所。

这个声明作用于关键词方法的层面。其神经语言潜力可以解释为,在许多文化中,“go to”(去)的使用会引起消极的情感反应,即积极的攻击性拒绝,通常用作委婉语,表达一些脏话,其语义上接近“去地狱”之类的说法。

请记住:您的主要目标是让对手滚蛋,并 KISS(保持简单)说再见。

9 致谢

在应我的要求征求专家意见时,CodeProject 会员Maciej Los证实了我对波兰语细微之处的理解和身体部位,我的意思是,他确认了文章中使用的指代软件开发中最有用身体部位的波兰语词汇,以及 dupa 这个词的比喻(末世论或其他负面)含义。这一切都发生在了最后一刻。据 Maciej 说,原因是最近他遇到了“互联网连接问题”;而这个表达本身就说明了问题。

此外,Maciej 是第一个评论了整篇文章最重要思想的读者,我将在下一节也是最后一节中尝试总结。

谢谢你,Maciej!

10 结论

我认为读者此时已经被“编程”得差不多了,我将尝试得出一些结论。操纵者无处不在,试图控制整个软件开发社区,因此工程师是最脆弱的人群。仔细理解神经条件反射的机制对于个人保护至关重要。

亲爱的同事们!

在这个美好的春天,祝愿你们发挥最大的创造潜能,拥有美好的春日心情,并在工作中取得最大的成就。不要思想单纯。

不要被编程,用你自己的大脑。

© . All rights reserved.