13 ms·
This 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
by pgcj_poster 7y ago
This 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.
- NoodleIncident 7y agoA grid of rocks in a desert is turing complete. It's not a useful concept for discussing the differences between programming languages, precisely because it's such a low bar. "Any software problem" includes these two extremely common problems, neither of which has anything to do with Turing completeness: * It needs to do something fast * It needs to be written quickly
- pgcj_poster 7y agoI wasn't suggesting that Turing completeness means that all languages are somehow the same. To the contrary, I was arguing that languages are differentiated primarily by how easy they are to use for a particular task—in other words, their accessibility. Execution speed is clearly not the reason why multiple programming languages exist, because assembly is as fast or faster than high-level languages. Rather we use programming languages because they are easy to understand and reason about, allowing us to work quickly, among other things. The usability of a language is impacted by things like whether it has automatic memory management, or whether it uses functions instead of gotos, but also by the vocabulary it uses. Consequently, I see the vocabulary of a language as not particularly different from those other attributes.
- johnisgood 7y agoI think Lojban is the only language that could work (not just for computers but humans as well). I do not see it happening anytime soon though. For anyone who does not know what Lojban is: https://en.wikipedia.org/wiki/Lojban#Applications https://en.wikipedia.org/wiki/Lojban#Applications would be a great starting point. :)
- coldtea 7y ago>I think Lojban is the only language that could work (not just for computers but humans as well) What about humans who like to think in a language whose idioms, history, etc match their culture? Heck, human languages even adapt to the climate (e.g. warmer areas having more vowel sounds, cold areas optimizing for shorter/less open mouth exposed to cold air, etc). Plus there is some naivety in the idea that humans need or want a "logical and unambiguous structure". We need it for some things (math, STEM), but we seek more freedom to be ambiguous in other things -- and in fact it can be essential to the very civilization to be able to be so (for diplomatic reasons, civility, psychological, etc).
- deleted 7y ago[deleted]
- johnisgood 7y agoDoes https://en.wikibooks.org/wiki/Lojban/Culturally_neutral https://en.wikibooks.org/wiki/Lojban/Culturally_neutral or https://wiki.c2.com/?CulturallyNeutralLanguage https://wiki.c2.com/?CulturallyNeutralLanguage answer your question? From the second link: > The only thing that characterizes a logical language, like LojbanLanguage, is that it's unambiguous from a structural standpoint. It seems that Lojban is just as expressive as any other human language, with the same capacity for overstatement, understatement, irony, metaphor, simile, pun, etc. A lot of famous works of fiction have been translated into Lojban by enthusiasts. Your concerns have been brought up and explained in part by the two links above, and in the Wikipedia article I linked to. Allow me to quote some parts from it: > The removal of grammatical ambiguity from modification [...] seems to heighten creative exploration of word combination. [...] Other areas of possible benefit are (surprisingly in a 'logical' language) emotional expression. Lojban has a fully developed set of metalinguistic and emotional attitude indicators that supplant much of the baggage of aspect and mood found in natural languages, but most clearly separate indicative statements from the emotional communication associated with those statements. This might lead to freer expression and consideration of ideas, since stating an idea can be distinguished from supporting that idea. The set of possible indicators is also large enough to provide specificity and clarity of emotions that is difficult in natural languages. > The language was built to attempt to remove some limits on human thought; these limits are not understood, so that the tendency is to try to remove restrictions whenever we find the language structure gets in our way. You definitely can talk nonsense in Lojban. Anyway, you can decide to be ambiguous if you wish to do so, it is perfectly possible. Do not worry, it will not turn our society into something similar to the movie Equilibrium. I think the word "logic" makes people jump to similar conclusions.
- ceautery 7y agoWait, was the last 30 years some Picard-and-the-flute dream? Thank God! Hopefully the next FORTRAN version will keep the name all-caps.
- seer 7y agoI have a feeling a lot of art projects in history have been described as “at best useless, and at worst harmful“. For example leonardo da vinci’s bicycle. Even if that is true, here or in the other art projects, the purpose is to evoke some aort of response, to capture attention and to provoke discussion. And by this measure and judging firom the comments here this has been a resounding success :)
- skavi 7y ago> This is the same reason that everyone uses FORTRAN. The person you are responding to is not being serious. it is a joke.
- Flimm 7y agoI think you are being sarcastic/ironic.
- johnisgood 7y agoThat is what I have gotten as well starting from the "This is the same reason that everyone uses FORTRAN." bit.
- deleted 7y ago[deleted]
- kuschku 7y agoSome games (e.g. the anno series) actually have a german language scripting language for custom maps. And the original, first high level programming language plankalkül also had nothing to do with english.
- mattigames 7y agoVery funny, but no, it's the reason we have one hundred languages instead of a thousand
- ComodoHacker 7y agoThere ARE successful (used in production) languages with non-English syntax. You're just saying "Everyone should use Chrome, otherwise the web would be balkanized". Or, taking it to the extreme, "every book in the world should be written in English". >I should be able to read code written anywhere in the world and understand what it does You are, but no one promised "without any effort". Almost every developer of not English-speaking origin put that effort, why shouldn't you? >You wouldn't be able to contribute to an open source project unless it happened to be written in a language that you knew You've just described the status quo.
- skavi 7y agothey are joking.
- bobblywobbles 7y agoHow can you tell? It looks like a serious post to me.
- justusthane 7y agoThe whole second paragraph where they talk about everyone writing FORTRAN and no other programming languages existing.
- gimboland 7y agor/whoosh
- deleted 7y ago[deleted]
- cyborgx7 7y agoSo glad this turned out to be a joke in the second paragraf. The first is very believable. I've definitely encountered people who would write something like it unironically.
- amenod 7y agoTBH, I didn't get the joke until I read your comment. A small "/s" at the end wouldn't hurt.
- cyborgx7 7y agoPointing out it was indeed a joke, was part of the reason I wrote the comment in the first place.
- amenod 7y agoJust to be clear - I think your parent should have put '/s' at the end, not you. :)
- skrebbel 7y agoTo be frank, "/s" would have totally ruined it for everyone else. I'm assuming that you simply didn't read past the first paragraph? (That's fine, I bet we all do that way too often here) I mean, I have a hard time believing that you really can't tell that a post that states that everybody uses FORTRAN isn't serious. I care because HN has a way of ruining satire and sarcasm this way. These are only the delightful stylistic devices that they are when you don't say that it's satire (resp sarcasm). I truly wish we'd all "/s" a little less, not more :-)
- warp 7y agoI'm sad to admit I downvoted after the first paragraph. I was glad HN let me undo that after I read the second :) (also, hey skrebbel! :)
- 7y ago
- bayesian_horse 7y agoAt worst it's about as "useless" as other niche programming languages like Brainf* and the like. While this language doesn't seem to be geared towards introducing people to computer science, all the languages based on English require someone to learn that script, that language and some of its culture first before being able to use it. And in much of the world people don't regularly start learning English (or a latin script for that matter) in elementary school. A language based on Arabic (or Chinese, Korean, etc) could help with introducing computer science in school before the students master English at the necessary level...
- tpush 7y agoThis comment is a good way to see all the HN users who go off of a comment without reading it fully.
- collyw 7y agoDoesn't everyone do that?
- hu3 7y agoTime is limited. I'd be lying if I said that I read all comments in full when their first paragraph appear to be nonsense. I'd rather move on to the next comment.
- 6gvONxR4sf7o 7y agoIs this what it means for communities to be too large? Like, you'd never do this to a coworker or a friend, but here there's enough content and users that you can say "fuck it" and assume you know better than what you didn't actually read.
- deleted 7y ago[deleted]
- hnal943 7y agoIn fairness, lots of people talk over their friends.
- adamlett 7y agoI fail to see how this is good way to see all the HN users. Why would I even want that? There must be thousands of HN users.
- bnt 7y agoHundreds even!
- 7y ago
- deleted 7y ago[deleted]
- manojlds 7y agoWe Programmers need multiple languages to avoid being affected by Snowcrash.
- varelaz 7y agoA lot of people don't speak English and I think it's main barrier to become a programmer or QA engineer.
- kmlx 7y agoit's much much easier to learn coding than to learn English. i have coworkers that don't speak English but have no problems coding.
- monoideism 7y agoWell, for people like us, obviously. I have many friends who are multilingual, and who can easily learn a 4th or 5th language if they want, but who have/would struggle with the logical and mathematical facilities required to code.
- j-pb 7y agoGood! We need less shitty software, the fewer people that write it the better. I don't get why you have to be a certified engineer to build a bridge, but you can be some bloke with a 2 weekend course in python to program medical computers, avionics, train scheduling systems and other stuff that kills people when it breaks. Non native speaker btw.
- pgcj_poster 7y agoGood point. There's just one problem: any moron can still be able to become a programmer if they come from an anglophone country. Therefore, I propose that all companies in English-speaking countries switch to using Linotte[1], which is based on French. I'm also going to submit a patch to GCC that will require the user to solve a differential equation before their code will compile. [1] https://en.wikipedia.org/wiki/Linotte https://en.wikipedia.org/wiki/Linotte
- j-pb 7y agoOn the fact that the atlantic has two sides: https://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD611.html https://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/E... > 1. good programming is probably beyond the intellectual abilities of today's "average programmer" 2. to do, hic et nunc, the job well with today's army of practitioners, many of whom have been lured into a profession beyond their intellectual abilities, is an insoluble problem 3. our only hope is that, by revealing the intellectual contents of programming, we will make the subject attracting the type of students it deserves, so that a next generation of better qualified programmers may gradually replace the current one.
- collyw 7y agoConsidering that it is a relatively limited set of keywords and operators that make up a programming language, wouldn't it be relatively easy to translate it to a more friendly version?
- varelaz 7y agoNope. You can translate instructions, but standard library and frameworks also should use local naming or it will be completely useless.
- intc 7y ago* https://wordsandbuttons.online/fortran_is_still_a_thing.html https://wordsandbuttons.online/fortran_is_still_a_thing.html "Fortran is not, of course, outdated, and it’s not at all complex. In fact, it has grown into these myths exactly because it is that good at what it does." Just wanted to share some positive FORTRAN vibes...
- johnisgood 7y agoYes, of course, in my opinion modern Fortran is awesome. http://fortranwiki.org/fortran/show/HomePage http://fortranwiki.org/fortran/show/HomePage is worth a check!
- Timpy 7y ago> Its users are scientists and engineers; not computer scientists and software engineers, but the real ones That's an unnecessary slight
- Ma8ee 7y agoYes, but it made me laugh.
- protomolecule 7y agoBut well-deserved :)
- jiofih 7y agoWhile it’s a good joke, in reality it does not compute. “Learning a new language” as in programming language, sits in the days-to-months range, while “learning a new language” as in Arabic takes months-to-years, so you’re building a much, much deeper chasm for others to cross and contribute, even though the source code remains English-based. You can already see this happening with some open source libraries coming from China, where the documentation and all discussion being in ZH already completely blocks foreign contribution.
- eloisant 7y agoAs you say it's already happening for project where all the documentation is not in English. So what's wrong if the language also is not in English? Can you not imagine that some projects don't care whether you specifically can contribute or not? It's not the first language not in English actually, WLanguage for example from WinDev can be written in English, French or Chinese.
- mattigames 7y agoNot only that, you can see people trying to escape the divisions on the programming language landscape, for example on the data-science field Python is miles ahead of any other language (and such homogeneity is widely seen as a good thing).
- oefrha 7y agoGiven that one in five person on the planet speaks Chinese as their first language, lack of “foreign” contribution will probably work out okay for them. Global contribution is nice but certainly not necessary. Whoever started the communities have the right to set the rules, using Chinese for (primary) documentation and discussion being one of them. If you don’t like it you can start your own.
- michaelmrose 7y agoPure numbers mean nothing. Neither a farmer with no internet nor an urban Chinese citizen with a mobile internet but no actual computer is liable to contribute much. There are 800 million Chinese internet users almost all are mobile only. Those that work as professional developers are expected to work insane hours that are unlikely to leave much time for public works after 9 to 9 6 days a week.
- protomolecule 7y ago"I should be able to read code written anywhere in the world and understand what it does" You cannot read tons of code written in the 1C language [0] unless you know Russian, but I don't think it's a loss for you or for Russians because it's a scripting language used by a suit of enterprise software dealing mostly with ever changing Russian accounting standards and tax code [1]. At the same time it's economically effective to use Russian language because it lowers the entry barrier into 1C programming and allows domain experts to understand some of the code. P.S. Yes, I didn't bother to read the second paragraph :) [0] https://govnokod.ru/1c https://govnokod.ru/1c [1] https://en.wikipedia.org/wiki/1C_Company https://en.wikipedia.org/wiki/1C_Company
- rebolek 7y agoMy Russian is shitty, but not so shitty to not understand what "govnokod" means :-)
- protomolecule 7y agoI hoped that someone would notice :)
- justbaker 7y agoAnyone with experience in 1C/tales of 1C? I've been curious about it since discovering it existed.
- protomolecule 7y agoNot me :) If you are interested in something specific I could try to google (or should I say 'to yandex' in this case?) that for you and hopefully you'll be able to read it with the help of Google Translate.
- jcelerier 7y agothat's certainly funny up to the day where you have to debug a codebase where all the function names and comments are in japanese. Also, I lost so much time searching for issues in badly-localized error messages that I nowadays just set my computers in english even though it's not my main language. It's just more efficient.
- Nasrudith 7y agoYeah I have seen that. It highlights the one weakness of text based code formats - still prevaling for a good reason. Multiple languages for developers is kind of a fringe case for functionality seen more in importers and fantranslaters.
- ourlordcaffeine 7y ago> It highlights the one weakness of text based code formats This is why I program exclusively in Piet
- SiempreViernes 7y agoEh, I had to support a codebase where the comments where in inproperly encoded cryllic. But happily the code was a php app that had lots of large hand crafted if soups for handling dates, so I'm pretty sure the comments were useless anyway.
- knolax 7y agoIn the current status quo your nightmare scenario (having to debug a codebase with comments in a diffeeent language) is precisely the everyday reality for non-English speaking devs. A Japanese dev could easily make the same comment as you, the difference being he actually has to deal with situation in question on a daily basis. You could make the argument that English is the "lingua franca" but the phrase itself demonstrates just how ephemeral that is. I've lived in places before where a generation ago Russian was taught as a "lingua franca". Nowadays you would be hard-pressed to find anybody with a good understanding of Russian (good enough to understand technical documentation) there, even amongst ethnic Russians.
- cmroanirgo 7y agoI love the video on the page. I like the way RTL looks and the way the author/creator specially mentions the beauty of arabic and how the code can be made to look aesthetically pleasing (not that I know anything about arabic personally). Too much of our time is spent on functionality and terseness: so it's great to see this project.
- tempodox 7y agoThat's exactly why all the HN'ers use JavaScript to write FORTRAN!
- Vosporos 7y agoTruly a Galaxy-brain move
- sam0x17 7y agoI think that the root issue here isn't as scary as it sounds (yes I know the OP is being ironic, but this is still a real concern that people have). One could easily write a tool that translates a foreign languages codebase into something english-readable. The plus here is that the bad google translations would probably yield descriptive names that are no worse than what we are already accustomed to.
- fxj 7y agoThis is valid python3, try it out. 數字 = 23 運行 = True 假 = False 整數=int 輸入=input 印出=print while 運行: 猜測 = 整數(輸入('輸入一個數字: ')) if 猜測 == 數字: 印出('恭喜, 你猜對了.') 運行 = 假 # 這會讓循環語句結束 elif 猜測 < 數字: 印出('錯了, 數字再大一點.') else: 印出('錯了, 數字再小一點.') else: 印出('循環語句結束') 印出('結束') See: http://reganmian.net/blog/2008/11/21/chinese-python-translating-a-programming-language/ http://reganmian.net/blog/2008/11/21/chinese-python-translat...
- pgcj_poster 7y agoI don't know any Lisp, but I wonder about doing something like this in one, since if I understand correctly, even things like conditionals are functions. I'm sure it would be possible with macros, but I wonder if you make a Chinese Lisp just by redefining functions.
- elangoc 7y agoIndeed! https://elangocheran.com/2014/10/30/exploring-programming-in-thamil-not-english-through-clojure/ https://elangocheran.com/2014/10/30/exploring-programming-in... https://youtu.be/MqjMZNwnYCY https://youtu.be/MqjMZNwnYCY Although I started the above project around the same time as Ramsey started his project in the original link (CLisp in Arabic), they were two entirely independent things. Ramsey's project is a 100% translation, whereas my project scales to other natural languages but is not a 100% translation. Tim and I worked on trying to make programming in other languages easier as a means to help more kids learn programming, and learn FP the Lisp way, which we explain as more natural. https://www.youtube.com/watch?v=Y3-53JoGPE4 https://www.youtube.com/watch?v=Y3-53JoGPE4 https://power-turtle.com/#freestyle https://power-turtle.com/#freestyle
- wostusername 7y agoConditionals are not functions in Lisp. They are 'special forms' since they have to control the evaluation of their arguments and functions always evaluate all their arguments. So, if you want to translate a lisp into another language you have to resort to macros.
- donkeyd 7y agoThis reminds me of projects I did specifically for the Dutch market, but were coded in English because we needed to facilitate non-Dutch developers. Each new feature started with finding translations for Dutch words to be used as variables in code. Then when we created the UI, we'd have everything but the field labels in Dutch, making bug reports confusing, especially for the non-Dutch developers. Good times!
- thomascgalvin 7y ago> I should be able to read code written anywhere in the world and understand what it does. I can't read the code written at my desk a week ago and understand what it does.
- rtkwe 7y agoAll that said I think there are benefits to confining languages principally to Latin script or making some kind of direct transliteration utility to Latin script since it's the language for ~70% of the worlds population [0]. It's very hard to learn to read and even more importantly hard to type in a different script. [0] https://www.worldatlas.com/articles/the-world-s-most-popular-writing-scripts.html https://www.worldatlas.com/articles/the-world-s-most-popular...
- AnIdiotOnTheNet 7y agoIt isn't really that hard to learn to read a different script, unless it's logographic. A solid week of study at the outside and then it is just a matter of practice to get faster.
- rtkwe 7y agoArabic is pretty rough because there's a lot of rules about how letters change based on the letters around them. Also it reverts me back to hunt and peck mode for a long time until I learn the new layout which will be a while if I'm just using it for programming.
- knolax 7y ago> it reverts me back to hunt and peck mode for a long time I don't see how that's a problem with Arabic specifically. The same would happen if you switched to typing English in Dvorak.
- rtkwe 7y agoIt is different... I don't have to switch to DVORAK to program in Latin script based programming languages it's a choice. I would have to switch to an Arabic layout to program in قلب.
- knolax 7y agoIf you can't even figure out how to switch Input Methods I don't think you're going to have good luck programming either. I also think you're conflating ASCII with the Latin Script. ASCII is easy to type and read, but anything outside of that range probably presents just as many burdens as say Tamil or Korean. The majority of Latin script languages however, are not limited to ASCII (for example é,ü, or €, which I ironically had to switch to a CJK Input method to type) making your "~70%" closer to whatever the population of native English speakers is. The "let's make things marginally easy for the majority at the expense robustness in a way where the benefits don't even approach the drawbacks" attitude is how we get things like NodeJS where we have people writing desktop apps in JS b/c the webdevs are more familiar with it at the expense of everyone running massive, slow, and vulnerable apps with 900 different libraries all downloaded from shady sources.
- _aleph2c_ 7y agoSpeaking as a Cobol programmer I find your comments deeply offensive.
- deleted 7y ago[deleted]
- sildur 7y agoSí, tienes razón. Deberíamos extender eso y expresarnos cada uno en nuestro idioma. La experiencia va a ser enriquecedora y seguramente no vamos a encontrar pegas.
- sudosteph 7y agoJes! Kaj se oni ne povas kompreni , tiam ni cxiuj povas lerni la lingvo universala, Esperanto. Nun ni povas skribi malbone en du o plus lingvoj! Tio estas plejbona de el plejbona.
- danharaj 7y agoThey had us in the first half I'm not gonna lie.
- shitgoose 7y agoWhat is wrong with FORTRAN??
- TheRealKing 7y agoNothing is wrong with (modern) Fortran (2018), although I'd argue that everything is wrong with using FORTRAN (77) for numerical computing in the new millennium. On the contrary, modern Fortran (2003,2008,2018,202X) is still truly the best and most expressive language for numerical scientific computing.
- this_is_ace 7y agoI appreciate that this is a joke but I agree with the first paragraph. We should be above this kind of language. It's completely incomprehensible for the vast majority of those that can interpret code. Regardless of where you were educated, or if you were self-educated, why would you want this?
- wheres_beef 7y agoI don't get why this is so controversial. Programming languages should absolutely be in a language that the majority of programmers can understand. Everyone is bringing up the fact that programmers can't understand each others' code; do we really think introducing more languages, whatever they may be, will help that?
- deleted 7y ago[deleted]
- t0mek 7y agoSince there's a lot of effort in this thread to deconstruct the joke, I just want to add that FORTRAN is probably reference to the classic "Real Programmers Don't Use PASCAL" [1]. In fact, the whole comment would fit there nicely. > If you can't do it in FORTRAN, do it in assembly language. If you can't do it in assembly language, it isn't worth doing. [1] https://www.ee.ryerson.ca/~elf/hack/realmen.html https://www.ee.ryerson.ca/~elf/hack/realmen.html
- OptionX 7y agoIkr? I mean since when does having a lingua franca ever helped any kind of scientific or technical progress? All those people writing in latin and greek despite not being their native language were just sheep trying to fit in. Like that Newton guy, just your typical apple-hipster trying to be one of the "cool kids". I think of myself as eclectic taster of the many fine cultures worldwide and since I just got python to print Hello World in the console I'm moving on to learning Swahili. It should take about a week. It's all just different languages anyway.
- pgcj_poster 7y agoIt seems that there are two theoretical extremes on this position: 1. All code should be written in English, and no one should ever use any other language in programming. 2. All code should be written in local languages, and no one should should ever use a common language for collaboration. I say "theoretical" because I've never heard anyone argue anything like the latter point, which you are satirizing here. On the other hand, there are people in this thread who seem to be arguing the former, which I find nearly as ridiculous.
- aezakmi 7y agoAnother episode of hackernews is socially inept. Good work!
- deleted 7y ago[deleted]
- dingoegret 7y agoI never put my finger on the trigger but then released it from the trigger so fast before. Nice meme at the end.
- chipotle_coyote 7y agoKind of remarkable that when I first read this comment thread, this was the top-rated comment, but while I was posting a short agreement with someone in this reply thread who noted that HN has a collective problem with snark and satire, pgcj_poster's comment was downvoted by people who apparently have a problem with snark and satire. I would put "/s" here, but when I say there are HN readers who really need to lighten the hell up sometimes, I am not remotely being sarcastic.