Programming Languages Diversity Project

From Meta, a Wikimedia project coordination wiki

Introduction[edit]

A part of the human communication happens through speaking or writing down words. The most programming languages are based on English keywords. Since the existence of computers and also before there have been many trials to use structured language for programming or creating algorithms. The most commonly used programming langueages except Spreadsheet functions are based on English Keywords. For Non-English-speakers and also for at least some Non-Native-English speakers this makes it from my point of view difficult to learn programming. The educational programming language Scratch and the more advanced visual programming language Snap! with relations to Scratch are two examples of other concepts of programming. In Snap! and also in Scratch it is possible to create own blocks. A block is a sentence with gaps for variables. Blocks can be connected with other ones and it is possible to run the code.

Purpose of this project[edit]

The goal of the project is the support of underrepresented ways of programming. This is related to the people that create programs and to the ways how programs can be created. Maybe it will enable people to contribute to code used in the Wikimediaprojects that are not able to do it at the moment because of an interest in other concepts as the ones that are used at the moment or because of language barriers. There are many programming languages with keywords inspired from English. The currently underrepresented concepts in programming are Spreadsheet functions and the programming with visual programming languages. In both cases it is possible to convert the definitions into source code in another programming language and the Spreadsheetfunctions and blocks can be translated into other languages. Translating blocks of the visual programming languages Scratch and Snap! is easier as translating Spreadsheet functions. There have been discussions and experiments about programs that can generate code. Examples for that concept are GithubCopilot or ChatGPT. Natural language programming is a concept with potential for further development in the future. Contributions to the mentioned and other concepts are welcome and coordination of contributions to it can be done at the project page and its subpages.