0

0

究极程序员跨过的艰难六步

php中文网

php中文网

发布时间:2016-06-21 08:50:54

|

1075人浏览过

|

来源于php中文网

原创

 

Step 1 别抱怨了.准备好漫长的征程,或者晾在一边赏鸟去吧

 

     对于真正希望成为一名优秀的程序员的人,希望成为专家,成为究极人物的人,如果真的值得去做,那么投入十年进去,并不算什么,对吗?

    第一步就是吞下这颗子弹。接受这个过程将不止花去十年,而是一生的追求。只因为你想去做它,才去做它。如果一个人不情愿做某事,他是不会成为它的专家的。

 

Step 2 写很多很多的代码

 

    同时写许多许多的代码。不一定是好的代码。很长时间内,你写的代码都不是好的代码。好的代码,好的taste,是需要大量的实践培养的。对什么新的工具、新的算法、新的问题感兴趣,或者遇到了什么问题,就去尽可能地写代码实践,尝试使用它。

    学习的过程永不停止。如果你怀着在每一天中尽自己最大的可能去学习,取得你所能得的最大的“里程数”的态度去学习,你将会走很远。进入这样一种状态:任何的一天/一周/一月中没有学到有趣的东西的话就是失败。每天都有足够多的酷的、有趣的东西等待你去学习。即使你已经学习了15年,虽然找到它们更困难了,但仍然可能找到。没有一个人能够掌握编程世界中所有的知识,所以如果你觉得没有东西可学了,就去找到一个新的项目,写更多的代码。

    在你做这些东西的时候,注意了,你要寻找中间的模式,如那些可以自动化执行有用的东西,或者你写了许多的代码可以分离出来作为共享的库的东西,或者其他集中的位置。去寻找对于特定任务简单的编程语言。找出来那些对于同样的任务不擅长的编程语言,并思考为什么一些语言对于这些任务相比其他的更加具有生产力。

    但最重要的,就是写许多许多代码。但记住了,如果做的事情不再有趣,就没必要做下去了,如果你不能在此期间享受过程。

 

Step 3 读更多的代码

 

    当你积累了一些项目的时候,开始读其他人的代码。刚开始的时候,这样做很困难。他们做了许多你从没有做过的事,或者使用了你不习惯的风格,甚至使用了你没有学习过的编程语言。如果你觉得它有趣的话,尽可能地去读这些代码。不要担心深入地分析任何给定的项目的代码,至少刚开始时不要担心。

    读一些新的代码可以展示给你新的思维方式,这有利于扩展你的思维。扩展思维对于保持进步是很重要的事。它帮助你确保当你前进时能够持续发现新的东西去学。

    一定要与其他的程序员交流。问他们如何和为什么做那些特定的事,是否采取了不同的角度做事情,问他们对自己的代码是否有建议。一定要礼貌,因为高级的程序员非常地忙。尊重会带你走很远,这是个紧密联系的行业,名声很重要。

 

Step 4 学习许多编程语言。在一些中成为专家

 

    你实际上不会有很多盈余的时间,至少不足够同时学习许多的语言,除非你异常地幸运。所以可以在一个较浅的层面上学习许多的编程语言,足够了解什么使他们流行,什么使它们擅长于它常用的领域,它们的缺陷是什么。扩展很重要。不要局限于一种类型的语言,如命令式的语言,或者OO语言,扩展学习一些函数式语言或者声明式语言。

    学习Lisp的一种方言。对于你日常的编码来说,你不会去使用它。但学习、实践它会令你成为一名更好的思考着,你会对简单的递归的系统的魅力有更深刻的理解。坚持学习它、实践它直到令你情不自禁地叫出“啊哈”的那一刻到来。那一刻之前,你都会觉得那是一坨奇怪的语法和蹩脚的用法。在你剩余的职业生涯中,它便会成为人类设计的最令人瞠目结舌的优雅的概念。

    之后,学习一门纯粹的函数式语言。我推荐Haskell。它通过其它函数式语言包括Lisp的方言都不用的方式强迫你纯粹地使用函数思想。当你理解了设计monads的目的后,或者其它“啊哈”时刻,你将会进入到思索的能力和设计优雅系统的能力的更高的层次上。

    最后,学一门声明式语言。SQL也算,虽然比较弱。Prolog常常被推荐。还有XAML,XSLT和XQuery。声明式语言是你告诉计算机你希望它做什么,计算机来琢磨如何做它;而命令式语言则相反,你告诉计算机如何去完成一件事并希望它正确地做了你想做的事;而在函数式语言中,你描述了数据域类型如何转换。

 

Step 5 自创编程语言

 

    它不需要很复杂,或者高级,甚至不需要特别优雅。甚至不需要是原生的想法。我常常推荐写一个Lisp解释器(如果使用Lisp的方言写更好)。这是你学习基础知识的一个很好的方式。实际上,你可以对计算机编程设计的基础有很好的感觉:词法分析,语法分析,编译,解释,虚拟机,还有基本的设计抉择对一门语言在各个领域的实用程度如何影响。

    你将会在此过程中得到以下3样东西:

    1)你将会对你选择的工具如何工作有更加深刻的认识,这样你就可以写出更加高效的代码。

    2)你将会开始意识到主流语言和工具背后的设计抉择的原因。这将会使你更有效地选择你要用的工具。

    3)你将瞥见一些仍然存在于工具和语言中的未发现的可能性,这样使你开阔了眼界,可以发现新的可以学习和实验的有趣的酷的东西。

 

Step 6 学习其他人从没有学习过的东西

 

    这是最困难的也是最后的步骤。又是另一个十年。保持兴趣和做有趣的事情,离开那些不让你享受的事情。

 

 

 



本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
包子漫画网页版入口与全集阅读指南_正版免费漫画快速访问方法
包子漫画网页版入口与全集阅读指南_正版免费漫画快速访问方法

本专题汇总了包子漫画官网和网页版入口,提供最新章节抢先看方法、正版免费阅读指南,以及稳定访问方式,帮助用户快速直达包子漫画页面,无广告畅享全集漫画内容。

36

2026.02.10

MC.JS网页版快速畅玩指南_MC.JS官网在线入口及免安装体验方法
MC.JS网页版快速畅玩指南_MC.JS官网在线入口及免安装体验方法

本专题汇总了MC.JS官网入口和网页版快速畅玩方法,提供免安装访问、不同版本(1.8.8、1.12.8)在线体验指南,以及正版网页端操作说明,帮助玩家轻松进入MC.JS世界,实现即时畅玩与高效体验。

20

2026.02.10

谷歌邮箱网页版登录与注册全指南_Gmail账号快速访问与安全操作教程
谷歌邮箱网页版登录与注册全指南_Gmail账号快速访问与安全操作教程

本专题汇总了谷歌邮箱网页版的最新登录入口和注册方法,详细提供官方账号快速访问方式、网页版操作教程及安全登录技巧,帮助用户轻松管理Gmail邮箱账户,实现高效、安全的邮箱使用体验。

18

2026.02.10

铁路12306订票与退改全攻略_高效购票与座位选取技巧
铁路12306订票与退改全攻略_高效购票与座位选取技巧

本专题全面汇总铁路12306订票、退票、改签及候补订单操作技巧,提供车厢座位分布参考、抢票攻略和高铁安检注意事项,帮助新手用户快速掌握高效购票与退改流程,提高出行效率和体验。

11

2026.02.10

TensorFlow2深度学习模型实战与优化
TensorFlow2深度学习模型实战与优化

本专题面向 AI 与数据科学开发者,系统讲解 TensorFlow 2 框架下深度学习模型的构建、训练、调优与部署。内容包括神经网络基础、卷积神经网络、循环神经网络、优化算法及模型性能提升技巧。通过实战项目演示,帮助开发者掌握从模型设计到上线的完整流程。

0

2026.02.10

Vue3组合式API与组件开发实战
Vue3组合式API与组件开发实战

本专题讲解 Vue 3 组合式 API 的核心概念与应用技巧,深入分析响应式系统、生命周期管理、组件设计与复用策略。通过完整项目案例,指导前端开发者实现高性能、结构清晰的 Vue 应用,提升开发效率与代码可维护性。

4

2026.02.10

Go语言微服务架构与gRPC实战
Go语言微服务架构与gRPC实战

本专题面向有 Go 基础的开发者,系统讲解微服务架构设计与 gRPC 的高效应用。内容涵盖服务拆分、RPC 通信、负载均衡、错误处理、服务注册与发现等关键技术。通过实战案例,帮助开发者搭建高性能、可扩展的 Go 微服务系统。

1

2026.02.10

React 18状态管理与Hooks高级实践
React 18状态管理与Hooks高级实践

本专题专注于 React 18 的高级开发技术,详细讲解 useState、useEffect、useReducer、useContext 等 Hooks 的使用技巧,以及 Redux、Zustand 等状态管理工具的集成与优化方法。通过真实案例,帮助前端开发者构建可维护、性能优良的现代 React 应用。

4

2026.02.10

Node.js后端开发与Express框架实践
Node.js后端开发与Express框架实践

本专题针对初中级 Node.js 开发者,系统讲解如何使用 Express 框架搭建高性能后端服务。内容包括路由设计、中间件开发、数据库集成、API 安全与异常处理,以及 RESTful API 的设计与优化。通过实际项目演示,帮助开发者快速掌握 Node.js 后端开发流程。

2

2026.02.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python进阶视频教程
Python进阶视频教程

共30课时 | 8.1万人学习

极客学院Ruby基础视频教程
极客学院Ruby基础视频教程

共22课时 | 4.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号