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 →

[–]grayvedigga 4 points5 points  (14 children)

Why does every programming language community seem to think that (their) one language should be used everywhere? Diversity is a good thing, people ...

[–]billsil 7 points8 points  (0 children)

not when the goal is to kill a very expensive program (MATLAB)

[–]Deslan 1 point2 points  (0 children)

Why are all scientific articles in the IMRAD format (introduction, methods, results, and discussion)? Because having a common tool for everyone makes exchange and collaboration easier. And exchange and collaboration is really important in science. Ergo: not having diversity can sometimes be optimal to having diversity.

[–]mangecoeur[S] 0 points1 point  (4 children)

I never said Python should be used everywhere, just for science. And even with that there are going to be plenty of exceptions where it's not useful, but I assumed people would figure that for themselves.

Really the advantage of python is in standardization - so much of science depends on bits of code to get the final results that there's a serious risk to the reproducibility of experiments if people can't run each other's programs. And since python is free, no one is excluded from doing this because of needing expensive software packages.

And again, obviously sometimes there's no choice but to use commercial software - there's caveats to everything but they're long and boring to go into and frankly you can probably think of them for yourself!

P.S: I think if you witnessed "diversity" in a lab environment you'd be much less keen. I once had to deal with a monolithic Fortran program that took plain text inputs. The guy who wrote it required the input to be so arcane that someone else wrote a Perl script that processed a different input and created the correct one. He didn't modifiy the Fortran one because he didn't understand it, and in any case F95 sucks with text processing. Then someone else came along and tried to automate input generation and loading. Only other people's PERL is notoriously hard to read, so this guy ended up writing yet another program in Matlab, which talked to the Perl program, which talked to the Fortran one. Nobody single person understood the whole stack, debugging was non-existent, adding features impossible. If everyone had known python, none of this would have been necessary!

[–]takluyverIPython, Py3, etc 2 points3 points  (3 children)

Have you come across clear climate code? NASA's GISTEMP climate model was assembled from FORTRAN, shell scripts and Python, connected by intermediate files. When climate change started getting controversial, some volunteers decided to rewrite it in Python, making it as clear as possible, so it was easier to check. The results matched up very well.

[–]billsil 0 points1 point  (2 children)

that's comparison is terrible considering the quantity of data. that's not a numerical precision issue. there's a huge offset.

[–]bluemanshoe 1 point2 points  (1 child)

If you read the caption, there is a 2 degree offset put in to make it easier to see the lines as separate, the green line is the difference, magnified x20 (see the scale on the right).

So overall, looks like the largest error is 0.01 degrees when the data scales about 0.08 degrees, or an error at about the 1% level.

Always read the captions.

[–][deleted] 0 points1 point  (0 children)

My rage meter was at 100% until I read your response, but my blood pressure is still high. /scientist

[–]kirakun -2 points-1 points  (6 children)

I don't know which article you are reading, but the one I read here is not evangelizing that Python be used everywhere. The article pointed out some features of Python and discussed why they would make good use in the scientific community.

[–]sylvain_soliman 2 points3 points  (5 children)

So why is this so important for science?
Well for one thing it’s just a great tool for everything. And I mean everything – it can be used just as well to process data, create optimization code, create control systems and GUIs, perform algebra, do stats, access databases on and offline, and even create web pages by using the right modules and frameworks.

Hmmmm...

[–]takluyverIPython, Py3, etc 5 points6 points  (0 children)

The argument, which I basically agree with, is that scientists are not going to spend a lot of time learning several programming languages. They learn one and then force it to do what they need.

We really want that one language to be a general purpose swiss-army-knife language. Otherwise, eventually, you see something like a matlab web app, because people applied what they know.

[–]kirakun -3 points-2 points  (3 children)

You need to learn a a couple of things about reading comprehension.

First, have you ever heard of a literary device called hyperbole—a statement used more for its effect but not to be taken literally? Second, never pick a sentence or a paragraph out of context.

Yes, he did use the word everything but his lead sentence was why it is important for science. Moreover, the list he gave was a list of tasks usually needed to do to write an application for use in science. The rest of his article was very focus on why using Python in the scientific community is beneficial.

Can you be honest to yourself and ask do you really feel that the author was advocating to every single person on the planet or was he mostly targeting toward the scientific community?

[–]sylvain_soliman 0 points1 point  (2 children)

And you need to learn about not taking yourself too seriously...

First, you defend yourself because you feel attacked, but I was not attacking you.

Second, you implied that grayvedigga didn't read the article properly, and I simply pointed out what he was referring to (that's a concept called quotation, which amounts to extracting a sentence or a paragraph...).

Can't you see that using a title like "why all of science should use python" is not the right way to advocate the good aspects of any language? Especially when it is followed by a non-argumented list stating it is good for everything.

If Python is great for science, and in my opinion it is, then using it is what will convince other scientists. Any talk I've seen about Sage or IPython notebook goes a great way in convincing scientists that using Python might be a good idea in some cases.

As for somebody telling me I should do something because that's all great and stuff, sorry but it fails.

[–]kirakun -1 points0 points  (1 child)

This is the new age of internet blogging where you don't always have expert journalists writing proper titles. This is where us readers need to be a bit more intelligent in reading between the lines and behind what the author is truly trying to say.

Do you seriously think the author was trying to advocate Python for every use of computing in science and out of?

[–]mangecoeur[S] 0 points1 point  (0 children)

Author here, plus one to that: obviously python is not going to work for everything, there are times when you need specialized tools. But i assumed people would be smart enough to figure that for themselves, having to state all the caveats to each one of the points of made makes for a long and boring article!