Live data from Hacker News

Switch to another language in the middle of a project?

news.ycombinator.com

21–25 of 25 posts

Re: Switch to another language in the middle of a project?

#22
post #12

finish your project in PHP, throw it up, start making money. Then in your spare time if you feel like it, switch to another language. Or if you are starting to have some performance issues. If you are going to change your language every time some new language gets hyped you'll never finish.

I'm with Vaskel, plus I'd chime in that if you switch now you totally are never going to get it done. You should eventually switch to a php framework, but only after you've finished what you've got now and have proven your idea viable and workable.

Your experiencing a fairly common mid-project crisis. It's almost exactly like a mid-life crisis. You're at the point that you can see the end coming and are wondering if you haven't totally fucked yourself up to this point. You see all the things you could have done better or differently. The key at that point is to try to refocus on the finish line and get yourselves there. Take notes on your mistakes, but always move forward.

Plus you've already sunk a year into it, why set yourself back?

Remember a shitty solution to a problem is better than no solution at all.

Re: Switch to another language in the middle of a project?

#23
I was in almost the same situation as you, and I decided, for the very reasonable reasons explained in the other responses, to stay with PHP.

In summary:

- I know PHP, don't know Rails

- I could be a victim of the "grass is greener" effect

- I'm already too far into the project to make such a drastic change

- I made the decision to use PHP in the first place - I'd look like an idiot for making such a big mistake (even to just myself and my business partner) And so on.

All very good reasons, and I still think my decision was highly defensible, and I stand by it.

However, it was a mistake - the deadly kind. There's no telling what could have happened if I'd switched to Rails at the time (I had a strong hunch that Rails was way better). But here's what happened:

- Turns out we weren't so far into the project after all (a typical mistake) - it was another 8 months before we released

- I've since learned Rails, and reckon I could probably have redone the whole site in less time than that with Rails (probably 3-5 months with better functionality as a result)

- PHP and the framework I used (custom) were not adequate for our long-term aims. The viscosity ( http://www.inter-sections.net/2007/12/01/comparing-pieces-of... ) of the whole thing increased to the point where after we finally went live, making further changes was too expensive/difficult/error-prone to be worth our while

Basically, this decision killed this product that I spent about a year working on.

I still stand by it, but I've learned from my mistake. I even wrote an article about it (though I didn't mention this specific product, the argument applies): http://www.inter-sections.net/2008/01/22/fundamental-mistake...

What would I have done differently? How about take a 2 week break and give Rails a really good try to see how well I liked it and if it was just an impression. I would then probably have made the decision to switch, and I believe it would have been the right one. I suggest you do the same with your product. Building a product that's painful to evolve is a deadlier mistake than wasting a bit of work. Also, it's not all wasted - you've still learnt about the business domain.

Anyway, good luck!

Daniel

Re: Switch to another language in the middle of a project?

#24

Very big mistake if you are serious about bussiness. Django and Ruby are very tough to find cheap programmers for, but there is no shortage of cheap PHP programmers. Expect a language change to throw you back 3 months or more. And there are many PHP frameworks, don't implement a new one.

Cheap programmers are expensive. I'd rather have 1 great rails programmer than 10 cheap rails programmers. The single great programmer will be more productive than all 10 of the cheap ones, and far easier to communicate with and manage.

Re: Switch to another language in the middle of a project?

#25
Oh how apt your timing is, Jeff Atwood just wrote a nice article on his Coding Horror block titled:

"PHP Sucks, But It Doesn't Matter" (http://www.codinghorror.com/blog/archives/001119.html)

Why introduce regressions and headache by switching to another language that I'm guessing you don't know as well as PHP.

Jeff says it best in that article: "building a compelling application is far more important than choice of language."

Personally, I'd just keep plugging away in PHP. It isn't my favorite language, but it has yet to fail me. It is like the farmers rusty pickup truck. Not very flashy, but it gets the job done.

Post reply on HN