3

I am working on documenting a new algorithm to solve a discrete mathematics problem, hopefully to publish academically. In this article, I will need to provide code samples and attach or link to a full code listing.

In academic articles I read from late last century, it was customary to document algorithms in C (one example here 1). Counting problems that involved large numbers used double even if the precision was insufficient.

In today's academic journals, what language is used by leading discrete mathematics papers?


For completeness, following are the journals I would try to target. I don't have access to these anymore, otherwise I would just leaf through them all.

1 Shirish Chinchalkar in "An Upper Bound for the Number of Reachable Positions", ICCA Journal, Vol. 19, No. 3, pp. 181-183, 1996

  • 3
    I think the correct answer is "English", with "pseudocode" a distant second. – JeffE Mar 18 '15 at 11:16
  • @JeffE: For reference: English. But as it says there, do not confuse it with ENGLISH! :-) – Nate Eldredge Mar 19 '15 at 14:57
5

I don't know anything about Computational Methods in Engineering or Computational Intelligence and Complexity, but I can speak to the other journals. Journal of the ACM publishes plenty of theoretical papers, and the others you list are all mathematics or theoretical CS journals (although note that the American Mathematical Monthly is not really a research journal). Papers in these journals won't generally include code samples, and you can write a theory paper analyzing an algorithm without implementing it. If you do implement it, any reasonable choice of programming language is fine, whichever you prefer. A computer algebra system can be a good choice for a proof of concept, but it's really up to you.

Incidentally, you've listed a rather broad range of journals. It would be a rare paper that could comfortably fit into all of them, so you'll eventually have to narrow the field. Based on your comments about code samples and implementations, I also wonder whether less theoretical journals might be a better fit, but of course it's hard to tell without knowing more about the paper you're writing.

2

There is no single standard, but a general rule of thumb is that the more "applied" the work, the more likely it is to be written in a "production" language such as C, Java, Matlab, or Python. More "elegance-focused" work is likely to involve more elegant and succinct languages, such as Lisp, ML, Haskell, or Prolog. More theoretical work is likely to simply be in pseudocode.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.