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

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

  1. F# 之旅(上)

    写在前面的话 解答一下在上一篇文章<在Visual Studio中入门F#>中有人的提问, 1. 问:是准备写 F# 系列吗?    答:当然不是,本人也是刚刚学习 F#,只是翻译微软官方 ...

  2. F# 之旅(下)

    写在前面的话 学习 F# 一定要去体会函数式编程的特点,推荐一下阮一峰的日志<函数式编程入门教程>. 在这篇文章中 递归函数 记录和可区分联合类型 模式匹配 可选类型 度量单位 类和接口 ...

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

    参考文章:https://swlaschin.gitbooks.io/fsharpforfunandprofit/content/posts/fvsc-quicksort.html F#之旅4 - 小 ...

  4. ffmpeg -i 10.wmv -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 0 -hls_time 5 C:\fm\074\10\10.m3u8

    ffmpeg -i 10.wmv -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 0 -hls_time 5 C:\fm\074\10\1 ...

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

    原文链接:https://swlaschin.gitbooks.io/fsharpforfunandprofit/content/posts/fvsc-sum-of-squares.html Comp ...

  6. 菜鸟的java代码审计之旅-0之java基础知识

    前言: 对于java的代码审计我就是一个小白,没有代码基础(不会java),从0开始记录我的java漏洞的审计学习之旅.对于java来说是一门很难的语言,但是不去学习就永远不会.对于一门很复杂的语言如 ...

  7. F#之旅9 - 正则表达式

    今天,cozy群有个群友发了条正则,问正则匹配相关的问题.虽然他的问题用html selector去处理可能更好,但是我也再一次发现:我忘了正则怎么写的了! 忘掉正则是有原因的,这篇文章会简单记录下F ...

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

    首先,先介绍下什么是动画二维码.前些天在网上闲逛,突然看到一个开源项目,发现一种二维码的新玩法.https://github.com/sylnsfar/qrcode/blob/master/READM ...

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

    首先,隆重介绍今天的主角:ImageProcessor(http://imageprocessor.org/).虽然我并没有在实际工作中用到这个库,但是它干净利索的使用方式打动了我,很久以前就存了下来 ...

随机推荐

  1. TTTAttributedLabel xib sb lineSpacing not working

    https://github.com/TTTAttributedLabel/TTTAttributedLabel/issues/733 set the same text in storyboard ...

  2. metaWeblog Test

     #include "stdio.h" int main(int argc ,char **argv) { printf("argc = %d \n",arg ...

  3. 一起阅读《Java多线程编程核心技术》

    目录 第一章 Java多线程技能 (待续...)

  4. Eclispe远程调试tomcat设置

    首先在catelina.sh中添加 JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_socket,address=23787,server=y,su ...

  5. javascript运动框架

    下面这个一个运动框架可以控制元素在一个属性上的运动,同时,可以调用回调函数. /* 获取元素某个属性的值 @obj: 对象 @attr: 属性值 */ function getStyle(obj, a ...

  6. Python 简易聊天机器人

    聊天机器人 | |-----MySql | |---module--"逻辑运算层" | | | |---ciku--"与词库交互" | | | |---dict ...

  7. (总结)隐藏PHP版本与PHP基本安全设置

    为了安全起见,最好还是将PHP版本隐藏,以避免一些因PHP版本漏洞而引起的攻击. 1.隐藏PHP版本就是隐藏 “X-Powered-By: PHP/5.2.13″ 这个信息. 方法很简单:编辑php. ...

  8. php简单框架的应用实例

    <html> <frameset rows="50%,50%"> <frame src="/Test/header.php"> ...

  9. 常用vim插件的安装、使用和管理

      1.Ctags Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或者其他工具用来快速查找定位源代码中的符号,入变量名,函数名等.比如,tags文件就是Taglist和 ...

  10. 【备忘】Conky配置

    贴配置: background yes use_xft yes xftfont Sans:size= xftalpha 0.8 update_interval own_window yes own_w ...