编程职业的乐趣

2023-10-29

编程职业的乐趣

美酒的酿造需要年头,美食的烹饪需要时间;片刻等待,更多美味,更多享受。

Good cooking takes time. If you are made to wait, it’s to serve you better, and to please you.

原文

   编程为什么有趣?作为回报,它的从业者期望得到什么样的快乐?

   首先是一种创建事物的纯粹快乐。如同小孩在玩泥巴时感到愉快一样,成年人喜欢创建事物,特别是自己进行设计。我想这种快乐是上帝创造世界的折射,一种呈现在每片独特、崭新的树叶和雪花上的喜悦 。

   其次,快乐来自于开发对其他人有用的东西。内心深处,我们期望其他人使用我们的劳动成果,并能对他们有所帮助。从这个方面,这同小孩用粘土为“爸爸办公室”捏制铅笔盒没有本质的区别。

   第三是整个过程体现出魔术般的力量——将相互啮合的零部件组装在一起,看到它们精妙地运行,得到预先所希望的结果。比起弹珠游戏或点唱机所具有的迷人魅力,程序化的计算机毫不逊色。

   第四是学习的乐趣,来自于这项工作的非重复特性。人们所面临的问题,在某个或其它方面总有些不同。因而解决问题的人可以从中学习新的事物:有时是实践上的,有时是理论上的,或者兼而有之。

   最后,乐趣还来自于工作在如此易于驾驭的介质上。程序员,就像诗人一样,几乎仅仅工作在单纯的思考中。程序员凭空地运用自己的想象,来建造自己的“城堡”。很少有这样的介质——创造的方式如此得灵活,如此得易于精炼和重建,如此得容易实现概念上的设想。(不过我们将会看到,容易驾驭的特性也有它自己的问题)

   然而程序毕竟同诗歌不同,它是实实在在的东西;可以移动和运行,能独立产生可见的输出;能打印结果,绘制图形,发出声音,移动支架。神话和传说中的魔术在我们的时代已变成了现实。在键盘上键入正确的咒语,屏幕会活动、变幻,显示出前所未有的或是已经存在的事物。

   编程非常有趣,在于它不仅满足了我们内心深处进行创造的渴望,而且还愉悦了每个人内在的情感。

小结

   摘自《The Mythical Man-Month》,感觉这些正是我们活跃在此的原因。我们有理由更有信心做下去。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编程职业的乐趣 的相关文章

  • sockjs-node请求一直报错

    今天在运行本地项目时候 一直提示sockjs node info 请求失败 我一直在想本地并没有这个请求接口 这个是哪里来的 后来经过查阅资料发现 sockjs node 是一个JavaScript库 提供跨浏览器 JavaScript 的
  • 蓝桥杯省赛2021 回路计数 python

    题目描述 蓝桥学院由 21栋教学楼组成 教学楼编号 1 到 21 对于两栋教学楼 a 和 b 当 a 和 b 互质时 a和 b之间有一条走廊直接相连 两个方向皆可通行 否则没有直接连接的走廊 小蓝现在在第一栋教学楼 他想要访问每栋教学楼正好
  • python实现onvif客户端及问题小结

    python实现onvif客户端及问题小结 文章目录 python实现onvif客户端及问题小结 1 前言 2 python onvif安装及ptz示例 2 1 openwrt下安装pip及python onvif 2 2 ptz示例 3

随机推荐

  • 公众号一次性订阅消息

    洛塔服务号回复007获取代码 功能说明 之前发布通知 要用订阅通知替代一次性订阅消息 不知道是被骂的太惨还是技术原因 一次性订阅消息还是一直能用 和模板消息不同的是 一次性订阅消息无需用户关注公众号 但是必须用户点击同意发送才能接收消息 模
  • 面试被问Spring Boot自动配置原理,答不出来?

    我们知道 Spring Boot 项目创建完成后 即使不进行任何的配置 也能够顺利地运行 这都要归功于 Spring Boot 的自动化配置 Spring Boot 默认使用 application properties 或 applica
  • 1.7 C++ struct class

    c 中 struct 内可以定义函数 c不可以 定义时 可以省略struct关键字 可以对成员加入访问权限 private protected public 如何对private和protected 进行外部赋值和访问 set 和get方法
  • selenium跳转新页面定位

    1 获取当前页面 跳转过来的页面 句柄 self driver window handles 1 2 切换窗口 self driver switch to window self driver window handles 1 3 sele
  • C语言二维数组作为形参传递问题

    问题 今天想用一个二维字符串数组保存字符串 在参数传递过程中发现返回的结果不对 上网一搜 发现二维数组作为形参传递不像一维数组那么简单 请看以下详细分析 异常代码 int StrCut char pinput char ppOut char
  • 1477 找两个和为目标值且不重叠的子数组

    题目描述 给你一个整数数组 arr 和一个整数值 target 请你在 arr 中找 两个互不重叠的子数组 且它们的和都等于 target 可能会有多种方案 请你返回满足要求的两个子数组长度和的 最小值 请返回满足要求的最小长度和 如果无法
  • Linux/Windows备份数据库

    使用场景基于SpringBoot 简单的记录下 比较粗糙 工具类 public static int backupMysql String host String root String pwd String dbName String b
  • 如何在 Linux 上安装、启动和卸载 Lotus Notes 8.5

    http tech ddvip com 2010 04 1271908410152075 html 安装之前的准备工作 在 Linux 客户机上安装 IBM Lotus Notes 8 5 之前 应了解以下信息 客户机配置要求 表 1 No
  • Spark

    1 Spark架构设计 1 1架构设计图 1 2 相关术语名词解释 1 RDD Resillient Distributed DataSet 弹性分布式数据集 是对数据集在Spark存储和计算过程中的一种抽象 是一组制度 可分区的分布式数据
  • 【Docker】docker bash: sudo: command not found

    1 背景 mac下安装了docker 然后用docker 安装了grafana软件 然后进入grafana base lcc lcc prometheus docker exec it 4b5f517f4340 bash grafana 4
  • 【经典】SpringBoot自定义配置信息

    当我们系统中为方便管理 会定义一些自定义配置项 方便系统的管理和维护 在SpringBoot中 有两种方式可以进行自定义配置 Value 进行单个属性的注入 ConfigurationProperties 类型安全加载 Value方式注入
  • C语言取出一个长整型数中的偶数并构成一个新数案例讲解

    思路分析 1 本题的难点在于 如何把一个长整型数中每一位上的数依次取出 可以使用while循环对整数中的每一位进行取模操作 取出最后一位数 然后把这个数保存到一个数组中 并用除法去掉最后一位数 循环遍历直到一个整数中的每一位都被取出并依次保
  • GitKraken中push时,报ssh key的错误

    问题 configured ssh key is in an invalid format please ensure that your key is valid and is an rsa type key 解决方案 1 GitKrak
  • 卓越性能代码_Win10如何开启卓越模式?学会输入这串代码,电脑性能大幅提升...

    自己的电脑性能如何总是被用户所关注的 那么今天就是来给大家介绍一个Win10的模式 输入一串代码后即可开启该模式 卓越模式 该模式开启之后 完全可以用来代替 高性能 模式 尤其是对于喜欢超频 玩硬件的用户来说还是比较推荐使用的 比较该模式下
  • 新手如何在IEEE上发表论文?

    IEEE 也就是美国电子与电器工程师学 Institute of Electrical and Electronics Engineers 是一个国际性的电子技术与信息科学工程师的学术组织 其会员人数超过40万人 遍布160多个国家 是世界
  • Spring Boot配置MySQL多数据源

    1 导读 在日常开发中我们都是以单个数据库进行开发 在小型项目中是完全能够满足需求的 但是 当我们牵扯到像淘宝 京东这样的大型项目的时候 单个数据库就难以承受用户的CRUD操作 那么此时 我们就需要使用多个数据源进行读写分离的操作 这种方式
  • 最快速度求两个数组之交集算法与hash

    一个题目 该题目来自58同城的二面 用最快速度求两个数组之交集算法 比如A 6 2 4 1 B 2 9 4 3 那么A B 2 4 算法一 在大多数情况 也就是一般的情况下 大家都能想出最暴力的解法 通常也就是采用遍历或者枚举的办法来解决问
  • SpringBoot使用log

    目录 简介 实现步骤 1 在 pom xml 文件中添加 lombak 依赖 2 配置 application properties 日志设置 3 在要使用日志的类上直接添加 Slf4j 注解 然后就可以直接使用 log xxx 方法记录日
  • ABAP对excel的操作(为单元格设置公式)

    文章目录 前言 一 效果 二 代码 前言 给单元格设置公式 一 效果 运行程序 执行 excel效果 二 代码 代码如下 示例 Report ZDEMO EXCEL6
  • 编程职业的乐趣

    编程职业的乐趣 美酒的酿造需要年头 美食的烹饪需要时间 片刻等待 更多美味 更多享受 Good cooking takes time If you are made to wait it s to serve you better and