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

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. sharepoint 2013 userprofile 用户信息

    Sharepoint2013获得当前用户userfrofile 基本介绍: 什么使用户配置文件. 用户属性和用户配置文件属性提供有关 SharePoint 用户的信息,如显示名称.电子邮件.标题以及其 ...

  2. 让ecshop显示商品销量或者月销量

    首先,ecshop的信息显示模块在. ./includes/lib_goods.php文件 在其末尾添加下面这个函数 月销量:(和总销量二选一) function ec_buysum($goods_i ...

  3. Android PackageInstaller 安装和卸载

    应用的安装方式:adb install或者下载安装 过程分析请參考老罗的blog,这里记录一下第三方应用程序安装apk的过程. 安装的过程主要是调用PackageInstaller这个App,源码的位 ...

  4. 上delloc 无呼叫 故障排除 笔记

    经验 delloc 无呼叫 基本上可以得出结论,即循环引用的原因. 遇到这样的情况基本上可分为 1: 属性声明weak的地方 写成了 strong  .比方delegate. 2: block语法块中 ...

  5. OpenMp高速分拣

    #include <stdio.h> #include<stdafx.h> #include<iostream> #include <stdlib.h> ...

  6. Linux游(1): diff, patch和quilt (下一个)

    Linux游(1): diff, patch和quilt (下一个) 2 quilt 我们自己的项目可以用cvs或svn管理所有代码.但有时我们要使用其它开发人员维护的项目.我们须要改动一些文件.但又 ...

  7. 代写java程序qq:928900200

    学校为全面提升学校教学质量,提高管理水平,决定开发一套小型成绩管理系统,实现以下功能.1)   系统用户分为管理员.教师和学生三种角色,每种角色都可以包含若干个用户.其中管理员登录后可以进行教师.学生 ...

  8. 使用JAVASCRIPT实现静态物体、静态方法和静态属性

    Javascript语言的面向对象特征非常弱.其它面向对象语言在创建类时仅仅要使用keywordstatic就可以指定类为静态类,Javascript没有提供static这种keyword.要让Jav ...

  9. 开源Math.NET基础数学类库使用(17)C#计算矩阵条件数

    原文:[原创]开源Math.NET基础数学类库使用(17)C#计算矩阵条件数                本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p ...

  10. Java泛型中extends和super的理解(转)

    E – Element (在集合中使用,因为集合中存放的是元素) T – Type(Java 类) K – Key(键) V – Value(值) N – Number(数值类型) ? – 表示不确定 ...