Page 245 - Srednje skole - radovi
P. 245
PRAKTIĈNOST I DIZAJN JEZIKA MINIMALNOG VOKABULARA: M
MINIMUM VOCABULARY LANGUAGE PRACTICALITY AND DESIGN: M
Mentor: MATEJA OPAĈIĆ Autor: Matija Ĉupić
Kompanija Seavus ETŠ „Nikola Tesla“, Beograd
Rezime
Danas, većina programskih jezika ima vokabulare izmeĊu 20 i 100 reĉi. Oni izmeĊu 30 i 50
su većina iste. Segment izmeĊu 80 i 100 popunjen je uglavnom .NET jezicima usled njihovih
kontekstualnih kljuĉnih reĉi, dok je interval od 50 do 80 veoma retko popunjen. Sa druge
strane spektra, za jezike sa manje od 25 kljuĉnih reĉi moţe se reći da statistiĉki ne postoje.
Ezoteriĉki tjuring tarpitovi su jedini predstavnici ove kategorije. Oni pruţaju veoma malo
praktiĉnosti, takoĊe se ĉesto koriste samo kao potvrda koncepta. Arhaiĉni jezici, poput ANSI
COBOL- a i SystemVerilog – a imaju relativno veliki vokabular kljuĉnih reĉi. On je više puta
veći od vokabulara bilo kog modernog jezika, imajući preko 300 rezervisanih kljuĉnih reĉi.
Projekat je podeljen u ĉetiri jasno odvojena segmenta: Analiza potrebe za programskim
jezikom malog vokabulara. Glavna zamisao je da se jezik koristi za izradu manjih projekata
na samom mobilnom telefonu, i da bude efikasan i lak za korišćenje; Pregled već postojećih
rešenja i jezika (sa zakljuĉkom da ono što je traţeno nije prisutno ni u jednom do sada
prisutnom jeziku); Dizajn i izrada specifikacije novog programskog jezika (ĉitave razvojne
platforme) koji bi popunio dotiĉni nedostatak u postojećim rešenjima; Implementacija
pomenutog novog rešenja, nazvanog M, kao i pratećeg razvojnog okruţenja nazvanog „M –
IDE“ ;Istraţivanje mogućnosti i praktiĉnosti jezika minimalnog broja kljuĉnih reĉi van
opsega tjuring tarpitova je vodeća ideja ovog istraţivanja. Cilj je stvaranje praktiĉne
implementacije programskog jezika kao i razvoj specifiĉnog razvojnog okruţenja koje
podrţava notaciju minimalnog vokabulara.
Ključne Reči jezik, platforma, vokabular, kljuĉna reĉ, minimum
Summary
Today, the majority of programming languages have vocabularies between 20 and 100
keywords. Those between 30 and 50 make the most of that majority. The segment between 80
and 100 is populated mostly by .NET languages due to their extra contextual keywords, while
the interval between 50 and 80 is very sparsely populated. On the other end of the spectrum,
languages with less than 25 keywords are practically nonexistent. Esoteric turing tarpits are
the only representatives of this category. They provide very little practicality and are used
most often as proofs of concept or examples. Archaic languages like ANSI COBOL and
SystemVerilog have a relatively big vocabulary. It’s multiple times larger than a vocabulary of
most modern languages, having more than 300 reserved keywords.
This project is separated into four segments: Analysis for the needs for a minimum
vocabulary programming language. The main idea is for the language to be used for smaller
projects mobile devices, in an efficient and easy to use way; An overview of the already
present solutions (and the conclusion that the required characteristics weren’t found in any
solution present until now); The design and specification of a new programming language
(development platform), which would populate the aforementioned lack of specialized tools
Implementation of the newly designed solution, called M as well as a companion IDE called
“M – IDE”; Exploring the practicality of minimal keyword languages beyond turing tarpits is
the purpose of this research. The goal is creating a practical implementation of a programming
language as well as developing a specific IDE supporting the minimal-vocabulary notion.
Key words language, platform, vocabulary, keyword, minimum