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...
- Coding with JRebel: Java Forever Changed With JRebel, developers get to see their code changes immediately, fine-tune their code with incremental changes, debug, explore and deploy their code with...
- 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.
- On Demand: Mastering the Art of Mobile Content Management Mobile device usage in the enterprise has skyrocketed, and it continues to escalate. IT must answer to users who demand access to their...
- NSS Labs & Cisco Present: Evaluating Leading Breach Detection Systems Today's constantly evolving advanced malware and APTs can evade point-in-time defenses to penetrate networks. Security professionals must evolve their strategy in lockstep to... All App Development White Papers | Webcasts