阅读更多

3顶
0踩

非技术

转载新闻 编程的艺术

2015-01-06 10:50 by 正式编辑 cao345657340 评论(0) 有4609人浏览
以前对编程最一致的误解是思维活动是纯技术性的,本质上来说完全准确,就像数学和物理一样。但计算是准确的,编程却不是。前者是机器操作的结果,后者仍是人类行为。

处于顶层抽象概念上的编程需要很多创造力,而工具和技术我们可以在教室里学习到;所有的理论表明只需要一小部分需求就能创造一个伟大开发者。



如何让开发者更优秀。当技术知识、好奇心、创造力和经验平衡的时候就会产生奇迹

不是所有开发者是一样的

人生来就不是平等的,从最开始我们的动机、目标和挑战也是不同的。我只能讲我自己的经验,我的动机绝对和去尝试数学和精密科学无关。

在我13岁的时候,我开始了第一段编程经历。就是在学校与众不同的电脑教室里,我们学了如何用 Clipper 来做一些简单的东西。老师也尝试教我们 Word、Excel 等等。看着我们如何用一些代码创造出小东西,那对我来说是让人兴奋的经历。

我有一个艺术家和一个工程师的父母,很小就受到父母的影响。我认为能让两者结合起来会是世界上最好的,那就是逻辑之上的艺术。

我明确和强烈的编程动机,从那时起,成了一种创造「无中生有」的能力,用代码把想法带到生活中。

编程即艺术

我认为编程就是艺术的一种形式,你知道:不是所有的艺术家都是一样的。像很多画家一样,很多程序员也只是在复制东西,从来没有带来原创的东西。

真正的艺术家是不同的。TA们都能去创造新东西,TA们为未来带来新的标准,TA们把现在的环境「变」得更好,TA们不恐惧危机。「复制者」会尝试说「为什么不不用 X 或者 Y 来创造新东西呢?」让TA们停下。

因为TA们不会满意用 X 或 Y,所以TA们要成为学习工具来自我实验;因为TA们想要创造,所以TA们在代码中表达自己;TA们只想无拘束的去做,所以即使不是大事儿也可以改变世界。

引用
「最有创意的人都愿意工作在朦胧阴影里」- Ed Catmull,Creativity Inc.

出于对他人工作的尊重,即使你好像在哪儿见到过类似的表达,那是他/她们的表达。他/她们不想去重造轮子,TA们只想去造一个更好的轮子,或者对TA们目的更好的轮子。

这就是如何给生活带来点惊奇。

译自 《The Art of Programming》 by Erika Heidi
  • 大小: 28.6 KB
来自: 简书
3
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • JavaWeb笔记之SSH(Hibernate)

    Hibernate一、Hibernate基本原理二、使用步骤1、创建Hibernate配置文件,存储和数据库连接的相关信息,...三、Eclipse中配置Hibernate四、创建映射文件五、HQL(Hibernate Query Language)1、 添加2、 查询3、 更新4、

  • 关于hibernate的一些简单介绍

    过年回家,想了想关于自己未来的目标规划,发现自己陷入了死胡同,本来计划一直更新的博客也停止了更新,姐姐劝我博客可以继续写,对自己有好处。所以,在2020/2/10一点,继续更新我的博客。 背景:当前市场上,由于...

  • Java 面试被问框架源码看过吗?70 道 SSM 面试题及学习笔记值得收藏

    最近面试的小伙伴很多,对此我整理了一份Java面试题手册:基础知识、JavaOOP、Java集合/泛型面试题、Java异常面试题、Java中的IO与NIO面试题、Java反射、Java序列化、Java注解、多线程&并发、JVM、Mysql、Redis、...

  • Java面试复习大纲2.0(持续更新)

    Java面试复习大纲2.0(持续更新)2018-02-26 奋斗蒙 Java帮帮面试复习大纲(Java帮帮总结)【人事】31道,不准备就掉坑的问题【简历】1年简历模板一【简历】2年简历模板一【简历】3年简历模板一【面试】面试练习题...

  • 正确理解hibernate的inverse!

    最近有朋友问我hibernate关于多对多关于删除中间表数据的问题,关键是inverse的设置.下面引用网友的一篇文章 Inverse是hibernate双向关系中的基本概念,当然对于多数实体,我们并不需要双向关联,更多的可能会选择...

  • 我都要冬眠了,hibernate,哎!

    Hibernate是一种新的ORM映射工具,它不仅提供了从Java类到数据表的映射,也提供了数据查询和恢复等机制。本文介绍怎么在Web应用开发中配置Hibernate的环境,并且使用Hibernate来开发一个具体的实例。 阅读本文前您...

  • Hibernate简介

    Hibernate是一个基于Java的开源的持久化中间件,对JDBC做了轻量的封装。 采用ORM映射机制,负责实现Java对象和关系数据库之间的映射,把sql语句传给数据库,并且把数据库返回的结果封装成对象。内部封装了JDBC访问...

  • 面试必问2.0

    有了包装类,这种问题就可以得以简化。 自动封装:可以直接将一个基本数据类型的数据赋给对应的包装类型。 自动拆箱:可以把一个包装类型的对象直接赋值给对应的基本数据类型。 Integer与Double如何进行比较? 不能...

  • Hibernate中的JPA写法(利用注解的形式)

    首先说一点:关于配置文件,叫persistence.xml放在META-INF下边,而这个文件夹放在src/main/...首先看配置文件 <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://

  • Hibernate

    Hibernate是一种新的ORM映射工具,它不仅提供了从Java类到数据表的映射,也提供了数据查询和恢复等机制。本文介绍怎么在Web应用开发中配置Hibernate的环境,并且使用Hibernate来开发一个具体的实例。 介绍 面

  • Struts+Spring+Hibernate整合入门详解

    Java 5.0 Struts2.0.9 Spring2.0.6 ...Hibernate3.2.4 作者:Liu Liu 转载请注明出处 基本概念和典型实用例子。 一、基本概念 Struts:作为基于MVC模式的Web应用最经典框架,两个项目Struts和w...

  • Hibernate基础

    今天开始学习Hibernate了,从完整的介绍、开发,也非常明白了Hibernate的作用是什么,而且使用这个Hibernate操作起来也很容易的 一、Struts与Hibernate Struts是用来替代Servlet,可以在JSP上使用标签来减少...

  • ❤️连续面试失败后,我总结了57道面试真题❤️,如果时光可以倒流...(附答案,建议收藏)

    金九银十,狂热的招聘季在悄声无息间开始了,小编也去尝试了一波,被杀的体无完肤,面试官问的和你想的根本不在一个节拍,现在我就将最近失败的面试经历分享给大家,全搞懂的话,就相当于你接到了10个offer。...

  • Spring data jpa 复杂化查询

    一.Spring data jpa 简介 首先JPA是Java持久层API,由Sun公司开发,希望整合...在ORM框架中,Hibernate是一支很大的部队,使用很广泛,也很方便,能力也很强,同时Hibernate也是和JPA整合的比较良好,我们可以认为J...

  • 初级Java程序员需要掌握哪些主流技术才能拿20K?

    先给你看看有关训练营的一张思维导图,你想学的主流技术都有! ( 一张关于课程的思维导图 ) 哇,内容还真多。 哈哈,惊喜还在后面,给你详细讲下~ 【训练营简介】 本次训练营会聚焦在 「主流java技术与热门开源...

  • [转载]一个Hibernate的例子

    一个Hibernate的例子对象、关系的映射(ORM)是一种耗时的工作,在Java环境下,有几种框架来表示持久数据,如实体 Bean、OJB、JDO、Hibernate等。Hibernate是一种新的ORM映射工具,它不仅提供...

  • Java面试题:面向造火箭看面经

    【Java】: 简述 BIO, NIO, AIO 的区别?...并发事务带来哪些问题? 数据库的事务隔离级别有哪些?各有哪些优缺点? 简述乐观锁以及悲观锁的区别以及使用场景、实现方式? InnoDB 是如何解决幻读的?

  • 基于SSM+JSP+HTML的东风锻造有限公司重大停管理系统(Java毕业设计,附源码,数据库,教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 ssm 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:jsp 后台框架:SSM 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4

  • 数据库系统课程设计报告-体育项目比赛管理系统设计与开发

    一、系统需求分析 1 (一)需求概述 1 (二)业务流分析 1 从运动员角度分析 1 (三)数据流分析 4 (四)数据字典 5 二、数据库概念结构设计 6 (一)实体分析 6 (二)属性分析 6 (三)联系分析 8 (四)概念模型分析(.PDM图) 9 三、数据库逻辑结构设计 9 (一)概念模型转化为逻辑模型 9 1.一对一关系的转化 9 2.一对多关系的转化 9 3.多对多关系的转化 10 (二)逻辑模型设计(.PDM图) 10 四、 数据库物理实现(一)表设计 10 (一)表设计 10 (二)创建表和完整性约束代码设计 11 五、数据库功能调试 15 (一)运动员管理模块 15 (二)负责人管理模块 16 (三)系统管理员管理模块 17 六、设计系统前台软件 21 (一)开发软件选择 21 (二)软件功能要求与设计 22 (三)软件功能实现 22 (四)系统测试 24 七、设计总结 27

  • 基于SSM+JSP的文物管理系统+数据库(Java毕业设计,包括源码,教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:jsp 后台框架:SSM 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4

Global site tag (gtag.js) - Google Analytics