Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Ouch. My jaw dropped when I saw my old article on the front page of HN.

To me, posting this article in 2007 taught me two lessons:

#1: The goal of good writing is not to be understood, but rather to not be misunderstood.

Judging by the hundreds of angry comments on that original link, I failed miserably. At the time, nobody read my little blog, so I didn't expect anyone to see this post. I was really just writing it to answer a few of my Rails friends' questions. I didn't brace it for public attack.

#2: The public you is not you.

I'm a mediocre programmer, trying to improve, and at the time just trying to make my website the way I wanted it. So it kinda hurt at first to read hundreds of fellow programmers saying I'm the biggest idiot to walk the earth.

Then I just realized that my post should have been written clearer, and the reason people were so upset is because it sounded like I was attacking this framework/language that they had spent so many hundreds of hours learning. It had nothing to do with me. Only I know my real programming skills, so their comments were not really about me.

Ever since then I don't let comments get to me, either way. Neither praise nor criticism should be taken personally. It's just feedback on the post/subject. Useful for learning how not to be misunderstood, but has nothing to do with you.



> #1: The goal of good writing is not to be understood, but rather to not be misunderstood.

While I agree with this idea, I felt that you made it perfectly clear that you loved the Rails framework, loved Ruby, etc…

If you were attacked in comments, it's because it's was a supercharged topic, not due to any failing of your writing.


I agree. I read it for the first time and honestly couldn't care less about languages and found it quite clear that you liked ruby but found php worked for your needs.


The content of that article is fine. It all boils down to #2:

"OUR ENTIRE COMPANY’S STUFF WAS IN PHP: DON’T UNDERESTIMATE INTEGRATION"

Joel classically addressed this with regard to the Netscape re-write from scratch. In a word: don't. You have working code, meeting customer needs, and re-writing the whole thing is time you are not spending fixing bugs, adding features, or improving performance of the existing code.

I would say what you ended up doing in that 2 months was a massive refactoring. You took what you had, along with the knowledge of all the mistakes you made, and turned it into the code it should have been from the start. The key was that at every point, you still had a working system that was still integrated with all the other systems you needed to run your business, which is pretty much the definition of refactoring.

None of this has anything to do with Rails or PHP. You can substitute any other two languages or technologies and the outcome would not change. I suppose that is one thing you could have stressed more, but even from what you wrote that should have been clear to anyone not overly emotionally invested in the particular technologies you were discussing. The comment about being perfectly willing to start a green-field project in Rails should have made that clear.

I also liked the part about liking SQL. I'm finding more and more that ORMs are just getting in my way and making my code longer, slower, and harder to understand.


I think that was an important point, but not the central point. I think more important was his argument that if you are using a tool and doing something significantly different from it's intended purpose then you're better off rolling your own; and php is a fine enough tool for the job. Not that it's pretty or anything though :-/


Language wars are the biggest waste of time in the software development community/industry.

It's temporary insanity, I think.


I think no discussion is waste of time.

There are many people that find clarifications on those discussions when deciding which language to choose.


Even more then editor wars?


Editor wars are an insanity that's not temporary.


I would't take it that hard, it is impossible to name two languages in one sentence without getting a pile of dirt thrown at you (from both sides, and possibly an unexpected third).

Nothing wrong with your writing, but it's nice to see you striving to do better.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: