Programming from the ground up(0)
这本书的英文版是开源。我读了一些。但是,支持的英语水平不走太,然后还有那些谁译的书,但感觉不是太干脆翻译,在一些地方难以清除作者的思路,所以,我要揍很难理解他自己翻译一下原来的地方,这将更好地了解一点点。
Cha1 Introduction
我喜爱编程。我的目的不不过让程序执行起来。我热爱让程序有一定的风格。程序非常像诗。程序是一种信息的载体,不只向计算机,很多其它的向那些要改动和使用你程序的人传递信息。
有了程序。你能够使用自己的规则创建自己的世界。通过你对问题和解决方法的理解。形成一些概念。进而创建你自己的世界。水平高超的程序猿使用简洁清晰的程序来创建世界,如同诗歌或散文一样。
ps:
这一段讲述了“程序”的外在、本质、内在,外在就是“程序要像诗一样”。本质就是“信息的载体”,内在就是“在程序内创造世界”。
外在就是程序的风格。关于程序的风格,非常多编程书籍上都讲到过,要每一个编程人员都形成自己的程序风格。程序如诗,这是作者的风格。我的程序也有一定的风格,但还达不到“诗”这样的境地;希望通过这本书的学习,可以吸取到一点诗意吧。
程序本质是一种信息的载体。它表达出一定的信息,目标是计算机和其它人。
程序内构造世界,我也不是太明确。创建的世界应该是一种理念的世界。或者说是柏拉图式的思想世界。
最伟大的程序猿之中的一个Donald Knuth这样形容程序:程序不不过告诉计算机怎样做事,很多其它的是告诉人们他们是怎样指导计算机做事的。
这中间的差别是程序很多其它的是被人读的,而不是计算机。
在你移到其它项目上去时,你的程序会被别人改动和更新。
所以,编程不不过跟计算机交流,很多其它的是跟后来人交流。一个程序猿应该是问题解决者、诗人、指导者。
你的目的是解决手边的问题,使用协调、有品位的方式,而且把你的解决方式教给以后的人。
我希望这本书可以教给你一些诗意和魔力,可以让计算变得有趣一些。
ps:
程序猿应该是问题解决者、诗人、指导者。这三种身份,分别相应于程序的内在、外在和本质。
内在是解决这个问题,外在是程序风格。本质是信息载体。
这两段话就是作者对“程序”的理解。读了这两段话,能够加深了对“程序”的认识。
作者在书的開始就介绍了程序的共享性,即程序不不过给计算机看的。很多其它的是给其它人看的。其它人读了你的程序,就会了解你对问题的理解和你的解决方法。这样的分享的过程跟数学和科学的分享十分相似,数学家发现了现实中的一类问题,使用数学的方式进行描写叙述并找到解决方法,然后分享出来,这样以后针对这一问题就有了解决方法,科学也是类似(这样看数学家和科学家好无私啊)。程序猿发现了解决特定问题的方法。使用程序的方式解决掉它。然后分享出来。以后大家也就都可以这么来做了。
共享促进了数学和科学的发展。假设大家都将代码分享出来,也会促进程序设计的发展。使人们可以深入挖掘程序的奥秘,促进程序的繁荣。“开源”的本质也是代码的共享性。
这样的想法是很圣洁的,可以推动全人类的进步,不过因为商业利益的关系,共享代码眼下来说是很难做到的。
版权声明:本文博主原创文章,博客,未经同意不得转载。
Programming from the ground up(0)的更多相关文章
- Asp.Net Core 项目实战之权限管理系统(0) 无中生有
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- 《HiWind企业快速开发框架实战》(0)目录及框架简介
<HiWind企业快速开发框架实战>(0)目录及框架简介 本系列主要介绍一款企业管理系统快速开发框架,该框架旨在快速完成企业管理系统,并实现易维护可移植的目标. 使用逐个系统模块进行编码的 ...
- [.net 面向对象程序设计深入](0) 开篇
[.net 面向对象程序设计深入](0)开篇 [.net 面向对象编程基础]和 [.net 面向对象程序设计进阶]在15年底写完了,群里也加进来不少热爱学习的小伙伴.让我深切感受到在这个 ...
- exit(0)与exit(1)、return区别
exit(0):正常运行程序并退出程序: exit(1):非正常运行导致退出程序: return():返回函数,若在主函数中,则会退出函数并返回一值. 详细说: 1. return返回函数值,是关键字 ...
- 【转】winform退出代码:Application.Exit和Environment.Exit(0)
Application.Exit和Environment.Exit(0)有什么退出方面的区别吗? Application.Exit:通知winform消息循环退出.会在所有前台线程退出后,退出应用 强 ...
- Net Core 项目实战之权限管理系统(0)
0 前言 Net Core 项目实战之权限管理系统(0) 无中生有 0 http://www.cnblogs.com/fonour/p/5848933.html 学习的最好方法就是动手去做,这里以 ...
- Common Lisp学习笔记(0):从SLIME开始 | 优哉·幽斋
Common Lisp学习笔记(0):从SLIME开始 | 优哉·幽斋 Common Lisp学习笔记(0):从SLIME开始
- 《Programming Hive》读书笔记(一)Hadoop和hive环境搭建
<Programming Hive>读书笔记(一)Hadoop和Hive环境搭建 先把主要的技术和工具学好,才干更高效地思考和工作. Chapter 1.Int ...
- 《Programming Hive》读书笔记(两)Hive基础知识
<Programming Hive>读书笔记(两)Hive基础知识 :第一遍读是浏览.建立知识索引,由于有些知识不一定能用到,知道就好.感兴趣的部分能够多研究. 以后用的时候再具体看.并结 ...
随机推荐
- Java的内存泄漏和垃圾回收机制
JAVA会产生内存泄露吗?首先,答案是肯定的. Java尽管有垃圾回收器,但依旧存在泄漏. Java内存泄漏跟C/C++内存泄漏的概念不一样:C/C++的内存泄漏是指Malloc了一些资源.最后没有f ...
- 在android创建bitmap避免低记忆法
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="ht ...
- discuz 插件开发 新手入门
作为一个新手,目前也是刚刚玩转discuz的插件功能,好东西不敢独享,就拿出来大家一起分享入门的过程.现在网上很多关于discuz的插件教程都是很简单的教程,原因可能是这个东西是商业化的东西,本着分享 ...
- 两个实验操作系统-ubuntu在安装配置pintos
安前两次莫名其妙, 蛋疼的实验操作系统.. 首先下错了总结第一次. 使用最后gdb调试pintos什么时候, 这个错误将被报告: bochsrc.txt:8: Bochs is not compile ...
- uvalive 2911 Maximum(贪心)
题目连接:2911 - Maximum 题目大意:给出m, p, a, b,然后xi满足题目中的两个公式, 要求求的 xp1 + xp2 +...+ xpm 的最大值. 解题思路:可以将x1 + x2 ...
- Android DES加密的CBC模式加密解密和ECB模式加密解密
DES加密共有四种模式:电子密码本模式(ECB).加密分组链接模式(CBC).加密反馈模式(CFB)和输出反馈模式(OFB). CBC模式加密: import java.security.Key; i ...
- WindowsPhone 在 根据公历 获取月球日期数据
WindowsPhone 在 根据公历 获取月球日期数据 WindowsPhone 在 它们的定义 类,根据公历 获取月球日期数据 using System; using System.Collect ...
- HTML5 在canvas绘制一个矩形
笔者:本笃庆军 原文地址:http://blog.csdn.net/qingdujun/article/details/32930501 一.绘制矩形 canvas使用原点(0,0)在左上角的坐标系统 ...
- HDU4960Another OCD Patient(间隙dp,后座DP)
Another OCD Patient Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Ot ...
- MessageBox()功能
MessageBox()功能.这是一个非常频繁使用的Win32 API,在屏幕上显示一个窗体,提出问题,并等待用户输入.它的原型是 int MessageBox(HWND hwnd,LPCTSTR l ...