

Ask HN: What Programming Do I need for a Startup? - throw02082011

With posts today on the youth employment crisis and "why you need a startup" I want to know what I should focus on. In high school and college I did a good bit of HTML on my own. I took C++ classes and decked out my TI-83 with calculator BASIC. I was 1 class short of a CS Minor. Not a complete noob at least.<p>I've played around with iPhone programming and Eclipse for Android but haven't gone full-bore. What I really want to know is if I have a few ideas, what do I need to realize them?<p>Say I wanted to make an Instagram clone (I don't). I'd need to know the App OS language and then MySQL or another database for the app to access? Plus a web interface of some kind to also interface with the database. And I feel like PHP or Ruby come into play.<p>I want to learn and have some background to build on but don't have any idea what it is I need to learn to actually go through the process.
======
rcavezza
If I were you, I'd pick a project and then cater your learning to that
project. with mobile vs web apps, we're talking about completely different
languages.

~~~
misterbwong
This. What matters most is what you want to create. When you've decided this,
it almost doesn't matter what you program it in as long as you can get it
done. If you're confused about which one to pick, just pick a widely adopted
language that has a lot of community support and you'll have more than enough
to learn with.

~~~
throw02082011
edit: bcrawford covered this as I was writing. It's difficult sometimes to
find a path of what steps there are...so many choices.

Ok. Really stupid question time then. I understand most of what I'm working on
for the mobile app.

Am I right about MySQL as a direction for what the app talks to?

I might try another project first that doesn't need outside data to get my
feet wet. I may be getting ahead of myself here.

~~~
misterbwong
There definitely are a lot of choices-they can be paralyzing. I agree with
bcrawford on this one-pick a language to do the web services portion first.
Then move on to the next level of the stack. In your case this would be either
the data level (MySql) or mobile app level (iPhone).

I don't know if this helps, but if I were starting from scratch today I'd
choose either Ruby or Python for the web services level. They're fun, easy to
learn languages that are powerful enough to get the job done.

~~~
throw02082011
Sounds like a good plan of attack. Thanks!

------
bcrawford
IMHO: Don't take on learning everything at once. For instance, if you want to
make a mobile app that hits a php web service with a mysql db, start with web
service and its language. You can dummy data inputs that would normally come
from the mobile app via CLI or GET/POSTs and instead of writing to a DB, just
echo what you would be writing to a log somewhere.

To me, anyway, it's like a foreign language. If you try to learn 3 in tandem,
you may end up slowing yourself down. Get to a reasonable degree of fluency in
one and the others will be easier.

Also, I don't recommend having a mobile app interface with your database
directly. Always expose a web service and have it interface with your db. The
great part about this work is that it sets you up for exposing a public API in
the future, should you decide.

~~~
throw02082011
Thanks. I'm trying to take it slow but have a goal that I'm working towards
for the future.

App first with dummy data seems like a doable first step.

