编程与软件工程en.wikipedia.org
非英语编程语言列表
Non-English-based programming languages
2013 — 2019,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这是维基百科上关于“非英语编程语言”的条目,收录了以中文、俄语、阿拉伯语、芬兰语等各种自然语言为基础设计的编程语言,以及 Perl 等允许改写语法以支持其他语言的例子。它引发了一个经典讨论:编程语言的关键词为什么几乎都是英语,用母语写代码会是什么体验。
为什么经久不衰:编程语言与自然语言、母语思维之间的关系是个历久弥新的话题,这个条目汇集了大量真实存在的非英语语言案例,每次重登首页都引发新讨论。
HN 评论精选
母语在脑中是“硬件级”解码的,英语母语者对编程关键词的体验与非母语者根本不同
用英语编程多年后,再看到母语编程语言会觉得它看起来和听起来都很滑稽。我认为母语在大脑中是底层固化的,直接唤起含义和联想,而第二语言至少要经过一层有意识的处理。同样,我听到母语的广告词时无法阻止大脑疯狂搜索含义,但用英语读完全无意义的内容却毫无负担。由此我想到,母语是英语的人对编程语言的体验可能相当不同——关键词会不断唤起根深蒂固的联想,又被编程语境不断重塑。
aasasd查看英文原文
Seeing a programming language in your native language after working with English ones, you discover that it looks and sounds pretty ridiculous. My belief is that the native language is ingrained on a low level in the brain, so it's decoded ‘in the hardware’ and directly invokes meanings and associations, whereas a second language goes through at least some level of conscious processing. The very same way, I'm physically unable to shut off the brain's frantic search for meaning when I hear some inane song lyrics or advertisement in my native language—which causes suffering whenever I get near television. Meanwhile, I'm completely comfortable reading or hearing total drivel in English until I consciously try to interpret it. Similarly, I can't skim in English as fast as I do in my language. This all brings me to the thought that native-English speakers probably have a rather different experience with programming languages, since the keywords must constantly invoke deeply ingrained associations but that's in turn modified by regularly seeing and thinking of them in the programming context. КОНЕЦ ЕСЛИ
非英语语言往往表达冗长、且缺乏编程术语,做母语编程语言有实际文化障碍
我学生时代想过用泰语做编程语言。主要问题之一是文化层面的:泰语习惯用多个词组合表达复杂含义,比如出租车司机是“人-驾驶-出租车”,理发师是“从业者-剪-头发”,所以语言会非常冗长。而且编程源自西方,很多概念泰语里根本没有对应词——我编程多年,至今不知道“软件”“类”“继承”“封装”用泰语怎么说。
tanin查看英文原文
I used to think about this when I was a student. I could totally make a programming language in Thai. Surprisingly, one of the main issues that I thought of was a cultural one. Thais culturally don't use a single word to encapsulate complex meaning. We use a combination of words to capture that kind of meaning. Just to give an example: a taxi driver is 'human-drives-taxi' in Thai. A barber is 'tradeperson-cuts-hair'. So, the programming language would be really verbose. Also, since programming originates from the western world, we never really have Thai words for many concepts in programming. I've been programming for years, and I have no idea how to say 'software', 'hardware', 'class', 'inheritance', 'encapsulation', 'abstraction', 'refactoring' in Thai.
翻译关键词不等于真正的非英语语言;不同自然语言的语义特性可能塑造出截然不同的编程范式
创造非英语编程语言和翻译一个英语编程语言是完全不同的。不同语言表达时间、状态的方式各异。以葡萄牙语为例,我们用两个动词区分“太阳是热的”(恒常状态)和“今天很热”(暂时状态)。如果编程语言从一开始就基于这样的语言设计,区分可变/不可变状态会自然得多。甚至可以用英语创造非英语思维的编程语言——Ruby 就是个好例子。
lucasrp查看英文原文
Create a non-English based programming language is very different from translating a english programming language. Different languages have different ways to express time, state, etc. If one translates a english programming language, it will be a translated English based programming language (not a Non-English base...) I`m a native portuguese speaker, for example. In portuguese, we "break" the "to be" verb in two forms: The "ser" verb to denominate an immutable state like "The sun is hot" and a "estar" verb to denominate a transitory state "It is hot today". My guess is that, if programming languages were made since the beginning with a language like that, the coding world would be a more pleasant place today. Things like differenciate mutable/immutable state would be much more natural. So, it`s possible even to create a Non-English based programming language IN English. Russian, japanese, etc. languages have their peculiarities, that could shape coding very different than what it is today. Ruby it`s a nice example of it. Just google about the subject, and found this material (http://blog.new-bamboo.co.uk/2010/12/17/learning-japanese-th...) Any rubyist-japanese-speaker who would like to give some thoughts on the subject?
从字符集、术语长度到语法形态变化,非英语语言做编程语言会带来大量实际麻烦
我觉得这是个糟糕的主意。以西里尔字母语言为例:字母表有33个以上字母,键盘上没空间留给程序员常用的符号;数学变量传统上用拉丁/希腊字母,难道要不停切换输入法?单词也长得多,英语有缩写习惯(variable→var),俄语没有;而且俄语形态变化复杂,改个单复数或性别,一串词都要跟着变。
lcedp查看英文原文
I think it's an awful idea. Let's take Cyrillic languages, Ukrainian/Russian as an example. * Alphabet has 33+ letters, so there is no space left for programmer's favorite symbols on layout: @#$^&{}[]|~`<>. Yep. * In Math variables' names traditionally are Latin/Greek letters, Cyrillic is used only when teaching kids. Again: switching layout all the time? No, thanks. * Words are simply much longer. And I mean much. In English even short words tend to become shorter (variable -> var). In Russian there is simply no such pattern exists. `var-set` -> `установить-переменную`. `var-get` - `получить-переменную`. * Words are stable in English morphologically. e.g. `last-msg-delivered` - `last-msgS-delivered` -> `последнЕЕ-сообщениЕ-доставленО` - `последнИЕ-сообщениЯ-доставленЫ` - if you change gender or from singular to plural etc you should change few words in a row. Seriously, it seems to me like trying to make things more complicated.
历次讨论
同类还值得读
开源应用架构
The Architecture of Open Source Applications
《开源软件架构》(AOSA)是一本在线免费书,邀请知名开源项目的作者亲自剖析其内部设计,涵盖 SQLAlchemy、LLVM、Audacity、Apache、Bash 等系统。
编程与软件工程上首页 9 次 · 2011–2024aosabook.org编辑精选编程语言简史:简短、不完整且多半错误
A Brief, Incomplete, and Mostly Wrong History of Programming Languages
一篇以戏谑、故意不准确的方式回顾编程语言史的博客文章,用夸张轶事和讽刺定义串起 Lisp、C、C++、Java、JavaScript、PHP 等语言。
编程与软件工程上首页 8 次 · 2009–2021james-iry.blogspot.comSQLite 是如何测试的
How SQLite is tested
SQLite 官方文档页,系统介绍 SQLite 的测试体系:多种测试方法(TCL 测试、模糊测试、回归测试、静态分析等)和海量测试用例,展示了这个小型开源项目如何靠极致测试获得…
编程与软件工程上首页 8 次 · 2009–2025sqlite.org编辑精选高级编程语言(2009)
Advanced programming languages (2009)
Matt Might 的经典文章,按用途推荐“高级编程语言”:如果追求就业就选主流语言,如果追求表达力、学术研究或创业,则推荐 Haskell、OCaml、Scala 等函数式语…
编程与软件工程上首页 8 次 · 2009–2022matt.might.net我的 Forth 与栈机器经历
Yosefk - My history with Forth & stack machines
作者以亲身经历回顾了使用 Forth 语言和栈式机器的历程:既赞叹其简洁优雅、代码量小、可自举的优点,也坦率指出栈操作在实际编程中的痛苦,以及 Forth 社区文化中的问题。
编程与软件工程上首页 8 次 · 2010–2024yosefk.com编辑精选