热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

程序员需要学什么(被称为逻辑之父的人是)

尽管没那么明显,但至少对我而言,哲学与编程有很深刻的关系。你想想看,软件代码无非是反应了开发者看问题的视角和解决方案。在开始编码之前,开发人员会花时间反复思考待解决的问题,明确该问


虽然不是很清楚,但至少对我来说,哲学与编程有很深的关系。 请考虑一下。 软件代码只是对开发者看待问题的观点和解决方案作出了反应。 在开始编码之前,开发人员会花时间反复思考需要解决的问题,明确该问题的要点及其关系。 这个过程正好反应了他们看待世界的哲学。 同样,哲学家们也不断思考生命、意识、神等所关心问题的重要特征。




据此,我们可以很好地将程序语言背后的思维与哲学家们多年来的思想联系起来。 我们有充分的理由将程序语言视为虚拟世界各种体裁的哲学,在这个虚拟世界中有相互作用的实体。 最基本的哲学命题也有有趣的转变。 例如,“自我意识是什么? “什么是反射? “反射”


接下来是更有趣的问题。 “如果哲学家们是程序员呢? 他们使用那个程序语言吗? ’那么,下面是我的回答!


01


神勇的储物柜:硬派汇编程序员




神勇的储物柜是哲学的创始人之一,但仅此而已(汇编是所有程序语言的鼻祖)。 神勇的储物柜可以建立明智的方法论,赢得每次的讨论。 他一直提问直到发生矛盾。 例如,如果有人主张“道德很重要”,神勇的储物柜就会说“那么,怎么定义道德? ”。


同样,汇编程序中的任何符号都意味着问题。 没有任何预先设定的东西(至少对纯程序集来说,不是库或其他东西混合的程序集),所有东西一定有非常明确的意义。 和程序员勇敢的储物柜一起工作,给他这样的代码“var x=; 如果给你看,你这个搭档一定会开始问“var是什么”!


02


积极的短鞋: wwdhm C程序员




积极的短鞋对西方哲学有很大的影响,创造了许多科学领域,从物理中学到了生物学。 他首先仔细研究实体是万物的本质命题; 与柏拉图的抽象形成对比。 的哲学采用中庸的方法获取道德或了解生活(物质和形式)


c语言与其他程序语言有着同等规模的重要影响,在语法层面尤其如此。 而且,70年代初期,c语言被视为所谓高级语言和汇编语言的中庸之道。 既具备编写机器独立程序,也具备访问基础的能力。


03


柏拉图:理想的c传教士




柏拉图是哲学大佬,他是神勇储物柜的学生,也是积极的短鞋老师。 那么,我向你说明明显的疑问。 c (柏拉图)为什么在c (积极短鞋)后面? 让我解释一下。 柏拉图以他的外形和理念而闻名,引出了我们周围万物存在的理念世界。 因此,你桌上的茶杯只是理念世界中呈椭圆形状的对象之一的影子。 用编程专业术语来说,就是茶杯类的一个例子。


同样,c作为c的扩展,是第一种试图在实现前向程序员提供将问题抽象化的能力的语言。 这本身是一个很大的进步,即使没有写一行解决问题的代码,对问题的分类和建模也很容易理解,很有用。 也许奇怪为什么柏拉图没有用Java,但他当然可以。 但是,这个故事另有隐情。 柏拉图对用符号来表达他的形式理念不那么自信,而且他喜欢对话体(参见费尔德)。 同样,c对其发展方向不太自信,所以保留c作为子集,与不那么理想的c语法完全向后兼容。


04


精明的夜晚学派:快乐的Perl学派




精明的夜晚和他们的哲学(精明的夜晚学派)对西方哲学乃至世界哲学和文化有着潜在而深远的影响。 有趣的是,他们不是一个人,而是互相合作的团体。 精明的夜晚拒绝不物质的东西,试图用命题逻辑说明世界。 因此,精明的夜晚学派拒绝任何理念,集中在道德上。 他们不是通过自我审查获得真正的智慧,而是让我们远离无法控制的事物。 精明的夜晚学派排斥政治体制和形式主义,提倡神勇储物柜的市民社会。 人们必须成为兄弟,消除歧视,为友爱的社会做出贡献(世界各国共同的法律)。 注意对基督教、佛教等较大宗教的影响。




最有趣的是,Perl是在80年代发明的,在这个年代中,逻辑/函数编程最终找到了程序语言在世界上的位置。 但是,Perl社区(和语言)与精明的夜晚学派惊人地相似。 Perl作为一种语言,既易于扩展,又灵活。 其实Perl世界上最受欢迎的词是“多种方法

”,简称为 TIMTOADY (there is more than on way to do it)。Perl 背后的哲学拒绝语法上的约束,给程序员们编码时足够自由的风格,但同时鼓励他们共享和参与社区。Perl 的强大源于 CPAN 社区的存在,里面的模块和软件被全球的 Perl 程序员快乐地分享着。这门语言一直在默默影响编程世界,其深远非立见。可以一提的是 Perl 对脚本编程、动态类型编程和函数式编程的强烈影响,但总之可以简单地归结为一句在 Perl 粉中广为流传的笑话:下一轮市场崩盘将由某个 Perl 脚本中的 bug 所引发。

内向的季节:真正的 Java 大师

笛卡尔是反对经典古希腊哲学的第一位西方哲学家。他的核心思想在他的《哲学原理》中著名的第七章有所提及,该书基于我思(理性自我)这一概念。笛卡尔相信怀疑是存在的证明,我思是怀疑的起因,因此得出了著名的“我思故我在”。我思并不是我们进行的一项活动,而是我们的所有活动。所以,我们所要、 所想和所感,通过我思都可以直接获得,笛卡尔几乎“证明”了上帝的存在,理由是人们能够思考上帝存在之必要这一问题。事实上,任何理念或者形式都可以通过 我思来获得。笛卡尔在哲学中的另一重要贡献是:从他开始,哲学尽量避免模糊的抽象之论,去追求简练而近于几何理论的形式。笛卡尔以近乎定理的形式阐述了他 的思想。

笛卡尔绝对是完美的 Java 大师。Java 是第一门强类型语言,它的每一样东西在使用之前必须有一个类型(或哲学地说,它们共享一种形式),这非常符合笛卡尔关于他精确言谈的努力。笛卡尔的我思是 柏拉图形式的再现,区别在于,笛卡尔认为理念存在,是因为我们思考,而且它并不存在于另一个宇宙。他的哲学可以说是纯面向对象的,是我们得到的解决方案, 也是我们智慧的直接产物。

06

mndhk:首位 Python 程序员

康德找了通往哲学殿堂的“简易”方法:放弃采用笛卡尔的我思和经验主义这两种对立、相反的学说中的任何一种,而大喊“都要”。康德审视了人类的 理性,声称被先验理性过滤的经验能通向真理。当他的哲学成熟后,开始研究美学,试图理论化解释人的审美。康德极端精准的性格,痴迷于整洁和精确,在每天固 定的时刻做固定的事情,以至于他的熟人竟然将他“用于”计时。

同样地,Python 是一门尝试将各种解决方案组合在一起的新程序语言。它是多范式的程序语言,从面向对象编程到基于契约的编程。Python 程序员拒绝像 Perl 一样自由表达的形式,同时又从它借鉴了不少特性。Python 强调简洁和清晰的代码。Python 太“痴迷”于此,以致将空白缩进作为代码块的分隔符。在“Python 之禅”的 19 条教义中首条便是“美胜于丑”。康德对美和艺术的追求,让他成为名副其实的首位 Python 程序员。

07

路德维希·维特根斯坦:天才 Haskell 程序员

维特根斯坦犹如神勇的柜子的辩经,深刻地革命了西方哲学。他的札记般的哲学著作《逻辑哲学论》堪比逻辑学艰深的研究生数学读本。维特根斯坦指出语 义和符号形式是一切这些问题的根源,剩下的都可明确地归为科学的范畴。依靠纯逻辑,他推导出语言内在的歧义性决定了哲学不过是在重复它自己,并且以这句“但凡不可言所,务必保持沉默”的旷世名言结束了本书,同时声称解决了所有的哲学问题。

维特根斯坦是天生的 Haskell 程序员。Haskell 不是第一门函数式编程语言,而是在 80 年代后期出现的,并被视为最为重要的函数式语言。Haskell 并不是适合所有人,就像《逻辑哲学论》一样。如维基百科中所写,它有严格的数学和逻辑形式。Haskell 是纯函数式程序语言,它重新定义了程序员使用抽象数据类型的方式,正如维特根斯坦像神勇的柜子的辩论法一样,革新了现代西方哲学。

上面这些听起来也许有点奇怪,但是对程序员来说,很容易意识到它们之间深层次的联系,但我不确定哲学家们是否持有相同的观点。无论如何,至少是现在可以理解,为什么在维基百科中每一篇关于程序语言的文章中,都有“语言哲学”这特别的一节。

来源:CSDN技术社区

原标题:If Philosophers Were Programmers

作者:developeronline.blogspot.com

哲学聊天专用贱图(完整解析版)2020-09-22

舒服的面包 | 如何理解“花木兰”式的女性生存困境?2020-09-20

美国大法官ladnp去世,这世界少了一位“超级英雄”2020-09-19

atgdyj与波伏娃:在爱情中流亡的纯粹欢愉者2020-09-18

林语堂 | 人们成功时皆儒家,失败时皆道家2020-09-17

让好文与你的好友不期而遇


推荐阅读
  • 深入解析Spring框架中的双亲委派机制突破方法
    在探讨Spring框架中突破双亲委派机制的方法之前,首先需要了解类加载器的基本概念。类加载器负责将类的全限定名转换为对应的二进制字节流。每个类在被特定的类加载器加载后,其唯一性得到保证。然而,这种机制在某些场景下可能会限制灵活性,因此Spring框架提供了一些策略来突破这一限制,以实现更加动态和灵活的类加载。这些策略不仅能够提升系统的可扩展性,还能在复杂的运行环境中确保类的正确加载和管理。 ... [详细]
  • 深入解析 C 语言与 C++ 之间的差异及关联
    深入解析 C 语言与 C++ 之间的差异及关联 ... [详细]
  • C#实现文件的压缩与解压
    2019独角兽企业重金招聘Python工程师标准一、准备工作1、下载ICSharpCode.SharpZipLib.dll文件2、项目中引用这个dll二、文件压缩与解压共用类 ... [详细]
  • 检查在所有可能的“?”替换中,给定的二进制字符串中是否出现子字符串“10”带 1 或 0 ... [详细]
  • Python作为当今IT领域中最受欢迎且高效的语言之一,其框架能够显著加速Web应用程序的开发过程。本文推荐并对比了十大顶级Python Web开发框架,其中CubicWeb以其卓越的代码重用性和模块化设计脱颖而出,为开发者提供了强大的支持。 ... [详细]
  • Juval Löwy主张,每个类都应被视为服务,这并非是为了让服务无处不在,而是因为微服务是经过深思熟虑后系统分解的自然结果。在他的设计和构建的系统中,这种理念有助于提高模块化、可维护性和扩展性。通过将每个类视为独立的服务,系统能够更好地应对复杂性,实现更灵活的部署和更高的性能。 ... [详细]
  • 深入解析C语言中结构体的内存对齐机制及其优化方法
    为了提高CPU访问效率,C语言中的结构体成员在内存中遵循特定的对齐规则。本文详细解析了这些对齐机制,并探讨了如何通过合理的布局和编译器选项来优化结构体的内存使用,从而提升程序性能。 ... [详细]
  • 在C#编程中,数值结果的格式化展示是提高代码可读性和用户体验的重要手段。本文探讨了多种格式化方法和技巧,如使用格式说明符、自定义格式字符串等,以实现对数值结果的精确控制。通过实例演示,展示了如何灵活运用这些技术来满足不同的展示需求。 ... [详细]
  • 在C语言程序开发中,调试和错误分析是确保代码正确性和效率的关键步骤。本文通过一个简单的递归函数示例,详细介绍了如何编写和调试C语言程序。具体而言,我们将创建一个名为 `factorial.c` 的文件,实现计算阶乘的功能,并通过逐步调试来分析和解决可能出现的错误。此外,文章还探讨了常见的调试工具和技术,如GDB和断点设置,以帮助开发者高效地定位和修复问题。 ... [详细]
  • 在本次分享中,我将详细介绍我的网络数据爬取项目,包括使用Scrapy-Redis进行分布式爬取的具体配置和多台机器的协同工作。此外,还将探讨从Scrapy到Scrapy-Redis的迁移过程,以及在实际爬取过程中遇到的各种反爬虫策略及其应对方法。 ... [详细]
  • 在当前的软件开发领域,Lua 作为一种轻量级脚本语言,在 .NET 生态系统中的应用逐渐受到关注。本文探讨了 Lua 在 .NET 环境下的集成方法及其面临的挑战,包括性能优化、互操作性和生态支持等方面。尽管存在一定的技术障碍,但通过不断的学习和实践,开发者能够克服这些困难,拓展 Lua 在 .NET 中的应用场景。 ... [详细]
  • 利用Python与Android进行高效移动应用开发
    通过结合Python和Android,可以实现高效的移动应用开发。首先,需要安装Scripting Layer for Android (SL4A),这是一个开源项目,旨在为Android系统提供脚本语言支持。SL4A不仅简化了开发流程,还允许开发者使用Python等高级语言编写脚本,从而提高开发效率和代码可维护性。此外,SL4A还支持多种其他脚本语言,进一步扩展了其应用范围。通过这种方式,开发者可以快速构建功能丰富的移动应用,同时保持较高的灵活性和可扩展性。 ... [详细]
  • 在尝试对从复杂 XSD 生成的类进行序列化时,遇到了 `NullReferenceException` 错误。尽管已经花费了数小时进行调试和搜索相关资料,但仍然无法找到问题的根源。希望社区能够提供一些指导和建议,帮助解决这一难题。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • 探索 PHP 8.0 的重大更新:轻松获取年度月份数据
    PHP 8.0 引入了多项重要更新,包括增强的类型系统、全新的 JIT 编译器以及联合类型等特性。这些改进不仅提升了性能,还简化了开发流程。本文将重点介绍如何利用 PHP 8.0 的新功能轻松获取年度和月份数据,为开发者提供更高效、更简洁的解决方案。 ... [详细]
author-avatar
薛薛Sying
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有