博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
F#系列随笔索引
阅读量:7237 次
发布时间:2019-06-29

本文共 1539 字,大约阅读时间需要 5 分钟。

循着我的Google笔记本,我看到第一条与F#相关的笔记发生在4月7日,到今天刚好6个月整。

为何要学习F#?这是个首当其冲的问题,跟当初“Java还是C#”这样的问题不同,现在是在学习一门新语言。《程序员修炼之道》的一句话“每年至少学习一种新语言”让我蠢蠢欲动,除了F#,去年还看过一些Python,甚至写过一些小程序。但最终选择了F#,也许有起到了很大的作用,如果你没有用过函数式编程语言,可以看看这篇文章;还有可能是因为这一篇《》(后来知道这其实是《Foundations of F#》第一章里面的部分内容)。尤其是后面这篇文章,对F#的描述真的能雷到人。

最近我发现,我周围的程序员在技术的选择上日趋理性(日渐衰老?...),尤其是一致认为“语言并不重要,重要的是...”,省略掉的内容也许不尽相同,但语言肯定是不重要的了。

真的是这样吗?我倒不这么觉得。但在这样的背景下,如果一门语言的广告不能雷到人,还面对C#这样成熟的语言,就真的很难引起人们的兴趣

幸运的是,我被雷到了。真正开始学习F#是在7月份之后(因为4、5、6这3个月经历了工作的变动)。初学F#肯定会遇到一些令人困惑的地方,比如副作用(side effect),柯里化,函数是一等公民云云,那时经常是从一个概念跳到另一个概念,不过看得多了,就慢慢熟悉了。

我希望能有一个F#教程,它能在一些简单的例子中帮我们拨开乌云,《Foundations of F#》这本书不错,不过有些繁琐、冗长。我把书中的内容整理了一下,也会把在《Expert F#》或者网上其它文章的内容加进来,另外我还喜欢把自己想到的F#与C#的异同点给写出来。这些就是我的《F#探险之旅》,本来我还想起名为《无废话F#》或《Essential F#》,感觉都不如探险来的贴切。

Chris Smith的F#快速上手(翻译)

《F#探险之旅》

(FP的基本特性)
(FP的列表操作)
(整理前面介绍过的三种范式,为实战做好准备)
(NUnit & FsUnit,后者也是LOP的一个好例子)
F#中的事件( 、 )
F#与LOP(Language-Oriented Programming)
F# 应用
其它
在目前计划中的:
F#探险之旅(五):透过F#理解函数式编程(下):介绍FP中的Continuation和Monad特性;
F#中的工作流;
F#中的Quotation及其应用;
F#与C#代码的互操作;
F#与UI:主要是介绍在Windows应用和ASP.NET应用开发中使用F#;
F#实例:做一个F#实战的例子(综合应用前面讲过的内容);

《探险之旅》的主要目的在于作出一份简单的帮助文档,能帮助有C#或VB.NET编程经验的程序员快速上手,希望能不断接近这个目标。

注意
: 目前为止,这个系列文章中的代码均在F# 1.9.4.17版本下编写,在F# CTP 1.9.6.0版本下可能不能通过编译。由于本人的电脑的服役时间已经超过了5年,所以我也不打算让它运行VS2008,但VS 2008 Express版上又不能集成F# CTP,我现在使用的环境仍然是VS2005下的F#1.9.4,但我会在不远的将来买新电脑,到时也会转移到更新的F#版本,不过我相信这对我F#的学 习不会有大影响。
2008.11.17 更新:从现在开始将主要使用F# CTP 1.9.6.0版本 :-}

本文转自一个程序员的自省博客园博客,原文链接:http://www.cnblogs.com/anderslly/archive/2008/10/08/fs-posts-indices.html,如需转载请自行联系原作者

你可能感兴趣的文章
Qt之布局管理--(2)多文档的布局和焦点
查看>>
go-tour练习解答
查看>>
句柄和指针的区别和联系是什么?
查看>>
linux Shell学习笔记第三天
查看>>
asp.net mvc本地程序集和GAC的程序集冲突解决方法
查看>>
可重入锁 RLOCK(转)
查看>>
DataTable排序结果的纠正
查看>>
关于中国天气(Weather.com.cn)的查询
查看>>
关闭磁盘自动运行
查看>>
分享简化您的设计过程的CSS网格系统
查看>>
awk使用技巧
查看>>
mvc 截取上传图片做头像,自动生成不同小尺寸缩略图
查看>>
AutoCAD 命令统计魔幻球的实现过程--(1)
查看>>
判断是大端字节序还是小端字节序
查看>>
ZOJ 1985 Largest Rectangle in a Histogram(动态规划+路径压缩)
查看>>
javascript中return false;preventDefault();stopPragation()的区别
查看>>
硬件原理图和实物对比理解_EM310模块电路
查看>>
【原】unity3d android工程签名
查看>>
BW中自定义数据源的Delta机制 (重点function抽取)
查看>>
如何解决Silverlight InitializeError #2103 - Invalid or malformed application: Check manifest
查看>>