读《The Pragmatic Programmer:From Journeyman to Master》- 1

本书强调成为注重实效的程序员的重要性,通过深入探讨编程的三个境界,即新手、高手和高不成低不就的中手,阐述了如何通过阅读书籍、实践与思考提升自身技能。文中提到的优秀书籍如《Pragmatic Programmer》、《The Art of UNIX Programming》等,为读者提供了深入编程世界的指南。重点强调了成为高手的五种特质:关注技艺、善于思考、批判性思维、现实感与多才多艺。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

程序员修身之道,这是一本放在枕头边经常拿起来反复读的书。如果要成为一名好的程序员,其实所需要的道理也多不了多少,只不过,当水平不够的时候,永远不能认识到那些朴素道理的重要性。一本书进阶的书在低手眼里觉得很难懂,在高手眼里可能觉得都是废话。但是,这是一本经得起时间沉淀的书,现在距离作者写书已经过去十余年了,软件产业发生了翻天覆地的变化,从表象上看,软件世界似乎陷入了疯狂的状态,但是深入繁杂的表象背后,你会发现变化基本不变,之前的原则在现在依旧通用,事物变化的越多,掌握其基本原则就越重要。

编程大约有三个境界,新手、高手和高不成低不就的中手。一般来说,经历过几十万行代码的锤炼的,或者长期在一个高手团队中切磋的,无论怎么熟悉理论、在编程里应该算是中手。一个中手如果机缘好的话,在高手的亲自指点下,很容易成长为一个高手;如果没有这样的机缘,那就要在“众里寻她千百度”这个层次苦苦求索很久之后才能“蓦然回首”。

读书时一种很好的弥补没有高手在场的方法,因为书是最好的老师。但是由于水平差异较大,偏好不一,有的甚至认识不到自己的成长轨迹,有些人认为书籍是片面的知识,所以把自己不喜欢的书都扔到垃圾堆了,光捡自己喜欢的书看,有的未必看得上高手的经验,认为高手的那些经验自己早就已经领悟到了。因此,市场上很少有高手提携的一些好书。

不够还是有一些好书的,推荐《Pragmatic Programmer》、《The Art of UNIX Programming》、《Element of Programming Style》、《The Productive Programmer》。

能不能让正确的原则指导正确的行为本身,其实区分是否是高手的一个显著标志。如果不实践,把知识背的再熟悉也没有什么用。

编程时一种技艺,一种需要用心学习的技艺。

只有在长久的学习之后,我们才能明白hacker真正的含义:“Someone who loves to program and enjoys being clever about it”

本书强调注重实效,成为一名注重实效的程序员,并为之而不断努力学习。书大致分为几个方面:如何设计架构、如何编程、如何进行单元测试、如何编写文档。

注重实效的程序会具备以下特征:

1、早起的采纳者和快速的改编者。你具有技术和技巧上的直觉,你喜爱试验各种事物。给你一样新的东西,你很快就能掌握它,并将它与你的其他知识相结合。你的自信来自经验。

2、好奇。你喜欢提问。那很漂亮——你是怎么做到的?你用哪个库有问题吗?你说的哪个BeOS是什么?符号链接是怎么实现的?你是收集小知识的林鼠,每一条小知识都会影响今后几年内公司的某项决策。

3、批判的思考者。你不会不首先抓住事情而照搬别人的说法。当同事说”就应该那么做“或者供应商允诺为你的全部问题提供解决方案时,你会嗅到挑战的气息。

4、有现实感。你会设法理解你面临的每个问题的内在本质。这样的现实主义给了你良好的感知能力:事情有多困难,需要多长时间?让你自己了解某个过程会有困难,或者需要用一点时间才能完成,能够给你坚持不懈的毅力。

5、多才多艺。你尽力熟悉广泛的技术和环境,并且努力工作,以与各种新发展并肩前行。尽管你现在工作只要求你成为某方面的专才,你却总能够转向新的领域和新的挑战。

Tips 1

Care About Your Craft


Tips 2

Think ! About Your Work



This book covers construction, exploration, analysis, and visualization of complex networks using NetworkX (a Python library), as well as several other Python modules, and Gephi, an interactive environment for network analysts. The book is not an introduction to Python. I assume that you already know the language, at least at the level of a freshman programming course. The book consists of five parts, each covering specific aspects of complex networks. Each part comes with one or more detailed case studies. Part I presents an overview of the main Python CNA modules: NetworkX, iGraph, graph-tool, and networkit. It then goes over the construction of very simple networks both programmatically (using NetworkX) and interactively (in Gephi), and it concludes by presenting a network of Wikipedia pages related to complex networks. In Part II, you’ll look into networks based on explicit relationships (such as social networks and communication networks). This part addresses advanced network construction and measurement techniques. The capstone case study—a network of “Panama papers”—illustrates possible money-laundering patterns in Central Asia. Networks based on spatial and temporal co-occurrences—such as semantic and product networks—are the subject of Part III. The third part also explores macroscopic and mesoscopic complex network structure. It paves the way to network-based cultural domain analysis and a marketing study of Sephora cosmetic products. If you cannot find any direct or indirect relationships between the items, but still would like to build a network of them, the contents of Part IV come to the rescue. You will learn how to find out if items are similar, and you will convert quantitative similarities into network edges. A network of psychological trauma types is one of the outcomes of the fourth part. The book concludes with Part V: directed networks with plenty of examples, including a network of qualitative adjectives that you could use in computer games or
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值