Gerald Sussman explains how programming can help understand Analytical Mechanics, Differential Geometry, and General Relativity. While a work of art, a well-crafted program is an expression of an idea
Giff Constable shares 4 tactics for thinking holistically about an idea and clearly identifying, prioritizing and tackling assumptions.
Stuart Sierra introduces some general guidelines for designing systems which make their data and abstractions more transparent to developers, using code examples in Clojure.
Brian Marick shares insight into how one can remain a programmer throughout his career.
Jim Duey surveys several abstraction techniques that can help in writing reusable code in Clojure.
Amit Rathore shares advice in building large scale applications in Clojure, making sure the code is readable and maintainable.
Abstraction is at the center of much work in Computer Science. It encompasses finding the right interface for a system as well as finding an effective design for a system implementation.
Laura Merling shares advice in building a software platform for the enterprise based on 3 ideas: Product to Sell, Self-Service with Full Service, Things in Common.
Jim Coplien believes that we have done OOP the wrong way for 40 years, and suggests an approach to reflection based on the DCI paradigm and influenced by the human society.
Michael Homer introduces Grace, an educational OO language used to teach programming to students.
Barbara Simons examines some of the threats of Internet voting in the hope of encouraging the technical community to oppose Internet voting unless and until these threats can be eliminated.
Daniel Spiewak discusses the question of whether or not the complexity class NP-time is fully defined by the complexity class P-time issue.