Background: I'm an experienced Java developer, know basic Javascript, HTML, and CSS (and find it easy to figure out how to do something), and have a little experience in Python. I've seen Ruby before and edited a few lines of existing scripts.

I'm curious not so much about any given technology, but mainly about what my thought process should be when deciding which technologies to use. Let's take a simple application - maybe an online address book where I can enter contact information, and create groups of contacts. How should I go about evaluating the options that are out there?

The number of frameworks out there is daunting to say the least. This should be a learning experience for me, but also I want the knowledge that I gain to be relevant, and I'm afraid of using something that I'll never use again.

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.
If this question can be reworded to fit the rules in the help center, please edit the question.

2

Please check the FAQ - particularly what it has to say about "which language?" questions.
–
ChrisF♦May 21 '12 at 15:23

3

I realize that - I agree that it's questionable about whether this is an appropriate questions, but I'm not interested in particular recommendations. Rather, how to decide what to use. I'd categorize this as more of a "development methodology" question which seems to be allowed.
–
JerMay 21 '12 at 15:42

OK - but if it starts getting a lot of "use X" answers it's going to get closed.
–
ChrisF♦May 21 '12 at 15:43

i've decided to use RoR at work, for a minor project. And it was amazing, i learned a lot. But if you feel confortable with Java, go on! Many say it is unproductive, but no one beats JVM! And you have Grails at your disposal.
–
NëiMay 21 '12 at 17:36

1

I'd go with a mix of 'use what you know best' and 'use what will get you a prototype quickly'. Since you're a Java programmer, go with a Java framework you know well, or the most popular one if you've not done web stuff before. Whilst there are differences between various frameworks/languages, I see people get hung up on it too much, and their project has stalled as a result.
–
halferMay 21 '12 at 18:17