This week's book giveaway is in the OCMJEA forum. We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line! See this thread for details.
Is there any book, website, video etc where I get a list of reasons for what kind of problems are best solved using Java and which ones should not be solved by using it ?
OR depending on your problem, which tool/language/framework to use ?
For example the article may look like this:
Portablility is important - use Java. Scala will do, but Java is better for reason XXXX...
Security is important - Use Java....
Speed is important - You may consider C++....
Hardware is old/slow (eg electronics hobby projects that use hardware like intel 8086) - Use assembly or C. Cant use Java. Ok. What if faster hardware is used for XXXX project. Will you then use Java ?
Website back-end development - ABC is better than Java, but in some places Java defeats it....
Mobile application development - Java ME did not do well, but Android is doing well....
If such things are not already discussed in detail elsewhere, perhaps we can do so here.
The bottom line is there seems to be a shift to Polyglot programming more so because JVM has evolved as a platform for multiple languages. But that said the decision to choose the framework, languages varies from enterprise to enterprise. For example Startups tend to use more agile approach, the technologies which suit agile methodology, well established enterprises tend to use a more stable technology or for that matter they tend to have something developed in house for their use.
There would be talk going on about various technologies/frameworks in the industry, lot of people would be adopting it for a certain type of application which could give an indication that yes this looks like a good choice. Moreover lot of them even give their justification as to why they moved to a particular framework, but the same justification might not hold good for some other enterprise. I dont think there's any particular source as to say This is best for this and that is best for that. It would be a continuous process to learn about the merits and demerits of XYZ and you could follow the blogosphere for the articles/sources of knowledge.
I havent been in a decision making position and really cannot tell how the decisions are made, but if ABC creates PQR framework then they might be inclined to use PQR for their applications.
Mohamed Sanaulla wrote:
For example Startups tend to use more agile approach, the technologies which suit agile methodology,
Can you give me examples of such technologies ?
Mohamed Sanaulla wrote:
Moreover lot of them even give their justification as to why they moved to a particular framework, but the same justification might not hold good for some other enterprise.
That is also the kind of stuff I am looking for. I want to know what those "justifications" are (through examples) and how a particular tool/language enables the achievement of technological & business goals.
eg (I am making this up) - Use PHP and MySQL for "small websites" like a local bakery. But for something like amazon, use oracle SQL and Java.
For your own hobby project of a social networking website, use ruby. For facebook, use Java etc.