Live data from Hacker News

Non-English-based programming languages

en.wikipedia.org

221–228 of 228 posts

Re: Non-English-based programming languages

#221
post #115

Earlier quoted context omitted.

There has been a move recently away from the "master/slave" analogy in a lot of projects for a number of reasons including that one, which personally I think is a sensible choice. Of course, you get plenty of people saying that we should all not care about the origin or other meanings of words in programming, and yet they tend to care deeply about maintaining the status-quo.

>and yet they tend to care deeply about maintaining the status-quo. Because changing is more work than not. It shouldn’t be a surprise when people get upset because you want to change fundamental terminology in some software’s architecture because a group is triggered by the originally chosen words. E.g. Somehow master and slave are more offensive than killing parents and leaving orphans?

The use of "triggered" to dismiss issues people have is frankly, very silly. It's origin is in sufferers of PTSD who, when triggered, face very real and serious mental harm. Yes, we absolutely should try to be considerate to people who are triggered by certain things if we possibly can.

Now, assuming that you are just using the term as a trite implication that people bothered by these terms are just easily upset, I would question that. The transatlantic slave trade was a tragedy and its effects still haunt a huge number of people to this day.

Would you be OK with using holocaust analogies in your code? I would hope you would say no, and I imagine most people would agree. So we have established that there are references that are not suitable to make, and it is a question of degrees.

Changing these things is some work, yes, but it makes working with those systems nicer for a large number of people, for whom those analogies are a negative thing.

I'm definitely not advocating that every other term in computer science is defensible either. If you have an issue with certain ones, I would suggest bringing them up.

No one is suggesting that it should be illegal or anything, just some projects make those changes to improve the quality of those projects. And yes, how nice it is for people to work with a thing is absolutely a part of its quality.

Re: Non-English-based programming languages

#222

Earlier quoted context omitted.

Arguably none of these words existed in the modern programming sense 50 years ago. Even 'computer' was origially a person employed for calculating " rel="nofollow">https://en.wikipedia.org/wiki/Human_computer> . I struggle to imagine that thai can't do similar extensions - inheritance maps directly onto the personal concept of ownership down (human) lineages, surely you have that? Serious but weird suggestion, talk t…

>> 'software', 'hardware', 'class', 'inheritance', 'encapsulation', 'abstraction', 'refactoring' in Thai. > > Arguably none of these words existed in the modern programming sense 50 years ago. They did; that's why they were repurposed in computing. "Ware" means goods, especially something for sale. Hardware means the wares used in construction: screws, hinges, brackets and so on, or any equipment. Extending that to c…

I've always assumed refactor was related to factoring a mathematical equation.

Re: Non-English-based programming languages

#223
post #143

Earlier quoted context omitted.

French here, that's my experience as well. I want to emphasize that the huge majority of the non-english native programmers I know are pretty opposed to translating programming languages. However, my experience teaching Japaneses has been that what is crucial if you want to make a programming language accessible to different nationalities is to translate error messages correctly. Learning IF, FOR, RETURN is not hard.…

Cannot agree on error messages, had opposite experience with them. I always require all team members to install English versions of runtimes because it is easy to search non-trivial errors on the internet. Many translations are automatic or done by not very technical people and they sound weird in local language, e.g. many terms in Russian, even such simple as "heap allocation", are really weird. An English error tha…

> But basic English knowledge is assumed

Let's be clear: it is my opinion that today, basic english is a pre-requisite to any programmer.

What I am saying is that people making "native" programming language seem to want to change that and that they are misguided if they think the language is the crucial part. The crucial part are the error messages, which indeed are often very poorly translated.

Yes, heap/stack would look weird in french as well, but as weird as they look in english the first time you encounter them. However if you translate the error message correctly, a novice programmer will understand that it is a memory problem and may try to hunt the error more efficiently.

Re: Non-English-based programming languages

#224
post #223

Earlier quoted context omitted.

Cannot agree on error messages, had opposite experience with them. I always require all team members to install English versions of runtimes because it is easy to search non-trivial errors on the internet. Many translations are automatic or done by not very technical people and they sound weird in local language, e.g. many terms in Russian, even such simple as "heap allocation", are really weird. An English error tha…

> But basic English knowledge is assumed Let's be clear: it is my opinion that today, basic english is a pre-requisite to any programmer. What I am saying is that people making "native" programming language seem to want to change that and that they are misguided if they think the language is the crucial part. The crucial part are the error messages, which indeed are often very poorly translated. Yes, heap/stack would…

I learnt my basic English while programming. Definitely not a prerequisite !

Re: Non-English-based programming languages

#225
post #203
post #46

Earlier quoted context omitted.

Maybe look at a different programming paradigm then? :) I remember trying to learn APL and then watching https://www.youtube.com/watch?v=v7Mt0GYHU9A and was amused that there is this world where programming is just symbols :D So maybe look at i.e. something apl-like, or maybe ml or haskell or erlang, where so many things you can do with functions and composing them, or even Prolog, where everything could be thought o…

APL is great. If you haven't seen them, the late John Scholes did a number of absolutely beautiful demonstrations programming in APL[1], [2], [3]. [1]: https://www.youtube.com/watch?v=DsZdfnlh_d0 [2]: https://www.youtube.com/watch?v=DmT80OseAGs [3]: https://www.youtube.com/watch?v=a9xAKttWgP4

For anyone looking to get into APL, Adám at Dyalog posts a lot of answers on the CodeGolf and Programming Puzzles StackExchange site often with expanded/explained code, and he hangs in the "APL Orchard" chatroom on SO. His profile says "always excited to [talk about] APL" and that seems to be genuine. - https://codegolf.meta.stackexchange.com/users/43319/ad%C3%A1...

The most public APL dialect using the classic symbols (not J/K/Q/etc) seems to be Dyalog APL - they offer one of their older versions 14 free for non-commercial use (Windows), and they offer their current version 17 free for non-commercial use if you give them your full details (maybe Linux as well?). There is a book "Mastering Dyalog APL" by Bernard Legrand from ~2008 which is available as a PDF with companion files from: https://www.dyalog.com/mastering-dyalog-apl.htm although they have added to the language since that book was released.

There are other APL interpreters - GNU APL, NARS2000, ngn/apl, dzaima/apl (Java/Android) in various states of development and license conditions, and the developers of the last two are also sometimes in the APL Orchard chatroom on StackExchange.

Online there's https://tryapl.org/ run by Dyalog, and https://tio.run/# which has three APL interpreters.

The classic 1970s book "APL\360 an Interactive Approach" by Gilman and Rose is online as a PDF here: http://www.softwarepreservation.org/projects/apl/Books/ with other books as well. That's before the {} syntax for anonymous functions was added to the language, and other developments.

Videos:

Jay Foad while he was at Dyalog, talking through some Advent of Code puzzles with APL: https://dyalog.tv/Webinar/?v=Q_vgSN6rza0 (might want to skip the introduction of explaining the Advent of Code puzzle format).

Aaron Hsu with Dhaval Dalal and Morten Kromberg, talking through some problems using APL https://www.youtube.com/watch?v=Gsj_7tFtODk

And anything that you get from YouTube searching for Aaron Hsu, he has several talks / presentations from high level ideas to working with trees represented using arrays.

Re: Non-English-based programming languages

#226
post #129

Earlier quoted context omitted.

Similarly though, I don't think any programming language is really "based on English" or "captures the core of the [English] language", in any meaningful way. So isn't the situation basically the same between English and Polish? Just like Polish noun cases, I don't see how any of the interesting distinctive features of English are captured by programming languages.

Well English is analytic language, so the syntax of if, while, and positional arguments of functions reflect that.

Good point.

Re: Non-English-based programming languages

#227
post #102

Earlier quoted context omitted.

I think the same for programming languages. For example, all old LISP programs were capitalized. Nowadays we call it lisp and everything is primarily lowercase (Not Even CamelCase). It's pretty rare to see capitalized lisp code these days. Here's a bit of parody code I wrote on the subject. https://github.com/ksaj/Capitalize.Lisp (protip: It doesn't do anything the comments say it does, even though the results appear…

Older versions of FORTRAN where upper case though you could use Mixed case for Hollerith statements (used for Mixed case output) It was considered a bit flash to use this but for interactive programs input prompts looked a lot nicer.

I used to program in assembler. You can't imagine the glee that erupted within me the day I discovered you didn't have to write all caps. It changed my coding aesthetics immediately.

Nowadays I only use ALLCAPS to visually mark code that I want to refactor, or where later attention is needed, such as for code that might open security vulnerabilities if handled incorrectly.

Re: Non-English-based programming languages

#228

What features in a human language would make it the optimal basis for a computer language?

The degree to which words are inflected by context. In English, it's almost nil. In Chinese, it's nil. Lingua Romana Perligata is an amusing example of how to use a heavily inflected language for programming, but it shows why you don't really want to do that.

I've heard that Perligata has actually been used in production. (It was similar to their native language.)
Post reply on HN