Please upvote the post itself to share with others.
2) You can build things really fast with Meteor.
3) After you know what you're doing you can develop the robust version much more quickly. This time savings is often significant.
4) Since Meteor is built on Node, you don't throw everything away. You can actually keep quite a few functions and nearly all your handlebars intact when you port to the final project.
I'm not saying working this way is for everyone, but it works well for me.
It would help a lot in building the road map for an application, but you definitely wouldn't want to use any of it in production.
Specifically, why build a partially functional prototype only to throw it away for another framework down the road.
It seems naive to me, because the effort you put into the prototype is mostly dropped (except for high-level mental models). Rather then building a throw-away prototype, I think it's better idea to build a prototype you can refactor and improve, with one set of tools.
I simply like how Python gets out of my way when I'm trying to write something. I have yet to find another language that does that for me as well as Python does.
Whereas in Python, there's one way to do it, and it's a matter of looking it up the right way to do it.
Matter of personal preference, really. They're pretty much equivalent choices for a web app and one probably just should use whichever one is most comfortable with.
Also, aren't a lot of rather big names into Python publicly? Disqus, Pinterest, Dropbox, Everbrite, SurveyMonkey.. There are just the ones I can remember talking about using Python.
Everyone seems to be all up in Python right now and I don't know why.
Another example is a Chinese SNS website Douban, which serves over 100 million users, and it's very active.
C# - tied to MS stack. I know, there's Mono, but I'm somehow sceptical using it for a web app...
Python, Ruby, PHP - slow, much worse IDE support than Java.
Clojure - dynamic typing -> worse IDE support, less readable than Java.
Scala - slow compilation, overly complex and unelegant syntax.
Go - looks good, but sometimes feels too low-level - it's a systems programming language, it was created as a C++ replacement.
Dart - unfortunately the ecosystem isn't evolved yet, but this is how Java should look like. The only thing I don't like is optional typing.
Language like Python and Ruby don't have IDE support like Java does because they don't need them. I'm reminded of the post, "IDEs are a Language Smell": http://www.recursivity.com/blog/2012/10/28/ides-are-a-langua...
It's sometimes a bit disconcerting how strong a learned dependence Java programmers seem to have with IDEs.
I don't understand why the initial reaction to Mono is always skepticism. No one's first reaction to other open-source projects is instant skepticism...
Not saying that's definitely the case here, but how many web-targeted projects exist for .NET/Mono? Obviously, there's ASP/MVC - but what else? Compared to the number of web frameworks/etc for Java? (I don't know.)
The anti-Microsoft sentiment seems strong among web devs. So, when new devs start out, they might read a lot about how if it comes from Microsoft - it can't be good. I am fairly certain that that is a strongly contributing factor to people's avoidance of it.
* Pointers, dereference, pass by value vs pass by reference
* Creating maps with "make" is weird, in Java I would just call a constructor
* I'm not a big fan of the type system, it somehow doesn't feel robust and full-featured. Making Go good for OOP definitely wasn't a priority.
You really ought to specify "What language do you develop your backend in?", as that's a bit more clear in your intent.
And while I'm commenting I might as well add at at this point if I wouldn't touch PHP or Java with a long stick. I can barely sleep at night when I think of all the people who still write Java on browser...
You are probably talking about Java Applets. No one is writing web apps as Java Applets anymore (if you could even call something like that a web app). We're talking about real web apps, and a lot of companies are using Java to build them (e.g. Gmail and a lot of other Google Products, ...). Plus, the JVM is a great runtime for other (more dynamic, less verbose) languages like Scala or Groovy.
What is the size and scope of the project?
What feature-set are we looking at?
Large team building components at the same time?
If you really must pick a one-language-fits-all (and i think this poll reflects this logic) it would have to be python.
So, choosing tool before job; python. But also, you would be an idiot.
My clients mostly just ask for PHP though. That's my problem though, I need to find new clients.
I'd love to build something in Scala someday. :)
Regarding "whitespace"... best stick with PHP or Perl.