Key papers
Here are a few key papers for programmers.
Computer languages and programming
Ingrid Burrington (2015) The Environmental Toll of a Netflix Binge The Atlantic.
Dijkstra, Edgar (1968) Go To Statement Considered Harmful Communications of the ACM (CACM) March 1968.
Goldberg, David (1991) What Every Computer Scientist Should Know About Floating-Point Arithmetic ACM Computing Surveys 23:1 5—48.
Knuth, Donald E. (1984) Literate Programming The Computer Journal 27:2 97—111.
Ousterhout, John (1998) Scripting: Higher Level Programming for the 21st Century IEEE Computer magazine.
Raymond, Eric S. (1999) The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary O'Reilly Media.
Modelling
Di Paolo, E. A., Noble, J. and Bullock, S. (2000) Simulation models as opaque thought experiments In: Seventh International Conference on Artificial Life, pp. 497-506, MIT Press, Cambridge, MA.
Thomas C. Schelling (1969) Models of Segregation In: Strategic Theory and Its Applications, The American Economic Review, Vol. 59, No. 2, Papers and Proceedings of the Eighty-first Annual Meeting of the American Economic Association. (May, 1969), pp. 488-493.
Neumann von, John (1966) Theory of Self-Reproducing Automata (summary online), University of Illionois Press, Champain, IL
Python
van Rossum, Guido (undated) Why was Python created in the first place? General Python FAQ.
van Rossum, Guido (2009) Python's Design Philosophy The History of Python blog.