views:

262

answers:

4

Hi guys, I noticed that most banks use Java at the server-side to run the web apps. Why is that? What makes Java better than PHP, ruby, python..etc for banks or enterprises?

Thanks in advance.

+5  A: 

Look at it from the bank's perspective. Banks and other large non-technology firms are generally very conservative about technology choices because the penalty for doing an exceptionally bad job on some software is very large, but the reward for an exceptionally good job is not so large. In other words there's not much reward for taking risks on software development here. Therefore, it pays to stay somewhat behind the curve and stick with what's tried and true, rather than take a chance on the latest and greatest.

dsimcha
The explanation would explain COBOL and FORTRAN use, but not Java—isn't that a new-fangled language?
wallyk
-1 Java isn't "behind the curve"
Byron Whitlock
I wonder how many people here have made a financial transaction today that has been processed by a COBOL mainframe? ;)
FrustratedWithFormsDesigner
@Byron: Then why doesn't it have closures, properties, lambda functions, or any other nice feature popularized in the last 10 years that makes the programmer's life easier?
dsimcha
@wallyk: And who says they aren't still using COBOL and FORTRAN? Java is slowly replacing the older systems, but at a slower, low-risk pace. ;)
FrustratedWithFormsDesigner
@wallyk: Java has fallen pretty far behind the bleeding edge of languages. This is not necessarily a bad thing, as people value it for its relative simplicity and stability. It's not where you'll find the latest and greatest of language features, though.
dsimcha
While the Java language may be a bit stale, Java has never been about the language itself. It's all about the libraries. Inversion of control, web based MVC , dependency injection were popularized by Java.
Byron Whitlock
@dsimcha, new languages arise running on the JVM. No need to worry. IBM endorses Java on their midrange, mainframe systems -> it will live at least as long as COBOL.
Thorbjørn Ravn Andersen
Java (as a platform) has all the latest features in language development. They're just not implemented in the Java Language. You can use Groovy, Scala, Ruby, Python, JavaScript and more from within a Java program quite easily, so there's little need for the Java Language itself to progress into the bleeding edge.
nicerobot
+5  A: 

Enterprise solutions and support.

Anton Kazennikov
This answer is a bit vague, especially in light of the fact that it does not provide a verb.
David Lively
Verbs be damned. Anton has merely over-optimized.
Buggabill
Isn't this another way of saying that the guy selling the solution owns a briefcase?
tvanfosson
@David Lively: That's because this answer is an enterprise class name.
Bill the Lizard
@Bill the Lizard But doesn't this couple us to a concrete definition? Should we not have an interface and factory too?
Joe Holloway
@Joe Holloway: This must just be the implementation. Of course you need all of that scaffolding too. ;)
Bill the Lizard
A: 

If this statement is true then it is because of the following:

In the late 1990s and early 2000s web development had just a few choices: 1. ASP 2. CGI 3. JSP (for example)

PHP was not what it is today. ASP was not capable of scaling to multiple servers and CGI was time consuming so allot of companies went to Java. I suspect that is the reason being the most online banking occured during this time.

year 2000 was Sun's most successful year.

Todd Moses
I think banks are probably more concerned with what goes on behind the UI. So PHP probably isn't the best bet...
Tom Hawtin - tackline