Dear All, We (Project Hindawi team) were following yesterday's discussions about Hindawi and were waiting for the thread to die out before our response. We would like to avoid topics that lead a bikeshed, and is usually unproductive. Here are some technical points to help improve the awareness about Hindawi. We will bringing out a few white papers in this regard, for now please refer to http://hindawi.in/en_US/faq.php Anyway its good to have a public debate and I would request people with all the opinions (for, against and moderate) to do some more reading about Hindawi, at least go through the faq, and try the software. We will be obliged to get design suggestions and bug reports. 1. Hindawi is not only about localising keywords, but about creating the necessary underlying technology to support human-language independent programming environments. 2. Hindawi is based on two major underlying technologies of CISR and Romenagri. 3. CISR allows the display of varaible width Indic scripts in a fixed width terminal (text-mode). This would earlier require expensive hardware solutions like the GIST card. CISR can be seen in action on the HPS online page, essentially there is no GIST card in the JPC virtual computer. 4. Romenagri allows diacritic and case independent transliteration of all Indic scripts (including Tamil) to Roman / Rose script. The transliteration is invertible and compiler acceptable. 5. A complete port of Hindawi to any Indian language requires at most 6 person months. A quick online version can be readied in under 2 months. 6. [EMAIL PROTECTED] already supports Devnagri, Bangla / Assamese, Gujrati scripts (dependency on CISR and not directly on Hindawi). 7. [EMAIL PROTECTED] does not have CISR dependency and can be more readily ported. 8. Hindi C <-> Tamil C <-> Gujrati C <-> English C etc. are readily possible and form an integral part of the architecture. Please watch out for our videos on this topic over this week end. 9. Hindawi is one of the tools towards our goal of India Software Exchange - a model of inclusive growth for Indians from all socio-economic background in ICT and related fields. Check out http://hindawi.in/en_US/indsoftex.php There has been a lot of thoughtwork behind the software engineering aspects of HPS. Say how does one do code review when each of your team members is using a different human language based version of Hindawi. This is facilitated by two pieces of technology - 1. machine translation of comments and documentation; 2. dictionary based keyword translation. I work as a Solution Architect professionally and am well aware of the management overhead that will be posed multi-lingual progg environments such as the simple code review example above. There is a cognitive basis for better programming language acquisition when using mother tongue. We are active cognitive science researchers and one of our current papers focusses on this issue. Some excerpts from the paper. ............ Unpublished work (excerpts only) ....................... 2. Existing programming platforms The existing programming languages have been designed using words from English. The majority of the educated population of developing countries, including India, receives their initial education in a non-English first language. This has an implication on the acquisition of programming languages as the keywords and syntax do not provide ample linguistic context and are initially acquired in a method of rote learning. For instance, in non-English speaking computer users the word “icon” from Graphical User Interface (GUI) terminology becomes cognate with a small image rather than with the usage such as “social icon”. This effectively increases the difficulty of acquiring programming skills, and even more for self-explanatory learning of computer programming. This has lead to a general perception that English skills are mandatory for learning to write computer programs. Such notions steer students away from a potentially bright career in ICT.
This has lead to a situation where the majority members of the programming workforce are speakers of English as a first language, either as mother tongue or as a medium of instruction. The minority of non-English speakers in the ICT industry, therefore, need to acquire English skills before they can contribute meaningfully to the profession. This affects their depth of understanding of the contextual use of keywords, syntax and constructs and leads to a propensity towards errors of commission. They also do not benefit from the use of idiomatic constructs in language acquisition and spend a lot of extra effort in the process. Even though the problem solving skills may be comparable between developers from English and a non-English background, the inability to apply linguistic contexts leads to shallow conceptualization of implementation strategies in novice software developers with a different first language. 3. Scenario of non-English computing The cumulative effect of these issues is leading to an ever widening digital divide between consumers and producers of computer software for non-English markets. Even in a market like India where captive development has a huge scope for software localization, much of the software products are based on English. Localization is applied as a post production process. This leaves open a scope for captive development to be done in local languages. This will also provide an opportunity for a multitude of software development jobs for non-English speakers, and mother tongue educated population. The only hindrance to this solution has been the lack of availability of local language based programming languages and software development platforms. There have been some efforts at creating non-English beginner’s level programming languages. However, there have been no significant successes at creating multi-platform boot-strapped systems level non-English programming languages, suitable for both pedagogical and production purposes. 4. Cognitive basis of programming skills Anderson et al. have investigated the behavior that occurs during initial 30 hours of programming in students without any prior exposure [3]. Results indicated that the students initially drew analogy, and later reflected directly on the problem domain. The initial analogy phase is considerably facilitated if there is substantial linguistic context available for a programming syntax, construct or keyword. Cognition studies have been conducted to investigate why certain words are easier to learn [4]. Words that have a basis of observation are acquired with a deeper meaning attachment compared to meaningless words portrayed as nouns or adjectives. Essentially the likelihood of finding observational basis for mother tongue based programming constructs is higher compared to those based on a foreign language. It has been duly established that creativity is best expressed in one’s mother tongue [1]. Without a deep cognitive registration of the learnt language, it is difficult to avoid shallow heuristics and ensure deep understanding [2]. This directly impacts the students’ ability to transfer problem solving skills to programming tasks, unless the cognitive basis has been established. It may pose arguable value for programmers who were originally non-English speakers but have picked up the necessary linguistic skills on the job. However, studies have also shown that age is a directly related variable to plasticity in language acquisition [4] and, hence, for mature learners’ mother-tongue based programming may be the only guaranteed path to programming skills acquisition. Contrastively, even in young learners attending schools with a non-English language as medium of instructions, exposure to mother-tongue based programming may be beneficial in developing cognitive schemas for computational problem solving [3]. The skills can be readily transferred to traditional programming languages at a later stage, if required, in a manner analogous to second language acquisition. 7. Web based programming training Programming has been described as an art as much as a science. Learning to program requires the acquisition of a complex cognitive skill [8]. The task is further complicated if the target population has low relevant prior knowledge. Studies suggest that self-explanation can be a means of improving educational practice. Preparedness of the student provides the necessary scaffolding for self-explanation. Experimental results have shown that in case of self-explainers, there is less proportion of errors of commission and the cognitive understanding of the learnt subject matter is observably deeper and readily available for transference to other related domains. The presence of a human instructor is not a necessary condition for effective support to self-explanation [2]. The web based solution of Hindawi Programming System training using video lectures attempts to foster self-explanatory and exploratory learning by incorporating an element of easy experimentation. This has been achieved by deploying a Hindawi based command shell and a beginner’s symbolic language on a JAVA based virtual computer [9]. Students can define their own pace, and re-listen to lectures till they have mastered a particular skill. Unlike traditional training setups, using real computers, a virtualized training environment allows a less constrained training situation to be made available. For instance, students may delete any file including the system files, without the apprehension of physical damage to the system, since merely reloading the web-page reinstates the original training setup. 8. Conclusion The linguistic context and observational basis provided by one’s mother tongue allows for a deeper cognitive understanding of the schema behind computer programming. Adults have plasticity for language acquisition [4] and may find mother tongue based programming the only suitable means of acquiring domain skills. Young learners can achieve deeper grasp of programming concepts at an earlier age with an optimal learning effort using mother tongue based programming languages, and later transfer the skills to traditional programming environments, analogous to second language acquisition. Mother tongue based content facilitates learning from non traditional means, such as web based video lectures. The authors have created a viable open source mother tongue programming software platform. . 9. References [1] Wolfgang Butzkamm, “We only learn language once. The role of the mother tongue in FL classrooms: death of a dogma”, Language Learning Journal, Volume 28, Issue 1, pp. 29 – 39, Routledge, Winter 2003 [2] Vincent A. W. M. M. Aleven, and Kenneth R. Koedinger, "An effective metacognitive strategy: learning by doing and explaining with a computer-based Cognitive Tutor", Cognitive Science: A Multidisciplinary Journal, Volume 26, Issue 2, pp. 147 - 179, Psychology Press, March 2002 [3] John R. Anderson, Robert Farrell, and Ron Sauers, "Learning to program in LISP", Cognitive Science: A Multidisciplinary Journal, Volume 8, Issue 2, pp. 87 - 129, Psychology Press, April 1984 [4] Elissa L. Newport, "Maturational Constraints on Language Learning", Cognitive Science: A Multidisciplinary Journal, Volume 14, Issue 1, pp. 11 - 28, Psychology Press, January 1990 [5] International Phonetic Association, Handbook of the International Phonetic Association: A guide to the use of the International Phonetic Alphabet, Cambridge University Press, 1999 [6] Bureau of Indian Standards (LTD 37), Indian script code for information interchange – ISCII, IS 13194:1991, Bureau of Indian Standards, 2001 [7] International Organization for Standardization (TC 46), Information and documentation -- Transliteration of Devanagri and related Indic scripts into Latin characters, ISO 15919:2001, International Organization for Standardization, July 2006 [8] T. Souya, E. Hayakawa, M. Honma, H. Fukushima, M. Namiki, N. Takahashi, and M. Nakagawa, "Programming in a mother tongue: philosophy, implementation, practice and effect," Proceedings of the Fifteenth Annual International Computer Software and Applications Conference, 1991. COMPSAC '91, pp.705-712, 11-13 Sep 1991 Regards, Abhishek Choudhary MSc MA MA BBA Chartered IT Professional(UK) MBCS(UK) MIET(UK) MIEEE SrMCSI Pune, INDIA WWW: http://cognitist.com Mobile: _______________________________________________ ilugd mailinglist -- [email protected] http://frodo.hserus.net/mailman/listinfo/ilugd Archives at: http://news.gmane.org/gmane.user-groups.linux.delhi http://www.mail-archive.com/[email protected]/
