小编Ste*_*idt的帖子

考虑到unsafePerformIO,Haskell真的是一种纯粹的功能语言吗?

Haskell通常被引用为纯函数式语言的示例.鉴于存在,这怎么可能是合理的System.IO.Unsafe.unsafePerformIO

编辑:我认为"纯功能"意味着不可能将不纯的代码引入程序的功能部分.

haskell type-systems functional-programming referential-transparency unsafe-perform-io

44
推荐指数
2
解决办法
6974
查看次数

为什么Array的==函数不为Array(1,2)== Array(1,2)返回true?

Scala编程中,作者写道Scala的==函数比较值相等而不是引用相等.

这在列表上按预期工作:

scala> List(1,2) == List(1,2)
res0: Boolean = true
Run Code Online (Sandbox Code Playgroud)

但它不适用于数组:

scala> Array(1,2) == Array(1,2)
res1: Boolean = false
Run Code Online (Sandbox Code Playgroud)

作者建议使用sameElements函数:

scala> Array(1,2).sameElements(Array(1,2))
res2: Boolean = true
Run Code Online (Sandbox Code Playgroud)

作为解释,他们写道:

虽然这看似不一致,但鼓励对两个可变数据结构的相等性进行明确测试是语言设计者的保守方法.从长远来看,它可以帮助您避免条件下的意外结果.

  1. 这是什么意思?他们在谈论什么样的意外结果?如果数组在相同位置包含相同的元素,那么我还能从数组比较中得到什么呢?为什么equals函数可以工作List但不能工作Array

  2. 如何使equals函数在数组上起作用?

scala

22
推荐指数
2
解决办法
5392
查看次数

程序员将语言视为美丽的特征是什么?

在我看来,一些语言通常被认为比其他语言更美丽.这似乎适用于所有编程范例.是否有任何抽象/范式跨越的特征使程序员认为语言是美丽的?

编辑:如果您认为没有达成共识,请不要犹豫,陈述自己的观点

programming-languages language-design

4
推荐指数
1
解决办法
260
查看次数

是否有可能设计一种没有显着性能损失的动态语言?

与C/Java相比,在许多情况下是否可以设计类似Ruby或Clojure的东西而不会显着降低性能?硬件设计是否起作用?

编辑:有意义的是我的意思是数量级,而不仅仅是十次

编辑:我怀疑delnan是正确的,我的意思是动态语言,所以我改变了标题

performance programming-languages dynamic-languages language-design high-level

4
推荐指数
1
解决办法
305
查看次数

开发CRUD Web应用程序时,典型的瓶颈是什么?

更新:更精确的措辞可能是" 开发CRUD Web应用程序时的典型性能瓶颈是什么?

我在想网络应用程序,如:

  • Weblog CMS
  • 词汇训练师
  • 网址缩短
  • 互联网论坛

我正在考虑编程语言,如:

  • 红宝石
  • 斯卡拉
  • Clojure的

我在想数据库系统,如:

  • PostgreSQL的
  • MongoDB的
  • CouchDB的

我正在考虑像以下操作系统:

  • Mac OS X.
  • Linux的

我正在考虑典型的现成硬件配置:

http://english.keyweb.de/dedicated/index.shtml

我想到的可能的软件瓶颈是:

  • 编程语言
  • 数据库系统
  • 操作系统

我想到的可能的硬件瓶颈是:

  • 中央处理器
  • 内存
  • 硬盘
  • 网络

ruby-on-rails clojure lift

3
推荐指数
1
解决办法
1108
查看次数