• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
LvGJ
沉迷学习不秃头
博客园    首页    新随笔    联系   管理    订阅  订阅
华盛顿大学Programming Language Week1

华盛顿大学Programming Language Week1

要义

第一周主要需要完成的任务是明白这门课要讲什么。

这门课是要学习编程语言的基本概念,这门课不是要局限于任意一种编程语言,而是想要传达一种编程语言的思想。

在Funtional Programming中将使用一级函数和函数闭包等

课程目标

  • 准确理解功能型编程(FP)和面向对象程序(OP)的内涵。
  • 提升学习新的编程语言的能力
  • 掌握特定的语言概念,使他们能够在陌生的外表下识别这些概念。
  • 学会评价编程语言及其结构的威力和优雅性。

具体课程大致清单

  • 语法vs语义vs习惯用语vs库vs工具。

  • ML 的基础语句(bindings,conditions,records,functions)

  • 递归方法和递归类型

  • Benefits of no mutation

  • 代数数据类型,模式匹配。

  • 尾部递归(tail recursion)

  • 高阶函数;闭合

  • 词汇范围

  • currying

  • Syntactic sugar(语法糖)

  • Equivalence and effects

  • 参数化多态性和容器类型

  • 类型推理

  • 抽象类型和模块

使用的工具

这门课使用的TextEditor(文本编辑器)是Emacs

Emacs(/ˈiːmæks/,源自Editor MACroS,宏编辑器),是一个文本编辑器家族,具有强大的可扩展性,在程序员和其他以技术工作为主的计算机用户中广受欢迎。最初由Richard Stallman于1975年在MIT协同盖伊·史提尔二世共同完成。这一创意的灵感来源于TECO宏编辑器TECMAC和TMACS,它们是由盖伊·史提尔二世、Dave Moon、Richard Greenblatt、Charles Frankston等人编写的宏文本编辑器。

使用的编程语言是ML

ML ("Meta Language") is a general-purpose functional programming language. It has roots in Lisp, and has been characterized as "Lisp with types".[citation needed] ML is a statically-scoped functional programming language like Scheme.

于其他的编程语言相比,ML更加注重Funtion就是方法,在后面的Funtional Programming中会很方便。

posted on 2020-06-29 11:35  LvGJ  阅读(263)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3