有经验的程序员:请不要把这些告诉初学者
这有一个经验丰富的PHP程序员和一个刚开始学编程的初学者之间的谈话:
程序员:嘿,我听说你正在学编程。很酷嘛!你正在学什么呀?
初学者:我正在我的Mac上使用TexMate学一些基础的PHP和HTML知识。
程序员:哈哈哈哈,PHP太笨拙了。你应该学习Ruby on Rails,在Heroku中进行部署,在Vim中敲代码。TextMate是给菜鸟用的工具。哦,然后再转去学点Node.js,这条路才是极好的。输入输入不受一点限制,吼吼吼!
初学者:sadsadsad~~~,好吧。
每当我听到这样的故事,我就想说脏话,因为这完全可能会让初学者丧失信心。初学者听到的是,他们一直很敬仰的人正在贬低他们目前的努力,并且把他们的辛苦学习过程说的并不像是“真正的编程”。
如果你是一个程序员,请不要诋毁初学者正在学习的内容……除非你亲自投入大量的时间来确保他们学习你给他们推荐的内容。只对他们选择的语言或者工具做一个路人般暗讽的评论并不会像你使用的语言和工具那么酷,并且这还会耗尽初学者的积极性。
我知道很难阻止一些人小看PHP或其他什么人们今年在主观上不喜欢的语言(我曾为我自己过去的行为感到愧疚!),特别是因为你从你有经验的心里已经知道,你使用的语言,框架,库,编辑器,主控环境,人体工程学键盘,站立式办公桌等等真的要比那些菜鸟所学的垃圾好太多太多了。但请忍住!
就让他们先学点东西(任何东西都可以!!!),以让他们发掘自己编程的潜力,然后你可以为他们展现“上帝之光”(即“神”一般的工具和语言)。如果他们所学到的东西真的是很糟糕,那么他们会不断地卡壳,然后开始询问你是否还有更容易的方法。这时候,只有在这时候,你可以放荡不羁自由地论述你的纯函数式编程或保健宏或其他任何很牛的东西。
另外,你可能并不是跟这个初学者谈话的唯一程序员。许多程序员(尤其是网上论坛里的)可能也正在犯着同样的暗讽评论的错误,除非他们会说他们自己最喜爱的语言、库、框架、编辑器、主控环境是最佳的新福音士。所以现在的初学者真的很迷惑。他们被多次告知自己选择的工具就是很糟糕。但更糟糕的是,每个所谓的专家都在推荐一套不同的学习工具。谁才是正确的选择呢?!?下面他们又该怎么做呢?!?
好了,所以这里有了一个更有教育意义的谈话版本:
程序员:嘿,我听说你正在学编程。很酷嘛!你正在学什么呀?
初学者:我正在我的Mac上使用TexMate学一些基础的PHP和HTML知识。
程序员:不错嘛,运行你的第一个PHP应用的时候记得给我展示点比较酷好玩的东西啊!你要是觉得Web编程没什么挑战的时候,我能给你推荐我最喜爱的框架,Ruby on Rails。然后我们就能看到它和PHP有哪些相同点和不同点。
初学者:谢谢前辈鼓励!以后还请前辈多多指教呢。
免费领取LAMP兄弟连原创PHP视频教程光盘/《细说PHP》精要版,详情咨询官网客服:
http://www.lampbrother.net
分享到:
相关推荐
Linux程序员从入门到精通----初学者必看推荐 本资源摘要信息涵盖了 Linux 程序员从入门到精通的所有方面,旨在帮助初学者快速入门和master Linux操作系统。下面是资源摘要信息的详细解释: 一、从基础开始 * 学习...
在Android开发领域,Android Studio是谷歌官方推荐的集成开发环境(IDE),对于初学者来说,它是学习和构建Android应用的最佳工具。本实例将带你通过Android Studio实现一个仿拼多多砍价页面,这涉及到多个Android...
对于初学者来说,代码看起来像是一个神奇的咒语。 “这堆if和for和function是如何让计算机做我想要的?” 在学习第一门外语时,您至少有一种可以用作参考的母语。 在学习您的第一门编程语言时,您可以使用什么作为...
### 给C++初学者的50个忠告解析 #### 1. 把C++当成一门新的语言学习(和C没啥关系!真的。) **知识点解析:** - C++虽然源自C语言,但在很多方面都有重大改进和发展。因此,初学者应该将C++视为一门独立的语言来...
### 黑马程序员Java基础视频辅导班Day01知识点总结 #### Java的跨平台特性与JVM 1. **Java的跨平台性**:Java语言能够实现跨平台运行的关键在于...这些知识对于初学者来说非常重要,也是后续学习Java进阶内容的基础。
认知曲线理论告诉我们,学习任何新技能都会经历一个从初学到熟练的过程。在这个过程中,一开始的进步可能会非常快,但随着技能水平的提高,进步的速度会逐渐放缓。理解这一原理对于维持学习动力非常重要。例如,在...
### C语言基础知识与编程概念详解 #### 一、C语言简介 C语言是一种结构化的编程语言,被广泛应用于操作系统、嵌入式系统、设备驱动...希望这些内容能够帮助初学者更好地掌握C语言,为未来的学习和发展打下坚实的基础。
对于初学者来说,它是坚实的编程基石;对于进阶者而言,它能提供新的思考角度和学习方向。通过书籍的系统性指导和额外的网络资源相结合,读者可以更加全面地掌握编程知识,形成自己独特的技术理解和创新思维,最终...
虽然应聘者没有必要为了面试特意去练字,但在面试过程中减慢写字速度、尽量把每个字母写清楚还是很有必要的。 布局清晰也是代码规范性的重要方面。平时程序员在集成开发环境如 Visual Studio 里面写代码,依靠专业...
C51初学者的面试题或者叫必须掌握的知识 本资源摘要信息涵盖了 C51 初学者在面试时必须掌握的知识点,涵盖预处理器、宏、死循环、数据声明等多个方面。 预处理器(Preprocessor) 1. 用预处理指令 #define 声明一...
在IT行业中,源代码是程序设计的基础,它是由程序员用各种编程语言编写的一系列指令,用于告诉计算机如何执行特定任务。本资源是一个反编译出的项目代码,这对于初学者来说是一个宝贵的自学材料,能够帮助他们理解...
虽然编程对初学者来说可能会感到困难,但实际上,只要有耐心和正确的方法,任何人都可以学会编程。关键在于持续实践和不断积累经验。 #### 设备需求 学习编程并不一定需要高端设备,一台能够运行基本编程环境的电脑...
对于不熟悉编程的人来说,这可能会有些挑战,但许多在线资源和教程可以帮助初学者快速入门。例如,如果源码是用Python写的,那么理解基础语法,如变量、条件语句、循环和函数,就至关重要。对于JavaScript,了解DOM...
### 编程及C/C++初学者FAQ知识点详解 #### 一、开始之前 ##### FAQ那是什么? FAQ代表“Frequently Asked Questions”,即常见问题解答。它是一种文档形式,用于汇集并解答用户常问的问题,旨在减少重复回答相同...
C++是一种广泛使用的编程语言,尤其适合初学者入门。这篇教程以一个简单的“Hello World”程序为例,介绍了C++程序的基础结构和基本组成部分。 首先,一个C++程序通常由注释、预处理指令、函数定义等构成。在给出的...
常用的网页制作软件有Adobe Dreamweaver、Microsoft Expression Web等,它们提供了可视化的界面,使初学者能更方便地编辑和预览网页。 【网站设计流程】 1. 确定目标和内容规划:明确网站的目的,确定网站将提供的...
### C++点滴(初学者) #### 一、C/C++基础 **1.1 什么是变量** 在C++中,变量是用来存储数据的一种基本单位。它由标识符(变量名)、类型以及其所存储的值组成。例如,`int age = 25;` 这里 `age` 就是一个整型...
张孝祥老师从事了多年的软件开发和培训教学,非常清楚那些容易使新手困惑的问题,在学习过程中会碰到的拦路虎,张老师结合了多年实际开发与教学经验,收集了众多学员在学习中常提到的问题,对平时讲课的内容进行了...
《干净的程序员:专业程序员的行为准则》是软件行业先驱罗伯特·C·马丁(Robert C. Martin)所著的一本关于软件开发的专业...因此,无论对于初学者还是有一定经验的开发者,这本书都是软件专业性道路上的宝贵财富。
对于初学者而言,了解并掌握Java技术至关重要。在开始编程之前,我们需要确保计算机环境已经正确配置,以便能够运行Java程序。这篇教程将帮助初学者解决配置Java开发环境中的常见问题——设置环境变量。 环境变量是...