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基础知识 :第一遍读是浏览.建立知识索引,由于有些知识不一定能用到,知道就好.感兴趣的部分能够多研究. 以后用的时候再具体看.并结 ...
随机推荐
- POJ 2411
Mondriaan's Dream Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 9614 Accepted: 5548 ...
- xpages的comboBox能够手动输入
在xpages使用的comboBox默认仅仅能选择.不能手动输入,怎么才干手动输入呢?经过查找资料和測试,最终能够了,请大家能够试试 假设试不行,能够再下载demo http://download.c ...
- 教你怎么去一个APP的JSON数据,你懂的
今天闲着没事.谁让我今天是光棍节呢,算给大家一个福利.没事逛着应用市场.想找个应用高仿下,突然发现一个应用竟然跟我一个名字尼玛,尼玛应用界面做的非常easy.我认为应该不难. 惯性操作想去破解APK. ...
- UNIX网络编程卷1 server程序设计范式7 预先创建线程,以相互排斥锁上锁方式保护accept
本文为senlie原创.转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.预先创建一个线程池.并让每一个线程各自调用 accept 2.用相互排斥锁代替让每一个线 ...
- spring 重定向以及转发 乱码问题解决
1.spring 转发 request.setAttribute("id", id); request.setAttribute("name",name); r ...
- Red Gate系列之八 SQL Connect 1.1.1.19 Edition 数据库连接及操作工具 完全破解+使用教程
原文:Red Gate系列之八 SQL Connect 1.1.1.19 Edition 数据库连接及操作工具 完全破解+使用教程 Red Gate系列之八 SQL Connect 1.1.1.19 ...
- 泛泰A870L/K/S第三版官方4.4.2原来的系统卡刷机包 (愿自己主动ROOT)
采用suky大神ota具,来自官方的拍摄OTA包裹,未做任何改动, 使用官方recovery,还是我的头发中国TWRP 2.7.1.1 for A870 (己主动ROOT. 自己主动ROOT完后就自己 ...
- C++面试宝典2011版
1.new.delete.malloc.free关系 delete会调用对象的析构函数,和new相应free仅仅会释放内存,new调用构造函数.malloc与free是C++/C语言的标准库函数,ne ...
- uva live 6190 Beautiful Spacing (二分法+dp试 基于优化的独特性质)
I - Beautiful Spacing Time Limit:8000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu ...
- C++11:强类型枚举(enum)
// C++11之前的enum类型是继承C的,不温不火: // C++11对enum动刀了,加强了类型检查,推出强类型enum类型,眼前一亮 // 使用过QT 的都知道,早就应该这么做了,用的非常爽! ...