Application Development: Why Programmers Should Use the Haskell Language Now
Haskell is a standardized, general-purpose, purely functional programming language, with non-strict semantics and strong static typing. In computer science and computer programming, a type system is said to feature strong typing when it specifies one or more restrictions on how operations involving values of different data types can be intermixed. The opposite of strong typing is weak typing. "Strong typing" implies that the programming language places severe restrictions on the intermixing that is permitted to occur. This prevents the compiling or running of source code, which prevents data from being used in an invalid way. Haskell is named after logician Haskell Curry. In Haskell, "a function is a first-class citizen" of the programming language. As a functional programming language, the primary control construct is the function. The language is rooted in the observations of Curry and his intellectual descendants, that "a proof is a program; the formula it proves is a type for the program." At Microsoft's Lang.Next conference on the software giant's Redmond, Wash., campus, a varied group of leading software language geeks met to discuss the future of programming. The group included Andy Adams-Moran, a founder of Galois, a Portland, Ore., firm that provides unique R&D capability for government and commercial clients. Galois applies revolutionary mathematical, computer science and engineering approaches to solve critical problems in software security, safety, privacy and performance. Galois has been instrumental in bringing cutting-edge research into practice for the U.S. Department of Defense, U.S. Department of Energy, the country's various intelligence agencies, and biotechnology and aerospace companies. In all its projects, Galois employs Haskell. Adams-Moran has been using Haskell since 1991 and said that while he and his colleagues use other languages, "We always come back to Haskell." Here, eWEEK looks at why Adams-Moran continues to rely on Haskell and why other developers should check it out as well.