关于写代码的一些思考

写了一年的代码,有了一些想法,在此反思一下。

每个产品都是一种对现实世界的抽象和映射,用一种自动化的方式来描述现实世界,来完成原本需要大量人力才能进行的工作。人类的大脑更适合抽象、模糊的思考,那些重复,机械的东西就留给计算机吧,那是它的强项。计算机是纯逻辑的东西,人们设定好通用法则,机器就能按照法则快速地运算,在短时间内得到原本人需要大量时间运算才能得到的东西,而且肉做的人还不一定保证计算正确。

于是写代码,就是干了这个活,把现实世界抽象为机器能运算、操控的程序,进而得到我们希望的结果,再把结果转换为和现实世界对应的信息,并用人们都认识的方式表达出来(文字、图表、图形、动画、声音等等)。计算机最基本的功能就是根据指令来控制数据的变化,于是写代码也变成了在一个更高的抽象层次上控制数据。

所以第一步,我们就要来定义数据的含义,那是我们的原材料。我们把现实世界抽象为一系列的数据,把数据分类,按照一定关系组织起来,创造出一系列的数据模型。但,这仅仅是静态的,现实是不断变化的。于是我们也要将和现实对应的数据,做一些对应的变化。我们会抽象出一些现实行为,并描述成对数据的一些操作,再用代码写下来。这样,代码里面就已经包含了这两种东西,数据以及让那些数据发生有规律变化的一系列操作。而这,已经完全能抽象表达出现实世界了。因此,编程最原始的状态就是这样,定义数据,操作数据。再然后的升级就是如何更好地定义数据和如何更好地操作数据,这就衍生出无数的技巧,形成了庞大的技术体系。这就如同画画,仅仅画出所想的图案相当容易,这也确实是画画的原意,但称为艺术就需要大量的努力。

搞清楚之后,就有了写代码的方向。能写出好代码,必然要对世界理解深刻,抽象出更好的模型,看懂变化的实质,厘清数据的关系,用更佳正确的方式控制数据来保持和现实世界映射的稳定性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值