An open letter to those who want to start programming
First off, welcome to the fraternity. There aren’t too many people who want to create stuff and solve problems. You are a hacker. You are one of those who wants to do something interesting. “When you don’t create things, you become defined by your tastes rather than ability." – WhyTheLuckyStiff Take the words below with a pinch of salt. All these come from me – a bag-and-tag programmer. I love to get things working, rather than sit at something and over-optimize it. ### 开放信:致那些想要开始编程的人 #### 欢迎加入编程世界 欢迎来到编程的世界。在这个领域里,人们通过创造事物来解决问题,而非仅仅消费现有的成果。作为初学者,你已经成为了一个“黑客”,这里的“黑客”并非指网络攻击者,而是指那些愿意尝试新事物、解决问题的人。 #### 不断创造的重要性 当你不再创造时,你的价值将被你的品味所定义,而非能力。这句话出自WhyTheLuckyStiff,强调了动手实践对于成长的重要性。不要让学习成为行动前的障碍,实际上每个人都是从零开始的。 #### 动手实践 - **乐趣驱动的创作**:选择一个项目或想法,哪怕它只是一个简单的游戏或者实用工具,都可以作为起点。最重要的是开始行动。 - **避免过度准备**:很多人在开始之前总觉得自己还需要更多的知识,这种心态往往会拖延实际的行动。记住,完美主义不是通往成功的必经之路。 #### 初期可以忽略的方面 - **算法与数据结构**:在初期阶段,不必过分关注算法和数据结构。这些概念在简单应用中并不常用,可以在实际需要时再深入学习。 - **灵活运用资源**:了解各种算法和数据结构的基本概念即可,在遇到具体问题时再进行深入研究。很多时候,市面上已有现成的库可以使用,无需从头开始编写代码。 #### 选择合适的编程语言 - **易于上手的语言**:避免选择像C这样的语言作为入门语言,因为这类语言虽然强大,但学习曲线较陡峭。 - **动态语言的优势**:建议选择动态语言(如Python、Ruby等),这类语言语法简洁明了,可以帮助快速构建项目原型,保持学习的积极性。 - **个人偏好与舒适度**:选择一种你认为能够快速产出结果的语言。这可能需要你花费一些时间尝试几种不同的语言,找到最适合自己的那一个。 #### 工具的选择 - **编辑器的选择**:一个好的文本编辑器是程序员的好帮手。例如,VS Code、Sublime Text 和 Atom 等编辑器不仅功能强大,而且社区活跃,拥有丰富的插件支持。 - **轻量级开发环境**:不需要特别复杂的集成开发环境(IDE)。一个强大的文本编辑器加上必要的插件已经足够支撑日常的编程工作。 #### 结语 编程是一场旅程,每个人都将以自己的方式前进。不要害怕犯错,也不要担心进度慢于他人。最重要的是享受过程,并从中不断学习成长。希望每一位踏入这个领域的人都能找到属于自己的乐趣和成就感。
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助