>You're from Quebec and don't feel at ease using only French words? Don't worry! French Rust is fully compatible with English-Rust, so you can mix both at your convenience.<p>Interesting factoid: in France, most of the stop signs say "stop" due to the Vienna Convention on Road Signs and Signals linked below.<p>In Québec, on the other hand, most of the stop signs say "Arrêt" due to nationalism reasons. Bilingual Arrêt/Stop signs exist, but are rare.
I know this is a joke. But.. when I learnt C programming, and in order to smooth transition from algo classes to practical programming, we were told to #include a header file that would more or less do what this does for rust. The header file would also enforce curly braces and parentheses when writing loops or condition statements, as far as I remember. Fact is: it actually helped. Problem: my first foray in the industry would involve C and guess what? They used english-C (sorry no better word for it) rather then french-C. I fought for a few weeks re-learning the language.
They also expanded all keywords, so "fn" becomes "function", "mut" becomes "mutable" (which is not even a common word? How about "altérable" or "modifiable"?). Interestingly the Result::Err variant was kept short with Résultat::Arf which is an onomatopoeia.<p>10/10 looks very painful to use. Reminds me of my college days.
>You're from Quebec and don't feel at ease using only French words? Don't worry! French Rust is fully compatible with English-Rust, so you can mix both at your convenience.<p>This gave me a "PTSD moment" of university projects in Java with variables in French and comments in Franglais (mix of French and English). Some old teachers even made it mandatory to write comments in french (I suspect they didn't understand English beyond the language keywords).
You can write Perl in Latin: <a href="https://metacpan.org/dist/Lingua-Romana-Perligata/view/lib/Lingua/Romana/Perligata.pm" rel="nofollow">https://metacpan.org/dist/Lingua-Romana-Perligata/view/lib/L...</a><p>or Klingon: <a href="https://metacpan.org/pod/Lingua::tlhInganHol::yIghun" rel="nofollow">https://metacpan.org/pod/Lingua::tlhInganHol::yIghun</a>
No mention of the British PHP article yet‽ <a href="https://aloneonahill.com/blog/if-php-were-british/" rel="nofollow">https://aloneonahill.com/blog/if-php-were-british/</a>
First, the readme is simply hilarious!<p>Jokes asides, the concept underlying this project is actually interesting. It wouldn't be bad at all if programming languages were localizable.<p>I think it would help many if it was possible to choose the (human) language in which to use a programming language. Ideally, the same source code could be viewed in different languages depending on the preferred idiom of the developer.
Rouille is also best deployed using Marcel.<p><a href="https://github.com/brouberol/marcel" rel="nofollow">https://github.com/brouberol/marcel</a>
This used to be a lot more common in the early days of computer science teaching, where you had localized versions of Pascal or Basic.<p>For an extreme version of this, where the language isn't just used to replace a few keywords, there's always Linga::Romana::Perligata.<p><a href="https://users.monash.edu/~damian/papers/HTML/Perligata.html" rel="nofollow">https://users.monash.edu/~damian/papers/HTML/Perligata.html</a>
A curious thing about programming is that it became prominent when English dominated academia (and computer science was extremely American.) Compare this to, for example, mathematics where:<p>- some words are loaned from another language like Eigenvector or group (sort of—I think it came from the French <i>groupe</i>). Also eg a blackboard-bold Z (for <i>Zahlen</i>) or Q (for <i>quoziente</i>) for integers or rationals<p>- other words are taken from the native language (eg rational or probability or field extension) though they may derive from Greek or Latin and have cognates in other languages.<p>- some symbols are quite universal and used in every language (eg the forall or exists or implies symbols)<p>- I don’t know whether letters that are typically used for things are the same (eg I don’t know why density is often rho. Is it referring to a word in a different language)<p>- the proofs are written in the native language and often that part matters a lot.<p>- so much stuff is named after people so words don’t need to be translated (eg noetherian domains or Cauchy–Schwarz)<p>- I wonder if some theorems get different names? (I assume in China they don’t call it Chinese remainder theorem)
And now there is a german fork as well: <a href="https://github.com/michidk/rost/" rel="nofollow">https://github.com/michidk/rost/</a>
Does one of you remember WinDev? Their programming language (WLangage IIRC?) and APIs were available in multiple language, I had to use the French version. It was really a horrible experience to always have to check the language spec to lookup for their weirdly translated keywords.<p>I would definitely not recommend.
Awesome idea and well realized.<p>In my consulting days I met a number of customers in Quebec who were coding with French method names, variables and such. They were even using accented names for variables. I actually think if they get onto Rouille they might start using it. That's scary but at least, it would look less <i>bancal</i>.<p>I can bet you can find the same use case in all other languages, so we need Óxido and 锈<p>Edit: LOL just discovered there are a few of these already <a href="https://github.com/bnjbvr/rouille/network/members" rel="nofollow">https://github.com/bnjbvr/rouille/network/members</a>
People are probably going to say this is silly (and maybe the author would say the same), but I think it's an awesome demonstration of what Rust macros can do, and I think it could also become genuinely useful for non-English speakers who want to write code in an English-centric landscape. Most people in France and Quebec probably know enough English to work with English keywords in code, but I bet for people in lots of non-western countries it can be a real hurdle in terms of approachability and readability.
If you like this, check out قلب [The current name قلب means Heart, but is actually a recursive acronym for قلب: لغة برمجة pronounced 'alb: lughat barmajeh meaning Heart: A Programming Language].<p><a href="https://nas.sr/%D9%82%D9%84%D8%A8/" rel="nofollow">https://nas.sr/%D9%82%D9%84%D8%A8/</a>
<a href="https://github.com/nasser/---" rel="nofollow">https://github.com/nasser/---</a>
If this is a <i>Brice de Nice</i> reference I'm going to lose it.<p><a href="https://github.com/bnjbvr/rouille/commit/3d67732c593a78f05454b8053f3d8ea2c04b3828" rel="nofollow">https://github.com/bnjbvr/rouille/commit/3d67732c593a78f0545...</a>
I don't think "PeutÊtre<T>" is a good substitute for Option<T>. The direct translation is Maybe<T>. Maybe<T> is used in Haskell. Haskell was made in the UK. There's no way we could accept this for our French language.
I really thought this was about the web server framework <a href="https://github.com/tomaka/rouille" rel="nofollow">https://github.com/tomaka/rouille</a>, that's been around for ages.
Native English speakers are quite lucky all programming languages are in English. Imagine China created their own languages and OS? We couldn't keep up