
If you were building a startup today, what would you use? - akc
https://docs.google.com/forms/d/1fKVsAFT3nRVvlcJ74p0ZI2uqwDq_qtNvxx8ne6LTI9E/viewform
======
alkonaut
Again with the assumption that "startup" is synonymous with "web/mobile app".
What about thick clients/desktop apps/consoles etc?

If I were to start my career from scratch in 2014 I'd pick F#, and keep an eye
out for Rust.

~~~
michaelochurch
Why F# over Haskell?

I feel like the near-reliance on Windows is the biggest issue for F#. Haskell
fits the Unix environment a lot better.

~~~
alkonaut
F# for several reasons 1) Tooling, I like proper thick IDE's like xamarins or
VS. 2) better platform support (I'm serious, it isnt tied so much to windows
as you might think but is one of few languages you can e.g make a 3-platform
mobile app with today!). Running Haskell in the same IDE with the same
compiler on several platforms is hard. Making android/iOS or web apps with it
is also tricky. 3) I like ML more than Haskell, 4) trivial to slap a non-
functional C# front end on F# business logic should that be necessary, much
harder to do from Haskell or ML without having to resort to C/C++.

~~~
MetaCosm
Xamarin is really the "killer app" for .NET at the moment. Being able to use a
common codebase for Windows RT, Windows Phone, Windows, OS-X, Android, iOS is
amazing. Being able to do full native work on top of that on every platform.
The apps look, feel and act native cause they are using native widgets.

Last I checked the F# supports was still a little crufty (over a year ago) --
but if they really get the F# support to be top tier, I will have to return
and have another look.

~~~
alkonaut
F# has gone from tiny to quite popular (#12 spot on Tiobe currently), and that
shows very clearly in the quality of tools and availability of libs now. It's
not the same language/community it was a year ago.

By comparison, Haskell is 49 and no ML lang is in the top 50.

~~~
MetaCosm
Wow, you were not kidding, explosive growth in the last year. Some really
great stuff and tooling "just works" now.

------
gaoshan
So I guess the (currently third place) "Other" is mostly PHP? I know it's not
cool but it still seems strange to leave that popular and frequently used
platform out of the poll.

~~~
rmangi
Anyone who would start a new project from scratch in PHP hasn't been paying
attention.

~~~
jakejake
If PHP was the language you knew best and your goal was to launch a product -
then PHP would be a reasonable choice.

If your goal was to be cool, then obviously PHP would be a terrible choice.

------
mindcrime
Man, Grails / Groovy never get any love from these poll authors! C'mon, Grails
rocks people... :-)

Seriously, I switched all of our development from Java/Tapestry/etc. to
Groovy/Grails a few years ago, and really couldn't be happier with the
decision. Grails isn't flawless, but it mostly "just works" and makes my life
SO much easier than before.

No, it isn't the "flavor of the day" like node.js or what-have-you, but it
works, it stays out of the way, and gets the job done. And it lets me leverage
the decade plus of experience doing Java that I previously experienced. What
more could you ask for?

~~~
pkinsky
I chose Scala/Play framework for the same reasons. Java might be awful, but
the JVM is a beast.

>Though my tip though for the long term replacement of javac is Scala. I'm
very impressed with it! I can honestly say if someone had shown me the
Programming in Scala book by by Martin Odersky, Lex Spoon & Bill Venners back
in 2003 I'd probably have never created Groovy. -James Strachan

~~~
noname123
As someone who is trying to swing back to the new world of JVM development (my
last effort was Spring and J2EE 6 years ago) just curious who is going to win
out?

Play or Lift?

~~~
nl
Dropwizard

------
akc
results:
[https://docs.google.com/forms/d/1fKVsAFT3nRVvlcJ74p0ZI2uqwDq...](https://docs.google.com/forms/d/1fKVsAFT3nRVvlcJ74p0ZI2uqwDq_qtNvxx8ne6LTI9E/viewanalytics)

~~~
akc
tabulated results
[https://docs.google.com/spreadsheet/ccc?key=0ApqmTkgH6Ua_dEZ...](https://docs.google.com/spreadsheet/ccc?key=0ApqmTkgH6Ua_dEZOdTFIX2lGMVVINjBRS25BenNYSXc#gid=0)

~~~
snoonan
Watching these answers stream in on the spreadsheet really makes me think of
what a realtime reddit or stack exchange could look like. Adding live
interaction from observers (likes, comment streams, etc).

~~~
akc
maybe you've heard of quora ;-)

------
wasd
I am most surprised by the number of people who want to use Go. It isn't that
Go isn't a great piece of technology but I thought it would be really
difficult to hire for and seems a bit overkill for an MVP.

~~~
lstamour
Depends. If what you need to build is actually a simple interface between
database and front-end over an XML or JSON API, Go's not that much heavier
than the alternatives, with the promise of more performance in the future and
with less code than many other libraries require. Plus if you host on Google
App Engine, it's free to start. Even the HTML templating has built-in context-
aware output filtering for XSS prevention.

That said, Rails, or any language developers are more familiar with, can be
faster. At that point, I'd argue even static HTML pages might be one of the
fastest MVPs to put together...

------
qdog
I find your lack of C on the back end...disturbing.

------
mbesto
\- If you don't know a web programming language, find the easiest one to learn
(quicker to launch)

\- If you do know programming languages, use the one you're best at (quicker
to launch)

I'll refer to my previous argument for all of this:
[https://news.ycombinator.com/item?id=6169120](https://news.ycombinator.com/item?id=6169120)

------
akc
I for one didn't know about Digital Ocean before I put this survey out, and
now I do, and am really grateful as a result.

~~~
gaoshan
Digital Ocean is great.... I've been using them for a bunch of stuff. Make for
great dab/staging servers and low cost platforms.

------
stusmall
I'm surprised that iOS is winning out as much as it is on the first native
side to build.

~~~
MaysonL
I'm surprised that it isn't winning by a larger margin.

~~~
stusmall
Why is that? My motivation for picking Android is the larger market share.
Even if you have engineering preferences, to me what really matters is getting
it out in front of a wider audience.

~~~
bitcrusher
What markets are you trying to get more in front of? US? Europe? China?

What device levels are you trying to get in front of?

Android seems like a "no brainer" until you start looking at the details...
For example, if you cut out all "cheap shit 2.2 android devices" and focus on
new(ish) Android 4.0> things get REALLY murky... In the US iOS still holds a
lead over Android in those markets; in Europe Android is ahead, but then you
have localization to deal with.

Additionally, Android might have an edge in some markets, but the fact that
iOS users actually PAY for apps also makes a big difference.

The point is that Android is a sensible choice but it's not an automagic
choice, nor is it as cut and dry as it appears.

~~~
stusmall
I should clarify my asking the question isn't "Why would anyone do that?!?!"
it is more "What is the advantage? Is there something I missed?"

------
drivingmenuts
Having nearly finished my first real-world project in NodeJS/MongoDB, I gotta
say, it's better than sliced bread.

Papa just found himself a brand new hammer. Now to go find some more nails.

~~~
herokusaki
Care to compare it with your previous experiences in webdev?

~~~
drivingmenuts
There was a lot less dithering over proper database design; I just created
objects in code and stored them wholesale. Aside from some administrative
details/learning (zero knowledge going in), I spent far less time worrying
about Mongo and more about my code, none of which has to do any manipulation
of the database.

On the code side, I already know JS pretty well, though mostly from a UI-
manipulation side. It was more like extending knowledge I already had, than
having to learn something completely new. The slowest part was trying to
determine which modules met my needs, then sorting through the myriad of
somewhat confusingly- (or just plain badly-) written documentation.

The best part was being able to use the same language end-to-end. When I deal
with PHP, there is always some context-switching between it and the other
parts. This project flowed much more naturally and left me quite enthusiastic
about whatever the next one is (I get a lot of latitude in devising
solutions).

Some of the code is probably badly-written and I'll spend some time cleaning
that up (first project in Node) for an update and there are still a couple of
parts to write (shell scripts, mainly). There's also one key part that no-one
seems to be able to solve (MD5 in Mono won't match the MD5 from JS), but we'll
figure that out as we can ignore it, for now.

Really, given all the interruptions I faced during the process, going from
zero to finished in two weeks of eight-hour days (including having to learn
some things) feels pretty good.

The same project in PHP would have taken about the same amount of time,
without having to learn new things. Admittedly, I'm a slow coder because I
want to make it right the first time so I don't have to f __* with it later,
not just have a running solution. I 'm not as thrilled with PHP as I used to
be and half the time, I feel like I _should_ reinvent the wheel, rather than
just using a lib.

That's my informal review of the experience. Take it for what it's worth.

------
zequel
Disappointed Windows Azure isn't listed. Ignoring the anti-anything Microsoft
crowd, it's a stable easy-to-use reasonably (at least competitive) priced
platform.

------
ilaksh
Pretty big bias issue with the choice of options. Would like to see a tally of
Other broken down on the home page of results.

------
carterschonwald
Haskell.

------
omgitstom
Man, I would love to see this done yearly so we can examine the trends.

------
michaelochurch
I wouldn't limit myself to one language or framework, in reality.

Growing very fast? Python, with C for high-performance components. Python's
got great libraries for everything, and hiring Python and C programmers
wouldn't be hard because those languages have a lot of users.

Growing typically fast? Clojure. Drop to Java if needed for extremely high
performance demands, or if I need to hire fast.

Growing at a leisurely pace? I'd be tempted to try Haskell (and possibly
switch to Clojure). It's badass, it'd be fun to learn, and some of the
smartest people I know are big fans of it. However, with the "leisurely pace"
(R&D) I'd be tempted to hire people only as smart as I am and let them use
whatever they wanted.

