我对语言功能有一个想法:
在 C# 中,如果能够将 foreach 语句与 for 循环结合起来(例如最多只运行 50 个项目),对我来说会很有用。我意识到这可以这样做:
int count = 0;
foreach (item in Items)
{
if (count > 50) break;
item.acknowledge();
count++;
}
但我认为如果可以这样写(或类似的东西)就好了:
foreach (upto 50 item in Items)
{
item.acknowledge();
}
虽然这个建议相当微不足道,但它让我想知道谁可以决定哪些语言特性使其成为一种语言。 C# 是由 Microsoft 首创的,所以我确信公司内部有一个专门负责这方面工作的部门,但是像 PHP 这样的开源语言呢? (java算不算?我知道他们在java 7中有switch字符串,谁负责?)过程是什么?
最佳答案
该过程取决于语言。例如,Java 有一个用于批准语言(我认为是核心库)更改的特定且正式的流程:基于称为 JSR 的提案的 Java 社区流程。 (我不确定自 Oracle 收购以来这种情况是否发生了变化;我个人对 JCP 并不熟悉。)对于 C#、Visual Basic 和 F# 等 Microsoft 语言,看门人是 Microsoft 内部的语言设计团队(正如 faester 所言) )。这些团队通过非正式方式从客户那里获取意见,但也通过 MSDN Connect 和 Microsoft MVP 计划等计划更正式地获取意见。此外,还有像 Python 这样的社区,其中的讨论和设计过程更加开放(例如,在邮件列表上进行),尽管在 Python 的情况下,仍然有最终权威 Guido van Rossum。
因此,如果您孤立地问“谁来决定”,实际上没有任何答案。你必须问“谁决定使用 X 语言?”真的。
关于programming-languages - 谁决定将哪些功能纳入语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5904006/