35 ms·
قلب: a non-ASCII programming language written in Arabic
- HelloNurse 7y agoIf your Arabic-only programming language has an English web page (actually a blog post) it means it's an art project, not a bona fide tool for programmers who want to use Arabic input and/or who prefer Arabic names and keywords.
- the_other 7y agoThe way I see it, if its creator made software with it, then it's a bona fide tool for programming. The fact it hasn't yet spread to more developers than those involved in the project doesn't negate its "fide"s or "tool"-ness. If you made a parser for a scripting language for content for your application, or a DSL for your colleagues to use, would you claim they weren't "bona fide"?
- HelloNurse 7y agoIt's a somewhat better art project than Brainf*ck or Piet because linguistic barriers are more culturally significant than "just because I can" exhibitionism, but it has the same practical usefulness. Arbitrary obstacles make sense in conceptual art, not in tools.
- SiempreViernes 7y agoAh, another fan of the arrays-start-at-whatever you decide!
- guggle 7y ago"All modern programming tools are based on the ASCII character set, which encodes Latin Characters and was originally based on the English Language. As a result, programming has become tied to a single written culture. " And that's good. That means "we" hackers/programmers/developers/coders/whatever share something in common, no matter our culture/country/religion/beliefs/whatever. Heck, I'd even go as far as saying it's a thing of beauty. BTW, I'm not a native english speaker.
- springogeek 7y agoIt is beautiful, but it's a barrier also. I don't think you should be barred from learning to code because you don't speak a language which uses the Latin/ASCII character set.
- vectorEQ 7y agofeel the same. there's a lot of people out there who never get a chance to learn any english. to write your own code based on ascii / latin char set might be ok, but to interpret other's code etc. would be very difficult. so for example in a school, having only code examples with ascii could be a significant barrier to teach ,when all other subjects presented are in the local language / character set.
- jakeogh 7y agoBut it still works! Right? The constraints imposed by the programming language self document our var names. I understand Hindi YT vids that are science related. I dont know Hindi. It's fantastic. Latin1 is critical. Handing over acceptiable byte sequences that our cli's acccept to standards bodies is a mistake. https://github.com/jakeogh/angryfiles https://github.com/jakeogh/angryfiles
- saiya-jin 7y agoPardon my french but that's a lame excuse. We are talking about maybe 20 crucial words like "if", "for", "while" etc. If somebody can't learn those, progressing with fully formed programming language will be a mighty challenge. The drawbacks are numerous and huge - today you can get any code from any guy on the planet, and can read it instantly. He can name variables and comment stuff in his native language, still no problem. That's extremely empowering, and to lose it just that somebody doesn't have to learn few keywords is... dumb. Having native programming languages beyond some playing around is foolish and step in wrong direction for all of us on so many levels, especially long term.
- guggle 7y agoMissing the point... Everyone has to jump that barrier so that there's no barrier between us, which is much more important.
- dang 7y agoThis was discussed in 2014: https://news.ycombinator.com/item?id=7700691 https://news.ycombinator.com/item?id=7700691. I'm almost sure there was a more recent big thread though. Anyone?
- azr79 7y agoHow do you pronounce it? Kalb?
- pedrow 7y agoqalb and I think it means 'heart' or 'core'
- seddin 7y ago'Kalb' sounds more like the word dog, 9alb is the correct way.
- Cannibusted 7y agoNine Elby? For non-speakers, it's a bunch of scribbly lines.
- vectorEQ 7y agobeautiful :)
- bloak 7y agoA technical problem with localising a programming language is reserved words: either you decide in advance which localised variants will exist and you can't add any later, or the variants are potentially incompatible and to combine code written for different variants you would need to do some translation that involves changing identifiers, and I can't immediately imagine how that would work with libraries and so on. Alternatively, you pick a programming language that doesn't have any reserved words, such as FORTRAN. (Are there any other well known ones?)
- Someone 7y agoPL/I. The argument there was that one cannot assume anybody to remember all the keywords (over 300 in some implementations. See https://www.cs.vu.nl/grammarware/browsable/os-pli-v2r3/ https://www.cs.vu.nl/grammarware/browsable/os-pli-v2r3/), so they weren’t any reserved words, allowing, for example IF IF = ELSE THEN IF = ELSE - 1; ELSE ELSE = IF + 1; Writing a compiler for that must be fun, especially if one wants to produce useful error messages.
- C1sc0cat 7y agoOn of the reasons that PL/1 didn't take of I believe, a pity as it was very advanced (for its time) and nice to work with.
- an_to_nio 7y agoso, like APL
- compressedgas 7y agoThe language is a Lisp with different identifiers and lists printed right to left.
- nightnight 7y agoOT: Languages are the biggest lock-in + market barrier for others an economy has (best example is China). Great that English has got even bigger as a lingua france since the Internet started. I think every try to spread local languages is just wasted time. I am rather afraid that more tech leadership comes from China (I am looking at all the Chinese Githup repo READMEs).
- tsanummy 7y agoIf this is an ironic post, hats off to you.
- nightnight 7y agoDear tsanummy, help us to find the irony in my post or better the message in your post. So, what's your point? I'd love to know what you are talking about. Just to give another example: Imagine all countries in the world had the same language and people could move freely: You had massive and full competition between all nations/cities/economies for the best people and competition is good. Nobody is locked-in because of odd languages or would you dare to move to Beijing tomorrow? Or imagine you had the same with languages and a nation forced people to only use Cobol and ignore newer developments. You get it? English is btw also a language which is easily extendable, something like creating verbs out of nouns is not that straight-forward in other languages. It keeps English alive.
- ahmaman 7y agoMakes me wonder, if there could be a transpiler of some sort that could take a non-English syntax and convert it to the English counterpart syntax. This way there might not be a need to invent a new programming language per human language.
- kalleboo 7y agoAppleScript in its original, 90’s classic macOS implementation, was said to support this. It compiled down to a symbolic representation, which was then restored based on which language was selected. IIRC only a French alternate language was ever developed (HyperCard had more, but those scripts were stored as text) but also a JavaScript “dialect”. The compiled representation was mostly exposed to users when they didn’t have the app used in a script installed and just got FourCCs/OSTypes sprinkled throughout their script instead
- ahmaman 7y agoInteresting, haven't heard of these! I am sure many small projects attempted to innovate similar solutions but never really took off. If such a thing got popular, would be interesting to see if it would affect international collaboration. Whether it would speed things up.
- sharperguy 7y agoThe big problem is more with APIs, variable names, documentation, and comments. Those can't be easily translated. Languages keywords can easily be memorized. The lesser problem is with languages that don't read left to right, since the parsing of the language has to be reversed. Many languages now support UTF-8 for variable names, so in theory you could code those in any left-to-right language by just choosing different variable and function names,
- globuous 7y agoReally cool !! Kinda off topic, but it reminds that there is a mathematical arabic notation which i always thought was pretty cool: https://en.m.wikipedia.org/wiki/Modern_Arabic_mathematical_notation https://en.m.wikipedia.org/wiki/Modern_Arabic_mathematical_n...
- jankotek 7y agoScala supports Unicode characters in identifiers. It would be interesting to know your take on that.
- filleokus 7y agoDoesn't almost all major "modern" languages support that? The list is quite long: https://rosettacode.org/wiki/Unicode_variable_names https://rosettacode.org/wiki/Unicode_variable_names
- jankotek 7y agoScala supports not just variables, but operators. * or + are not part of language, but methods in library.
- pritambaral 7y agoIn symbolic programming languages (like Lisp), very few characters are "part of language", as you say. In fact, some lisps (at least the ones I use: Common Lisp, and Racket) even support reprogramming the reader.
- gatestone 7y agoSo does Go. And in Plan 9 all compilers did. I bet this is the first exmaple of a humorous Hello world in C with Unicode smileys in identifiers: https://youtu.be/dP1xVpMPn8M?t=695 https://youtu.be/dP1xVpMPn8M?t=695, by Dennis Richie I think.
- rurban 7y agoMostly insecure. Everybody is violating the Unicode security considerations. Only known to be secure are java and cperl. rust followed my advise then for better unicode identifier security, but I haven't checked if they really promise some General Security Profile. http://perl11.org/blog/unicode-identifiers.html http://perl11.org/blog/unicode-identifiers.html http://www.unicode.org/reports/tr39/ http://www.unicode.org/reports/tr39/ http://www.unicode.org/reports/tr36/#Security_Levels_and_Alerts http://www.unicode.org/reports/tr36/#Security_Levels_and_Ale... http://www.unicode.org/reports/tr31/#Table_Candidate_Characters_for_Exclusion_from_Identifiers http://www.unicode.org/reports/tr31/#Table_Candidate_Charact...
- Animats 7y agoOh, it's just an art project. We haven't yet seen a serious non-English programming language. One would have expected one in Chinese or Japanese by now. There was COBOL in French, once, with French words and word order, but it never caught on, even in Francophone countries.
- bayesian_horse 7y agoWikipedia has a list of similar projects: https://en.wikipedia.org/wiki/Non-English-based_programming_languages https://en.wikipedia.org/wiki/Non-English-based_programming_... It's really not easy to create a programming language that "catches" on, as readers of hackernews are probably aware. There are a lot of brilliant languages, based on English, wich didn't. I suspect those international programming languages are not failing because of the language barrier, but rather because they don't add enough value and/or fail to attract a community.
- SiempreViernes 7y agoMost importantly, anyone that only speaks english will be unlikely to ever hear about a non-english language.
- boudin 7y agoThere's also wlanguage that supports french, english and chinese https://fr.wikipedia.org/wiki/WLangage https://fr.wikipedia.org/wiki/WLangage (in french) It's part of the dev environment windev which is totally closed and (at least last time i had to use it) doesn't allow to use any tools like git (sources are encrypted). This and the fact that the whole environment was extremelly bugy (and even the language itself) makes it a real nightmare to work with. That's the only other example of non english programing language I can think of though Edit: just found this article on wikipedia after writing this. There's quite a few languages: https://en.m.wikipedia.org/wiki/Non-English-based_programming_languages https://en.m.wikipedia.org/wiki/Non-English-based_programmin...
- detuur 7y ago
- lifthrasiir 7y agoRetrofitting an existing language with flexible syntax (in this case, LISP) to non-English languages is relatively easy. They are not necessarily bad and can be useful for learners and casual users, but deviating from ASCII alone doesn't remove a cultural bias as the OP states. Programming languages have to be developed from scratch to fit to other spoken languages and cultures in my opinion. I'm aware of multiple (non-esoteric [1]) languages in this direction, none satisfactory enough though. [1] If we allow esolangs I would proudly present Aheui (https://esolangs.org/wiki/Aheui https://esolangs.org/wiki/Aheui) as a good example.
- filleokus 7y ago> Programming languages have to be developed from scratch to fit to other spoken languages and cultures in my opinion. This is really interesting. I wonder if there are some human language with properties that would allow for programming language constructs that we don't really use today. My linguistic skills are not good enough to really suggest an example, but considering there is a language[0] (almost) without relative directions (left and right), which is mind blowing to me, it feels like there should be something interesting out there. [0]: https://en.wikipedia.org/wiki/Guugu_Yimithirr_language https://en.wikipedia.org/wiki/Guugu_Yimithirr_language
- lifthrasiir 7y agoAs a very superficial example, Korean is agglutinative and you can't easily take affixes apart from a word. For example, you can't easily recognize that the following sentence has a noun "언어" and a verb stem "배우-" without a substantial knowledge about Korean: 언어를 배운다. [topic omitted] Language-(object marker "를") learn-(verb conjugation "ㄴ다"). (One) learns a language. Many syntaxes are based on easily segmented tokens, or words, so they are not a good fit for Korean and other agglutinative languages. My friend has made a programming language, Yaksok [1], specially made for Korean and solving this problem by making all invocations as a pattern, somewhat similarly to AppleScript: # - "약속" is a keyword for procedure declarations. # - Unquoted words are formal parameters. # - Anything quoted should occur literally, except for slashed alternations # used for affixes varying by the preceding word. 약속 대상"을/를 배운다" ... Of course this results in a very unconventional parser. [1] http://yaksok.org/ http://yaksok.org/
- isacikgoz 7y agoI appreciate the idea behind this project. I assume that there is a potential in the subject of cognitive biases about programming.
- gedy 7y agoI've always wondered why this is not more common. Is there a reason you can't just have localized keywords in each language that map to the same thing? Chinese JavaScript, etc?
- jansan 7y agoMicrosoft tried it for VBA in Office 95. It turned out to be a horrible idea. See my other comment here: https://news.ycombinator.com/item?id=21352796 https://news.ycombinator.com/item?id=21352796
- ecmascript 7y agoThat is a really great way of geofencing programming as a job where you can use the same knowledge basically everywhere. A really terrible idea imo. But there are already (joke) projects that do this: https://github.com/frozzare/fikascript https://github.com/frozzare/fikascript
- Baeocystin 7y agoThe A#1 most import aspect of a programming language is consistency. The alternative is localization hell, with no options in the middle. Most things aren't this black or white, but this is one of them. Whatever the keywords for a language are, they must be exactly the same everywhere.
- mschuetz 7y agoExcel seems to be localized and I absolutely hate it. A german version of excel expected me to write WENN instead of IF, or SUMME instead of SUM. It's dumb. Especially since if you're trying to look up code snippets or how to do something in excel, you'll find one in english and then have to find the corresponding german commands.
- rainekoste 7y agoI hate that too soooo much. You never know the function names in your native language and need to google them. :)
- 7y ago
- Yuval_Halevi 7y agoIt's actually never come to my mind that there are only English programming languages So programmers in China and Russia also using only English programming language?
- otaviokz 7y agoYep. That's probably why you'll never met a developer without a rudimentary understanding of written english.
- mmahemoff 7y agoAs some empirical evidence, look at how few StackOverflow sites there are in other languages: https://stackexchange.com/sites?view=list#technology-traffic https://stackexchange.com/sites?view=list#technology-traffic. Just three (Russian, Spanish, Portuguese), all were introduced 5+ years after the main site started. Similarly, Github doesn't have localised versions. There are certainly clones in other languages (e.g. https://teratail.com/ https://teratail.com/ clones SO in Japanese), but it shows how little demand there is when these well-funded platforms for developers de-prioritise local versions. I couldn't imagine a comparable platform for lawyers or accountants doing same thing.
- negus 7y agoI will tell you even more -- in Russia it is dominant practice that code comments are written in English as well, though could be written in Russian. You never know who will work with your code tomorrow.
- namelosw 7y agoIn China there are several Chinese PLs, the most wildly used is called EPL(易)[0]. However, those are not generally used in production other than lightweight scripting scenarios. Comment-wise, many companies use Chinese comments in code while many use English as well. https://en.m.wikipedia.org/wiki/Easy_Programming_Language https://en.m.wikipedia.org/wiki/Easy_Programming_Language
- bayesian_horse 7y ago
- YesThatTom2 7y agoIt would be more ironic if integer constants had to be written as Roman numerals.
- cyborgx7 7y agoBrilliant.
- pgcj_poster 7y agoThis is at best useless, and at worst harmful. If we start using languages other than English for code, then we'll end up balkanizing the software world. People in humanities departments can talk about things like "Chinese Poetry" and "Continental Philosophy," but in STEM, we should be above that nonsense. I should be able to read code written anywhere in the world and understand what it does. This is the same reason that everyone uses FORTRAN. Can you imagine if people went off and created their own "programming languages" instead? You wouldn't be able to contribute to an open source project unless it happened to be written in a language that you knew. There would be so much duplication of effort: someone would write a library for Foo Language, and someone else would do the same thing for Bar language. Job postings would ask for "Foo Developers," and you wouldn't be able to just work anywhere. Fortunately, programmers collectively decided to all use the same language. Let's not go back on that decision.
- mikorym 7y ago>> It is implemented as a tree-walking language interpreter in JavaScript. I think this is probably why it is neither useful nor intended to useful other than as an "exercise".
- koheripbal 7y agoIm not sure your analogy holds ground. Different programming languages are created try to solve limitations in existing programming langs. Writing it in a different ascii character set isn't solving any technical issue - it's solving an accessibility issue, but compounding the problem of compatibility tremendously. Obviously there is a efficient middle ground between accessibility and compatibility. It's great for more people to be able to code. It's also great to be able to read code written by someone else across the world. There is both pain and wisdom in standardization.
- pgcj_poster 7y agoI'm not sure that I accept the distinction between technical issues and accessibility issues in the case of programming languages. Any Turing-complete language, given the right tooling, can be used to solve any software problem. Ultimately, we only use languages other than FORTRAN (or even assembly, for that matter) because it's easier.
- beagle3 7y agoAPL is, I think, the only (relatively) common programming language without English. It has lots of characters instead, most of which have a form that hints about their function.
- coldtea 7y ago>Code is written entirely in Arabic, highlighting cultural biases of computer science and challenging the assumptions we make about programming. There are lots of "cultural biases in computer science" -- in UI, neural network training, encodings, terms of service, etc. Of all of them, this is the least helpful, and the least important. It's like doing math in local notation, or translating latin/greek terms doctors all over the world are trained and understand, with regional varieties. There's a reason why e.g. air traffic control speaks english no matter the ethnicity (as per the ICAO standard). (And I don't mean programming language terminology / modifiers has to be english for any special reason. It could just as well have been French or whatever. But it has to be a single one, and english is already used for that purpose). And I'm no native english speaker, so I don't say this as one.
- danpalmer 7y ago> There's a reason why e.g. air traffic control speaks english no matter the ethnicity (as per the ICAO standard). Yes. The reason is that air traffic control inherently requires people from different regions and languages to communicate quickly in life or death situations. Ease of being an air-traffic controller is not a primary motivating factor, and getting more diverse input isn't really a useful feature. On the other hand, ease of being a developer should be something we strive for. We don't generally deal with fast paced life or death communication, we instead want programming to be accessible, to get a range of people (and their input, experience, opinions) involved, and to break down unnecessary barriers. Programming in a foreign language is a pretty significant barrier.
- johnisgood 7y agoWhat do you mean exactly by "programming in a foreign language is a pretty significant barrier", and why is reducing this barrier to strive for? I believe English as a common language is a good thing for communication, for understanding each other. It could have been any other languages I suppose, but today it is English. It may change. I cannot even talk about programming in my first language because I would not have gotten any use out of it. It would not have been beneficial to me to learn the terminology in my first language. English, however, was pretty much beneficial. I am not sure that division here would be beneficial to the field, but this is just my opinion. Yes, it is a barrier for people who, for some reasons, are not willing to learn the common language which, today, is English. Is it a bad thing? In my opinion, it is not. It could be a way of expressing your dedication and willingness in some cases. I wanted to understand, and I wanted to be understood, and knew that learning English was the way to do it, so I learnt it. Having many different languages would defeat the purpose of what having a common language gives us, which binds us together.
- mattigames 7y agoWe already have like 100 hundred programming languages, adding localization to the tokens of each one would grow that to say least 1000; the human race doesn't need more excuses to create divisions among us, it actually needs the opposite. I already hate with a passion the Stackoverflow version on my native language (Spanish), the answers are always subpar (or just missing) to their English counterpart due being such a small website.
- olah_1 7y agoOr, we use content-addressable and immutable code like in Unison. It doesn't matter what you call the function or what I call it. It's the same code. https://www.unisonweb.org/ https://www.unisonweb.org/
- cyborgx7 7y agoImagine thinking cultural hegemony is good.
- mattigames 7y ago...said someone in English because saying it on any other language would have stopped him from being understood at all.
- cyborgx7 7y agoAnd your point is?
- mattigames 7y agoYeah, you seem to be just trolling at this point if you pretend to not understand the huge irony in saying homogeneity is bad in plain English in order from someone from Colombia to understand what your are saying.
- cyborgx7 7y agoWhy do they keep making me post the Bors comic? https://i.imgur.com/SPyfuNz.png https://i.imgur.com/SPyfuNz.png
- mattigames 7y agoI don't see the connection with this comic, are you suggesting the person walking is you therefore should complain in the universal language to make society stop using such universal language so we can no longer understand you next time you complain?
- cyborgx7 7y agoI will leave the interpretation of the comic as an exercise to the reader. (Partially because I'm unable to parse what it is you are trying to say in your last comment.)
- varelaz 7y agoFirst time I've seen non-ASCII language around 7-10 years ago. It was 1C language, it's very alike to Visual Basic but all in Russian. I think it was very good idea to use Russian for that, it's embed language for platform developed for local market. So to start you don't need to know English, which is probably the main barrier in former USSR to become a programmer.
- al_form2000 7y agoAssuming there is merit to the idea that the Latin charset gives unfair disadvantage for people from other cultures (I think not(1)), then a language should be formed from a culture neutral alphabet - say, klingon. It better have a number of glyphs in the vicinity or 30 or so (for typing ease) no funky char combining rules (for reading ease) etc. And it would still need guidelines for naming functions, variables, not to mention pronouncing them (these could of course be localized rules) etc. My guess is that it would be a Latin like script, only with different glyphs. And of course, all var and function names would be hopeless gibberish, unless we all decide to become klingon/whatever fluent. (1) At the very least, someone should explain why the rise of - say - the russian and indian programmers, given the unfair barrier.
- bayesian_horse 7y agoMaybe one shouldn't take the "unfairness" aspect too far. This project seems to be more about recognizing cultural differences in thought patterns and how they permeate today's computing world. It doesn't seem to be geared towards teaching programming to students who only know Arabic so far. And English is being taught and used extensively in the Indian education system and society in general.
- al_form2000 7y agoThat (cultural differences in thought patterns) is indeed an interesting take (I'd like to hear what Larry Wall has to say about it). I do think it would be best addressed at the background level (say predicate logic or somesuch) than at a programming language level (which is more of a consequence). Unfortunately, the "unfairness" thing has hijacked many subthreads and it takes the proposal at face value (as in "Wouldn't it be cool if any programming language was available in localized form, charset, keywords and kaboodle?" - no it wouldn't) .
- bayesian_horse 7y agoI'd say predicate logic and much of the theory behind computer programming would stay the same, regardless of the language. And yes, I think it would be good for speakers of non-latin based languages to be able to write programs (or notebooks) in their own language. Some stuff, like business logic, NLP, or "Low Code" like in Excel, could benefit from staying in one cultural frame of mind instead of switching between multiple frames. Especially for different writing directions, like with Arabic. At the very least, Mandarin in Mainland China is now written almost exclusively left to right, so it's not as painful to use latin letters in a Chinese text when appropriate.
- oaiey 7y agoFirst: That is culturally a very important project I really like. As a German, English was a barrier for me as well (imagine a 15 yo with little English proficiency). But it was just the language, not the letters and symbols. I think the interesting question would be if you could build an IDE replacing keywords, interpunctation, writing order etc on the fly while emitting in the end "standardized" output (aka. English). If we do not like English for whatever reasons (let us say: bias to the western world), I think the only real deal are Emojis. Replacing all keywords with Emojis is pretty universal (until it comes to color ... red/green has very different meaning around the world) and using some standardized/auto-translatable naming of variables and functions. Could be tons of IDE support. Anyway. Nice inspiration.
- vanderZwan 7y agoI think what you want is something similar to Scratch or Snap!, but with keyboard input support[0][1]. Because the programming structure of these languages is not based on text input, that makes it independent of the language it is presented in.The result is that can change the language it is presented in on the fly: > Scratch, albeit visual, is still a language built around sentence fragments. Instead of using punctuation and assorted ascii art to enchant text into code, the structure and action of a Scratch program is almost as clear as prose. By using natural language fragments instead of magic identifiers in text, Scratch is unique in another aspect — Internationalization — Scratch programs can be built up out of German, French, Chinese, Japanese fragments too.[2] The main downside to Scratch as a language is having to drag our mouse for many kilometers for complex programs. It is a... well, drag (also more complex data types and such, but Snap! addresses that fairly well). [0] https://scratch.mit.edu/ https://scratch.mit.edu/ [1] https://snap.berkeley.edu/ https://snap.berkeley.edu/ [2] https://programmingisterrible.com/post/76953953784/programming-with-building-blocks https://programmingisterrible.com/post/76953953784/programmi...
- qubex 7y agoI did what you mention 22 years ago when I was 16, to create an “Italian version” of BASIC. I just chose suitable analogues in Italian for all the various keywords and fed it through a glorified Find/Replace script before handing off to the QBASIC interpreter. Of course Italian’s pretty strict word order helped a bit.
- seddin 7y agoSo its basically JavaScript but with the syntax translated to Arabic.
- kkarakk 7y agoDamn can you imagine versioning issues? Popular plugin creator decides english is too imperial for his tastes, switches to swahili(his native tongue :) ) Framework goes up in flames quite fast.
- fxj 7y agoVisual Basic for Applications has localized Versions. Here is an Example in german, so why not in arabic? Funktion VorherigerGeschaeftstag(dt Als Datum) Als Datum Dim wd as integer wd = Wochentag(dt) ' Wochentag liefert 1 für Sonntag, 2 für Montag usw. Prüfe Fall wd Fall 1 ' Auf Sonntag wird Datum vom letzten Freitag zurückgegeben VorherigerGeschaeftstag = dt - 2 Fall 2 ' Auf Montag wird Datum vom letzten Freitag zurückgegeben VorherigerGeschaeftstag = dt - 3 Fall Sonst ' Andere Tage: vorheriges Datum wird zurückgegeben VorherigerGeschaeftstag = dt - 1 Ende Prüfe Ende Funktion https://de.wikipedia.org/wiki/Visual_Basic_for_Applications https://de.wikipedia.org/wiki/Visual_Basic_for_Applications
- VMG 7y ago> Dim wd as integer Ausgelöst
- runxel 7y agoThanks, I hate it! It's like how every function in Excel is translated as well. `=SUMMEWENNS(…` Complete nonsense, it makes my eyes bleed.
- alexis_fr 7y agoKeyword translation poses MAJOR problems when you open the Excel file on another computer, indeed. Unfortunately, Excel files were more often opened on other computers than Java files... To be inclusive is hard. Even if we imagine one Excel version per continent, all Latin-based people would be ok, it would also suit countries that can be globalized under the Chinese or Arabic areas. But the offshore situations with 2 different continents wouldn’t work well. And sooner or later you end up with one Excel version per alphabet. Russian, Tamil, Farsi, etc.
- qubex 7y agoAny programming language can be made “foreign” by choosing appropriate terms in a non-English language (perhaps written in a non-ASCII character set) and then writing a front-end script that goes through the “foreign” code and does the required substitutions before feeding it into a standard for-that-English-based-programming-language compiler (or interpreter, or whatever). The English words are, after all, only tokens that are then translated into the Abstract Syntax Tree (AST) for that language. The problem with this particular rendition is that it doesn’t in the abstract define a particularly interesting, or novel, or even useful for specific situations new language. As far as I can tell, this is a LISP, and I can remember having read about it ages ago.
- faissaloo 7y agoFun little note, the programming language's name means 'Heart' in Arabic. This makes me wonder if perhaps a abandoning language entirely and relying on symbols for syntax might be the way forward, I have found that the more a language tries to emulate writing the more ambiguous it becomes, maybe the opposite will yield better results, perhaps we could choose to make the language resemble a diagram. Very interesting and thought provoking project.
- tempodox 7y agoReminds me of the Latin front-end for Perl.
- fxj 7y agoThe truely universal language is math. There are however languages that do not use english words at all. e.g. APL or J. In these languages also localized programs in any language would be possible. For example quicksort in J: qs =: (($:@(<#[), (=#[), $:@(>#[)) ({~ ?@#)) ^: (1<#)
- cyborgx7 7y agoI thought love was the universal language.
- userbinator 7y agoCame here to find the APL comment, and I agree. "APL: a non-ASCII programming language written entirely in APL"
- lbj 7y agoExcellent - What we need is less cooperation across borders. (sarcasm may occur)
- fxj 7y agoIn Python 3 you can now use localized variable names. Something like this is valid python code: >>> π = 3.14159 >>> jalapeño = "a hot pepper" >>> ラーメン = "delicious"
- oldgradstudent 7y agoIn my Israeli highschool, we were taught Hebrew Prolog. There was also a Hebrew version of basic taught to children (בסיסית - בייסיק בעברית). Completely pointless.
- EdSharkey 7y agoSo does having the programming language be in your native tongue affect the actual structure of the code as well? Beyond maybe just lots of yoda conditions, say, would data schemas radically differ from other programming languages because they can be better articulated when spoken aloud?
- jason0597 7y agoI remember when I was about 13 or 14 we would have this little program in Windows that allowed us to move a turtle around and draw shapes with the turtle. You were able to write little programs in code to move the turtle around and draw more complicated shapes in a shorter amount of time. We were doing all this in pure Greek, and writing the programs in Greek. In retrospect, I believe this was one of the worst things we did. Sure, it lowered the bar for students struggling with English to start programming. But given how there is nearly 0 useful documentation on programming or on programming languages in Greek, you were essentially tied to this little program with the turtle. You had absolutely no ability to progress your computing knowledge.
- tolqen 7y agoThat sounds a lot like Logo
- jacquesm 7y agoIf there is one thing this will achieve then it should be this: it should help to show those born in the world of English what a privileged position they have. For every other person in the world not born into English that is the first hurdle they have to cross in order to get to the next one: programming itself. Anybody that is born in an English speaking region has a huge head start in this respect. Note that it goes much deeper than just the programming languages keywords: there are the books, the courses, the documentation, the bulk of all the open source projects out there one could use to study and so on.
- falcolas 7y agoFWIW, most non-English countries teach children English in their version of middle school. And most English speakers aren’t like the stereotypical French; English speakers are quite tolerant of both sentence structure mistakes and extreme dialects. They’re not really at that great of a disadvantage.
- jacquesm 7y agoYes, they are. There is a huge difference between having a language as you mother tongue versus having it as a secondary one. My English is reasonably good, I started young (at age 10) and yet, by the time I was 14 or so the programming books I had access to were way over my head. If English had been my first language I would have had a much easier time. It's not about English speakers tolerance, it is all about the reader's ability to grok a complex written text.
- TallGuyShort 7y agoDepends on the language, I suppose, but isn't the text of the book the bigger problem than the language? sprintf, uint64_t, #ifndef may as well be foreign languages to English speakers too. There's a benefit if the mnemonics are native to you, but your comment sounds like it's the book that's the key obstacle, and less the language.
- 7y ago
- klhugo 7y agoOne of the great things of tech is that it brings different people together to relize amazing new things. The initiative described here does not celebrate the differences, it creates barriers instead.
- Nasrudith 7y agoOne thing that surprised me about non-English programming was that they didn't use some style subsitution of keywords with programming languages for their compilers. It seems like it would be a simpler solution even with tokenization potentially forcing some awkward word choices. Even considering the annoying bugs which could crop up with that I would have thought it would have been a thing. Apparently most just work with "the magic strings" or know enough English already. That would be far more helpful than pretentious finger waggling at wide masses of people for not taking vastly unreasonable steps from the start. All from someone privledged enough to be paid or spend unpaid time for an ostentatious show project like this - in sharp contrast to how the actual non-English progammers act - adapting or rolling their own for their purposes. The toxic attitude on the website negates any outreach of even a "interesting to see parralel evolved approaches" sense. The 'not even trying to solve any problems just blame' is a personal pet peeve of mine.
- PopeDotNinja 7y agoThis is making my head explore. I love it.
- robertakarobin 7y agoI suspect this is a typo, but it reads well anyway. :)
- PopeDotNinja 7y agoNot a typo :) BTW, wanna go for a ride in my new Ford Exploder?
- tacone 7y agoAs a side note I am a big fan of non-asci command line aliases. I have my keyboard set with the no dead keys layout, so pressing AltGr + [shift?] + letter will lead to weird stuff like ÐıØΩ~˛. The great part of it its being able to have single letter commands that won't collide with anything installed on the machine. For example I have » as an alias to: [ | xargs -n1 -d "\n" ] and I have a zsh function called Ð that let's me run commands inside a docker-compose(d) container. For example: ls -1 | grep backup » rm
- ramseynasser 7y agohi everyone, author here. i am glad this project is still starting conversations six years after it came out! if youre interested in a longer read on the subject of the cultural assumptions of programming and computing systems i wrote an essay for Technology as Cultural Practice last year: http://ojs.decolonising.digital/index.php/decolonising_digital/article/view/PersonalComputer http://ojs.decolonising.digital/index.php/decolonising_digit...
- dangerface 7y agoThis isn't the first non-ascii language most modern languages are utf-8, look at any Chinese code for an example. This isn't the first non-english language, when I was learning basic 20 years ago it had support for german keywords. This is clearly just a dumb political statement, that being said I don't get why every one is so upset. I guess you could argue that it's cultural appropriation but let's face it anyone who argues that is just petty.
- archie2 7y agoI wonder how difficult it would be to systematically "translate" something like Java or C from "English" to any other language, especially non-latin ones like Arabic or Japanese...an "if" statement makes sense how it written from an English perspective but I have no idea how you express something like that in said alternative languages without having to change structure and "meaning". I don't even know if what I'm asking makes any sense... Need more coffed
- jameshart 7y agoIt is, of course, a persistent myth among programmers that the majority of language keywords we use are in English. I will grant that some of the words share a spelling with English words that have different meanings, but most of the core words we use are not ever used with the same meaning in non-programming contexts. I would submit that the following keywords common to a number of languages are not meaningfully ‘English’ (indeed, one of them is Greek): String, float, double, long, byte, void, lambda, var, func... I’ll grant that for, if, public, private, import, extends, let, etc are real English words and there is definitely a hidden privilege native English speakers have when learning to code, but when considering how hard a programming language must be for a non-English speaker to learn because it has English keywords, consider how hard it was for you to learn a new and unfamiliar meaning for the word ‘string’ and recognize that it’s maybe not that insurmountable barrier. This project is interesting though because it particularly deals with a different script, which is much more dissonant with conventional keywords.
- mar77i 7y agoAlso, the more barriers you overcome to get to the basics (that one's Greek too, btw), the less you'll struggle moving on, getting used to a certain confusion towards foreign concepts. I really liked your angle, not over-ascribing meaningfulness, yet making an effort not to step too many toes by focusing on context, questioning the stereotypical basis.
- UncleMeat 7y agoIf you only consider keywords then sure. But think about standard libs. All of those functions and types are named with English words.
- bovermyer 7y agoAs an intellectual exercise, this is clever. I imagine it wouldn't take long to learn how to use it to write a basic application. I'm also willing to bet that the time I spend learning the Arabic writing system in order to use this would be of general value, too. I'm fascinated by writing systems.
- mensetmanusman 7y agoIt would be nice to include a pronunciation for English speakers. I just read it in my head as ‘scribble’
- kerkeslager 7y agoThis is far from the first non-ASCII programming language[1]. Some folks have brought up balkanization as a bad thing, but there are some reasons to believe that balkanization could be a good thing. By putting up barriers (like language) between silo-ed groups, you allow each group to develop their own ideas under different selective pressures, which leads to different results. Then, at some point, someone with vision and skill breaks through the barrier and their ideas from one silo revolutionize the other. It's unclear whether these ideas would ever develop and mature in a more homogeneous programming environment. Looking at a different field: climbing. The industrial rope access, arborism, and recreational rock climbing communities have developed fairly independently, despite having a lot of the same base equipment and needs. The results are some fairly different solutions to the same problems. As a rock climber, I've learned a lot by cross-pollinating ideas with the other two groups. Sometimes the rock climbers do things better (dynamic ropes are a much better way to prevent spinal compression than full-body harnesses and screamers) and sometimes the other groups do things better (rope walking is far superior to hand ascenders). And these come from the independent selective pressures of each field (rock climbers fall more because they're pushing their limits of skill, so their fall protection is better, while arborists ascend the rope constantly so their rope ascension is better). It's not entirely clear to me that these very different techniques would have developed if the fields had not been able to grow their own communities fairly separately. [1] https://en.wikipedia.org/wiki/Non-English-based_programming_languages https://en.wikipedia.org/wiki/Non-English-based_programming_...
- smashface 7y agoI like the idea of this project. Its main goal is to highlight the bias towards English in programming languages and computer science and I think that's a great goal. I also think another great use would be to provide a stepping stone to those who are native Arabic speakers to get into programming. There will still be the English barrier to move on to other languages (and likely more professional or "serious" work) but if you can convince people that programming is interesting in the first place, this could encourage them to keep going further. As it stands now, if you don't speak English you would need to a certain amount of English AND programming languages. Languages like this means you just get to learn programming first while we figure out how to remove English as a barrier to entry.
- rfhjt 7y agoThere is even a coined story about languages: Babylon. People there made great progress building things together while they spoke the same language, but everything fell apart when they started speaking different languages. Countries create their own languages and cultures sometimes artificially, to silo its citizens: when you've been taught since childhood to speak some odd language, it's hard to jump the ship later, so you have to restrict yourself to this little playground or make an immense effort and learn the international language. Luckily, such language still exist, although we take that as given. Software today is that Babylon from the story: everyone speaks the same language, everyone can can join and contribute with minimal efforts. No taxes, fees, licenses and permissions needed to join. As software rapidly gets bigger, people that have power start realising that this kind of freedom is unheard of. They are used to the world of borders where they take a toll for a permission to cross. So they pull the trick as old as humanity: introduce artificial fragmentation of languages and cultures and make people in their country use a language they control. And the more obscure and counterintuitive this language is , the harder it is for people to cross the barrier and the more profits they gain. If I were an evil and powerful dictator of a big chunk of the world, I'd force everyone there to switch to an artificial and very complex language, make it the only allowed language in the country, and do the same with software. From now on all these people would naturally have to live in this little artificial playground.
- mendelk 7y agoThis reminds me of Yid++[0], a tongue-in-cheek C++ compiler with a bunch of keywords translated into Yeshivish[1]. (I apologize in advance if the humor is wasted on those unfamiliar with the Yeshivish / Talmudic world.) It's still in ASCII though :) If nothing else, these things remind me how lucky I was to not have had to learn English while I simultaneously learned to program. [0] https://schorrm.github.io/ypp/ https://schorrm.github.io/ypp/ [1] https://en.wikipedia.org/wiki/Yeshivish https://en.wikipedia.org/wiki/Yeshivish
- gwbas1c 7y agoI think this really misses the point about where "english" comes from in a programming language: When we look at modern languages like C, C++, Java, C#, ect, the amount of English keywords are very minimal: "if", "for", "while", "do"... Most of a program is user-defined variables, classes, methods, ect. All of these can be in whatever language the programmer wants. The bigger complication comes from major APIs: Mac, Windows, Linux, ect, have APIs written in English. Even if you were to write a program in a C-like language where "if" was replaced with a non-english keyword, and you defined your variables, methods, ect, with non-English names, you'd still need English APIs as soon as you interoperate with anything. Furthermore: Names in APIs tend to be so cryptic, and require so much domain expertise, that I wonder how much value comes in translating them? Will training a non-English beginning programmer in a language with keywords from their natural language be helpful? Seems like a good experiment, IMO!
- m23khan 7y agofrom what I understand, the name of the language is Klub - which translates to Dog. And the example showcases implementation of fibonacci sequence and calling it with 10 as parameter. A nice, straightforward syntax indeed! Although I don’t speak Arabic, I find it a fascinating and beautiful language.
- jothezero 7y agoDoes a sub-routine starts with : salam aleykoum ?
- jancsika 7y agoIs there something like ASCII for Arabic? In other words small set of single-byte Arabic characters so that cranks can complain about unicode.
- cptwunderlich 7y agoHe is very right about how many tools and sites have problems with RTL (right-to-left) text. And don't get me started on mixing LTR and RTL text.
- namelosw 7y agoI'm so surprised so many people think localized programming languages are useless. Let's not forget there are still a lot of people don't speak English. I live in China, and I have seen a lot of kids with great talent in mathematical thinking -- needless to say, they have a great chance to have great computational thinking if they have proper environment. However, there are a lot of kids either having no multilinguistic talent or living in average developed zones that they can't access good English education[0], can miss the opportunity of being great programmers. As a comparison, mathematics symbols are decoupled with specific languages (like APL[1]), and the textbooks are well translated. English should not be a hard dependency to programming. A lot of people believe in the future everyone should code more or less. I suppose if that's true, there must be nice localized programming languages to achieve that goal, which helps people scripting their day to day life, instead of just being pure GUI users. Or programming languages would still be only designed for minorities as least for non-English-speaking countries. [0] For Chinese people, English could be not extremely hard (as English people learn Chinese) but still very hard to learn, it takes years of systematic training, just because the two languages are way too different. [1] PS: I have some trouble for a very long time to understand what does Alan Perlis was referring to in his famous quote: "Though the Chinese should adore APL, it's FORTRAN they put their money on.", I guess it might refer to the symbols decoupled to natural languages.
- Ensorceled 7y agoI think you are expressing the actual disconnect: "Everybody should program" means we need localized languages, "Programming is a Difficult Profession" means programmers really want to learn English to have access to StackOverflow and many other English only resources anyway so localized languages are not necessary.
- xvilka 7y agoIn fact, support for languages like Arabic, Farsi, or Hebrew is still pretty bad in many computer programs. This is why we started an initiative to improve the support of any bidirectional language in terminal emulators and terminal programs, e.g. vim, emacs, mutt, ncurses-based programs, etc. I maintain a list[1] of the supported programs. The specification[2] of a new standard is also available, moreover GNOME Terminal supports it since GNOME 3.34 version. [1] https://gist.github.com/XVilka/a0e49e1c65370ba11c17 https://gist.github.com/XVilka/a0e49e1c65370ba11c17 [2] https://terminal-wg.pages.freedesktop.org/bidi/recommendation/ https://terminal-wg.pages.freedesktop.org/bidi/recommendatio...
- gumby 7y agoThis is very exciting, especially given the Lisp-like notation. high level (non-assembly/machine code) programming has been stuck in an indo-european rut -- a productive one of course, but like so many things one that has a particular world view. If programming had started in Arabic would we have developed generic functions sooner? Perhaps with different views of type systems? The fundamental structure of Arabic is quite different from the IE languages. (I'm a native speaker of English from childhood but used to speak Arabic, and do use other languages on a daily basis).
- hypacrosaurus 7y agoIt hurts because English-centric people feels excluded by their non-understanding of a thing written in another language, suddenly realising other cultures in the world can exist independently, and it's a history fate if English is the de facto language of IT. « Algorithm » is originally an arabic word and first algorithms come from babylonians, they were written in cuneiform.
- Mugwort 7y agoInteresting topic. Non-English based programming languages. https://en.wikipedia.org/wiki/Non-English-based_programming_languages https://en.wikipedia.org/wiki/Non-English-based_programming_...
- ridaj 7y agoThis is from 2012/2013.
- lanevorockz 7y agoThe comments here are just absolutely insane, STOP MAKING EVERYTHING POLITICAL. Fake Intellectuals are trying to destroy STEAM by making everything boring and everything about "This people are evil". WTF, it's COMPUTER SCIENCE NOT POLITICAL SCIENCE.
- SamBam 7y agoI was interested in hearing what using Arabic as a scripting language might do to change how code might be written -- not just a translation of words, but are there features of a language that are distinct from English that it would actually change our assumptions about a scripting language? The video mentioned how the ligatures of Arabic can stretch, to allow fixed-width justification, which was neat, although it doesn't actually change our notions of scripting. Consider, for instance, if English didn't have any imperative form, and instead everything were a request. Would declarative languages like Prolog have been the default? Perhaps the most interesting thought experiments along this vein could be for conlangs. Can we write a conlang that is more elegant, meaningful, even beautiful for scripting? Here's an quote from a New Yorker article on conlangs: > Ithkuil has two seemingly incompatible ambitions: to be maximally precise but also maximally concise, capable of capturing nearly every thought that a human being could have while doing so in as few sounds as possible. Ideas that could be expressed only as a clunky circumlocution in English can be collapsed into a single word in Ithkuil. A sentence like “On the contrary, I think it may turn out that this rugged mountain range trails off at some point” becomes simply “Tram-mļöi hhâsmařpţuktôx.” https://www.newyorker.com/magazine/2012/12/24/utopian-for-beginners https://www.newyorker.com/magazine/2012/12/24/utopian-for-be...
- gambler 7y ago>Consider, for instance, if English didn't have any imperative form, and instead everything were a request. Would declarative languages like Prolog have been the default? You realize that this is the foundation of classic OOP, right? http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-October/017019.html http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-... Alan Kay: "The big idea is "messaging" -- that is what the kernal of Smalltalk/Squeak is all about (and it's something that was never quite completed in our Xerox PARC phase). The Japanese have a small word -- ma -- for "that which is in between" -- perhaps the nearest English equivalent is "interstitial". The key in making great and growable systems is much more to design how its modules communicate rather than what their internal properties and behaviors should be."
- codesforhugs 7y agoWhile originally created for a very different purpose, I think https://en.wikipedia.org/wiki/Loglan https://en.wikipedia.org/wiki/Loglan and other logical languages would be a great basis for computer code.
- pknerd 7y agoDo not know about use cases other than the creator learned a few things. I am interested to know what are the pros and cons of creating a language syntax in Unicode?
- pknerd 7y agoUncertain about whether such programming languages will be worthy enough, I think that DSLs in localized languages will have better use cases.
- jgwil2 7y agoFrom earlier this year, an article about programming in languages other than English: https://www.wired.com/story/coding-is-for-everyoneas-long-as-you-speak-english/ https://www.wired.com/story/coding-is-for-everyoneas-long-as...
- didibus 7y agoI think PLs should have localization features for comments, doc-strings, variable names and function names, etc. Nothing should link in the actual computer from human readable text. I always wanted a language like that. You'd create a new function or variable and it'll get assigned a unique ID. And the name is a doc-name same as the doc-string, only for human documentation. If you had that, you could localize the language pretty easily.
- gkfasdfasdf 7y agoThe negative reactions here claiming that everyone should use English are really disappointing, on hacker news of all places. Nobody is saying we need to rewrite the Linux kernel in Arabic. But a language such as this could be a great tool to introduce programming to people who would otherwise be turned away by the language barrier. What is important is not the keywords for, if else, etc but the concepts of logic and computing. The more humans that can grasp these concepts, the better for all of us. Also who knows what genius lies untapped. Perhaps the next Linus or Knuth will come the streets of Baghdad, as a result of having been introduced into programming by an effort such as this one.
- jacquesm 7y agoI'm wondering how many people would be outright afraid of installing and running a program in a language that they have no chance of reading. This is the rough equivalent that all non-programmers have to deal with everyday.
- tuukkah 7y agoAt least not those people who install proprietary software on their systems. Also, non-ASCII or non-Latin is just a step on a continuum: obfuscated code, machine language, spaghetti code, non-documented code... Actually, it may be perfectly workable to run the Arabic code through Google Translate and understand the result.
- everlastingfan 7y agoRight. So about your bank, you're sure none of the owners speak Hebrew? What I'm saying is, is that your head is up your ass if you believe bits on a computer are more significant than the words we speak. By proxy and according to my measurements, human language is a larger factor than programming language. Re.: antisemitism: Jews are pretty good. Plenty of groupings I like less. I know Hebrew should be all over the place according to your (exoteric) religion so as a Dutchman I'll hold you to your word. Produce that Moshiach already?
- 7y ago
- jchallis 7y agoقلب / heart is simply a wonderful name for a programming language.
- abderrahmane 7y agothis make me chuckle https://github.com/nasser/---/blob/master/public/qlb/parser.js#L883 https://github.com/nasser/---/blob/master/public/qlb/parser....
- gshrikant 7y agoActually a Forth written in a language apart from English would be a cool idea. The 'words' model maps directly to natural languages and would be straightforward to apply to other languages.
- ridan002 7y agoThis language is called 'Kelb' which translates to 'Dog'. Why is it called that?
- alanbernstein 7y agoIs that any less appropriate a name than "Python"?
- sebastianconcpt 7y agoWhy? What's the motivation?
- truthwhisperer 7y agotheir counterpart of "hello world" is probably "hello twintowers"
- val314159 7y agoWhy hasn't anyone pointed out that, except for function and variable names, almost all of computer code is symbols which were pilfered from . . . arabic???
- trophycase 7y agoWe're too busy feeling good about ourselves for pointing out English privilege
- zelly 7y agoWait until they find out LISP has no left-to-right bias and can be in any natural language
- cwbrandsma 7y agoMight be an interesting problem to have a localizable programming language. As someone else mentioned, there are localized version of VB. And having worked with code from other languages, I know those developers are not using english for their variable names (or database schema names)
- musicale 7y agoI've also been puzzled for a long time about the seeming shortage of computer languages that don't use English/ASCII keywords, though probably there are more of them than I am familiar with. Lisp has some strange keywords (CAR, CDR) that are ASCII but not exactly English. APL relies more on non-ASCII symbols. AppleScript is one programming language that at one point had at least 3 customized dialects (English, French, Japanese.) For example: "the first character of every word whose style is bold" "le premier caractère de tous les mots dont style est gras"[1] Sadly modern macOS AppleScript seems to omit the non-English dialects (although the "professional" computer language-like syntax is now available via OSA, JavaScript, etc..) [1] Cook et al., Applescript, HOPL III, 2006
- ChuckMcM 7y agoThis was fascinating for me. I had an experience early in my career where I was given some code written by a Spanish engineer to port, and the Spanish comments and variable names kept interfering with my ability to see the code structure. I ended up converting all the variables to simple letter/number sequences and removing all the comments in order to get past that. Years later I read papers by linguists which described concepts in one language that were no expressible in another language. That too seemed pretty amazing to me since something like snow is snow right? But English typically has adjectives doing the heavy lifting to distinguish different kinds, but the Inuit people had even more words[1]. The idea that it might be possible to express computation differently in different languages, or perhaps even more effectively, seems really intriguing. [1] "Yet Igor Krupnik, an anthropologist at the Smithsonian Arctic Studies Center in Washington, believes that Boas was careful to include only words representing meaningful distinctions. Taking the same care with their own work, Krupnik and others charted the vocabulary of about 10 Inuit and Yupik dialects and concluded that they indeed have many more words for snow than English does." -- https://www.washingtonpost.com/national/health-science/there-really-are-50-eskimo-words-for-snow/2013/01/14/e0e3f4e0-59a0-11e2-beee-6e38f5215402_story.html https://www.washingtonpost.com/national/health-science/there...
- Myrmornis 7y agoThere’s nothing stopping us writing software that reversibly transforms code so that the keywords are expressed in a different language, with the transformation being reversed before the compiler/interpreter sees it, right? What’s stopping us from treating language as a superficial “view level” property of code?