1/ we are adding Python3 to our tools in the OpenVirus project https://github.com/petermr/openvirus . NOT abandoning Java (and the help that @RemkoPopma 's picocli has given us ). But I think Python is now a better base for most scientists to develop programs. Here's some reasons.
2/ There is no single programming language that can be used for science. The most obvious divide is performance (FORTRAN/C(++)) vs Java, Python3, etc. where performance is retrofitted.
But for many applications the ease of the newer languages makes them a goo choice.
But for many applications the ease of the newer languages makes them a goo choice.
3/ I started Java in 1995 when it was a revelation. Write Once Run Anywhere (WORA). That was a huge breakthrough and for several years there was a buzz in Java - it was revolutionary, a semi-community exciting. That's faded. The Oracle takeover. But one of the best open toolsets.
4/ The skill in scientific programming is NOT writing code. It's re-using other people's code. And, in return, contributing your own if possible. That's what OpenSource is about. Unfortunately academia doesn't value this, and as a result it's hard to write and distribute code.
5/ So when. we set up the https://www.blueobelisk.org for OpenSource chemistry about 15 years ago , most of it was Java. We wrote (as far as possible) interoperable code LIBRARIES. BioClipse, Jmol, CDK, and many more. Nearly all in Java because that's how they linked together.
6/ Blue Obelisk works,
Technically.
But sociopolitically chemical knowledge management is still in the dark ages (ca 20 years behind the times) with closed source, closed knowledge, few standards and a failing knowledge infrastructure.
Technically.
But sociopolitically chemical knowledge management is still in the dark ages (ca 20 years behind the times) with closed source, closed knowledge, few standards and a failing knowledge infrastructure.
7/ In bioscience or crystallography you can find fully Open interoperable data , specifications, software, repositories. In chemistry virtually nothing. The major producers are heavily closed and hire lawyers to help protect their businesses.
8/ Until about 2 years ago I felt there was no obvious , well-engineered, programming infrastructure of interoperable libraries for science.
That's recently changed with Python3. That's what I'm now using as my main tool for innovation.
That's recently changed with Python3. That's what I'm now using as my main tool for innovation.
9/ Observations about a Java programmer learning Python, about 2 months learning.
The real challenges in learning a language are not the syntax, but what resources it brings and how to use them properly.
The real challenges in learning a language are not the syntax, but what resources it brings and how to use them properly.