论编程哲学的重要性

一谈哲学,好像和编程没什么关系。而且这种虚无缥缈的高大上抽象思维领域,怎么和写代码这种更接近于逻辑和数学的操作关联起来?

其实不尽然。

我们说,任何的编程语言和设计思想,都是作者对于现实世界的理解在软件领域的投射。首先举一个大家编程中最常见的概念:面向对象。面向对象最初起源于对于人体细胞的隐喻(https://blog.csdn.net/zhang_qxian/article/details/54341763)。每个细胞都是一个独立的处理信息的单元,细胞之间是通过神经元进行信息的交互(顺便歪个楼,喝水有利于信息的传递速度,所以程序员脑累了要喝点水),然后多个神经元就通过这种简单结构的组合,来实现复杂的器官功能。最能够体现这种思想的是Erlang语言(https://baike.baidu.com/item/Erlang/1152752?fr=aladdin)。详见Joe ArmStrong的访谈https://blog.csdn.net/zhang_qxian/article/details/54341878。因此,可以说这就是面向对象的编程的哲学。

再举一个例子,在青少年儿童编程领域中,Scratch已经是公认的最佳选择,其催生出来的国内的诸多培训机构,也都是围绕Scratch进行再次的包装和升级。Scratch的基本理念详见《终身幼儿园》一书,其中最核心的部分在于其提出的4P,即Project、Passion、Peer和Play。整个Scratch系统的设计,就是紧紧围绕4P进行构建,充分体现了其设计哲学。我个人建议,每一个学编程的人,都应该好好看看这本书,对于如何设计具备极大的启发价值。

最近在忙于招聘,应聘的几乎所有的Java程序员,都是做网站的,没有人思考过,其实现的网站的灵魂在哪里,都是一堆业务流程。

有人可能会问,哲学能当饭吃吗?其实,我们每天的生活,都和哲学密切相关。每一个个人决策背后,都有其意义支撑。从这点上来说,哲学不仅仅和编程密切相关,而且是相当密切的。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值