3

I have published papers in the field of mechanical engineering, combustion, engines, etc. Previously I relied on MATLAB for most of my data processing, and C++/Fortran for computations. I duly cite languages used.

Recently I switched to Python for its great comprehensive library, plotting capabilities, support and above all I don't have to struggle with the licensing issues. Now I am worried if citing Python would affect paper acceptance, since it is based on an unconventional approach.

Will using an unconventional programming language increase my chances of rejection?

6

4 Answers 4

8

The short answer is, no. I've never experienced or heard of a reviewer caring about what language was used for code in a science or engineering paper.

In any case, I don't think Python is "unconventional" in 2015. Here are some well-known and widely used codes that can be used for CFD with Python front-ends:

  1. http://pyfr.org
  2. http://fenicsproject.org
  3. http://github.com/clawpack/pyclaw

Note that all of these use Python in combination with lower-level languages for performance.

I'll also mention the educational course CFD Python.

1
  • I think Dropbox is written in Python too
    – Evorlor
    May 6, 2015 at 0:54
5

Any answer will likely depend on your field and the specific journal or conference you submit to. Programming languages are tools, just like your literature database frontend. As long as your tools are not manifestly unsuitable to the task or to the venue you submit to, I can't imagine anyone holding the tool against you. If you write your high performance computation in COBOL, I'd say this is a case where the reviewer might question your grasp of the field.

This, of course, does not hold if you submit to a journal or conference that explicitly addresses a particular programming language or paradigm. If you submit a paper that exclusively relies on Haskell to the R Journal, you likely will be rejected.

(And Python specifically is sufficiently hip nowadays that I don't think it will raise an eyebrow, except for possible performance problems, as per @aeismail's comment).

3

One case when the language may be questioned is when you are doing performance profiling and compare results with that others have achieved. For such cases, you usually get into least trouble when using that the majority uses. To compare the performance, the algorithms must be implemented on comparable platforms, not Python vs Assembler.

1
  • 1
    This one. A related thing that "does not fly" is comparing the own Python-based implementation against a C++ implementation of another approach for the same problem, finding out that the other implementation is a bit faster, and then claiming that the own approach is better because Python is inherently slower.
    – DCTLib
    Jun 9, 2021 at 18:35
0

Present it as a proof-of-concept code and you ought to be okay. If you believe it's beyond that, then use the standard languages for your field. Nothing wrong with Python, our computational physics friends use it and develop impressive libraries for it. (It's interesting to see comments from a few years ago when Python was the new kid. By contrast Python 3 pretty much dominates some areas now.) The goal isn't always performance on a particular problem, sometimes the mark of great code is the ease of adoption by others.

You must log in to answer this question.

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