programmer-should-not-say-that-to-beginner

Here is an excerpt of a conversation between an experienced programmer and a beginner:

Experienced programmer: Hey, I heard you're learning programming. That's cool, what are you learning?

Beginner: I'm learning PHP and HTML using TextMate on my Mac (note: a text editor for Mac).

Experienced programmer: Oh dear, PHP is terrible. You should learn Ruby on Rails, deploy it on Heroku (note: a cloud platform), and write code with Vim. TextMate is for rookies. Then mess with Node.js, it's really, really great, non-blocking I/O aaaaaah, so cool.

Beginner: Uh... okay.

Every time I hear about this kind of thing I want to curse. When beginners hear the people they look up to dismiss their efforts and say that what they're working hard to learn isn't "real programming," it strongly undermines their confidence.

If you're a programmer, don't disparage what a beginner is learning... unless you're sure you're going to invest a lot of time to make sure they learn what you want them to learn. Just casually sneering that the languages and tools they chose aren't as cool as your choices will discourage them.

I know it's hard to resist wittily trashing PHP or any language that everyone likes to bash these days (I confess, I used to be that kind of person). Especially because you know deep down that the languages, frameworks, libraries, editors, hosting environments, ergonomic keyboards, standing desks, etc. you offer them are much better than any garbage the newbies are learning. But please hold on.

Just let them start learning something (anything!!!) that can hook them into programming, and afterwards you can offer them a little help. If what they're learning is really bad, they'll always get stuck and ask you if there's an easier way. At that point, you can let loose with your prepared discourse on functional programming, hygienic macros, or anything else.

You may not be the only programmer who talks to beginners this way. Many programmers (especially on web forums!) make similar sarcastic remarks, except when talking about their favorite language/package/framework/text editor/hosting environment. Oh, now the beginner is really confused. Newbies are told again and again how awful the tools they chose are, even though they might actually be able to get things done. But worse, every preaching veteran recommends a different set of tools for them to learn. Who is actually right? What should they do next? For more details on the endless frustration, please read"A Programming Story with Great Lessons"。

Okay, regarding the above conversation, here is a constructive suggestion:

Experienced programmer: Hey, I heard you're learning programming. That's cool, what are you learning?

Beginner: I'm learning PHP and HTML using TextMate on my Mac.

Experienced programmer: Great. When you finish your first PHP program, remember to show me how cool it is! Once you're more familiar with basic web programming, I'll show you my favorite framework, Ruby on Rails. Then we'll look at the similarities and differences between it and PHP.

Beginner: Thanks for the encouragement, hope we can stay in touch.

Source: http://www.techug.com/programmer-should-not-say-that-to-beginner