Slashdot Mirror


Economics Nobel Laureate Paul Romer Is a Python Programming Convert (qz.com)

Economist Paul Romer, a co-winner of the 2018 Nobel Prize in economics, uses the programming language Python for his research, according to Quartz. Romer reportedly tried using Wolfram Mathematica to make his work transparent, but it didn't work so he converted to a Jupyter notebook instead. From the report: Romer believes in making research transparent. He argues that openness and clarity about methodology is important for scientific research to gain trust. As Romer explained in an April 2018 blog post, in an effort to make his own work transparent, he tried to use Mathematica to share one of his studies in a way that anyone could explore every detail of his data and methods. It didn't work. He says that Mathematica's owner, Wolfram Research, made it too difficult to share his work in a way that didn't require other people to use the proprietary software, too. Readers also could not see all of the code he used for his equations.

Instead of using Mathematica, Romer discovered that he could use a Jupyter notebook for sharing his research. Jupyter notebooks are web applications that allow programmers and researchers to share documents that include code, charts, equations, and data. Jupyter notebooks allow for code written in dozens of programming languages. For his research, Romer used Python -- the most popular language for data science and statistics. Importantly, unlike notebooks made from Mathematica, Jupyter notebooks are open source, which means that anyone can look at all of the code that created them. This allows for truly transparent research. In a compelling story for The Atlantic, James Somers argued that Jupyter notebooks may replace the traditional research paper typically shared as a PDF.

6 of 106 comments (clear)

  1. Speed by hcs_$reboot · · Score: 3, Informative

    Depends for what. Python is slow, and if research involves tree searches or monte-carlo ... algorithms, even PHP is faster. I'd go for Java or, faster, C++.

    --
    Slashdot, fix the reply notifications... You won't get away with it...
    1. Re:Speed by TechyImmigrant · · Score: 3, Informative

      Depends for what. Python is slow, and if research involves tree searches or monte-carlo ... algorithms, even PHP is faster. I'd go for Java or, faster, C++.

      I hit upon compute bottlenecks all the time doing numerical analysis. However the parts that need writing in C to speed things up mount up to a tiny fraction of the code I write in python that does the data handling and general information plumbing.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    2. Re:Speed by vikingpower · · Score: 4, Informative

      Scientists who start out as non-programmers balk at learning Java or C++. Python is easier to learn, which accounts for much of its widespread use in academia.

      --
      Religous speak to God. Insane are spoken to by God. When all shut up, one can finally hear Shostakovich in peace
    3. Re:Speed by ath1901 · · Score: 4, Informative

      Scientists don't use it for the language, they use it for the libraries. Numpy is extremely fast (since it is written in C, C++, Fortran or Cython or whatever) and very convenient to use (since it is wrapped in Python).

    4. Re: Speed by TeknoHog · · Score: 4, Informative

      Try Julia. Nearly as fast as C. Feels like writing in Python, only better.

      FTFY. https://julialang.org/benchmar...

      As for the syntax, Julia uses significant line breaks (replacing semicolons of C-like languages) but none of the indentation issues of Python. Blocks are closed with the "end" statement, replacing the braces of C-like languages. It's the best of both worlds.

      --
      Escher was the first MC and Giger invented the HR department.
  2. Re:You misspelled Jupiter by c120plus · · Score: 5, Informative

    The name is constructed from the names of programming languages. They are Julia, Python and R. Hence Ju-Pyt-e-R You are probably confusing it with the name of a well known planet.