Yid++ - the oylem’s first programming shprach


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:

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:


PDF of haskama

Language spec available here


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:


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;

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;
	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;
	do_hishtadlus (bli_ayin_hara i = 2; i < limit; i++) bh
		efsher (primes[i]) bh
			be_machriz << i << " ";
	be_machriz << rabboisai;
	pasken 0;

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);

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;