跳转至

Language

以下是我喜欢并且常用的编程语言:

  • Golang: 简洁高效,静态编译,适合开发并发程序,云原生语言。缺点是语法表达能力弱。
  • Rust: 零成本抽象,内存安全,静态编译,强类型系统,系统编程新宠。缺点是语法较为繁琐。
  • Python: 简单,动态类型系统,适用于脚本、人工智能、云计算、web应用。缺点是不适合开发大型程序。
  • Cpp/C: 快速、简单/复杂、底层,弱静态类型系统,适用于系统、嵌入式开发。
  • Datalog: 声明式语言,适用于数据分析、程序静态分析。生态太弱,不符合一般人的正常思维方式。

了解一些常用的标记语言,也会间接的对我们的编程有所帮助:

  • HTML - 超文本标记语言,用于网页及网络内容的结构和布局。现在最新的版本是HTML5。
  • XML - 可扩展标记语言。用于存储和传输数据,也常用于配置文件。提供扩展性和结构性。
  • Markdown - 一种轻量级标记语言,非常简单,用于编写文档并最终转换成HTML。
  • YAML - 一种直观的能够被电脑识别的数据序列化格式。常用于配置文件和数据存储。
  • JSON - 一种用于数据交换的文本格式,广泛用于客户端和服务器之间的数据传输。
  • LaTeX - 一种用于科技及学术类型文档排版的标记语言。

很多DSL实际上也很重要,例如SQL。

由于这些语言学习的笔记是在我已经熟悉了他们之后做的,所以笔记并不求面面俱到,而是融汇一些个人的思考。主要内容包括

  • 基础:语言的一些技术细节
  • 实践:一些最佳实践
    • 如何错误处理
    • 如何编写并发程序
  • :常用标准库、第三方库介绍。这里介绍的都是最基本的库,顶级的框架(如Golang的web库gin)会在开发的相应章节中介绍,一些特殊的库用到了可能会稍作记录。
    • 基本数据结构
    • 如何处理字符串
    • 如何处理时间
    • 如何打日志
    • 如何读写文件
    • 如何访问网络
  • 构建:工具链介绍
    • 如何引入、管理第三方代码
    • 如何编译