由买买提看人间百态

topics

全部话题 - 话题: haskell
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
s**a
发帖数: 1995
1
来自主题: NewYork版 - 《紐約生活》10月21日~10月27日
《紐約生活》10月21日~10月27日
October 20, 2013 06:10 AM | 340 次 | 0 0 評論 | 3 3 推薦 | 電郵給朋友 | 打印
皇后區植物園展「侵入性色彩」。
皇后區植物園展「侵入性色彩」。


舞台劇「無所隱藏」。
舞台劇「無所隱藏」。
卡內基音樂廳社區街坊音樂會: Sean Jones爵士樂四重奏。
卡內基音樂廳社區街坊音樂會: Sean Jones爵士樂四重奏。
紐約植物園日本菊花展。
紐約植物園日本菊花展。
1027 紐約阿拉伯語喜劇秀
1027 紐約阿拉伯語喜劇秀
1026 鋼琴家Haskell Small「沉默之旅」演奏會
1026 鋼琴家Haskell Small「沉默之旅」演奏會
【10月21日 星期一】
●「侵入性顏料」園藝展Invasive Pigments
時間:8am-6pm
地點:皇后植物園(Queens Botanical Garden)法拉盛緬街43-50號
查詢:http://www.queensbotanical.org/
門票: 成人$4,耆老3$,學生$2,會員免費。藝術家Ellie Irons利用提煉... 阅读全帖
l**n
发帖数: 7272
2
来自主题: Apple版 - Unix的缺陷(ZT)
虽然这里的码工比较少,但是能appreciate coding和programming的朋友也可以看看。
我觉得挺有意思的。
http://blog.sina.com.cn/s/blog_5d90e82f01014k5j.html
我想通过这篇文章解释一下我对 Unix 哲学本质的理解。我虽然指出 Unix 的一个设计
问题,但目的并不是打击人们对 Unix 的兴趣。虽然 Unix 在基础概念上有一个挺严重
的问题,但是经过多年的发展之后,这个问题恐怕已经被各种别的因素所弥补(比如大
量的人力)。但是如果开始正视这个问题,我们也许就可以缓慢的改善系统的结构,从
而使得它用起来更加高效,方便和安全,那又未尝不可。同时也希望这里对 Unix 命令
本质的阐述能帮助人迅速的掌握 Unix,灵活的应用它的潜力,避免它的缺点。
通常所说的“Unix哲学”包括以下三条原则[Mcllroy]:
一个程序只做一件事情,并且把它做好。
程序之间能够协同工作。
程序处理文本流,因为它是一个通用的接口。
这三条原则当中,前两条其实早于 Unix 就已经存在,它们描述的其实是程序设计最... 阅读全帖
a*****e
发帖数: 1700
a*****e
发帖数: 1700
t****a
发帖数: 1212
5
这几天板上又开始吵语言,干脆把这个顶起吧
另外求教lisp/clojure和haskell的区别。我现在主攻clojure/emacs lisp,但总是听
说haskell多么好多么好。有两种语言都熟练的朋友替我科普一下他们的长处短处么?
我自己的想法...
haskell的库不够,而且没有jvm/llvm之类支持;clojure是动态的,速度比haskell差
得多,但天生有java library support,又可以code as data自己写macro瞎搞
t****a
发帖数: 1212
6
谢谢好虫大牛理智的回复,这年头在mitbbs上理智倒是个稀缺的东西。
不过我看不明白你想论证什么:你是想论证FP没有继承和多态性么?你从
stackoverflow拿来的例子是haskell的,haskell这种static typed pure FP语言有内
建的多态性支持,通过type class实现:
http://en.wikipedia.org/wiki/Polymorphism_%28computer_science%2
我不懂Haskell。版上blaze同学貌似是haskell大拿,还得请他指教。
Clojure这种动态的FP语言也有内建多态支持
http://clojure.org/runtime_polymorphism
有意思的是Clojure里对object的定义不过是一个hashmap。在我看来所有的class都可
以定义为hashmap。简单,轻便,动态,programmable,犯不着写一大堆定义。
多态并不是只有Java这样的OOP才有 :)
呵呵,如果不是goodbug提这点,我还真不知道。Now, problem solved.

"
OO
E*****m
发帖数: 25615
7
来自主题: Programming版 - Python is easy and not easy

別叫我大牛,我沒那麼厲害,我是真神。
我覺得 Haskell 真的挺難的, 沒有真的去寫個大點的東西
恐怕真的永遠都學不會, 太多觀念是別的語言裡都沒有的,
lazy, monad, monad transformer, currying, category theory...
尤其是沒搞過FP 的恐怕很難接受。
Haskell 給一般碼工用到的可能性實在很低, 雖然語言
夠成熟,速度也行, 公司真的要用 Haskell 還是頗需要勇氣的。
話說如此,學 Haskell 是對個人還是挺有幫助的。
E*****m
发帖数: 25615
8
来自主题: Programming版 - functional programming?
我認為 Haskell 的最大賣點應該是不讓你做某些事, 強迫你別弄出
不該有的錯誤。
再說一次, Python 的 laziness 不是同個等級的, 完全不能比。
Haskell 的速度也比 Python 快得多。
Real World Haskell 比 Learn yourself a Haskell 更好點。
G***l
发帖数: 355
9
来自主题: Programming版 - functional programming?
这个是很好,但是好像也偶缺陷。比如我以前用Java写,用户输入是各种文本,然后在
后台程序里,我在Java里面把这些文本parse成AST并且interpret,最后得到他们的结
果,比如:
用户写的dsl是MonthDiff(Date1, Date2) + 1 > SomeValue
我读入这个文本到monthControl, 并且在inputData里放入Date1, Date2, SomeValue的
值(从数据库或者什么地方读过来的)。然后写,
//evaluate里做parsing和interpret
result = evaluate(monthControl, inputData)
if(result)
{
//do business logic
}
这样用户就可以写dsl直接控制我程序里的logic。假如改用haskell用embedded的话,
我的haskell程序没法直接调用那个dsl,除非把那个dsl写到我的source code,然后动
态编译运行,但是我不想要那样。或者可以有什么类似swig之类的东西让我动态调用
haskell code,但是我没法... 阅读全帖
E*****m
发帖数: 25615
10
来自主题: Programming版 - functional programming?
我認為 Haskell 的最大賣點應該是不讓你做某些事, 強迫你別弄出
不該有的錯誤。
再說一次, Python 的 laziness 不是同個等級的, 完全不能比。
Haskell 的速度也比 Python 快得多。
Real World Haskell 比 Learn yourself a Haskell 更好點。
G***l
发帖数: 355
11
来自主题: Programming版 - functional programming?
这个是很好,但是好像也偶缺陷。比如我以前用Java写,用户输入是各种文本,然后在
后台程序里,我在Java里面把这些文本parse成AST并且interpret,最后得到他们的结
果,比如:
用户写的dsl是MonthDiff(Date1, Date2) + 1 > SomeValue
我读入这个文本到monthControl, 并且在inputData里放入Date1, Date2, SomeValue的
值(从数据库或者什么地方读过来的)。然后写,
//evaluate里做parsing和interpret
result = evaluate(monthControl, inputData)
if(result)
{
//do business logic
}
这样用户就可以写dsl直接控制我程序里的logic。假如改用haskell用embedded的话,
我的haskell程序没法直接调用那个dsl,除非把那个dsl写到我的source code,然后动
态编译运行,但是我不想要那样。或者可以有什么类似swig之类的东西让我动态调用
haskell code,但是我没法... 阅读全帖
d******3
发帖数: 70
12
来自主题: Programming版 - clojure这语言真不错
不是大牛,抛块砖头看看。Haskell认为95%的程序都可以用纯粹的FP来实现,完全不需
要mutable state。剩下5%的代码不得不用state来实现。所以Haskell就把纯和不纯的
Function严格区分出来,就像黑白两个世界一样,让程序员一目了然。所以从这方面来
说,Haskell也不是纯粹的FP语言。但是当state的转变被压缩到一小块程序中后,逻辑
思路就比较容易整理清晰。不知道Closure是不是也有类似的机制? 我最欣赏Haskell
的地方就是它既有静态语言的type checking,又有动态语言的简洁性,就是上手慢一
点。
n****1
发帖数: 1136
13
说些我对FP更极端点理解: 每一个pure functional program都是一个特殊的数据库软
件(不是数据本身!).
下面是解释:
通过relational algebra在haskell中的现成实现, haskell可以轻松实现一个adhoc的
sql关系数据库(haskell 有software transactional memory可以实现database
transaction), 那么通过其他的数学结构,haskell也可以实现其他结构的数据库软件.
数据库软件本身不带状态, 而我们通过insert/update/query来添加或改变状态. 这个
状态就是FP的整个runtime snapshot,它随着程序的开始而建立,当程序死亡时也随之消
失. (类比sql数据库,启动时从硬盘导入,关机时export到硬盘)
也就是说,pure functional program的行为和mysql类似, 它们对每一个request给出一
个response,但不肯能主动action.
这个和web时代的web server/SOA很像, FP不适合做最终的IO glue ... 阅读全帖
n****1
发帖数: 1136
14
不同意这个正交观点
由于immutable, 如果function不是first class, 那程序就不是图灵完备. 所以
immutabel和1st class function是必须在一起的
List只不过是一种特殊的数据结构, 它是monad的一种. lisp全用它, 只是因为结构简
单好理解,可以用来构建其他结构罢了. 要知道在haskell里, list不是primitive,而是
个libary实现. 你完全可以实现自己的list.
Pure Functional最强调的:
1. Immutability
2. Composibility
3. Polymorphism (both adhoc and parametric polymorphism)
Composibility主要是来源于特殊的数学结构,比如functor/arrow/monad, 每种结构都
有很强的限制性假设,这个和FP语言无关.
Haskell里面的adhoc polymorphism是由typeclass来实现的, parametric
polymorphism是parametric dataty... 阅读全帖
a*w
发帖数: 4495
15
秒杀造册、北京二、上海老将...
程序员的心理疾病
说实话,虽然似乎为之奋斗了十多年,在真正进入软件行业的短短一年之后,我已经对
它感到相当的厌倦了。这并不是说这个行业没有前景,而是在这个行业工作,其实很难
得到心理上的快乐。
人们说女怕嫁错郎,男怕入错行。我并不认为自己入错了行,我仍然很喜欢设计程序和
语言,而且我显然是这个领域的王牌之一。然而我却看到了这个行业里的无限混沌,让
我觉得喘不过气来。几十年的垃圾设计堆积在那里,却没有人试图把它们清理掉,权威
主义盛行。无论你在哪个公司,哪个地方,只要跟程序员说话,十有八九会谈不来。非
常扫兴不说,甚至感觉很伤自尊。
久而久之我发现了,由于程序员工作的性质,他们受到的“熏陶”,形成了一种行业性
的心理疾病。这里我就简单的把我所观察到的一些症状总结一下。
无自知之明
由于程序员的工作最近几年比较容易找,工资还不错,所以很多程序员往往只看到自己
的肚脐眼,看不到自己在整个社会里的位置其实并不是那么的关键和重要。很多程序员
除了自己会的那点东西,几乎对其它领域和事情完全不感兴趣,看不起其他人。这就是
为什么我的前同事 TJ 作为一个资深的天体物... 阅读全帖
z****e
发帖数: 54598
16
给你们解读一下王在写什么吧,看看在说谁,哈哈
程序员的心理疾病
说实话,虽然似乎为之奋斗了十多年,在真正进入软件行业的短短一年之后,我已经对
它感到相当的厌倦了。这并不是说这个行业没有前景,而是在这个行业工作,其实很难
得到心理上的快乐。
...
由于程序员的工作最近几年比较容易找,工资还不错,所以很多程序员往往只看到自己
的肚脐眼,看不到自己在整个社会里的位置其实并不是那么的关键和重要。很多程序员
除了自己会的那点东西,几乎对其它领域和事情完全不感兴趣,看不起其他人。这就是
为什么我的前同事 TJ 作为一个资深的天体物理学家,在一个软件公司里面那么卑微。
貌似会写点 node.js,iOS 软件的人都可以对他趾高气昂的样子,而其实这些东西的价
值哪里可能跟 TJ 知道的物理知识相提并论。让人感觉是在阴沟里翻了船被老鼠欺负。
------------在骂node.js,二爷此处不爽
如果力学工程师犯了错误,飞机会坠毁;如果结构工程师犯了错误,大桥会垮塌;可是
如果软件工程师犯了错误,大不了网站挂掉一小时,重启一下貌似又好了。所以所谓“
软件工程师”,由于门槛太低,他们的工作严谨程度,其... 阅读全帖
m****a
发帖数: 2593
17
来自主题: Programming版 - 王垠: 程序员的心理疾病
看了这篇,我觉得王垠是个很有自知之明,观察力非常敏锐的人
http://www.yinwang.org/blog-cn/2014/02/09/programmer-mental/
程序员的心理疾病
说实话,虽然似乎为之奋斗了十多年,在真正进入软件行业的短短一年之后,我已经对
它感到相当的厌倦了。这并不是说这个行业没有前景,而是在这个行业工作,其实很难
得到心理上的快乐。
人们说女怕嫁错郎,男怕入错行。我并不认为自己入错了行,我仍然很喜欢设计自己的
程序和语言,而且我显然是这个领域的王牌之一。然而我却看到了这个行业里的无限混
沌,让我觉得喘不过气来。几十年的垃圾设计堆积在那里,却没有人试图把它们清理掉
,权威主义盛行。无论你在哪个公司,哪个地方,只要跟程序员说话,十有八九会谈不
来。非常扫兴不说,甚至感觉很伤自尊。
久而久之我发现了,由于程序员工作的性质,他们长期以来受到的“黑客”式的“熏陶
”,形成了一种行业性的心理疾病。这里我就简单的把我所观察到的一些症状总结一下。
无自知之明
由于程序员的工作最近几年比较容易找,工资还不错,所以很多程序员往往只看到自己
的肚脐眼,看不到自己在整个社... 阅读全帖
w***g
发帖数: 5958
18
来自主题: Programming版 - 想写一个machine learning的平台
我感觉haskell搞啥都没系。太难了。
具体到ML,ML和计算机语言是CS里差得很远的两个领域,要说搞Haskell的会几种ML算
法倒有可能,ML researcher大部分既不会haskell也不会对语言层面的东西感兴趣。而
ML的发展动力来自于ML research community而不是programming language community
。这就导致了Haskell里的ML算法基本上只可能是二手货。
a*****e
发帖数: 1700
19
来自主题: Programming版 - 对 (im)mutability 的误解和深度理解
首先,没有任何 FP 语言是不支持 mutable 的!持有这种观点的,请先去补习一下基
础知识。
鉴别 FP (其实是 declarative)和 imperative 的关键是看它们对 mutability 的区分:
A. every variable is mutable. 多数 duck typed 脚本语言都是这类。
B. mutable by default, immutable by declaration. Java, C, C++ 等勉强属于这类。
C. immutable by default, mutable by declaration. SML, Clojure,
Haskell 属于这类。
然后 B 和 C 都还可以进一步细分,根据 declaration 到底是说变量,还是类型,还
是操作,以下是一些例子。但这之前,有必要先讲讲闭包歧义这个问题:
闭包(Closure)是说将一个函数体里面的非本地变量的值和当前环境(lexical scope
)变量的值做绑定。要弄清楚这里面的语义,在大多数语言里都势必牵涉到一个实现的
问题,就是如果当前环境里一个局部变量... 阅读全帖
H****S
发帖数: 1359
20
来自主题: Programming版 - 王垠新文 为Java说句公道话
Haskell所有data structure都是immutable的,而且还是inherent lazy。
Haskell Machines库直接就是networked stream transducer
https://hackage.haskell.org/package/machines-0.6/docs/Data-Machine-Moore.
html
支持数据流的各种同步或者异步整合操作。
所以你这些根本就不能叫什么原创。我说几个Haskell特有的,GADT还有kind
polymorphism。这些才叫独有,即便Scala compiler暂时也不能从语言层面支持这些特
性。

Clojure
h*h
发帖数: 27852
21
来自主题: Programming版 - 王垠: 编程的宗派
http://www.yinwang.org/blog-cn/2015/04/03/paradigms
编程的宗派
总是有人喜欢争论这类问题,到底是“函数式编程”(FP)好,还是“面向对象编程”
(OOP)好。既然出了两个帮派,就有人积极地做它们的帮众,互相唾骂和鄙视。然后
呢又出了一个“好好先生帮”,这个帮的人喜欢说,管它什么范式呢,能解决问题的工
具就是好工具!我个人其实不属于这三帮人中的任何一个。
面向对象编程(Object-Oriented Programming)
如果你看透了表面现象就会发现,其实“面向对象编程”本身没有引入很多新东西。所
谓“面向对象语言”,其实就是经典的“过程式语言”(比如Pascal),加上一点抽象
能力。所谓“类”和“对象”,基本是过程式语言里面的记录(record,或者叫结构,
structure),它本质其实是一个从名字到数据的“映射表”(map)。你可以用名字从
这个表里面提取相应的数据。比如point.x,就是用名字x从记录point里面提取相应的
数据。这比起数组来是一件很方便的事情,因为你不需要记住存放数据的下标。即使你
插入了新的数据成... 阅读全帖
b***e
发帖数: 1419
22
来自主题: _FunctionalProgramming版 - 就FP而言lisp是不是已经很完美了,不说纯不纯
It really depends on your taste to say whether lisp is good enough or
not. lisp certainly has it strength:
+ It is much more flexible than almost any other languages. With the
powerful macro system, you can custom the language as much as you
want. Think of the possibility to define language construct such as
foreach by yourself.

+ There is no particular type system to fight against, as constract to
statically typed languages like ML/Ocaml/Haskell. This,
controversially, is good a... 阅读全帖
x*****u
发帖数: 3419
23
来自主题: _Kindle版 - 10 本 O'Reilly 出版的免费好书z
http://oreilly.com/openbook/
10 本 O'Reilly 出版的免费好书
在维护 [url=http://linuxtoy.org/]LinuxTOY[/url] 之余,我总是会看一些书籍来充实自己。然而现如今许多书籍价格
高昂,常常令囊中羞涩的我退步三舍。幸运的是,在网络冲浪的过程中,我遇见了一些
真正免费的好书。我想,这些书
值得推荐给喜好读书的朋友。本文将与各位分享 10 本由知名计算机图书出版公司
[url=http://oreilly.com/]O'Reilly[/url] 出版的免费好书,这些书或采用开放图书许可,或遵从创作共用协议,没有任
何版权问题,大家可放心阅读和下载。提醒一点: 点击书名即可进入该书的下载或阅
读页面。
[url=http://oreilly.com/catalog/linuxdrive3/book/index.csp]Linux Device Drivers[/url]
by Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman
[url=http://union.... 阅读全帖
m******t
发帖数: 1171
24
来自主题: Military版 - 王垠:程序员的心理疾病
码农们过来,老王给你们号脉了。
http://news.mydrivers.com/1/292/292325.htm
说实话,虽然似乎为之奋斗了十多年,在真正进入软件行业的短短一年之后,我已经对
它感到相当的厌倦了。这并不是说这个行业没有前景,而是在这个行业工作,其实很难
得到心理上的快乐。
人们说女怕嫁错郎,男怕入错行。我并不认为自己入错了行,我仍然很喜欢设计程序和
语言,而且我显然是这个领域的王牌之一。然而我却看到了这个行业里的无限混沌,让
我觉得喘不过气来。几十年的垃圾设计堆积在那里,却没有人试图把它们清理掉,权威
主义盛行。无论你在哪个公司,哪个地方,只要跟程序员说话,十有八九会谈不来。非
常扫兴不说,甚至感觉很伤自尊。
久而久之我发现了,由于程序员工作的性质,他们受到的“熏陶”,形成了一种行业性
的心理疾病。这里我就简单的把我所观察到的一些症状总结一下。
无自知之明
由于程序员的工作最近几年比较容易找,工资还不错,所以很多程序员往往只看到自己
的肚脐眼,看不到自己在整个社会里的位置其实并不是那么的关键和重要。很多程序员
除了自己会的那点东西,几乎对其它领域和事情完全不感兴趣,... 阅读全帖
b*****d
发帖数: 61690
25
来自主题: USANews版 - 左派教授也就这点出息
既然感到shameful,那就搬走。说让他搬走,他就被offend了。
“While hiking alone yesterday afternoon on Stringer’s Ridge, Senator
Corker was approached by Professor Haskell, who was hiking with three other
individuals,” spokesman Micah Johnson said.
“Professor Haskell began shouting at Senator Corker in a profanity-laced
tirade while pointing a finger in his face and told the senator that he was
embarrassed to live in a state where the citizens voted to overwhelmingly
elect Donald Trump,” he added.
“Senator Corker calml... 阅读全帖
l****p
发帖数: 397
26
来自主题: JobHunting版 - 面试的时候别太谦虚哈……
我在一门课的一两次作业用过Haskell,语法的很多细节都忘了,但真要让我用这门语
言做项目,我很快就能pickup的,所以弱弱地把这门语言写在简历Programming
Language一节的最后面,结果有一次面试刚好遇到个Haskell高手,非得让我用Haskell
写程序,我说了好多only, just都 没用,那个窘啊……到最后面试官直接跟我说自己
不熟悉的语言就别写到简历里去!
真不知道老美老印怎么处理这种情况的
r*****g
发帖数: 123
27
来自主题: ClassicalMusic版 - The Attentive Listener
The Attentive Listener: Three Centuries of Music Criticism.
by Haskell, Harry
这是一本不常见的书。我们平常见到的音乐评论,就其中好的而言,也只反映了一时的口
味。另外,古典音乐活力不再,说得再热闹也没有切身感。Haskell 搜集了三个世纪来有
代表性的评论,还亲自翻译了一部分,使得我们有机会了解人们的口味和所关注问题的变
迁。其中有很多我只闻其名而没得一见的文章。比如汉斯利克和萧伯纳对瓦格纳评论。
Haskell的前言也很精彩,引其中一句----
“......writing about music is always in some sense an exercise in futility.
Yet it hardly ever occured to them to question the POSSIBILITY of meaningful
criticism. Their mission - for to them criticism was a CALLING, not a mere
profe
b*****d
发帖数: 61690
28
【 以下文字转载自 USANews 讨论区 】
发信人: brihand (brihand), 信区: USANews
标 题: 左派教授也就这点出息
发信站: BBS 未名空间站 (Tue Nov 15 01:11:15 2016, 美东)
既然感到shameful,那就搬走。说让他搬走,他就被offend了。
“While hiking alone yesterday afternoon on Stringer’s Ridge, Senator
Corker was approached by Professor Haskell, who was hiking with three other
individuals,” spokesman Micah Johnson said.
“Professor Haskell began shouting at Senator Corker in a profanity-laced
tirade while pointing a finger in his face and told the senator that he was
emb... 阅读全帖
b***e
发帖数: 1419
29
一般lisper都会anti Haskell/ML. 这是dynamically typed和statically typed之争。
这文章不提Haskell/Erlang绝不是因为这些语言在文章写时还不够流行。如果说Erlang
还有道理,现在也没红到哪去。但是Haskell可是成名多年。如日中天到谈不上(你见
过哪个functional language如日中天过),但是在业内是尽人皆知的。
b***e
发帖数: 1419
30
我不这么认为。物竞天择,优胜劣汰。大公司选择支持一个语言是有道理的。我不认为
任何大公司会大规模支持Haskell, 原因很简单,根本找不到足够的人能够弄懂这个。
我很负责任的说,搞Haskell是需要资质的。不是任何阿三/F2们学个一年半载就能蒙事
的。
秀才造反,十年不成。真正能用的language往往不是搞language research的人坐在实
验室里闭门造车出来的,而是业界的强者根据自己多年的经验,真正体会到编程的需求
后搞出来的。我不看好Haskell/Erlang这些东西,因为它们本是一群research为了发
paper自己在YY。这些人大多没真正的干过工业界,根本不明白真正的需求在那里。同
样的语言还包括Scala/ML/Link。
拿link举例子,号称是三位一体,集数据库,中间层和前台界面与一身之大成之器。我
fuck,完全是胡说八道。这些人根本就他妈的们干过真正的web application,不知道
难在哪里,问题在哪里。做了几个toy就以为大成了。不说别的,就但说link/
javascript compilation我根本就不信。随便搞几个cross
r*******n
发帖数: 3020
31
http://www.indeed.com/salary?q1=haskell&l1=&q2=java&l2=&q3=pyth
This really surprised me, especially Haskell, I think a few use Haskell in
the industry.
w***g
发帖数: 5958
32
来自主题: Programming版 - 我老给你们指条明路吧
所谓的纯函数式程序只能运行于编译期, 其计算结果是一段可以与现实世界I/O的程序.
从这一点来说, C++的模板元语言是真正的纯函数式编程. 你们要学函数式编程, 那些
小语种要我说都不靠谱, 因为学了也没什么地方用. 要我说用C++做函数式编程有下面
几个好处:
1. abstraction overhead极低, 编译出来的程序性能非常高.
2. 同时有函数型和命令型两种编程模式, 可以按任务的需要选择合适的模式. Haskell
语言本身是纯函数的, 为了进行I/O搞出了monad这种怪胎. 但是要是去看用Haskell语
言写的程序, 大部分看起来还是命令型的. 用C++则无需这么迂腐.
3. 学了东西可以直接在工作中用.
4. 虽然模板语言本身写起来比较冗长, 但产生的库却非常优美. 比如用来做parsing的
boost::spirit, 丝毫不逊于haskell的parsec.
要说C++能毫无争议地超越java的, 怕也只有函数式编程这一块了.
t****a
发帖数: 1212
33
来自主题: Programming版 - 有朋友了解shen和Mark Tarver吗?
我知道haskell那个好啊~
因为时间问题。我学东西慢,觉得自己从接触haskell,搞清楚调试环境,写一些算法
,了解各种技巧的选择,用各种package,到真正能用来干活,少说得用业余时间的3个
月到半年。而且我喜欢能交互式写程序的语言,LISP太方便交互式了。
对我现在而言,学一个基于LISP的东西要比学haskell容易太多了。
刚查了一下这个语言取名叫做shen是因为作者(一个英国人)是道家的信徒,shen语言
是qi语言的后继。道家里有jing qi shen之说。
G***l
发帖数: 355
34
来自主题: Programming版 - Python is easy and not easy
我也是Haskell的初学者。
Haskell是一个research为主要目的语言,有很多前沿的语言特性。我学它并不是为了
在实际中用如何如何,而是拓展和锻炼思维。Haskell是纯的FP,所以你可以抛开一切
过去的imperative,OO的东西,思维不被它们影响。
ML家族除了还有F#,很多金融的公司用,前景还是不错的。
a*****e
发帖数: 1700
35
来自主题: Programming版 - functional programming?
如果你要问我,我会说几乎没有什么是 FP 不适合的,就连内核以及嵌入式,FPGA 等
都有 FP 的解决方案。
这里我并不是说内核或者嵌入设备去跑 FP 语言的 runtime,而是说用 FP 的工具设计
的 DSL 跑在内核和嵌入设备上。比如你可以搜一下 se4L,它的一个实现是用 Haskell
写的,被用于证明所生成的内核的正确性。
I'm a big believer in DSL. 合理设计的 DSL 能够快速完成目标 domain 的编程要求
,所需要的只是一个有效的 DSL 开发环境,FP 在这方面非常适合。就象是一套合理设
计的库函数或者框架什么的,能够大幅度提高开发效率。但是库函数的组合调用通常都
是写在源程序里,写好就不可以改动。而 DSL 则是它本身可以被分析重组,写好之后
,还可以用程序处理变换,验证性质,生成高效代码等。元语言 (meta programming)
的技术目前也在抬头,但我认为还是 DSL 更灵活,因为 meta programming 所操作的
对象还是一个 general purpose 的语言所写的程序结构,很多时候我们只需要 domai... 阅读全帖
a*****e
发帖数: 1700
36
来自主题: Programming版 - functional programming?
如果你要问我,我会说几乎没有什么是 FP 不适合的,就连内核以及嵌入式,FPGA 等
都有 FP 的解决方案。
这里我并不是说内核或者嵌入设备去跑 FP 语言的 runtime,而是说用 FP 的工具设计
的 DSL 跑在内核和嵌入设备上。比如你可以搜一下 se4L,它的一个实现是用 Haskell
写的,被用于证明所生成的内核的正确性。
I'm a big believer in DSL. 合理设计的 DSL 能够快速完成目标 domain 的编程要求
,所需要的只是一个有效的 DSL 开发环境,FP 在这方面非常适合。就象是一套合理设
计的库函数或者框架什么的,能够大幅度提高开发效率。但是库函数的组合调用通常都
是写在源程序里,写好就不可以改动。而 DSL 则是它本身可以被分析重组,写好之后
,还可以用程序处理变换,验证性质,生成高效代码等。元语言 (meta programming)
的技术目前也在抬头,但我认为还是 DSL 更灵活,因为 meta programming 所操作的
对象还是一个 general purpose 的语言所写的程序结构,很多时候我们只需要 domai... 阅读全帖
d******3
发帖数: 70
37
来自主题: Programming版 - clojure这语言真不错
Haskell是static typed,可能对静态语言的粉丝有吸引力。 state mutation觉得没有
很复杂。感觉closure最大的优势是支持JVM的库。在库的量上Haskell没法比。另外
Performance Reasoning也一直是Haskell的软骨。

mutation
b***e
发帖数: 1419
38
来自主题: Programming版 - 看了一下Meteor很不错
从一定程度上讲,generator/yield是一个sugar。不影响node.js纯异步的特性。
我建议你做一下node.js再来讨论。你做过就知道node.js和ror/python/java相比,长
处和短处在哪里;纯异步的好处和坏处在哪里;为什么yield有用。其实node.js和
Haskell从某种程度上是相似的。Haskell一旦要做IO就要陷入monad,而且一旦陷入就出
不来。Node.js“同步”的计算其实就是纯的数学计算。一旦要做IO就要陷入CPS,而且
一旦进入CPS模式就只能一条路到底。你做Haskell应该知道CPS其实就是一个monad。在
这个理解的基础上,generator/yield可以看做是monad里的do notation。

陀,
n****1
发帖数: 1136
39
来自主题: Programming版 - 这次Scala没有入选有点意外呀
I think in an immutable world, the main disagreement over OOP is on the
modularity of libraries/functions, agree? OOP in FP just pack some functions
together in a class. While haskell just preserves a flat structure, and
provide modularity on file level.
I think trait is similar to typeclass in haskell. There is no class in
haskell.

,
e*******o
发帖数: 4654
40
来自主题: Programming版 - 这次Scala没有入选有点意外呀
我的意思haskell的list 定义难看懂。
haskell 的优先级,$符号, 我也是搞了好久才明白。
可能我太笨,也可能这是haskell 流行不了的原因。
当然了,你可以说你会了就简单了...
library
c*******9
发帖数: 9032
41
来自主题: Programming版 - Java EE这东西还有必要学吗
对不做网站的人js没太大用。我以前工作用java,现在准备objective c+haskell.
haskell就是文档不太全,我还沒编译通ios上的Haskell。

,
n****1
发帖数: 1136
42
来自主题: Programming版 - 给Java/Spring说几句好话
Monad这个在92年就提出来了, Haskell98标准里面那些Reader/Writer全都包括了。
也就是说90年代里haskell程序员就已经在用AOP了。 而直到现在, AOP在java/scala
都还只是库, 不是语言标准。
所以并不是haskell花了无数论文才弄出Monad, 而是人们花了无数时间才意识到他们
造出来的超级牛逼的轮子其实只是monad的特殊应用。
当然haskell本来就是理论家的试验田,无意取代主流语言, 而是提出些超前的idea,
让其他语言能借鉴下。
n****1
发帖数: 1136
43
来自主题: Programming版 - java是最好的语言
ML系列与haskell是没啥括号的, 比java少多了. 当然你可以说java的括号就像女神一
样完美,多一个就太多, 少一个嫌不够.
本来我一直对性能坑很不屑的, 但你这么说也太离谱了.
>>非oo语言,优化明显受限
OO语言如果真适合优化, 那帮写C的为啥还对C++那么不屑?
事实就是mutable语言里面, 程序员习惯了动不动就对数据上锁, 给method加个
synchronized保留字, 一副宁可错杀千人, 不让一人落网的心态, 性能高就见鬼了. FP
的immutable才是并行的王道.
>>另外一个优化受限就是dynamic
oo语言才是性能受限于dynamic dispatching, 不然为啥C++里面要有个virtual关键字,
还不是默认的? 为啥J2ME里面到处都是final关键字? ML/Haskell这些强类型语言可比
java静态多了.
就算在不用多态的单线程benchmark里面, jvm性能和ML/Haskell比也是半斤八量, 占不
到什么便宜. jvm/v8设计者是大牛, 可你别把人捧到天上去了.
w***g
发帖数: 5958
44
来自主题: Programming版 - 所谓FP就是 递归+pattern matching?
我的意思是可以写C/C++代码,编译产生机器语言。有什么问题吗? 高级语言存在的目
的显然不是为了能用printf或者比printf更牛B的方法打印出汇编语言。
你已经有一个很牛B的语言了,不去用这个语言编程解决问题,而去用这个语言打印一
个更低级的语言,除了写编译器以外怎么看都是一件非常愚蠢的事情。如果用Haskell
写编译器,怎么着也得写一种比Haskell更牛的语言的编译器才值得吧。但是有那么牛B
的语言大家还学Haskell干嘛。
n****1
发帖数: 1136
45
来自主题: Programming版 - 所谓FP就是 递归+pattern matching?
首先,你要说C++模板牛逼。 我这个例子是为了说明haskell超强的元编程能力,甚至
能操纵另一种完全不同的语言。 C++模板只能操纵C++自己的代码,根本不是一个量级。
其次,低级语言自然有它的好处,在性能最关键的地方能用汇编优化,手动管理内存是
很有用的。
你说说啥语言比haskell更适合元编程?看看http://en.wikipedia.org/wiki/Metaprogramming 再来讨论。

Haskell
c*******9
发帖数: 9032
46
来自主题: Programming版 - 想写一个machine learning的平台
https://github.com/josephmisiti/awesome-machine-learning#haskell-general-
purpose
haskell-ml, HLearn....
GPU运算参考《parallel and concurrent programming in Haskell》Data.Array.
Accelerate 库吧,不知道现在有什么新变化。
w***g
发帖数: 5958
47
来自主题: Programming版 - 玩Scala需要学习Scalaz吗?
你工作主要是做什么的,为什么要用haskell?
我工作中没有任何地方用haskell能为我带来方便的。技术只是手段。为了达到什么目
的就要用最合适的技术。对我而言曾经haskell是个目的,就是为了玩FP而玩FP。现在
没时间可以挥霍了就不玩了。比如scala我觉得会给我带来很多方便,因为它比java写
起来更灵活行数更少,所以我在学。我现在主要还是写C++,对于解决我手头的问题
而言,C++还是最好的。做产品最终要的是做出来的东西要经操,可维护性啥的都是其
次。C++学习曲线很长,绝对不推荐新手上。但对于一个老手来说,十来年的C++经验
是一笔宝贵的财富,绝对不可能被赵测goodbug他们一说就废弃了。我甚至在硅谷有
几个用C的语法写C++的朋友,都好好地在赚钱,不会比goodbug他们少。
在我用scala做N个练手的项目之前我肯定不会用它写产品。我们组里有人要上spark
streaming,我也是尽力劝阻他们不要一步等天。等把offline spark,kafka,scala啥的
都用用熟再说。看了个tutorial写了个demo通过了就以为能做产品了,等上了线出
了问题会死... 阅读全帖
p*****2
发帖数: 21240
48
来自主题: Programming版 - 大牛对Scala的type system如何评价?
type class 用处大吗?
haskell可以理解 scala有trait又有implicit class type class比haskell麻烦很多
感觉基本没啥用呀 难道就为了学haskell而学?
q********y
发帖数: 162
49
来自主题: Programming版 - 大牛对Scala的type system如何评价?
Scala 沒有仔细研究过, Haskell 稍微研究了下。觉得Haskell是最好的 functional
programming language。Lisp相比太低级了,很多概念都没有, Scala 就是在东施效颦。
Haskell 是由几个computer language theorist搞出来的, 整个语言就象一个理论体
系,很自洽, 我猜Scala可能不是这样的吧,就是一吊丝程序员在胡搞。
Scala有Kind, Applicative Functor 和 Arrow 这些概念吗?
H****S
发帖数: 1359
50
来自主题: Programming版 - 大牛对Scala的type system如何评价?
你太out了,打个:k 在Scala console下看看。scalaz是production ready library,
加上Scala特有的implicit type system,甚至比Haskell还要更加强大。Haskell现在
的潮流就是向scalaz export以争取更广泛的用户。Haskell machines / stream
transducer很牛吧,原作者自己export成scalaz stream,比rxjava理念先进不止一倍,

颦。
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)