I recently asked a question which was closed for being off topic. I have been directed to two links by the moderator: (1) (2) . After going through both the links, I am posting a request here to reopen as they do not answer my question.

This answer is from someone who has worked in a company involved with SciPy. He argued that python is a lot less intimidating for physicists than C++. I stated that I already know C++ (all High Energy Physicists do, I guess) and asked if there are any additional benefits to learning Python. To give an example, Mark commented that if I use Sage then I am already using Python. Sage runs on the python platform but if I run into some functionality that is not in the library or need to customize, I should know python. What else might be the benefit, for physicists (i.e some important software is written in it, suited to some specific application, or simply no need to learn etc.) as opposed to compiled\interpreted, hardware specific\platform independent etc.

Other issues most of the answers discuss are version control and bug tracking, etc. I think these are programmer oriented (I might be wrong) and and are not my concern presently. The second link discussed reproducibility, which after reading it I realize is important. However, that lies outside the scope of my question and present level. (I am just assimilating a rudimentary toolkit right now.)

Another question I asked was if there was any advantage of learning functional as opposed to an iterative programming language in physics. This is not answered by either of the links. This external link makes a case for haskell to mathematicians. Does it have some similar utility in physics? Moreover my interest was peaked when I overheard at a conference that it was best for implementation of quantum algorithms.

As someone commented, if these are too many questions feel free to edit it in order to make it approporiate. Then I can ask a narrower question later if it is not answered.

share
    
For what it's worth, you don't necessarily have to make a formal request when you think your question should be reopened. I'm not saying you did anything wrong, of course - but leaving a comment on the question or even just @-notifying one of us moderators in the chat room is enough to get us talking about it. –  David Z May 26 '11 at 2:23

2 Answers 2

up vote 2 down vote accepted

It was my close.

I am willing to be convinced that I have been overly hasty (or to be overruled by either of the other moderators if they disagree: feel free guys), but allow me to explain where I am coming from.

I hope you will forgive me if I argue in part by analogy with Stack Overflow (and I will accept that arguments about how Physics.SE could differ from SO are in play).

In the early days of Stack Overflow we had a small user base, few of the tools available today and few rules. Consequently we saw a very wide variety of question many of which were not about "programming" as such, but about programmers and the lifestyle and behaviors of this strange creature.

They were popular.

But at times they threatened to drown the actual programming discussion, and there was a lively debate about their appropriateness. When the community close option was first introduces (with a quorum of one!) these programming-related questions were the subject of many a close-and-reopen battle.

Then followed an interval when not-quote-about-programming-as-such question were tolerated if they were community wiki.

They dominated the active board, the "sort by votes" tab showed almost nothing else for pages, and every new user who dropped by tried to ask one. Not withstanding that they had arrived from google following a link to a actual answer to a actual technical question, it looked like Stack Overflow was about socializing.

Eventually Jeff and Joel were convinced that this represented a problem, and thus was Programmers (originally called "Not Programming Related" after the close reason) conceived and Stack Exchange 2.0 (the earlier, commercial version have had very limited success) started and the Network as we know and love it came to be. Somewhere in there came the blog post Good Subjective, Bad Subjective.

I was one of the fun hating spoil-sports all along.

So, long story short: when I saw the post in question this morning my reaction went something like

Oh noes! Here comes a flood of "What [plural noun] would be helpful for physicist to [verb]?" questions! Danger! Danger, Will Robinson!

Perhaps I over-reacted. But I will ask you to convince me.

Or perhaps to convince David or mbq instead.


Concerning the Stack Overflow links I left in the comments: Those certainly were not intended to replace the question, but were offered up as potentially interesting tidbits because I am not hostile to the topic.


Aside: Just because you have a question, even if it is a good question in some philosophical sense does not guarantee that it has a place on any particular site on the Stack Exchange Network or even on any site.

share
    
Thanks for the very thorough explanation of your reasoning ;-) I figured I can echo here what was brought up in our conversation earlier: although the question is a good one, it is not, strictly speaking, about physics. So before reopening it, we would like to have a more general rule about soft questions that clearly covers this case. If anyone else has ideas, bring them up here or in the chat room. –  David Z May 26 '11 at 2:40

I have thought about it from an answerer's perspective, did a lot more google searches, and I realize it is more of a matter of personal taste and necessity for a physicist.

For example, I read in a blog post of an experimentalist that he was doing some database management "stuff" (out of neccisity to manage the experimental data in his lab) so he learnt whatever were the tools for it, discovered things could be made more efficient, wrote a modified program which was much improved (his claim), etc. Ill have though dig through my browswe history to get the link. But the point for me was, pursue whatever physics problem you're working on. Find out what what stuff's available, learn it, go on..

So it seems it really is a learn-as-it-comes-up thing and and an essential list of prerequisites doesn't exist at such a stage as I am. So the lesson learnt is: if something's interesting, try it out and see what you get.

Thanks for the patience of the moderators for considering my request and presenting their arguments in detail (and the entertaining historical tidbit)

Here are answers to my question, according to what I've learnt:

  1. Python or C++?: Donno. If I'm ever looking for something on Sage and dont get it, Ill learn it.

  2. Functional programming better for physicists?: I tried the first 10 euler problems (which I'd done earlier in C++) in haskell and I'm getting the hang and usefulness of it. I implement more and I'd develop some intuition as to which problem is better solved iteratively and which functionally.

  3. Do I need to learn scripting etc? Just started reading a book on bash. Supposed to give a quick and partially exhaustive overview. I'll know if I ever need it, once I do the exercises and know what its for.

share

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .