ASCII crimps program development, coder says
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.
Joab Jackson covers enterprise software and general technology breaking news for The IDG News Service. Follow Joab on Twitter at @Joab_Jackson. Joab's e-mail address is Joab_Jackson@idg.com
- 12 iPhones Apps That Will Make You a Networking Star
- 10 Careers Robots Are Taking From You
- Big Data Gold Isn't Always Where You Would Expect It
- 6 Tips to Build Your Social Media Strategy
- A walking tour: 33 questions to ask about your company's security
- 15 social media scams
- The 7 elements of a successful security awareness program
- IT Certification Study Tips
- Register for this Computerworld Insider Study Tip guide and gain access to hundreds of premium content articles, cheat sheets, product reviews and more.
- The Five Big Lies the C-Suite Hears About "Going Mobile" Mobile has already made a tremendous impact-to the tune of 29 billion apps downloaded in 2011. With such a new technology, it's not...
- mPayment Scenario Planning and Recommendations The mPayment industry is predicted to reach $1.3 trillion by 2017. This report offers conclusions into the impact mobile will have on businesses...
- Is Your App Getting Used? Understanding UX and Your Audience Want your app to be one of the 70 percent that is opened but never used again? If not, then you need to...
- Streamlining Information Workflows In order to streamline your workflows effectively, you will need to properly align your file transfer solution with your business requirements.
- Bridging HTTP and FTP with FileXpress Internet Server What if you could take an FTP server on your internal network, and allow external users (partners or customers) to securely access it...
- MFT and FileXpress - An Overview Business users and applications exchange files on a regular basis. File transfer is a core part of the flow of business activity. All App Development White Papers | Webcasts
Our weekly newsletter will cover a wide range of topics and trends related to consumerization. Stay up to date with news, reviews and in-depth coverage of BYOD, smartphones, tablets, MDM, cloud, social and how consumerization affects IT. Subscribe now!