I am java developer but I am wondering if it's worth to use it or better to learn RoR/Django to startup.
It will be great if I can have some advices or your experiences about it.
In general, if you're already comfortable using Java, and can't identify any specific advantage that another programming technology would give you, sticking with what you already know would probably be the fastest path to a working product.
As it has been mentioned here. If you are efficient in one programming language or technology then use it. Your initial gains and knowledge will allow you to work faster and smarter at a time when time is at a premium.<p>I know of two people who started web based startups one java and the other PHP and asked the same question. Both ended up choosing a new technology and regretted the decision.<p>Learning a new technology isnt just about writing the code to get a working prototype or finished product as quickly and easily as possible.
Its about the learning about the things that a particular programming language cannot do and its short comings.
Depending on the project. getting something done faster could be easier with a modern web framwork like Ror or Django (I use Django). But it really depends on what are you trying to build.. Also you should remember that python/ruby enhanced productivity comes with some learning curve, especially for someone coming from java, which is different (not as syntatic but mainly in idioms, best practices etc).<p>You may want to consider Play framework. another modern web framework that uses scala - which is actually an enhanced and more productive java (and if I recall correctly can compile plain old java as well.. )
In general I'm on board with the idea that you should use the language and development platforms that you are best at, this will provide a great advantage. This idea goes out the window in situations where the platform cannot meet the requirements of your system.<p>Lastly I'm of the feeling that learning a new language is going to really impact your ability to put best development practices in place as you will be working to overcome 'basic' hurdles like learning the system API, stack, conversions, etc...
You might take a look at Groovy (<a href="http://groovy.codehaus.org/" rel="nofollow">http://groovy.codehaus.org/</a>), it's a JVM language.
I guess for you is best way is to start doing it with java and in some time further switch to scala - for example you be able start developing with Play framework which is support both java&scala in one project.<p>RoR/Django is good for prototyping and for fast start, but if you don't know it's it no sense I guess, you will make it more faster with Play/Scala.
Thanks for all your comments. I think you are right the issue is not with which language to code it's the way to get a product people wants.
If you don't mind. I got another question (from your experience) how to get/interact with users to understand what they want before to start build something let's say MVP?
To give more details about what I want to do. I want to build web app to match between users' need and shops' offer.
It will be not real time at the start but it is going to work I will add kind of real time to notify each part.