

Ask HN: If you could start from scratch, would you still use LAMP? - HSO

I have a bit of time and a bit of financing (enough to give me a "runway", not enough to say "fuck you").<p>Now I want to explore some ideas from more than ten years ago that have been made possible with things like the iPhone, iPad, and their derivatives. I imagine a fancy-looking front-end, probably starting with the iPad, connected to some database/business operations on the back-end, for small businesses in a certain industry. I've thought about a native iPad app for the front-end but figure it'd be both safer and cheaper to build a web app instead. Also, if someone wants to run the front-end on an Android device, I want this to be easy to arrange.<p>What toolset at the back-end would you recommend for someone who can start with zero legacy code? I am aware that you throw the first version away and then rebuild anyway, still I'd like to use the "right", future-proof technologies from the get-go.<p>So for the front-end, I suppose there's the holy trinity of HTML, CSS, and JavaScript; but for the back-end? Is LAMP still in use/the way to go, or should I invest in something else?
======
gexla
Okay, so you want to build a web application. I think you are making this more
complicated than it needs to be.

You don't need to get too exotic. While these choices are important, they
shouldn't be a point of paralysis. You wouldn't be making a bad decision to go
the route of Python or Ruby on the Lamp side. Otherwise you could look at
.NET, but that's not an area I know a lot about.

Perhaps your best bet is to find your technical cofounder and let this person
make the decision based on his/her strengths.

~~~
HSO
So you're saying the back-end is still basically the same as it was a few
years ago and stable?

~~~
gexla
You would be standing on the shoulders of giants. Just do a bit of research to
see what other big players on the net are running on. Lots of Python, Ruby and
PHP. You won't find as many people suggest PHP, but much of Facebook runs on
PHP (though this is a case where the company now wishes it could have a "do
over" on that one.)

------
kls
Personally, I would make the P Python and not PHP. I really do not like
working in the latter.

The thing about it, with the new development model of abstracting the UI away
from the server and writing it in the trinity (I love that and am going to
steal it). The back end choice becomes less important. Say you start writing
services in PHP and decide later that "yeah this thing is a tar ball", you can
just write your next service in Python or Java or Ruby or whatever. Sure you
still have to maintain the old ones and possibly port them to your new
language of choice, but what you don't have to do it port over an entire
server side UI layer which has traditionally been a difficult proposition.
They are riddled with proprietary idioms that don't one for one translate to a
different languages web framework.

------
peelle
LAMP is definitely still the way to go.

In my office Perl is the P, and we use the Catalyst framework on top of it.

With these frameworks most of them use the MVC pattern. This allows for you to
easily jack in different front ends or "Views". At my job we use e-mail, JSON,
XML, and templated HTML(Template Toolkit) Views.

[http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Cont...](http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controller)
<http://en.wikipedia.org/wiki/Catalyst_%28software%29> <http://perl.org>

------
leed25d
I have used PHP in a multi year project, and I think that PHP is just plain
godawful.

I am happy to use [LB]A[MP]P where [LB] is Linux or BSD (BSD preferred), [MP]
is MySQL or PostgreSQL (mostly PostgreSQL preferred) and the final 'P' can
either (1) fall back to Perl or (2) spring forward to Python.

I have used Rails and Rails is fun but I am not convinced that they have
emerged from scaling purgatory yet.

------
mattlanger
Not only should you roll with LAMP, but you should get yourself a framework,
too. The top comment in this thread from about a year ago says it all,
particularly the first bullet point:
<http://news.ycombinator.com/item?id=773447>

~~~
mattlanger
Actually, I should amend this in the interest of not being a hypocrite, seeing
as I'm building out a side project right now on top of Cassandra, which is
arguably much slower to get out of the gate with than SQL. But in this case I
know from the get-go that I'm going to have massive data on my hands and that
I'd have to be sharding a SQL implementation almost immediately, so in the
long run it's worth the outlay now.

Otherwise, as much as I'd love to toy around with node.js or Tornado or some
such, I've got no good excuse and I'm sticking with Django because a.) I'm
already familiar with it, b.) batteries are included, and c.) I can move very
quickly with it.

------
jmathai
I agree with most of the posts here.

For me, while PHP isn't the most exciting technology right now...it works. I
have wanted to master Ruby and Python for some time now. However, I am still
pretty much a novice in them. I use them here and there for non critical
scripts in hopes that I will be proficient enough in them to use as a go to
language.

Until then I have to use PHP in which I can write really elegant code really
fast.

