Can Some Programming Languages Be Considered Harmful?
Programming languages are not uniformly perceived by the software engineering community: some are respected, others are hated, some have a devoted following, others are viewed as a necessary evil. However, is it true that using some languages on a regular basis or even being exposed to them to a significant extent, can harm coders’ minds? Can a programming language be blamed for limiting a software engineer’s ability to form proper abstractions, communicate them to other members of the programming social unit, choose correctly among tools, techniques and constructs within the solution spaces, and altogether for boosting or ruining an engineer’s career? If we knew, we could ensure language designers use methods that are least harmful when making new libraries, protocols and domain-specific languages. In this paper we raise a number of questions concerning language safety and design sociotechnical experiments to answer them.