编程即人生:从编代码中学到的三条生活感悟

“如何从一堆袜子中将它们高效地各自配成一对?”


你可能会想,拜托这么无聊的问题有意思嘛?不过作为一名程序员,这类的“奇葩”的想法还真是时常闪过脑海。哈哈,当你把这类问题拿出来和那些非程序员讨论的时候,你能想象他们满是黑线的表情吗?

其实编程就是在持续不断地解决问题,在这个过程中,你会考虑该使用什么样的语言,是否要把你写的代码归类或者分段,如何组织代码?如何让代码运行地更高效?在花了一段时间编程之后,你就会注意到你开始不由自主地将这些技能应用到日常生活中。

但这并不是编程和日常生活相关的唯一方式,它还能够教会我们一些重要的人生课。

1、只要你愿意,总会有各种办法完成任务

之前在给自己的产品Wordeys(https://wordeys.com/)进行登陆页面编程时,我打算做一个梯度环境,这是以前从未做过的事。我浏览了一些用过这种环境的网站,然后在我们的网页上重写了其中一个。这之后,我又想,希望在每一个页面上都能使用多种梯度环境,我开始增加代码,不过很快我就意识到这样可能行不通……于是我决定删除之前写的,并查看之前保存的那些网页。后来我把自己写的代码删了两次,一直到第三次,结果看起来已经既高效又易懂。

链接:http://imgur.com/gallery/Ag9TWv2

虽然生活中遇到的问题,可能不会总是像我提到的,简单地浏览网页,就能寻求到可能的解决方案一样,多种解决方案还是存在的。想找个新工作?拿出一份优秀的履历说不定就能做到,你可以利用多余的时间,做一些虽然无薪但有意义的工作来完善简历,或者,参加兴趣工作坊或训练营,学习新技能给自己充电,再或者打电话给HR(好吧别认真)……以上任何一种方法都可以解决问题,如果综合起来,也可以实现目标的。

2.把事情做好,你需要耐心、勤奋、诚实。

今年早些时候,GitLab(https://about.gitlab.com/)的其中一个数据库发生了严重的事故。由于一个错误的CLI(命令行接口),一位员工开始删除错误的程序目录。本应在db2.cluster.gitlab.com上运行的程序,他在db1.cluster.gitlab.com上运行了。虽然他立即意识到了自己的错误,但是当他终止程序的时候,300GB的数据只剩下4.5GB了。对于一些公司来说,这简直可说是世界末日。无论什么原因,诸如此类的失误导致失去顾客数据,对于一家公司来说绝对是有可能发生的非常糟糕的事情。赢得信任如此困难,而失去却是如此容易。

然而,GitLab对于数据损失的态度却非常坦荡!他们直接发了推特,让每个人都知道发生了什么,并且坦言,他们并不确定结果是好还是坏。之后,他们在谷歌文档中也持续不断更新进展情况。

因此,在这件事之后,虽然损失了295.5GB的客户数据,但大家还是对他们的开诚布公大加赞赏。就是这种对错误保持诚实的态度,让他们赢得了客户和围观群众的一致好评和信任。

3.没有“完成”,只有“进行中”或“已终止”

程序会创造许多事物。当你查看一个程序员的GitHub信息,你能看到一堆他们做过的,或正在做的事情。

要判断一个软件是否有效,人们通常会检查最后更新时间,以及之前报告的问题。这就是我所说的,是“进展中”还是“已放弃”。

这在生活中其实并无二致。梦想和目标总是很少能够达到,因为你总会期待着下一个新的目标。如果目标是买辆好车,那么总会有好的车。如果目标开始是生活自立,那么你总会期待更高的收入。如果目标是吃得健康,那么也总是会有更健康的选择。

这些林林总总的目标,要么仍在进行中,要么你也可以自行认定已经实现了或者终止了。环境和观点会随着时间改变,你也会因实际情况不断重塑这些项目。

原文发布时间为:2017-5-14

时间: 2024-09-20 00:49:04

编程即人生:从编代码中学到的三条生活感悟的相关文章

c语言-新手刚入vs编程 用c编代码出现问题

问题描述 新手刚入vs编程 用c编代码出现问题 用c编写代码 调试后是这么乱 但却能运行成功 为什么 解决方案 Linux下的c编程 出现问题 解决方案二: 不用管...这些没有影响.如果有洁癖,非要去掉,百度搜搜解决办法. 解决方案三: 成功并不代表你的代码完全正确,有时候程序会忽略一些警告的! 解决方案四: http://www.itnose.net/detail/6095821.html

Android编程之分辨率处理相关代码段合集_Android

本文实例讲述了Android编程之分辨率处理相关代码段.分享给大家供大家参考,具体如下: 1. 通常我们所说的屏幕分辨率如800x480.960x540等.这些分辨率是可以通过代码获取到的.手机屏幕分辨率计算: // 计算手机屏幕分辨率 private void computeDisplayMetrics() { // 手机屏幕分辨率为heightxwidth DisplayMetrics dm = new DisplayMetrics(); this.getWindowManager().ge

剖析Node.js异步编程中的回调与代码设计模式_node.js

NodeJS 最大的卖点--事件机制和异步 IO,对开发者并不是透明的.开发者需要按异步方式编写代码才用得上这个卖点,而这一点也遭到了一些 NodeJS 反对者的抨击.但不管怎样,异步编程确实是 NodeJS 最大的特点,没有掌握异步编程就不能说是真正学会了 NodeJS.本章将介绍与异步编程相关的各种知识. 在代码中,异步编程的直接体现就是回调.异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了.我们首先可以看看以下代码. function heavyCompute(n, callb

求 python用遗传编程解决符号回归的代码?如:cos2x表示成一个固定的式子 求代码

问题描述 求 python用遗传编程解决符号回归的代码?如:cos2x表示成一个固定的式子 求代码 求 python用遗传编程解决符号回归的代码?如:cos2x表示成一个固定的式子 求源代码

c#-C#图书管理系统的课程设计怎么做?借书和还书的功能怎么编代码

问题描述 C#图书管理系统的课程设计怎么做?借书和还书的功能怎么编代码 C#图书管理系统的课程设计怎么做?借书和还书的功能怎么编代码 解决方案 课程设计怎么做,听我和你细细说. 这种玩意纯扯淡,千万不要当了真. 老师当年就不会,所以才来把书教. 胡乱抄来个课题,答案google有很多. 直接根据关键字,打开google来搜索. 下载几个来"参考",如果不行换一个. 知识要点要记牢,如何编译得掌握. 抄袭不忘改名字,修改时间别忘了. 老师学生互相骗,混个及格就行咯. 解决方案二: htt

<《cuda 并行程序设计 gpu编程指南》书本的代码,这本书的例子代码,急求!!

问题描述 <<cuda 并行程序设计 gpu编程指南>书本的代码,这本书的例子代码,急求!! 希望大神们能帮我找找,真的很需要,不甚感激!!..........

光标定位问题..(如何用编代码来控制光标定位到某个文本框内?)

问题描述 如何用编代码来控制光标定位到某个文本框内?比如文本框名字为:txtuserid 解决方案 解决方案二:document.getElementById("txtuserid").focus();解决方案三:系统根本不认Document这个单词解决方案四:该回复于2008-05-09 11:11:16被版主删除

如何用编代码来控制光标定位到某个文本框内?

问题描述 如何用编代码来控制光标定位到某个文本框内?比如文本框名字为:txtuserid有人告诉我用:document.getElementById("txtuserid").focus();但是系统根本不认Document这个单词s 解决方案 解决方案二:B/SorC/S?解决方案三:服务端txtuserid.Focus();就可以解决方案四:该回复于2008-05-11 15:10:25被版主删除解决方案五:C/S

在C++编程中如何自编一个比较两个字符串s和t大小的函数strcomp(s,t)

问题描述 在C++编程中如何自编一个比较两个字符串s和t大小的函数strcomp(s,t) 要求:s小于t时返回-1,s等于t时返回0,s大于t时返回1.在主函数中任意输入4个字符串,利用该函数求最小字符串,并输出该字符串.(本人初学C++,希望各位大神指教) 解决方案 这里有http://blog.csdn.net/yushuai007008/article/details/7626446 解决方案二: int strcomp(char *s, char *t) { while (*s !=