文档章节

读UNIX编程艺术(一)

崔钢
 崔钢
发布于 2014/12/22 23:42
字数 1496
阅读 171
收藏 13

对于开发人员来说,正确的编程实践其实非常的重要。这些正确的编程实践决定了你是否能够继续的做正确的事情,以及你是否真的能够懂得什么是软件开发。我相信,并非所有的人都真正的懂得什么是软件开发。即使你就食与这个行业,又工作了许多年,但是你也不一定真的了解它。因为了解它需要真正的思考和认真的实践,相信并非易事。但是学习总是能够加快这一过程。拿别人的经验和我们的实践相印证,也许能够让我们更加的接近真理。而无限的接近真理不就是人的最终追求么?说白了,这就是人类生存的目的。

其实编程这个工作,真的是理论和实践相结合的一种工作,需要不断的学习和积累。这些事情是无法避免的,除非你离开这个行业,去另谋生路。所以在这个行业里面,你需要不断的思考,不断的学习,不断的实践。你不能任性(因为你没钱,所以有钱人干不了这个工作),不能急躁(机器不受你情绪的影响与恐吓),不能侥幸(尝试一百次,错误的也不会变正确),不能猜测(在这里正确的事情往往只有一种做法)。显然,这种工作并非人人能够得以胜任。

知识的来源看起来途径很多,但其实只能有一个真正的来源,那就是自己的实践。没有通过自己的实践与思考,知识就算别人告诉你也是无用,你会很快忘记的。所以学习就是反复实践的过程。但是实践来源总是有限,我们很多时候并不能自己选择项目,因而限制了自己的眼界,不去学习这样的例子太多,我也不想说了。

来说说unix编程艺术这本书吧。这本书我用字字珠玑这个词来形容其实是不为过的。作者知识丰富,眼界开阔,对于软件行业有着极其深刻的了解。读这本书简直就是一种享受。而且作者在书中大谈特谈黑客文化,很有一些传经布道的意思。当然在中国,文化与思想啥的好像已经消失在忙忙碌碌的人流之中了。在这个国家谈什么文化,基本上都与色香味有关,比如饮食文化,在这个国家就很流行。至于黑客文化啥的,我觉得在中国,追求这个的人简直是凤毛麟角。不过也可以理解,我们还在社会主义初级阶段嘛,我们现在追求的主要是物质方面的东西,精神方面的追求自然不如那些物质发达的资本主义国家来的那么纯粹了。

对我来说,我把编程视为一种乐趣,把写程序作为毕生的追求。因此我读过很多关于编程的书籍。但是大多数的书籍都非常的肤浅,主要都是讲解的某种技术,或者怎么用某种框架以及类库来做某种事情。这些书籍其实都是对人思想的一种束缚,让你觉得编程好像就是在一个条条框框里面的事情。看起来无聊无趣,繁琐熬人。很多人看编程这个事情大概就是这么想的。而黑客文化的一个重要核心就是乐趣,视编程为乐趣。如果你不能理解这一点,显然你不是干这个的料。当然你也不必灰心,这个世界很大,有很多行业你可以选择,找一个适合自己的坚持做下去就好。如果你虽然在这个行业里面但是你感受不到这一点,我也劝你早些转行吧。

操作系统是最为复杂的软件之一。但其复杂程度并不体现在程序的规模之上。我之前也开发过很多其他的系统,有很多在代码规模上已经远远超过一个操作系统了。但并不能称之为复杂的,往往是因为业务比较复杂,而不是程序或者系统比较复杂。这样的程序或者这样的编程往往缺乏思想的闪光点,也缺乏黑客文化的味道,相反,处处显出腐朽的臭味。你无法从中的到什么好的实践,恰恰相反,你能够得到一堆反模式,最后看着它慢慢的烂掉,被抛弃在落满灰尘的某个光盘里。

既然我们无法在工作中得到好的实践,那么坐下来,认认真真的读这本书吧《unix编程艺术》。

© 著作权归作者所有

共有 人打赏支持
上一篇: 程序框架的作用
下一篇: JS基础
崔钢
粉丝 171
博文 99
码字总数 59953
作品 0
西安
高级程序员
私信 提问
那些被岁月遗忘的UNIX经典著作

C程序设计语言 内容简介: 在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用广泛。本书是C语言的设计者之一Dennis M.Ritchie和著名计算机科学家Brian W.Kernighan合著的一本介绍...

平凡之路
2014/10/23
0
6
2012年技术图书大盘点

文:@图灵郭志敏 又将是一年的结束,13年即将到来,大家可以跟随我的图书列表,看一下: 这年里你们一共买了多少书? 读了多少本书? 读完的又有多少本书? 反复读的有几本? 收获最大的是哪...

生气的散人
2012/12/13
703
7
我的后端开发书架2016

本书架主要针对Java后端开发与架构。 更新记录:4.0版把第五部份-具体技术的书整块拿掉了。《TCP/IP详解 卷1:协议》出到了第二版,增加《SRE:Google运维解密》,《Java8 实战》。 更偏爱那...

火力全開
2016/10/05
36
0
攻城狮修炼秘籍

漫漫校园生活,孜孜不倦的你,今天书多读一点! 把自己投入知识的海洋吧!为即将成为一名高冷俊俏的程序猿和媛而吹响最后的号角: 各类秘籍自助区 一、测试攻城狮 《软件测试》 《测试之道》...

SVD
2016/09/10
25
0
Unix设计哲学原则(摘自《Unix编程艺术》)

看了《Unix编程艺术》,这个里面讲的观念对现有产品和项目的设计有很多借鉴意义,建议大家都能读读(不过中文版翻译的有点烂,看的有点纠结)。这里总结下几种原则。 Unix哲学的原则: --模块...

IT熊猫
2015/01/21
338
0

没有更多内容

加载失败,请刷新页面

加载更多

matlab-线性代数 将矩阵变成列、行向量

  matlab : R2018a 64bit     OS : Windows 10 x64 typesetting : Markdown    blog : my.oschina.net/zhichengjiu    gitee : gitee.com/zhichengjiu   将矩阵变成列、行向量(按照......

志成就
9分钟前
0
0
开始使用Filebeat

认识Beats Beats是用于单用途数据托运人的平台。它们以轻量级代理的形式安装,并将来自成百上千台机器的数据发送到Logstash或Elasticsearch。 (画外音:通俗地理解,就是采集数据,并上报到...

北极南哥
11分钟前
0
0
shell getopts template

!/bin/bash# ------------------------------------------------------------------# [Author] Title# Description# ---------------------------------------------------......

易野
26分钟前
0
0
DHCP服务原理与搭建(Linux系统+路由器,二选一方案)

大家都知道上网的最基本前提是要在终端上设置IP、子网掩码、网关、DNS等地址信息,在家里或者在办公室很多时候打开电脑后发现就可以上网,并没有手动设置IP、掩码、DNS地址也能上网,这是什么...

老率的IT私房菜
36分钟前
5
0
GitLab的安装及使用教程

首页 新随笔 管理 随笔 - 575 文章 - 0 评论 - 27 GitLab的安装及使用教程 1、配置yum源 vim /etc/yum.repos.d/gitlab-ce.repo 复制以下内容: [gitlab-ce] name=Gitlab CE Repository base...

rootliu
43分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部