I'm a CS Student and I am going to start a big project all alone. Here we are learning C/C++ as mainstream language. I would like to know should I learn Java (Play) or Python (Django) in order to start a complex web application where I have to use text/pdf parsing, multithreading programming as backend, and as frontend fast and fresh HTML5/JS interface?
I'm a fan of Python/Django, myself. The ecosystem is great: Django REST Framework is great, Kombu/Celery is great and easy for task queues, and it's super easy to deploy to Heroku (all things considered).
Honestly, I haven't used Ruby on Rails, but I recently found a new job and RoR experience would have opened up more doors to me than even Python/Django, which is pretty popular. If you don't already have experience with Python/Django that would make execution a lot easier for you, then consider RoR.
If performance does not matter, I would prefer Django. I tried to find more comfortable framework as Django, but, unfortunately, not found. If you plan to go big and fast grow, with more than 20 people, I would prefer to use compile safe and strong typed language. Play2? Read play's mailing list - there a lot of problems and limitations. But it's depends on your needs. If you are not a linux (or mac) geek (as I), take a look on C# and .net.
I work on big insurance java project (initiated before 2003, 300 people in development, now more than 450 people). This is not a lot of little independent projects - it's ONE Project with more than 75 components! It's high quality software and we make crazy amount of user stories get every sprint out. Of course, we have errors, RTE's - we are all humans. I worked also for others companies and write PHP and Python/Django for years. Failure has nothing with language or framework or tools - it's always human fail. Sorry for my bad english.
I agree. A language or framework isn't a reason for failure, however, it's a pattern that I observed at Razorfish for a few years. Maybe the devs we had just weren't very good :)
Honestly, I haven't used Ruby on Rails, but I recently found a new job and RoR experience would have opened up more doors to me than even Python/Django, which is pretty popular. If you don't already have experience with Python/Django that would make execution a lot easier for you, then consider RoR.