是否有人使用D进行实际应用?如果是这样,你用它做什么?我似乎无法在用D写的网上找到任何大的东西.
尽管缺乏已知的大用户,D对我来说似乎是一种非常有用的语言,据TIOBE称,它相当受欢迎.
功能语言很好,因为它们通过消除状态来避免错误,但也因为它们可以很容易地自动并行化,而不必担心线程数.
作为Win32开发人员,我可以将Haskell用于我的应用程序的一些dll吗?如果我这样做,是否会为我自动采取真正的优势?如果是这样,那么编译器给我这个优势呢?
F#是否并行自动编写多个内核和cpu的函数?你会看到任务管理器中的线程数增加吗?
基本上我的问题是,如何以实用的方式开始使用Haskell,如果我这样做,我真的会看到一些好处吗?
这是一个语法问题.我有一个泛型类,它继承自泛型基类,并将约束应用于其中一个类型参数.我还希望派生类实现一个接口.对于我的生活,我似乎无法弄清楚正确的语法.
这就是我所拥有的:
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar { ... }
Run Code Online (Sandbox Code Playgroud)
首先想到的是:
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar, IFoo { ... }
Run Code Online (Sandbox Code Playgroud)
但这是不正确的,因为这导致T2需要实现IBar和IFoo,而不是DerivedFoo来实现IFoo.
我尝试了一些谷歌搜索,使用冒号,分号等,但我已经调整了.我确定答案很简单.
我是一名C++程序员,正在尝试学习Common Lisp.我看了一些像Land of Lisp这样的书,并阅读了很多关于Lisp各种优点的在线文章.但是,我需要一些建议.
几乎所有我读过的关于Common Lisp的内容都与它的惊人之处有多大关系,以及它如何以惊人的速度完成这项工作以及它如何以30年前的现代编程语言解决许多问题.还有多么令人惊奇的宏,以及每个编程范例(OO,功能,基于actor或其他等)如何在Lisp中使用,以及列表如何是最终的数据结构.基本上将Lisp视为一种研究语言,并说它是多么的不同和革命性.
所有这些东西都可能是真的,但问题是我没有看到很多东西如何做实际的事情,如读取文件并将其拆分成文字并对其进行一些处理.为了学习Common Lisp,我对学习Common Lisp不感兴趣,但为了让我以前在C++中做的事情做得更快,错误更少.
所以我的问题是什么是最好的资源(无论是网站,书籍,什么),专注于教授如何使用Common Lisp来完成常见的编程任务,如
而且也不太实际,立即注意到,如何实现LISP常用的数据结构,如堆,栈,二叉搜索树等,但可以使用像Lisp的列表操作是公正car
和cdr
正确的方式.我不知道.
我非常怀疑Lisp中的任何一个(列表中最后两个不太可能例外)是不可能的,或者人们不会那么喜欢它.我读到的上述内容提到了很多用Lisp编写的真实世界软件(想想雅虎网上商店).
但是,之前使用(?)命令式语言编程,我急于使用我所获得的新知识来编写实际应用程序.那么用Lisp学习编写实用软件的最快方法是什么?
顺便说一句,我看到彼得·塞贝尔的实践Common Lisp的,但是,以TOC来看,它只是触及了一些我想学习使用Lisp的做的事情.
还有一个问题,如果我可以(对不起,如果将两个问题合并为一个),我在哪里可以找到对Lisp函数和东西的引用?
我真的很想要Lisp.
今晚在我的日常技术谷歌搜索中我遇到了couchDB,在看到大量关于它如何比任何RDBM表现好十到一百倍的演示文稿之后,如何将它们从SQL语言,表格,主键等等中拯救出来.我决定亲自尝试一下.只有问题似乎我无法弄清楚它是如何工作的.
就像开始一样,我想使用couchDB编写一个Web联系人管理器.该项目将使用户能够做基本的事情
那么我该如何开始呢?
这里有一些我的想法
现在这里来了困难的部分,我真的不了解整个map/reduce概念以及如何使用它来完成我以前用SQL做的工作.还有视图如何处理分页,也分组.
我想构建一个屏幕,其中包含这样的链接分页集
John, Doe Johny, Hallyday Jon, Skeet A B C D E F **J** etc .... <-- those are link to see persons with that first name
我应该创建什么样的视图才能实现这一目标,如果你能提供样品就很棒.
联系文件.
{
type: 'contact',
firstname: 'firstname',
lastname: 'lastname',
email: ['home': 'foobar@foobar.net', 'work': 'foobar@foobar-working.net'],
phone: ['home': '+81 00 0000 0000'],
address: []
... some other fields maybe ...
}
Run Code Online (Sandbox Code Playgroud) 因此,每本Java教科书都讨论了Java的灵活性,因为它可以在运行时加载类.只需拼凑一个字符串并将其交给它Class.forName()
,然后抓住ClassNotFoundException
并处理它.这个理论太多了.
您能举例说明您是如何使用Java类加载来实现一个本来不可能或不容易的功能的吗?请注意,我不是问"有什么伟大的事情可以做什么?" - 我正在寻找真实世界的例子,无论是开源应用程序还是 - 如果你能够在不提供太多细节的情况下描述它 - 一个专有的应用程序.
编辑:当然,VM会根据需要懒惰地加载类.只要我确信我所需要的所有课程都在那里,这就是幕后的事情.我该怎么处理ClassNotFoundException
?假设我写了十页文本,并且PrinterDriver
找不到该课程.
让我们说有两个对象,Broadcaster和Listener.Broadcaster有一个名为Broadcast的事件,Listener订阅了该事件.如果在没有取消订阅Broadcast事件的情况下处理Listener,它将被保留在内存中,因为Broadcaster包含的事件委托引用它.
我很好奇的是,如果Broadcaster在没有Listener取消订阅或Broadcaster设置的情况下处理,则Broadcast = null会将Broadcaster保留在内存中吗?
除了一个认为不将事件设置为null的博客将把源保留在内存中(在此处找到)之外,我无法找到任何对这个问题有一个难以回答的问题.
我想听听为什么或为什么不解释的原因.
谢谢.
c# ×2
acid ×1
classloader ×1
common-lisp ×1
constraints ×1
couchdb ×1
d ×1
database ×1
dispose ×1
events ×1
f# ×1
generics ×1
git ×1
haskell ×1
inheritance ×1
interface ×1
java ×1
lisp ×1
popularity ×1