I Don't Want To Write It In [Programming Language], Because Everyone Says It Sucks!
May 12, 2014
I had a conversation with a friend today, who is pretty new to the programming world, about getting started with her first big hobby project. Yay! She's thinking about projects! I'm really proud of her accomplishments so far. Anyway, her project is basically a content-management system/blog thingy. Now, in terms of familiarity, she is most comfortable with the whole Apache-MySQL-PHP stack.
She knows that I'm not a fan of PHP. The thing is, if there is one person who I complain about why PHP isn't the best language to focus one's career in, it is her. So she has heard a lot of it from me, and is probably tired of it. Nevertheless, we both have fun with our discussions.
So she said something along the lines of wanting to write her CMS but not in PHP. I asked her why not? Her response was because she kept hearing about how bad it was... from me! This is my opinion though, and should not be taken as fact.
But now, keep in mind she is barely getting started with coding in general. And I am a huge fan of just getting things done. I ended up telling her to drop that concern and just get started with her project! It would be better anyway... getting starting with designing and implementing a system is hard the first time around. And if you are able to take all the risk in the world (such as a hobby project), then by all means first use as many tools you are familiar with to help you cross that bridge.
Personally, I just think there is too much overhead in starting a project in a business domain or concept you are not as familiar with and making it much worse with using a technology you aren't familiar with either! I think it is best to stick with what you know as much as possible when it comes to technology, and focus on delivering the correct solution with it for the business domain.
So then, for any future projects, my thoughts that I told her were that if she comes across a similar problem or idea, she should then consider using an unfamiliar, or "better" technology simply because the overhead to creating the solution for the problem isn't as large.