+++程序员高手修炼之路

正在做Andy Hunt和David Thomas的《程序员修炼之路》英文注释版(The Pragmatic Programmer)的最后审稿工作。

这本书虽然很早就读过一些,但现在再读,仍然暗暗称奇。作者一定是在长期工作中养成了记笔记的习惯,才能写出这样旁征博引、涵盖丰富的书来。

全书是按条目方式组织的,多入口,可以随意挑出一条感兴趣的,开始阅读,感觉非常适合你在dead moment(无所事事的时候)阅读。其中一条感触较深,名字叫“Your Knowledge Portfolio(知识资产)”。

这里的Portfolio原意是指投资组合,比如你有了一些钱,存一点在银行,买一点股票,买一点基金,买一点房产,买一点保险之类。总之是不要把all your eggs放在一个篮子里,减少风险,并且保值增值。

作者将这一含义移植到软件开发上来。显然,大家从事的软件开发是一个典型的高风险变化快的行业。如何使你所拥有的知识保值增值,的确是需要精心经营的。

作者提出的经营之道是:
——Invest Regularly,不断投资,积少成多。
——Diversity,扩大知识面,多元化,减少风险,增加潜力。
——Manage Risk,控制风险,这点与上呼应,要注意结合学习短线和长线技术。
——Buy low,sell hign,低买高卖,寻找潜力股。
——Review and rebalance,多总结。

这些对于现在全民买基金、炒股票的年代,当然都不需过多解释了。

作者提出的8大目标,可能更有实践意义:
——每年学习一种新语言。
不同语言能够以不同方式解决同样的问题。而学习各种不同的方法,能够扩宽思路,打破思维局限。学习不同的语言将改变和丰富你思考问题的方式。
而且,现在学习新语言比过去要简单得多了。编译器、开发环境、文档都可以自由从网上找到。

如 果你熟悉静态语言,不妨去尝试一下动态语言,Java程序员比较好的选择有Ruby、Groovy和JavaScript;Windows上开发的程序员 可以尝试一下微软的PowerShell;从事Web开发的,可以选择PHP、Ruby;从事游戏开发的,可以选择Lua。此外,Python也是一个值 得认真考虑的选择。当然,还有编程范型(paradigm)的切换,从过程到面向对象,从面向对象到函数式(很好的选择是代表了并发时代的 Erlang)、逻辑式(以Prolog为代表)。

——每个季度读一本技术图书。
养成习惯以后,每个月读一本。
同样,阅读兴趣也应该广一些,多元化。

——还要读一本非技术图书。
不要忘了软件是人在使用,多多了解人这方面的事情。

——参加技术课程培训。
可以是学校的,也可以是培训班或者技术会议上的。

——加入本地的程序员组织。
不仅是带着耳朵去听,而是要积极参与。“与世隔绝对职业生涯是致命的。” 去发现公司之外的朋友。

——实验不同的环境。
如果你工作中只使用Windows,那么在家里用用Unix/Linux。如果你只用makefile和编辑器,尝试一下IDE,或者反之。

——与时俱进,订阅行业杂志。

——上网,阅读有价值的文章、网站……
最后一条现在已经越来越重要,很大程度已经取代了上一条。现在国外主流的技术杂志,不少已经完全开放在网上,包括书中推荐的Dr. Dobb's Journal

注释者还建议加上一条:
——多做笔记,建议采用Wiki或者blog的形式。

此外,作者还建议要利用各种机会学习,多与高手交流,利用各种时间。而且最重要的是,学习中,对所读所闻要批判地分析和思考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB字符转数据

fstr2num(0.00682329)fstr2double(s)

计算机专业必须读的经典书籍

一、 科学哲学和管理哲学 【1】 “程序开发心理学”(The Psychology of Computer Programming : Silver Anniversary Edition)【2】 “系统化思维导论”(An Introduction to Systems Thinking, Silver Anniversary Edi…

php定时任务(自己)

php定时任务(自己) 一、总结 一句话总结:可用php.exe连接php文件和bat文件,bat文件在计划任务中可以设置定时执行, 二、 1、php 2、bat E: "D:\software\code\phpStudy2018\PHPTutorial\php\php-5.4.45\php.exe&q…

使用Java查询DynamoDB项

在上一篇文章中,我们继续在DynamoDB数据库上插入数据。 在本教程中,我们将对DynamoDB表发出一些基本查询。 主要规则是每个查询都必须使用哈希键。 查询的最简单形式是仅使用哈希键。 我们将在此表上查询Users表。 结果只有一个,因此在迭代…

Excel日期格式在matlab中的转换

Excel支持的日期格式如下:2011*8*12,*可以为“年”、“/”、“—”等形式,然而使用xlsread函数后肯定会转为字符串格式,不便于管理,下面是将日期改为8位如“20110812”这样的格式的步骤: 1. 在excel中通过…

数据库Mysql的学习(六)-子查询和多表操作

UPDATE readerinfo SET balance balance-(SELECT price FROM bookinfo WHERE book_id20150301)*0.05 WHERE card_id 20121xxxxxx; //子查询就是一个嵌套先计算子查询SELECT * FROM borrow WHERE book_id (SELECT book_id FROM bookinfo book_name xxxxxx)SELECT * FROM bookin…

有关算法方面的经典书籍推荐

如果计算机系只开三门课,那么这三门课就一定是:离散数学,数据结构与算法,编译原理。如果只开一门课,那剩下的就一定是:数据结构与算法。Niklaus Wirth说:算法+数据结构=程…

idea资源包下创建资源包_资源包技巧和最佳实践

idea资源包下创建资源包今天是资源捆绑日。 通常,这是Java中最著名的国际化机制(i18n)。 使用它应该很容易。 但是,弄污双手时会出现许多小问题。 如果您有相同的想法,则此文章适合您。 基本 java.util.ResourceBundl…

MATLAB字符串输出

print();%最基本的字符串输出error();%主要用于报错

将JINQ与JPA和H2一起使用

几天前,我读了Iu Ming-Yee关于JINQ的有趣采访 。 顾名思义,JINQ是一种尝试提供类似于LINQ for Java的尝试。 基本思想是缩小在关系数据模型上执行查询的面向对象代码之间的语义鸿沟。 关系数据库模型的查询应轻松集成到代码中,以使其感觉更自…

蓝桥杯 2011年第二届C语言初赛试题(1)

轮换 串“abcd”每个字符都向右移位,最右的移动到第一个字符的位置,就变为“dabc”。这称为对串进行位移1的轮换。同理,“abcd”变为:“cdab”则称为位移2的轮换。 下面的代码实现了对串s进行位移为n的轮换。请补全缺失的代码。…

MATLAB读写mat文件

1. 保存mat文件:save %将工作区间中所有的变量都储存为MATLAB.mat文件中save filename %将工作区间中所有的变量都储存为filename.mat文件中save filename x1 x2 x3 ⋯⋯ xn %将工作区间中变量名位 x1 x2 x3 ⋯⋯ xn的变量都储存在filen…

奇偶换行颜色变化

<!DOCTYPE html><html> <head> <meta name"viewport" content"widthdevice-width"> <title>js</title> <style type"text/css"> td{ border: 1px solid red; } /* * 方法一 * tr:nth-child(odd):hove…

楼天城 楼教主

楼天城 求助编辑百科名片 楼天城楼天城是杭州人&#xff0c;姚期智教授的得意门生&#xff0c;正是姚教授发现他的才能后把他引上了现在的研究方向&#xff0c;并大力举荐他参加国际学术会议和比赛。在网络上他被称为“楼教主”&#xff0c;清华同学则简称他“教主”。中文名&a…

MATLAB读写Excel数据

读&#xff1a;[num,txt] xlsread(FileName.xls,n,basic);%num保存的是数据矩阵&#xff0c;txt保存的是文本矩阵&#xff0c;n是标签数从1开始计数,basic是区间&#xff0c;如A1:B3写&#xff1a;xlswrite(filename.xls,num,n,range);%:文件名&#xff0c;变量名&#xff0c;…

很多文章是在下转载贴在此处,是为了自己以后遇到类似问题一时想不起来

有转载有原创,更多是为了记录一些解决方案,,毕竟好记性不如烂笔头.转载于:https://www.cnblogs.com/wuchenV/p/9209356.html

jpa 与非jpa 结合_EasyCriteria –使用JPA标准的简便方法

jpa 与非jpa 结合今天&#xff0c;我们将看到有关此工具的信息&#xff0c;该工具使使用JPA Criteria更加容易。 使用该库的应用程序将在JPA实现中更加简洁&#xff0c;易于使用和可移植。 在本文的结尾&#xff0c;您将找到要下载的源代码。 什么是标准&#xff1f; 当前是创…

在c++中qsort()排序函数的使用qsort函数应用大全

七种qsort排序方法 <本文中排序都是采用的从小到大排序> 一、对int类型数组排序 int num[100]; Sample: int cmp ( const void *a , const void *b ) { return *(int *)a - *(int *)b; } qsort(num,100,sizeof(num[0]),cmp); 二、对char类型数组排序&#xff08;同in…

Python排序算法之快速排序

转自&#xff1a;https://www.cnblogs.com/AlwinXu/p/5424905.html 快速排序&#xff08;quickSort&#xff09; 快排的思想&#xff1a;首先任意选取一个数据&#xff08;通常选用数组的第一个数&#xff09;作为关键数据&#xff0c;然后将所有比它小的数都放到它前面&#x…

Apache PDFBox 2

Apache PDFBox 2已于今年早些时候发布 &#xff0c; Apache PDFBox 2.0.1和Apache PDFBox 2.0.2已发布。 Apache PDFBox是开源的&#xff08; Apache许可证版本2 &#xff09;并且基于Java&#xff08;因此易于使用&#xff0c;包括Java &#xff0c; Groovy &#xff0c; Scal…