Yid++ - the oylem’s first programming shprach
BS”D
Yid++ is the oylem’s first programming shprach written in yeshivish, for yidden, following Torah-true hashkafos.
For many years already, the oylem has had to use goyishe programming languages, which, as we all are aware, is a grave michshol. We all know the midrash, lo shinu es shmam, leshonam, umalvusham – as we all too well know, using the goyishe shprach can lead, lo aleinu, to all kinds of krum hashkafos and kilkulim.
Therefore, at the encouragement of Gedolei Yisroel Shlit”a, we took it upon ourselves to try to be metakein the pirtzos. Baruch HaShem, after extensive work and many personal meetings with the Gedoilim, who were constantly being mechazeik us towards this, and giving us Daas Torah, we were finally zoicheh to be mashlim the beta version of the Yid++ compiler.
The name Yid++ of course signifies the chashivus of always doing avoidas HaShem, and always doing hishtadlus, cheshbon hanefesh, and tikkun hamidos, to always go michayil lechayil, with hasmadah. It also signifies the support of C++, which certainly isn’t because we followed the established formula laid out by yeshivishe music of just ripping off the goyishe version and then changing the words to make them more yeshivish. Certainly not that.
Among the many new features of this language with the Daas Torah of Gedolei Yisroel Shlit”a:
- Static typing – we were mekabel Daas Torah that dynamic typing is too postmodern and simply incompatible with a Torah-true hashkafa.
- Removing Nivul Peh.
- Removal of various keywords and methods that expressed krum hashkafos – for example –
while(1)
was strongly denounced by Gedolei Yisroel Shlit”a, and therefore we have replacedwhile
withuntil_mashiach_comes_or
. - Special constants for counting people.
- Full backwards compatibility with C++11 standard library.
Right now, the compiler only runs on Unix based systems, the most emesdig architectures. Also, why spend extra money on Windows when you could use it to be mefarnes talmidei chachomim or to replace the dinged-up bumper on your 1993 Dodge Ram?
Haskama from HoRav HoGaon Rav Assaf Efrayim Bednarsh Shlit”a, Rosh Kollel of Yeshivas Rabbeinu Yitzchok Elchonon in Yerushalayim Ir HaKodesh Tiboneh veTitochein:
Language spec available here
Usage:
To install (Linux, the most emesdik OS, only for now), simply run:
wget -O - https://raw.githubusercontent.com/schorrm/ypp/master/install.sh | sudo bash
To run the compiler:
y++ [NAME OF FILE]
Some code samples:
Hello World
be_soymech_on <iostream>
holding shitta std;
bli_ayin_hara main () bh
be_machriz << "Vos Macht Di Oilem" << rabboisai;
pasken 0;
shkoyach
Sieve of Erastothenes
be_soymech_on <iostream>
be_soymech_on <vector>
be_soymech_on <cmath>
holding shitta std;
hearah this program takes a number and prints all primes up to that number, using the Sieve of Eratosthenes
bli_ayin_hara main () bh
bli_ayin_hara limit;
be_machriz << "enter the limit" << rabboisai;
the_hock >> limit;
limit++;
vector<tzvei_dinim> primes (limit, emes);
do_hishtadlus (bli_ayin_hara i = 2; i <= sqrt(limit); i++) bh
do_hishtadlus (bli_ayin_hara j=i*i; j < limit; j += i) bh
primes[j] = nisht emes;
shkoyach
shkoyach
do_hishtadlus (bli_ayin_hara i = 2; i < limit; i++) bh
efsher (primes[i]) bh
be_machriz << i << " ";
shkoyach
shkoyach
be_machriz << rabboisai;
pasken 0;
shkoyach
Recursive Fibonacci:
be_soymech_on <iostream>
be_soymech_on <cstdlib>
holding shitta std;
hearah recursive fibonacci
bli_ayin_hara fibonacci (bli_ayin_hara x) bh
efsher (x == 1 || x == 0) pasken x;
pum_fakert pasken fibonacci(x-1) + fibonacci(x-2);
shkoyach
bli_ayin_hara main (bli_ayin_hara argc, oys *argv[]) bh
bli_ayin_hara index = atoi(argv[1]);
be_machriz << fibonacci(index) << rabboisai;
pasken 0;
shkoyach