Poll: What programming language do you use for your app/startup?

80 points by raheemm ↗ HN
Just trying to understand the top choices here at HN. Please pick any/all languages that you are using at your startup/side-project/day-job/learning.

If you are using a framework, you can lump it into the respective language.

121 comments

[ 4.2 ms ] story [ 154 ms ] thread
I'm using PHP because it's quick, and I know it. After things (hopefully) get going, I hope to migrate over to Python + Django.
Using what you know is smart. Planning to migrate a new language "just because" I would re-think. Rewriting an entire codebase is a TON of work. I'd either just go with PHP or go with Python.

If you really do think you will need to switch languages for some reason in the future, I'd make the switch now. It'll take a little more time up front but the long term benefit will be worth it.

Rewriting a codebase is something your customers can't see. It won't drive in more sales. It'll just take up time when you should be laser focused on adding features, pivoting if need be and driving bottom line growth.

If you do decide to go with Python, contact me if you need help or get stuck and I'll be more than happy to give you a hand. Also, consider using Pylons. It doesn't get the press that Django does, but it's very nice and is my Python framework of choice.

Not to be a jerk but once you get going. You wont end up switching to python+django. It'll stay php because you'll be focusing on other things like maintaining the existing code and adding functionality.

If you, at one point, want to go with python, i suggest doing that now.

Looks like Ruby users have most time on their hands to surf HN!
Generators save a lot of time!
Nope, just got the work done faster.
"Python where I can. C where I have to"
Using .NET (C#) at work as well as GWT (Java) and minor bits of JavaScript. We're also using FLEX (ActionScript) for some upcoming projects.

At home I have some unfinished projects in JavaScript (a Chrome Extension), Java (an Android app) and C# (a WP7 app). All my website side-projects at .NET (C#) as well, but I've been tinkering with .NET MVC a little bit too. I guess I'm just a fan of the Microsoft Stack or I don't want to switch because I'm unsure of my ability to juggle more server-side languages and .NET keeps me employed.

I voted accordingly.

You should probably (if it's possible to edit) add Objective C for people doing iPhone development.

Also, Actionscript/ Flash might be nice to include since it would be interesting to see how its usage compares to Javascript.

(comment deleted)
Added. The nice alphabatization is lost now... oh well...
Why just Obj-C for iPhone (or more accurately iOS) dev? What about Objective-C for Mac development?
There are far, far less startups doing Mac development than there are doing iPhone development.
c# for one, php for the other
Frontend: PHP/Drupal Custom Modules

Backend: Java/POJOs

Where is Lisp? I think it would still be a popular choice.
I decided early on when I built Appleseed that I wanted it to be a commodity platform, so I went with a very basic LAMP stack. I'm even shying away from PHP 5.3 because so many hosts still don't support it.

It hasn't always been easy, but part of the way I see distributed open-source social networking catching on is by encouraging communities to set up their own social networks (churches, schools, niche communities, etc.), and the best way to make that happen is to make it as easy and streamlined as possible.

Overall, it hasn't been terrible. Once I built a solid MVC framework and plugged in some good libraries (I cannot say enough good things about simple_html_dom), I was able to forget about the language, and focus on the logic, which is where I'm happiest.

The choice of language and framework often seems like a big one, but how often do people regret their decision? If you do, what was your choice and what's wrong with it?

I suspect most people don't care in the end.

I'd love to see a follow-up on this poll about which frameworks are used with each language. E.g. jQuery or prototype for JavaScript? Cake or Zend for PHP?
Seriously missing a lot of languages here. Where's Objective C? Visual Basic?
PHP
(comment deleted)
I think that the languages used by people who voted for "Other" are the most interesting to see in this context.

Could you please post what language you're using in your project if you use a language that is not listed?

I use Erlang.

Scala
Another vote for Scala (plus Ruby, R and Javascript).
and another for scala! What web frameworks, if any are you using?
Yep, some Scala at Bump, too.
My "other" was for clojure and sh.
I use an in-house language and Lua at work, mostly Lua and C for my personal projects, and, after getting really into Erlang earlier this year, I've been learning the Erlang platform (OTP, etc).

I've dabbled in a lot of languages, but those seem to be the ones I've settled on lately.

I spend a lot of time programming in Ada 83 in my day job. The software has to do with air traffic control. I also voted C, C++, Perl and Python. In my personal projects Python is the dominating language, but I also write a lot of shell scripts in both my personal projects and day job.
You didn't list Erlang, Lua, Scheme, Common Lisp, OCaml, Prolog, or Haskell. (Also, loads of other languages, but I actually know people who use each of those.)

Also, adding options to a poll that's already in progress is going to skew the accuracy by quite a bit, but self-selecting polls aren't that scientifically rigorous anyway.

Those fall into the "other" category. As I write this, "Other" has 5.91% of the votes (52 / 880 votes)

Give the guy a break. You can't list every possible choice and based on these numbers, it doesn't look like very many people use the technologies you listed.

If we (generously) assume only half the users of those languages actually voted, that would change the "other" group to 104/932 = 11.16% which would edge out Java's 6.55% and PHP's 10.84%. It would still fall short of Ruby's 13.95%, Python's 15.13%, and Javascript's 20.71%

Check out this thread for people voting "other" http://news.ycombinator.com/item?id=1843229

I don't mean to be overly critical of the guy who posted the poll, these come up periodically and almost always have those issues.

IMHO, tracking the overlapping between them would be an interesting data point - Python and C, Python and Javascript, Ruby and Javascript, etc. At that point you've got a cartesian product of everything to track (in this format), though. It would probably be best to do the polling completely differently.

Also: "which language + which niche" would be good. This seems to be skewed toward web programming.

You are right - that's why I stopped adding any more languages after the first 30 mins since this could skew the newer languages lower.
I've fallen for Scala, and want to use one of the frameworks that support it.

Lift requires use of Maven or sbt, both of which are annoying tools. I don't want you to force me to download stuff from the net every time I start a project! With most frameworks, I should be able to download a package that I can put on a laptop, disconnect, and build projects in a vacuum. Lift doesn't allow me to do this... also XML :(

Once I got up and running with sbt, I really took to it. You only need to be concerned about the net when you add a dependency that you want it to resolve by fetching remotely. If you want alternative web frameworks, I think scalatra looks promising.
http://www.playframework.org/ supports Scala too.
I am looking into it and like its Grails-like setup, but its Scala documentation is outdated and I'm not sure how stable Scala support actually is... I will definitely keep an eye on it, and might even dig into the code a little.
You probably want to have a look at this:

http://github.com/guillaumebort/play-scala/blob/master/docum...

Also, when you can life with some Java code that actually isn't very Java like, you can try the normal approach and later enhance with Scala.

They use compile time extension and Groovy in views to get a lot of syntactical sugar going on.

Play may be Scala killer app IMO
PL/SQL
My condolences ;)

I had to do a lot of maintenance/enhancement work on an old PL/SQL app a few years ago. There were some interesting tricks in the language, but overall I was happy to escape it and move back to working in something a little more modern.

We are solely Erlang from the data processing to the web front end. Wouldn't change it for a thing.
I usually prototype visual things or web-frontend things in actionscript, standalone or back-end in java. But right now I'm working on a web-app in Haxe (targeting PHP)
Interesting to see how everyone seems to be constantly picking on PHP, yet this poll shows that it's the second most used language used for our apps/startups.
This may be an "unpopular" view, but if you need a simple, no nonsense, well supported language, tailored for web use with no big gotchas and you are not facing any particularly exquisite engineering problems.... PHP is often a no brainer.

(it's kinda the Perl of web development)

It's third now and keep in mind that PHP is 3 times as old as the iPhone so you're dealing with momentum issues also. Most sites more than 5 years old are PHP and the switching costs are too high to leave the language.