这本书的英文版是开源。我读了一些。但是,支持的英语水平不走太,然后还有那些谁译的书,但感觉不是太干脆翻译,在一些地方难以清除作者的思路,所以,我要揍很难理解他自己翻译一下原来的地方,这将更好地了解一点点。

Cha1 Introduction

我喜爱编程。我的目的不不过让程序执行起来。我热爱让程序有一定的风格。程序非常像诗。程序是一种信息的载体,不只向计算机,很多其它的向那些要改动和使用你程序的人传递信息。

有了程序。你能够使用自己的规则创建自己的世界。通过你对问题和解决方法的理解。形成一些概念。进而创建你自己的世界。水平高超的程序猿使用简洁清晰的程序来创建世界,如同诗歌或散文一样。

ps:

这一段讲述了“程序”的外在、本质、内在,外在就是“程序要像诗一样”。本质就是“信息的载体”,内在就是“在程序内创造世界”。

外在就是程序的风格。关于程序的风格,非常多编程书籍上都讲到过,要每一个编程人员都形成自己的程序风格。程序如诗,这是作者的风格。我的程序也有一定的风格,但还达不到“诗”这样的境地;希望通过这本书的学习,可以吸取到一点诗意吧。

程序本质是一种信息的载体。它表达出一定的信息,目标是计算机和其它人。

程序内构造世界,我也不是太明确。创建的世界应该是一种理念的世界。或者说是柏拉图式的思想世界。

最伟大的程序猿之中的一个Donald Knuth这样形容程序:程序不不过告诉计算机怎样做事,很多其它的是告诉人们他们是怎样指导计算机做事的。

这中间的差别是程序很多其它的是被人读的,而不是计算机。

在你移到其它项目上去时,你的程序会被别人改动和更新。

所以,编程不不过跟计算机交流,很多其它的是跟后来人交流。一个程序猿应该是问题解决者、诗人、指导者。

你的目的是解决手边的问题,使用协调、有品位的方式,而且把你的解决方式教给以后的人。

我希望这本书可以教给你一些诗意和魔力,可以让计算变得有趣一些。

ps:

程序猿应该是问题解决者、诗人、指导者。这三种身份,分别相应于程序的内在、外在和本质。

内在是解决这个问题,外在是程序风格。本质是信息载体。

这两段话就是作者对“程序”的理解。读了这两段话,能够加深了对“程序”的认识。

作者在书的開始就介绍了程序的共享性,即程序不不过给计算机看的。很多其它的是给其它人看的。其它人读了你的程序,就会了解你对问题的理解和你的解决方法。这样的分享的过程跟数学和科学的分享十分相似,数学家发现了现实中的一类问题,使用数学的方式进行描写叙述并找到解决方法,然后分享出来,这样以后针对这一问题就有了解决方法,科学也是类似(这样看数学家和科学家好无私啊)。程序猿发现了解决特定问题的方法。使用程序的方式解决掉它。然后分享出来。以后大家也就都可以这么来做了。

共享促进了数学和科学的发展。假设大家都将代码分享出来,也会促进程序设计的发展。使人们可以深入挖掘程序的奥秘,促进程序的繁荣。“开源”的本质也是代码的共享性。

这样的想法是很圣洁的,可以推动全人类的进步,不过因为商业利益的关系,共享代码眼下来说是很难做到的。

版权声明:本文博主原创文章,博客,未经同意不得转载。

Programming from the ground up(0)的更多相关文章

  1. Asp.Net Core 项目实战之权限管理系统(0) 无中生有

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  2. 《HiWind企业快速开发框架实战》(0)目录及框架简介

    <HiWind企业快速开发框架实战>(0)目录及框架简介 本系列主要介绍一款企业管理系统快速开发框架,该框架旨在快速完成企业管理系统,并实现易维护可移植的目标. 使用逐个系统模块进行编码的 ...

  3. [.net 面向对象程序设计深入](0) 开篇

    [.net 面向对象程序设计深入](0)开篇        [.net 面向对象编程基础]和 [.net 面向对象程序设计进阶]在15年底写完了,群里也加进来不少热爱学习的小伙伴.让我深切感受到在这个 ...

  4. exit(0)与exit(1)、return区别

    exit(0):正常运行程序并退出程序: exit(1):非正常运行导致退出程序: return():返回函数,若在主函数中,则会退出函数并返回一值. 详细说: 1. return返回函数值,是关键字 ...

  5. 【转】winform退出代码:Application.Exit和Environment.Exit(0)

    Application.Exit和Environment.Exit(0)有什么退出方面的区别吗? Application.Exit:通知winform消息循环退出.会在所有前台线程退出后,退出应用 强 ...

  6. Net Core 项目实战之权限管理系统(0)

    0 前言 Net Core 项目实战之权限管理系统(0) 无中生有   0 http://www.cnblogs.com/fonour/p/5848933.html 学习的最好方法就是动手去做,这里以 ...

  7. Common Lisp学习笔记(0):从SLIME开始 | 优哉·幽斋

    Common Lisp学习笔记(0):从SLIME开始 | 优哉·幽斋 Common Lisp学习笔记(0):从SLIME开始

  8. 《Programming Hive》读书笔记(一)Hadoop和hive环境搭建

    <Programming Hive>读书笔记(一)Hadoop和Hive环境搭建             先把主要的技术和工具学好,才干更高效地思考和工作.   Chapter 1.Int ...

  9. 《Programming Hive》读书笔记(两)Hive基础知识

    <Programming Hive>读书笔记(两)Hive基础知识 :第一遍读是浏览.建立知识索引,由于有些知识不一定能用到,知道就好.感兴趣的部分能够多研究. 以后用的时候再具体看.并结 ...

随机推荐

  1. Android之查看外部依赖jar的源代码_android private libralies does not allow modifications to source

    在Eclipse中开发android的应用程序时,有时想查看函数的内部实现.可是当在函数上点击ctrl和鼠标左键的时候. 往往出现例如以下提示: Class File Editor Source no ...

  2. WPF遮蔽层的实现

    在一些项目中,难免会有耗时的加载,如果加载时没有提示,给人一种假死的感觉,很不友好,那么现在福利来啦,WPF版的模态窗体,先上效果图 实际效果指针是转动的,话不多说,一大批干货来袭 XMAL的代码 W ...

  3. 双向绑定 TwoWay MVVM

    1前台代码 <Grid> <StackPanel > <Grid x:Name="gridOne"> <Grid.Resources> ...

  4. ASP.NET 应用程序生命周期

    1.请求到达IIS服务器,IIS根据文件后缀找到对应的ISAPI(Internet Server API)扩展来处理,这个配置可在网站属性里的“根目录”选项卡中的“配置”里看到.可以看到,ashx.a ...

  5. android笔记6——intent的使用

    今天挑出一节专门来说一下使用intent和intentfilter进行通信. 场景:一个Activity启动还有一个Activity. 前面已经讲了Fragment的切换,Fragment顾名思义是基 ...

  6. C#四舍五入保留两位小数

  7. CSDN挑战编程——《金色十月线上编程比赛第二题:解密》

    金色十月线上编程比赛第二题:解密 题目详情: 小强是一名学生, 同一时候他也是一个黑客. 考试结束后不久.他吃惊的发现自己的高等数学科目竟然挂了,于是他果断入侵了学校教务部站点. 在入侵的过程中.他发 ...

  8. XMPP我写底层协议(零)--废话和准备开幕前

    当我想写一个非常早期的一点总结.但总是忙没有时间停止做这样的事情. 秦与我的兄弟之前说的,这并不是说我没开灵.但是,因为很多事情还没有时间来写blog. 我没有完全理解,真到自己在这个位置上的时间,能 ...

  9. 搬寝室 hdu

    Problem Description 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,xhd开始发呆, ...

  10. 【原创】leetCodeOj --- Majority Element 解题报告(脍炙人口的找n个元素数组中最少重复n/2次的元素)

    题目地址: https://oj.leetcode.com/problems/majority-element/ 题目内容: Given an array of size n, find the ma ...