Live data from Hacker News

Data-Oriented Programming in Python

moderndescartes.com

41–47 of 47 posts

Re: Data-Oriented Programming in Python

#41
post #19

Earlier quoted context omitted.

Computer scientists also assume that you know what inputs your program needs and what is the range of the outputs. That is out of touch with scientific research. We may change overnight completely the inputs, the core logic and the outputs. Having to babysit function signatures, manage memory and types throughout these activities is just draining.

That is also how "computer scientists" and software engineers work. Our time is just valued a lot higher so we've come up with techniques to make our work more efficient and faster, like structuring our code well using types and function signatures. The added bonus is you get science that's you know, repeatable. Because the difference between industrial code and prototype code is that it gets run so often there can't…

> Our time is just valued a lot higher

What the hell is this?

Re: Data-Oriented Programming in Python

#42
post #37
post #31

Earlier quoted context omitted.

> Another aspect is that you will present your scientific results to your colleagues, not your code (they are not interested in that), Ah, yes you do not present your code and that's a flaw of science. Because nobody can really reproduce your results without, but it seems modern science gave up on the whole reproducibility thing. > they are not interested in that Ah no… they are very much interested in that, but you…

> but it seems modern science gave up on the whole reproducibility thing. It looks like you don't understand the definition and the point of reproducibility. If you just click on a button to recompute the results from the same code, this is not "reproducibility". The point of reproducibility is to have other scientists able to confirm your results in a fully independent way. They should be able to do it from scratch,…

> It looks like you don't understand the definition and the point of reproducibility. If you just click on a button to recompute the results from the same code, this is not "reproducibility".

Cool. Except they don't give you the source even when the paper is about the source. So if you want to make sure their benchmarks make sense you can't.

How do i know? It has happened to me.

> You clearly have no idea what you are talking about. Therefore, your conclusions are worthless.

I'm sorry by being right I've offended your sensibility to the point that you need to insult me to feel whole again.

Re: Data-Oriented Programming in Python

#43
post #40
post #39

Earlier quoted context omitted.

> It looks like you don't understand the definition and the point of reproducibility. If you just click on a button to recompute the results from the same code, this is not "reproducibility". The point of reproducibility is to have other scientists able to confirm your results in a fully independent way. They should be able to do it from scratch, without your code, and reach the same conclusion. I highly disagree wit…

What you are talking about is important, but it is not what corresponds to the notion of "reproducibility in science". Ideally, what we need is being able to 1) reproduce from scratch, 2) rerun the experiment with the code used (which has a lot of pragmatical advantages too). In fact, I would argue that even the examples you are giving are not "reproducibility". Reproducibility means that if you redo it _from scratch…

Code is little more than a very formal way to describe an algorithm, the difference between a detailed algorithm and a piece of code is very small in many cases. And in the cases where the given algorithm is general and no code is given, reproducibility is at stakes.

But ideally you want both: the description of the procedure to rewrite an equivalent program, and the actual code that gave the results detailed in the article. This is happening more and more frequently, and this is a good thing.

Re: Data-Oriented Programming in Python

#44
post #43
post #40

Earlier quoted context omitted.

What you are talking about is important, but it is not what corresponds to the notion of "reproducibility in science". Ideally, what we need is being able to 1) reproduce from scratch, 2) rerun the experiment with the code used (which has a lot of pragmatical advantages too). In fact, I would argue that even the examples you are giving are not "reproducibility". Reproducibility means that if you redo it _from scratch…

Code is little more than a very formal way to describe an algorithm, the difference between a detailed algorithm and a piece of code is very small in many cases. And in the cases where the given algorithm is general and no code is given, reproducibility is at stakes. But ideally you want both: the description of the procedure to rewrite an equivalent program, and the actual code that gave the results detailed in the…

> Code is little more than a very formal way to describe an algorithm, the difference between a detailed algorithm and a piece of code is very small in many cases. And in the cases where the given algorithm is general and no code is given, reproducibility is at stakes.

If you follow discussions about how to comment code properly, you will see that an important thing to understand to comment code properly is the fact that your comment should not describe the code, but explain the code. In science, the explanation is a very very very important part of what the community wants. The fact that this distinction exists for comments is the proof that "just the code" is not enough.

Then, yes, of course, it does not hurt to give the code. I have NEVER said otherwise. But just re-read the discussion: my point is that, in practice and in reality, the EXPLANATION is way more important than the description in scientific research, and, because of that, the scientific community is way more interested in discussing the explanation rather than the description (not that it is 100% useless, the same way that discussing plenty of other things is not 100% useless).

> ... reproducibility is at stakes.

True. But in this case, trying to solve that by giving the code is the worst way of solving reproducibility. If the EXPLANATION is not well done, than the science is not there. If you can't reproduce because you don't have a good explanation, than, the solution is to fix the explanation, not to give an unexplained code. Describing the code will NOT fix that, but will let bad science being used ("well, I have the code. I don't know exactly why they have done like that, but I can run the code, so let's use it")

> But ideally you want both: the description of the procedure to rewrite an equivalent program, and the actual code that gave the results detailed in the article. This is happening more and more frequently, and this is a good thing.

No one so far in this discussion disagrees with that. If I was not trying to strongly give the benefit of the doubt, I would be tempted to conclude from this discussion that this disproportionate reaction to just "they are not interested in the code" is from few persons who are totally oblivious of how science works, but are somehow triggered by the idea that the code is not the most important thing in the scientists eyes.

It just comforts me in the idea that some computer scientists have no idea of what are the tensions when doing science (some computer scientists, not all) and just refuse even to consider that maybe it is simply slightly different.

Re: Data-Oriented Programming in Python

#45
post #42
post #37

Earlier quoted context omitted.

> but it seems modern science gave up on the whole reproducibility thing. It looks like you don't understand the definition and the point of reproducibility. If you just click on a button to recompute the results from the same code, this is not "reproducibility". The point of reproducibility is to have other scientists able to confirm your results in a fully independent way. They should be able to do it from scratch,…

> It looks like you don't understand the definition and the point of reproducibility. If you just click on a button to recompute the results from the same code, this is not "reproducibility". Cool. Except they don't give you the source even when the paper is about the source. So if you want to make sure their benchmarks make sense you can't. How do i know? It has happened to me. > You clearly have no idea what you ar…

> How do i know? It has happened to me.

Something happened to you. But it is not a "reproducibility problem".

I guarantee you, at CERN, several teams, and several experiments, reproduce the results without sharing the code. The Higgs boson was observed with 5 sigma of statistical significance, by Atlas AND CMS, and they did NOT share any code.

How do I know? It has happened to me.

The problem of reproducibility is not about sharing the code. If the paper does not provide a complete explanation and does not have the code, you will not be able to reproduce it. But if the paper provides a complete explanation and does not have the code, you will be able to reproduce it. Worst, if the paper does not provide a complete explanation and provide the code, you will NOT be able to reproduce the experiment: you will be able to re-run the code, including the part of the code that contains unsound hypotheses, incorrect equations, and ill-advised choices, without having the elements to understand why those things should not be like that. If you have the elements to understand "wait, this code should not do that", then you have the explanation that allows you to rewrite some code from scratch without needing the code in a first place.

> I'm sorry by being right I've offended your sensibility to the point that you need to insult me to feel whole again.

Sorry if I offended you. The fact that you have no idea of what you are talking about is the result of an observation: you truly don't understand the concept of "reproducibility in science". It is not an opinion, it is a demonstrated fact: I have given real life example where reproducibility is achieved despite not having used the code (for example, the reproducibility of the observation of the Higgs boson despite the code not being shared), while you argued that the lack of code is a problem for reproducibility.

The part on the conclusions being worthless is a simple logic consequence: if you base your premises on incorrect understanding, then your conclusion should be discarded.

Sorry if you became so emotional that you were unable to read a simple observation and logic statement without imagining it was a personal attack.

Re: Data-Oriented Programming in Python

#46
post #45
post #42

Earlier quoted context omitted.

> It looks like you don't understand the definition and the point of reproducibility. If you just click on a button to recompute the results from the same code, this is not "reproducibility". Cool. Except they don't give you the source even when the paper is about the source. So if you want to make sure their benchmarks make sense you can't. How do i know? It has happened to me. > You clearly have no idea what you ar…

> How do i know? It has happened to me. Something happened to you. But it is not a "reproducibility problem". I guarantee you, at CERN, several teams, and several experiments, reproduce the results without sharing the code. The Higgs boson was observed with 5 sigma of statistical significance, by Atlas AND CMS, and they did NOT share any code. How do I know? It has happened to me. The problem of reproducibility is no…

You seem to believe that "science" and "cern" entirely coincide.

Maybe studying very small particles made you forget about the rest of the world?

Re: Data-Oriented Programming in Python

#47
post #46
post #45

Earlier quoted context omitted.

> How do i know? It has happened to me. Something happened to you. But it is not a "reproducibility problem". I guarantee you, at CERN, several teams, and several experiments, reproduce the results without sharing the code. The Higgs boson was observed with 5 sigma of statistical significance, by Atlas AND CMS, and they did NOT share any code. How do I know? It has happened to me. The problem of reproducibility is no…

You seem to believe that "science" and "cern" entirely coincide. Maybe studying very small particles made you forget about the rest of the world?

Wow, that's probably the worst response you could have made.

First, the CERN example was a counter-example. If you say "A implies B" and that someone shows an example where A does not imply B, it does not matter if this is just one example, it still demonstrates that your affirmation is bullshit.

Second, you cannot just say "let's just pretend that the rest of the world just works like I want. See, I'm therefore right". If "cern" is just a part of "science", then, it's YOUR JOB to give me the demonstration that the rest of science is different. Until then, your affirmation is the one that is pseudo-science.

Until now, all we have is, on one side, someone who has experience in science and who has provided a mechanism to explain why your affirmation is bullshit + a specific counter-example. And on the other side, someone who has just made some big affirmation with nothing below it. Sorry, but I'm pretty sure that everyone can see that you have absolutely nothing to defend your affirmation that was just motivated by a childish "I'm a computer scientist, so my methods are the best, and I'm offended that someone can say that these methods are great in many cases but not in all, so I will invent reasons to pretend they are somehow wrong"

Post reply on HN