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.
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.
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.
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.
You can follow @petermurrayrust.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.