gou*_*our 15 user-interface haskell programming-languages d
我喜欢haskell和许多与它相关的东西作为它的类型引擎,Hackage的很多软件包,很好的社区,积极的开发等.
Otoh,我有一些经验,有些人放弃了我们计划中的项目,考虑到Haskell过于复杂(monads,很多来自学术界的行话......)到grok(来自C++背景),所以可能更容易将一些开发者带到我们的如果我们使用D,那就是开源项目
我们想要开发一般桌面应用程序,它需要有数据库后端(可能是sqlite3),使用C-lib进行一些广泛的计算任务(星历计算)并使用Qt工具包,因为我们希望为MeeGo提供'轻型'版本.未来.
由于我们的功能列表很长并且考虑到我们将在空闲时间开发,因此可能需要很长时间来编写我们想要的所有内容,因此能够轻松地记录源代码以及维护是很重要的因素.
Python和其他脚本语言对于项目来说太慢了,我不想在这么多年后再回到C++,嘿,更喜欢一些更高级的编程......没有太多细节,我已经排除了其他一些langauges以及(Go,Clojure,Java ..),它将列表下载到Haskell与D.
关于D的一个问题是,暂时的QtD项目被暂停,所以我很好奇,如果在短期内甚至可以将D视为适当的选择.
任何可能更适合作为涵盖Linux/MaC/Windows平台的通用编程语言的优点/缺点?
编辑:我只需添加链接到我发送到D列表的帖子,在那里我会更详细地解释我们的要求.
Don*_*art 11
Let's tease out some requirements here, and I'll try to make the Haskell case. Perhaps the D fans or others could try to do the same.
So Haskell's certainly used for desktop and server-side applications. The tools are available for all modern desktops, just using the Haskell Platform.
Well known database backends for Haskell, that have significant use, are HDBC-* and sqlite, though there are many others.
Other commercial groups that have used database-driven apps in Haskell include: Galois (our sqlite library is linked above); Deutsche Bank (see the talk); Hustler Turf Equipment (home of HDBC).
Haskell has a high level, widely used FFI, that is a standard part of Haskell 2010.
qtHaskell was developed for a commercial application, and is used by e.g. JoyRide Labs for their commercial games.
Haddock is widely used. Other analysis tools like: graphmod and sourcegraph also help with requirements documentation.
Several commercial users have cited purity and strong types as easing the maintainance burden for applications over long project cycles, as they make it easier to make local, safe changes to code. Purity reduces the complexity between components, and types ensure refactorings are sound.
Size of the community -- the open source Haskell community is thriving now, on par with other large FP languages (Erlang, Scala). The commercial users are funding direct development of GHC, ensuring its long term availability, and there are many experience reports to draw from. Hackage and Cabal help mitigate risk by making it easy to pull in new open source work -- saving you time.
我对你的评论很谨慎:
Python和其他脚本语言对于这个项目来说太慢了
以简单易懂的方式编写的Haskell可能比python快一个数量级.通过挑剔Haskell程序的细节,可以使它像低级C程序一样快,但它很棘手,耗时,并且需要大量的知识,例如.GHC的代码生成机制.
你说你已经在使用C绑定了,那么速度又重要吗?我只是担心你基于你没有检查过的假设扔掉了很多很棒的工具.听起来您需要一个具有出色库支持的工具.
Scala,Scheme,C#/ VB.NET(单声道)怎么样?我无法想象有什么奇怪的标准会让你限制你对Haskell和D的选择.
也就是说,Haskell是一门很棒的语言.如果它适合您的项目,那就去吧.稍微打开你的思想,这样你就不会选择Haskell,当有一些其他的工具可以让你完成10%的工作以获得相同的结果.