编程语言中的新想法在哪里?

0xF*_*0xF 7 history programming-languages language-design

我最近一直在研究编程语言的主题,从我所看到的,几乎没有严肃的语言尝试制作真正的"新"事物,这些事情在他们创作之前就没见过.

  • 为什么自1980年左右以来所有或多或少成功的编程语言只是结合了前人的各个方面?

我简直不敢相信编程语言"不能再好了"..

Jon*_*eet 16

我不是说真正的"新",而是说现代编程语言逐渐引入了几十年来在计算机科学中已经知道的想法,但并没有真正影响到行业 - 或者之前一直是小众语言,但不是在主流的.

例如,LINQ的许多想法本身并不新鲜 - 但对于许多开发人员而言,LINQ将是他们的第一次体验.

将其视为"产品化"以前"实验"功能的过程.当我最近与Eric Lippert谈话时,他说C#团队试图避免将"开放研究"的想法纳入语言 - 仅仅是因为他们无法判断这些想法是否会长期存在.在语言方面有充足的实验空间,但可能不是主流语言.

  • +1.我认为"想法 - >实验(概念证明)语言 - >小众语言 - >主流语言"可能是大多数编程概念在结束当今主流语言之前所采取的路径. (7认同)

rjh*_*rjh 14

呃,Perl 6

  • 关于值,变量,子例程和类型的活动元数据
  • 参数化角色
  • 宏(在Perl中实现),可以重写AST或源代码
  • 在Perl 6中实现的语法,可以通过代码进行扩展或修改
  • 多个调度,分配调度,委托给调用链中的下一个项目
  • 语法作为语言中的第一类对象 - 可以解析几乎任何东西
  • 用户定义的中缀,前缀,可以使用任何Unicode字符的外接操作符
  • 可选的强打字
  • 多态相等测试
  • 假设变量
  • hyperoperators(列表的SIMD处理)
  • 协同程序
  • 懒惰的名单
  • 交汇点(具有多个值的变量)
  • 代码的自动并行化

Perl 6采用Perl,Ruby,Python等功能集,增加了一个可选的强类型系统,Smalltalk的OO,以及Haskell的功能 - 以及更多的创新:就像Perl 5将正则表达式带入主流一样, Perl 6使非常规语法成为一等公民.是的,它正在开发中; 虽然不完整,但它正在快速发展:Rakudo Perl 6.

  • 但它会永远完成吗?我一直在等Perl 6这么久我忘了它. (2认同)

Rof*_*ion 6

人类还没有每两年发明一次车轮; 我们不断改进它.这同样适用于编程语言; 我们改进它而不是取而代之.


Mar*_*ers 6

什么潜台词连贯性

  • @dbemerlin:这是一种实验性语言.通常使用实验语言,这些想法在主流语言能够获得一些最好的想法之前可能处于休眠状态20年或30年.但主流语言变化缓慢,因为人们改变习惯的速度很慢. (2认同)
  • @dbemerlin:每个功能都是实验性的,直到它不是.如果它们没有首先用实验语言实现,那么我们今天认为理所当然的许多功能都不会存在. (2认同)

Dal*_*Dal 0

如果它没有坏,就不要修理它。

  • 如果您无法说出当前语言中您讨厌的 5 件事,则说明您使用该语言的次数还不够。 (11认同)