

Ask HN: How do you quit agonizing over your choice of app stack? - billpatrianakos

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.<p>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!<p>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:<p>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.<p>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.<p>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!<p>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?
======
JS_startup
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.

~~~
billpatrianakos
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.

------
darwindeeds
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!

------
proexploit
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).

~~~
billpatrianakos
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.

------
hugo31370
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.

------
javadyan
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.

------
aorshan
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!

~~~
kls
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.

~~~
billpatrianakos
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.

------
cl8ton
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!

