..............................
..............................
..............................
Facile Programming Hanan Elazhary
High-level languages and very high-level languages have been developed to simplify programming. But,
programming is still hard for many people especiall y those from disciplines that are not computer-related. Facile
programming implies the modification of programming languages to be easily learnt, remembered, and used by programmers
from different disciplines. This is achieved by stu dying and trying to tackle the practical difficulties that face such
programmers. The paper addresses the difficulty of learning, remembering, using, and understanding com pilation error
messages of common English-like programming languag es by programmers who are not fluent in English. To tackle this
problem, we developed Arabic versions of LISP and S QL in an attempt to figure out whether developing versions, of common
programming languages, that are like natural langua ges of programmers would improve their programming capability.
Syntax errors in the Arabic versions can be detecte d and the corresponding error messages are produced in Arabic. To
encourage the use of these Arabic versions, we also developed translators that can translate programs between the
corresponding Arabic and English versions of these programming languages for portability. This paper e xplains the Arabic
version of SQL, but reports results from our experi ence with the Arabic versions of both LISP and SQL.
[1] Al*Sadoun H., Yaseen M., El*Jallad A., and El* Jallad M., ARbic BasIc (ARBI): A New Arabic MS*DOS Based Programming Language, in Proceedings of 12 th National Computer Conference and Exhibition , Saudi Arabia, pp. 449*464, 1990.
[2] Al*Salman A., An Arabic Programming Environment, in Proceedings of ACM Symposium on Applied Computing , USA, pp. 19* 25, 1996.
[3] Aljanaby A., Abuelrub E., and Odeh M., A Survey of Distributed Query Optimization, The International Arab Journal of Information Technology , vol. 2, no. 1, pp. 48*57, 2005.
[4] Amin M., The Arabic Object*oriented Programming Language Al*Risalh, in Proceedings of ACS/IEEE International Conference on Computer Systems and Applications , Lebanon, pp. 424*427, 2001.
[5] Beaulieu A., Learning SQL , O'Reilly Media, USA, 2009.
[6] Bloch J., Effective Java , Prentice Hall, Pearson Education, USA, 2008.
[7] Elazhary H., Arabic Lisp, in Proceedings of SEKE , USA, pp. 382*385, 2009.
[8] Gaddis T., Starting Out with C++: From Control Structures Through Objects , Addison Wesley, Pearson Education, USA, 2008.
[9] Hyde R., The Art of Assembly Language , No Starch Press, USA, 2003.
[10] Jurafsky D. and Martin J., Speech and Language Processing , Prentice Hall, Pearson Education, USA, 2008.
[11] Levine J., Mason T., and Brown D., Lex and Yacc , O'Reilly and Associates Inc., CA, 1992.
[12] Levine J., Flex and Bison , O'Reilly and Associates Inc., USA, 2009.
[13] Lukaszewicz L., SAKO * An Automatic Coding System, Journal of Annual Review in Automatic Programming , vol. 2, no. 8, pp. 161*176, 1961.
[14] Rafea A., Soliman D., Samy E., and Felfela G., Al*Daleel: An Arabic Interactive Programming Environment, in Proceedings of 3 rd International Conference and Exhibition on Multi-Lingual Computing , UK, pp. 1*30, 1992.
[15] Seibel P., Practical Common Lisp , Apress Berkeley, USA, 2005.
[16] Tetsuji I., Hiroshi S., Osamu O., and Shunsuke U., Grammar of a Japanese*Based Programming language "Mahoroba", Joho Shori Gakkai Kenkyu , vol. 2001, no. 31, pp. 143*152, 2001.
[17] Touzi A. and Hassine M., New Architecture of Fuzzy Database Management Systems, The International Arab Journal of Information Technology , vol. 6, no. 3, pp. 213*220, 2009.
[18] Viescas J. and Conrad J., Microsoft Office Access Inside Out , Microsoft Press, USA, 2007.
[19] Yaohan C., Structure of a Direct*Execution High*Level Chinese Programming Language Processor, in Proceedings of ACM Annual Conference , CA, pp. 19*27, 1974.
[20] Wikipedia, available at: http://en.wikipedia.org/ wiki/ Non* English*based_programming_ languages, last visited 2008.
[21] Jeemlang, available at: http://www.jeemlang.com/documentation/webfra me.html, last visited 2007. Hanan Elazhary received her BSc degree in Electronics and Communications Engineering and her MSc degree in Computer Engineering from the faculty of Engineering, Cairo University, Egypt. She received her PhD degree in Computer Science and Engineering from the University of Connecticut, USA. Currently, she is working as a researcher at the Electronics Research Institute, Cairo, Egypt. She is also working as a p art* time assistant professor at several reputable universities in Cairo, Egypt. Her research interest s include high performance computing (HPC), software engineering, artificial intelligence, and computer networks. Elazhary has supervised several graduatio n projects and is currently supervising one PhD stude nt in the field of high*performance computing.