john67 wrote: > The company I work for is about to embark on developing a commercial > application that will cost us tens-of-millions to develop. [snip] > Right now it looks like Java is the language of choice that the app > will be developed in. However, I have been looking and reading a lot > about Python recently and it seems to me that Python could handle it. > The big attraction to me is the developer productivity. It seems that > if Python can handle it, then we could gain a huge savings by using > Python instead of Java from a productivity standpoint alone. > > So, given the very general requirements in the first paragraph, do you > think that Python could handle it?
Yes. Python has good database support, it works well on a wide range of platforms, and it's great at tying together different processes, machines, etc. - for example, it's fairly easy to get Python to access C code, dynamic libraries, system APIs, and external programs. It's easier to test than Java code as well, and the overal cost of change is lower. The concise nature of the language means that what would otherwise be a "huge" enterprise app in Java might just be a "large" enterprise app in Python - the project will not reach that unwieldy size as quickly, if ever. The Google archives of this group have this topic covered in various ways many times over - IMO Python is great for smallish apps, but its advantage over e.g. Java actually *increases* with the size of the app. If you go the Python route, two of the main obstacles will be: 1) mindshare - getting people on board, getting them to overcome biases one way or another, convincing them to really take the time to come up to speed on Python. 2) reducing the complexity of what you think you need to build. I don't know how to better describe this, but in Java, for example, I'd have whole bunches custom classes to do various tasks but the Python equivalent collapsed into a single module. Anyway, I predict that it'll take you some time to convince yourself that you simply won't need to build all of the same components as you otherwise would, or that they'll often be vastly simpler. -Dave -- http://mail.python.org/mailman/listinfo/python-list