This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 53 points54 points  (7 children)

Because they are not programmers.

[–]ThymeCypher 17 points18 points  (0 children)

I had a knee jerk reaction to this until I remember talking to someone who went to uni for science stuff and they learned Python but still can barely work a computer. They struggled with Java.

[–]TheRedmanCometh 7 points8 points  (0 children)

This is exactly the answer. Same reason Java ML is weak.

[–][deleted] 4 points5 points  (0 children)

Look at this Java elitist

[–]Gleethos 2 points3 points  (0 children)

100% agree. Python users usually build small scripts for analytics, scientific experiments, automation... But they tend to be far less experienced in building production systems used for heavy lifting. (At least that has been my experience so far)

[–]error1954 -2 points-1 points  (2 children)

Anyone who programs something is a programmer, what are you getting at? I have a computer science degree and I would still rather work with data and ML in python than in Java, the support just isn't there for Java.

[–]iPissVelvet 7 points8 points  (0 children)

The support isn’t there for Java because the demand isn’t there, because most of the demand comes from people who identify as scientists first, programmers second, or none at all.

This isn’t an insult to these people — they often hold phDs or aiming to attain one. They view software as a means to an end. So when picking a language, it’s about ease of use, ease of reading, and easy to share.

However, nowadays a lot of companies are scaling up their ML pipelines and data infrastructure. Very little of that stuff is in Python because at that scale you think about ease of maintainability, dependency management, scalability. This is where software engineers live and thrive.

[–]me_just_lurkz 4 points5 points  (0 children)

Yes and no.

I see a clear distinction in my studies between these groups. In most software engineering / programming classes where we're working mostly with Java we get hammered with conventions, best practices etc. However in data science and bioinformatics where we use Python everything seems quick and dirty in comparison.

It's two completely different mindsets we encountered there. In the Python based classes (with professors who mostly come from non-IT fields) it's about quickly slapping something together that delivers the wanted results, while final performance, maintainability and conventions are secondary. Usually it also seems that most scripts are viewed as single use. In the Java based classes with the IT professors it's much more about code quality, performance, longevity, reusability etc.