F#之旅0 - 开端

F#之旅0 - 开端

UWP的学习告一段落,CozyRSS的UWP版本并没有做。UWP跟wpf开发几乎一模一样,然后又引入了很多针对移动设备的东西,这部分有点像android。没啥太大的意思,不难,估计坑不少,但是暂时的没太大的欲望去玩。

学一门函数式编程语言,听起来就是一件不错的事情。

函数式编程,准确的来说应该是函数式编程这种编程范式,在很多中编程语言中都可以玩的。现在流行的js、python、lua、c++、java都有闭包了,至于惰性计算、常量,也好像不那么重要。但是既然特意说学一门函数式编程语言,自然要玩专业一点的语言,比较常被讨论的有:

Lisp及其各种方言(Common Lisp、Scheme、Racket、Clojure)。Lisp很古老,也很靠谱,Emacs配置就用的Lisp,函数式比较纯,它的一些方言,比如Racket应该是很不错的,但是感觉用得不广,厂商支持不够。

Haskell貌似在数学方面用得多点,也不够广。

Scala是一个类似java的语言,很神奇,不过java我不喜欢。

Erlang在游戏服务器方面好像用得挺多的,其他方面很少听说。

F#,微软推出的开源的新语言,感觉很靠谱,就学它了。

F#之旅会包含一些F#的基础知识,高级用法,我写的一些玩具,以及一些文章翻译。F#的资料相对来说,比较少,特别是用百度搜索完全搜不到东西,google就强多了。

先贴一篇介绍文章:

函数式编程初探 - 阮一峰的网络日志

http://www.ruanyifeng.com/blog/2012/04/functional_programming.html

时间: 2024-10-26 15:54:16

F#之旅0 - 开端的相关文章

F# 之旅(上)

写在前面的话 解答一下在上一篇文章<在Visual Studio中入门F#>中有人的提问, 1. 问:是准备写 F# 系列吗?    答:当然不是,本人也是刚刚学习 F#,只是翻译微软官方的文档,但是我会尽力翻译更多的文章. 2. 问:你们的项目使用F#写的吗?    答:本人大三学生,也不是什么大佬,兴趣而已. 在这篇文章中 怎样运行示例代码 函数和模块 数字.布尔值和字符串 元组 管线和组成 列表.数组和序列 学习 F# 最好的方式是读写 F# 代码.本文将介绍 F# 语言的一些主要功能,

malloc创建三维数组,f[0],f[i][0],f[i][j][0]记录每维总数

1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <malloc.h> 4 5 int main() 6 { 7 //f[0],f[][0]记录总数 8 //etc.有f[0]种等级的房间,f[i]代表第i种等级 9 //第i个等级的房间有f[i][0]间房间,f[i][j]代表第i种等级的第j个房间 10 //第f[i][j]个房间有f[i][j][0]张床 11 //f[i][j][k]为第i个等级的房间,第

F#之旅4 - 小实践之快排

参考文章:https://swlaschin.gitbooks.io/fsharpforfunandprofit/content/posts/fvsc-quicksort.html F#之旅4 - 小实践之快排 这次这篇呢,就不翻译了,因为原文确实是相当的简单.先贴一下能跑的代码: 这里贴的不是文本,如果你也想尝试一下,建议你抄一遍,或者理解之后自己写一遍.来看看都有那些要注意的点吧: 1.快排算法,这里用的递归的形式,把所有数分成三部分,[比第一个元素小的部分] [第一个元素] [比第一个元素

F#之旅3 - F# PK C#:简单的求和

原文链接:https://swlaschin.gitbooks.io/fsharpforfunandprofit/content/posts/fvsc-sum-of-squares.html Comparing F# with C#: A simple sumF# PK C#:简单的求和 To see what some real F# code looks like, let's start with a simple problem: "sum the squares from 1 to N

F#之旅8 - 图片处理应用之动画二维码

首先,先介绍下什么是动画二维码.前些天在网上闲逛,突然看到一个开源项目,发现一种二维码的新玩法.https://github.com/sylnsfar/qrcode/blob/master/README-cn.md.二维码各种美化早就有看过,原理也大概知道,一是利用二维码的容错率,二是利用识别工具的纠错能力.这次的二维码,让我有点excited,居然把动画和二维码结合起来了.当然,具体把这种二维码叫什么,我也定不了,叫动画二维码.动态二维码.gif二维码都可以吧.动画二维码和之前的美化过的二维码

F#之旅7 - 图片处理入门

首先,隆重介绍今天的主角:ImageFactory(http://imageprocessor.org/).虽然我并没有在实际工作中用到这个库,但是它干净利索的使用方式打动了我,很久以前就存了下来.这个库的开发语言是C#,nuget有下载,提供了一系列可以链式调用的方法来处理图片.关键的一点,它是开源的,代码很清晰,有什么bug和不爽可以自己想怎么改就怎么改. 接下来,需要一提的是,我对图片处理一窍不通.所以,这篇文章是我入门图片处理的记录.当然,矩形圆形直线.RGB这类基础,就不特别提了. 一

F#之旅2 - 我有特别的学F#技巧

原文地址:https://swlaschin.gitbooks.io/fsharpforfunandprofit/content/learning-fsharp/ Learning F#Functional programming languages need a different approach学习F#函数式编程语言需要不同的学习方法 Functional languages are very different from standard imperative languages, an

F#之旅5 - 小实践之下载网页(爬虫基础库)

参考文章:https://swlaschin.gitbooks.io/fsharpforfunandprofit/content/posts/fvsc-download.html 参考的文章教了我们如果在F#里利用.Net的库来下载一个网页,这里,我来发散一下,把它弄成一个可以用来帮助写爬虫的基础库. 首先,下载的代码我做了几处修改: 1.去掉了回调,直接改成了保存文本到文件,注意如果是下载图片不能这样写. 2.用流来一步步调用.Net的库,并且加上了异常处理. 3.增加了一个async的异步方

printf(&quot;%f\n&quot;,5)的输出结果为什么是0.000000

1,之所以没输出5,这是C语言设计的原因.2,之所以输出0,这是计算机体系结构的问题. 具体来说: printf函数不会进行任何类型转换,它只是从内存中读出你所提供的元素的值(按照%d,%f等控制字符提示的格式).C语言设计中,int类型一般是32bit或者16bit,而float一般是64bit,并且有可能使用科学计数保存.这点就和huhugo88所说一样,5在内存中为00000000,00000101.而且5一般都在静态区,程序的静态存储区默认是0,那么当用%f来读时,就会读64bit,也就