Programming from the ground up(0)
来源:互联网 发布:淘宝pc网址转换无线端 编辑:程序博客网 时间:2024/05/21 19:32
这本书的英文版是开源的,我读过一些,但是英文水平实在支撑不下去,后来国内有人翻译了这本书,但是感觉翻译的不是太干脆,有些地方让人难以明白作者的思路,所以我打算碰到难以理解的地方就自己翻译一下原文,这样会更好理解一点。
Cha1 Introduction
我喜爱编程。我的目的不仅仅是让程序运行起来,我热爱让程序有一定的风格。程序很像诗。程序是一种信息的载体,不仅仅向计算机,更多的向那些要修改和使用你程序的人传递信息。有了程序,你可以使用自己的规则创建自己的世界。通过你对问题和解决方法的理解,形成一些概念,进而创建你自己的世界。水平高超的程序员使用简洁清晰的程序来创建世界,如同诗歌或散文一样。
ps:
这一段讲述了“程序”的外在、本质、内在,外在就是“程序要像诗一样”,本质就是“信息的载体”,内在就是“在程序内创造世界”。
外在就是程序的风格。关于程序的风格,很多编程书籍上都讲到过,要每个编程人员都形成自己的程序风格。程序如诗,这是作者的风格。我的程序也有一定的风格,但还达不到“诗”这种境界;希望通过这本书的学习,能够吸取到一点诗意吧。
程序本质是一种信息的载体,它表达出一定的信息,目标是计算机和其他人。
程序内构造世界,我也不是太明白。创建的世界应该是一种理念的世界,或者说是柏拉图式的思想世界。
最伟大的程序员之一Donald Knuth这样形容程序:程序不仅仅是告诉计算机如何做事,更多的是告诉人们他们是如何指导计算机做事的。这中间的区别是程序更多的是被人读的,而不是计算机。在你移到其他项目上去时,你的程序会被别人修改和更新。所以,编程不仅仅是跟计算机交流,更多的是跟后来人交流。一个程序员应该是问题解决者、诗人、指导者。你的目的是解决手边的问题,使用协调、有品位的方式,并且把你的解决方案教给以后的人。我希望这本书能够教给你一些诗意和魔力,能够让计算变得有趣一些。
ps:
程序员应该是问题解决者、诗人、指导者。这三种身份,分别对应于程序的内在、外在和本质。内在是解决问题,外在是程序风格,本质是信息载体。
这两段话就是作者对“程序”的理解。读了这两段话,可以加深了对“程序”的认识。
作者在书的开始就介绍了程序的共享性,即程序不仅仅是给计算机看的,更多的是给其他人看的。其他人读了你的程序,就会了解你对问题的理解和你的解决方法。这种分享的过程跟数学和科学的分享十分相似,数学家发现了现实中的一类问题,使用数学的方式进行描述并找到解决方法,然后分享出来,这样以后针对这一问题就有了解决方法,科学也是类似(这样看数学家和科学家好无私啊);程序员发现了解决特定问题的方法,使用程序的方式解决掉它,然后分享出来,以后大家也就都可以这么来做了。共享促进了数学和科学的发展,如果大家都将代码分享出来,也会促进程序设计的发展,使人们能够深入挖掘程序的奥秘,促进程序的繁荣。“开源”的本质也是代码的共享性。这种想法是非常圣洁的,能够推动全人类的进步,不过由于商业利益的关系,共享代码目前来说是非常难做到的。
- Programming from the ground up(0)
- Book - Programming from the Ground Up
- 总结《Ray Tracing from the Ground Up》
- 问题六十八: 着色模型(shading model)(0)——《Ray Tracing from the Ground Up》代码的移植
- OpenGL ES From the Ground Up, Part 1: Basic Concepts
- 深入REDIS,读REDIS-FROM-THE-GROUND-UP有感
- 【Ray Tracing from Ground Up】DRBF
- 【Ray Tracing from Ground Up】阴影 (Shadow)
- 【Ray Tracing from Ground Up】Specular Reflection
- 【Ray Tracing from Ground Up】光源(Lights)
- Essential ActionScript 3.0 Part ⅠActionScript from the Ground Up Review
- OpenGL ES From the Ground Up, Part 6: Textures and Texture Mapping
- OpenGL ES From the Ground Up, Part 5: Living in a Material World
- OpenGL ES From the Ground Up, Part 4: Let There Be Light!
- OpenGL ES From the Ground Up, Part 3: Viewports in Perspective
- OpenGL ES From the Ground Up, Part 2: A Look at Simple Drawing
- OpenGL ES From the Ground Up, Part 1 Addendum: Alphabet Soup
- 《Ray Tracing from the Ground Up》中的坐标系是怎么确定的
- android.view.InflateException: Binary XML file line #2: Error inflating class 的解决方法
- const和readonly
- 【Struts2源码分析】Struts2框架的大致结构
- 面试——如何招聘一个能干活的程序员
- 天线技术学习
- Programming from the ground up(0)
- Exception类和RuntimeException类的区别
- openfire+spark+amack 即时聊天--------<1>背景知识
- 清理电脑垃圾代码
- 仿真技术入门
- 关于从射影层到仿射层重建——摘
- 无线射频技术怎么自学
- 开始学习Linux的一些建议
- iptables bases (1)