6-8 May 2019
Fermilab, Wilson Hall
America/Chicago timezone

Fermilab colloquium : Particle physics and programming languages

8 May 2019, 16:30
1h
Wilson Hall (Fermilab)

Wilson Hall

Fermilab

Speaker

Jim Pivarski (Princeton University)

Description

Programming languages aren't for computers; they're for people. If a language doesn't make it easier to express your physics problem, it's not a suitable language. Some fields have specialized "Domain Specific Languages" (DSLs) that trade freedom of expression for focus on the problem at hand, and can even improve performance by limiting this scope. A prime example is SQL, widely used by data analysts outside of physics, which trades generic computation for a SELECT-WHERE-GROUPBY pattern. Interestingly, this was the design pattern of the first electromechanical computers (Hollerith machine, 1890) and it's still a major focus of big data today (Dean & Ghemawat: MapReduce, 2004). Particle physics problems don't fit SQL well; in fact, physicists became involved in computing in tandem with the invention of generic, digital computers (Von Neumann's stored-program machine, 1945). I will present some history, some general features of programming languages, what "declarative" really means, and will show some perhaps surprising examples of DSLs you're already using.

Presentation Materials