"Dry Ice" writes: > First, I'd most like to hear from those who have some balanced > experience at BOTH, as opposed to 'fans' of one or the other who > have only dabbled in a secondary effort. > > I would like to select one development environment to manage > everything in a cluster-server project, from accounting-database to > server CGI to distributed computing jobs. > > Platform: Linux, and a few Windows machines- at least at the > beginning. > > If you had to choose... I've used and like both languages. Both have a fairly clean design, with a wide variety of library support for important areas such as networking. Java has somewhat better support for DBMS work, with lots of JDBC drivers available. For example, Oracle makes a native driver which does not require the SQL*Net package freely available. There's also a fairly good open-source TDS driver available for connecting to Sybase and MS SQL Server databases. Python isn't too far behind in this area, though. For straight CGI I find Python easier to get things up and running quickly. Both have solutions (see Zope and JSP) which don't require launching a new process for each request if you need this for performance. Both languages have good support for the emerging XML recommendations. Java is the leader here, with Python close on its heels. I don't have enough experience with GUI programming under Python to assess it. Java's GUI classes are powerful but very resource-hungry, and it has taken Sun a long time to shake out some of the bugs. On balance it has been my experience that the Python development team has been more responsive than Sun in addressing bug reports. The fact that Unicode support was built into Java from the start is an advantage for some applications (the language's character type is 16 bits wide). Python also has excellent support for Unicode, though not quite as tightly integrated. Python has better support for regular expression handling. At present, it's easier to find Java programmers than Python programmers to maintain your code (though a good programmer should have no difficulty learning either language). Both have facilities for extensions (in both directions). In theory, Java should have an availability advantage for client-side programs, since there's a JRE installed on most machines out there now. In practice, this advantage is pretty thin, because for one thing the variety in versions, quality, and conformance would end up severly restricting the portions of the language and libraries you could use, and for another thing if you had to rely on the runtime engine being present on every potential client machine you'd probably end up installing it anyway. I wouldn't rule out using more than one language. The idea that there is one perfect tool for every job always turns out to be an illusion. If you were to find, for example, that on balance Java will meet most of your needs better than Python (because, let's say, for the kinds of tasks you're doing Java provides better performance), you would still want to use Python for scripting jobs. Also, you might want to take a look at J[P]ython, which integrates Python with the Java platform (though I haven't used it). Finally, Python has a newsgroup/mailing list with a very healthy sense of humor. Don't underestimate this factor in your deliberations. :->} Hope this helps. -- Bob Kline mailto:bkline at rksystems.com http://www.rksystems.com
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4