On Thu, 2012-09-13 at 13:21 -0500, Jacob Keller wrote:
> Java anyone?! Your subject line asks about scripting languages. I would think that even the most inveterate Java advocate would hesitate before recommending Java for the kind of informal scripting that you were asking about :-) > I've actually noticed a bit of a dearth of Java in the crystallography > world, with some exceptions... Writing good Java can be quite demanding. Many people seem to find it easier to make a quick start with interpreted languages like Python and Perl, especially if they are dynamically typed. There are also other well-respected scripting languages around that don't have much traction in the crystallography world, like rexx, lua and pike, which might be worth a look. However, using a language that is familiar to your colleagues has some value. IMHO Java is good for large codebases that are developed over a long period of time. The static typing and ability of development tools to do fairly deep code analysis, means that the cost of maintaining and refactoring in Java doesn't increase with code size as quickly as with a language like Python, even if the cost of writing the code in the first place is higher. It also means that fewer test cases need to be written (if I had a penny for every runtime bug in Python code that I have seen that would have been picked up at compile time in Java.....). You only get those benefits in full when using a heavyweight development environment like Eclipse or NetBeans though. Learning to get the best out of those adds to the up-front time that needs to be spent before you produce anything useful. I think that a lot of frustration with Java comes from that. I also don't think that traditional developers' text editors are really suitable for Java development once the amount of code involved becomes large: the traditional "write, compile, fix, compile, fix..." approach starts to break down then. Syntax highlighting is nice but only gets you so far. My 2p worth.... Regards, Peter. -- Peter Keller Tel.: +44 (0)1223 353033 Global Phasing Ltd., Fax.: +44 (0)1223 366889 Sheraton House, Castle Park, Cambridge CB3 0AX United Kingdom