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]/

Reply via email to