IDG News Service - Programming languages are unnecessarily difficult to work with because they rely on the artificial constraint of using only ASCII characters, a noted programmer argues in the November issue of the flagship publication of the Association of Computing Machinery (ACM).
In the article "Sir, Please Step Away from the ASR-33!," Poul-Henning Kamp makes the case that modern programming languages are still unduly restricted by the constraints set in place by computers developed decades ago, most notably the use of ASCII.
Programming complexity is an ongoing concern of language developers and maintainers. Most recently, Google engineer Rob Pike railed against the complexity of languages such as Java and C++. In response, Pike created a new language, called Go, to simplify programming.
Kamp, however, argues Pike didn't go far enough in simplifying the language, insofar as he based it on the ASCII text.
"Why keep trying to cram an expressive syntax into the straitjacket of the 95 glyphs of ASCII when Unicode has been the new black for most of the past decade?" Kamp asks.
ASCII, short for the American Standard Code for Information Interchange, is a character encoding scheme that maps the English alphabet and a few other basic characters to binary code understood by all computers. Unicode expands this limited pallet to a wide range of other languages.
"Unicode has the entire gamut of Greek letters, mathematical and technical symbols, brackets, brockets, sprockets, and weird and wonderful glyphs," Kamp explained. By using this wider range of characters, he argues, programming languages wouldn't have to resort to developing a convoluted syntax to enable advanced functionality.
Programming languages could take advantage of other aspects of modern computing as well, he said. For instance, color screens could enable languages to make the color of the code itself part of the syntax. That screens are larger in size today could allow programs to be laid out in multiple columns so they can more easily understood, rather than as a single column of code.
"For some reason computer people are so conservative we still find it more uncompromisingly important for our source code to be compatible with a Tele-type ASR-33 terminal and its 1963-vintage ASCII table than it is for us to be able to express our intentions clearly," he wrote.
Kamp, a Danish programmer, is perhaps best known for an implementation of the MD5 password hash algorithm -- a method of producing a token that can be used to verify that a block of data hasn't been tampered with -- as well as for the Vanish Cache, an HTTP accelerator used by Facebook and other content providers. He is also known for coining the widely used phrase "bikeshed colour" to describe technical arguments of little consequence.
- The Business Value of Continuous Delivery Download this whitepaper to learn more about the business value of Continuous Delivery and see why it could be a game changer for...
- Ten Factors Shaping the Future of Application Delivery Download this research report conducted by Enterprise Management Associates (EMA) to learn how those that are seeking to accelerate application delivery are leveraging...
- Adobe Creative Cloud FAQ The following are answers to common questions about Adobe® Creative Cloud™ for teams membership, purchasing, security, and storage.
- What's coming to Adobe Creative Cloud Editing and video content creation workflows are about to get easier and more exciting, with major updates coming soon to Creative Cloud, bringing...
- What should I look for in a Next Generation Firewall? SANS Provides Guidance With so many vendors claiming to have a Next Generation Firewall (NGFW), it can be difficult to tell what makes each one different....
- Why Are Customers Really Deploying an NGFW? It seems every IT Security expert is talking about the NGFW, but what are people really doing? This webcast covers 5 real-world customer... All App Development White Papers | Webcasts