BangaBhasha

From Wikipedia, the free encyclopedia

BangaBhasha is the first ever "complete" suite of open-source programming languages for Bangla. It includes equivalents of C, C++, lex, yacc, assembly, etc. in Bangla.

This project has won Computer Society of India's Young IT Professional Award (Eastern region) 2005 (Winner) and 2004 (Special mention), two years in a row.

Some of the innovations of this project include a system for displaying Bangla scripts in "true" text-mode. This is done without using any additional hardware. At no point has any graphical (rasterising) method been used for this. All the required glyphs have been accommodated in the extended ASCII code page, leaving 7-bit ASCII unaltered. This has made it possible to have BIOS/POST in Bangla. Besides, this system being free, it does not add to the procurement cost as compared to commercial products.

Another contribution of this project includes a "case and diacritic independent, compiler acceptable" transliteration system. This is completely invertible and is applicable to Bangla. It also has bearings on web technology, as it can allow Bangla URLs in IPv4 as well. It may be used to encode even static web pages, such that if someone does not have the required fonts then one may see the Bangla web-page in Roman script transliteration, instead of "boxes" (Unicode) or garbage (other encodings), from the same "static" HTML.

Finally, the task of Bangla programming language design has not been trivial either. Support for HP printers is included. The system uses GCC as back-end and is highly portable. There is both ISCII and UNICODE support for Bangla, including Bangla DOS and the IDE. Necessary filters have been provided for conversions between ISCII, Romenagri, Unicode, APCISR, HP-PCL(printing on HP printers) etc. The languages have been developed synchronically and, hence, there is a certain level of homogeneity in keyword selection across paradigms. The programs written in Bangla programming languages are readily converted to their English equivalents and hence may be delivered internationally. There is also support for translation of variable names and rudimentary literate programming. The availability of lex and yacc makes the issues of targeting specific languages quite trivial, and these are already available for download along with C, C++, assembly, BASIC, Logo, and Java in Bangla.

Technologically, Bangla C/C++/assembly have been used for robotics. The languages have also been used to successfully implement a Beowulf cluster. Effort is now being made towards porting Linux kernel sources to Bangla C, asm etc. This is aided by the fact that also included are English-programming-language to Bangla-programming-language translators and vice-versa.

Currently hosted at http://www.indicybers.com