Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How do you quit agonizing over your choice of app stack?
5 points by billpatrianakos on Feb 9, 2012 | hide | past | favorite | 12 comments
Like everyone else these days I've got myself a shiny new idea that I'm super passionate about, it's one of those "scratch your own itch" ideas. It's definitely been done before but I want to do it better because I don't like my current options and it can be better anyway.

The idea is solid as in the functionality it should have is planned. The idea has been validated. I've even got the server all set up to run anything I throw at it... The problem is, I'm agonizing over what to use!

The choices are PHP or Rails and I've been paralyzed by that decision for about a month now! It's sick! First I agonized over Apache v. Nginx but that's finally over. I've always dveloped in PHP and I could knock out a functioning prototype in a matter of weeks. It seems like the obvious choice but there are some key things that have me paralyzed:

1. Silly as it is, people look down their nose at PHP. I don't want to be the one uncool guy who isn't using Python or Ruby. I know you can write bad code in any language but knowing that isn't helping.

2. I really want to learn Rails. I've been toying with Ruby for a short while and I'm comfortable with Capistrano, I can feel may way around Jekyll, and I've basically got the language basics down (variables, loops, arrays, and on and on) but it would take me far longer to do the same thing in Ruby just because I'd have to learn as I go.

I read that you need to just fucking build something then I read that you need to learn language/framework X, then I read 15 more conflicting articles and I've become a victim of analysis paralysis. It's easy to tell people how not to fall into it but try telling yourself when it happens to you!

So I'm asking if it were you, would you build what you love using what you know or would you build what you love using tools you don't know but would really like to?




Another victim of the HN echo chamber. Here's the scoop: no one outside of these forums cares what framework you use. Your users won't, investors won't..it's about getting things done and bringing a product to market.

The fact that your framework choice is so agonizing shows that you might have become way more interested in gaining cred with the cool kids at HN than you have being an effective entrepreneur.


Yep. Partly true. I have no cred to begin with and I never really hoped to get it here, I've always assumed I'm the biggest idiot in a room full of smart people. But... Well, wait, I think you're totally right. Thank you, this totally solidifies my decision to just use what I know. I've my text editor open in the background and I'm starting.. Right... Now. Thanks.


Like everyone else has said, use what comes naturally to you. It all comes down to your users and if they like it or not. They are not going to drop you for using php instead of Rails.

On the other hand if you are like me, I have an idea and I want to implement it. But if it fails I alteast want some new technical knowledge. For eg, I learn xcode and write an iPhone app and it bombs but I know iphone app development and that is valuable.

The way I'm tackling my tech stack dilemma, is to look at other successful websites find their tech stack and see if that fits my needs. Good luck!


Don't worry about whether PHP is cool or not. It sounds like your comfortable with it and know how to get started so just do that now. With most applications, your users aren't even going to know what tech you're using or possibly even what PHP is.

Don't read any more articles yet. Put your prototype together with the tools you're familiar with. (I'm into Ruby, don't really like PHP and this is still my advice to you).


Thanks. I really just needed someone to tell me this, sad as it is. I'm sure you may be able to relate to how sometimes you need someone to tell you what you already know before you really dig in. Anyway, thank you. I think I'll resist the lure of the shiny new thing and use what I know.


Let me just add a different perspective here. To me there are 3 things I think about when picking the technology: 1. cost 2. scalability - how big do you want to be and does the stack you pick scale? 3. talent - how easy is it to hire top talent going forward

Other than that, I agree with all the comments here. Users couldn't care less about your technical decisions.


It's a matter of personal preference, really. As long as you can be productive with it and ship a product, go for it. Personally, I'm disgusted by both of those languages, but you can't deny the fact that people create useful with them. After all, a weapon is only as good as the hand that wields it.


I think it depends on what you are trying to do. If you want to build this as a prototype for a business, then clearly PHP is the choice.

But if you are building this as a learning/practice experience, take a chance and learn something new!


I tend to conquer both at the same time. When I work on my own projects, I almost always choose a new platform to do it on, I at least switch out some core technology like going from a relational DB to NoSQL or switching out some major libraries for other libraries. This was tougher to do when I was more of a junior and had only one or two languages under my belt, but as I masters more technologies the ability to do it became easier and easier.

Many people view this as adding unnecessary risk to a project, I view it as the opposite, because if the project fails I don't look at it as a total loss, rather I can reflect on the project as a self directed tutorial, where I gained valuable knowledge, knowledge that a lot of people pay to learn. As well the cold hard reality is a lot of projects fail to become companies, so I use the learning as motivation against that reality. Further with each new switch the time of being able to make switches becomes more rapid, which has value in itself. What took me a month to learn from my first languadge to my second now takes me a few days when adapting to a new languadge. So depending on your perspective choosing a new stack can actually make it a less risky proposition for sinking your time into.

I am currently working on a new project in Clojure because I have wanted to learn a LISP dialect for a long time. To me it has already paid off, because LISP is a elegant as everyone says it is. Even if the project goes nowhere I am profoundly more valuable from the knowledge I have gained. I just wish I would have gotten around to picking up a LISP dialect sooner.

In the end it comes down to your ambitions, but projects should be about what drives you. If you truly have a desire to learn new technologies then by all means add that as a goal to your project. If your only overarching goal is to get to market ASAP then stick with what you know. But by all means, don't do it just because of other peoples opinions. Some technical people can be the most bloated wind bags out there. The kind of people that believe that only their way of doing things is right. People that act like that are universally wrong because development is an art as such it is subjective, the tools we use are like paint, some people express themselves in watercolor other in oil. Languages and technology stacks are very much like this and they reflect human thought, some languadge reflect how some people think better than others, but that does not mean that they reflect how you think best. Anyone that claims differently is just practicing dogma and should be ignored.


I can relate to that a bit, especially the part about not considering it a total loss. At this point it seems silly to take on a new language for something that's this important to me.


It is a business. I've got a business model that's ready to be implemented from the start so it does make sense to go with what I know.


Why are you agonizing over which stack to build it on?

When the finished product is rendered in the browser and your users love it, they don't care what tech you used.

Just use what you know and and focus on the product!




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: