编程语言

第一个专题,选了一个不太想谈的话题:编程语言。


开始有一点抵触,可能和现在称呼某某语言的程序员有关系。


比如我毕业之前一直做Linux下多线程网络编程,毕业之后是C++游戏后台开发程序员,后面从事内核开发,是C程序员,在现在我只能算是一个Python程序员。这种称呼,程序员被打上了编程语言的标签,在现在司空见惯,但会招致程序员的反感。不期望叫什么工程师,起码得称呼我们,用代码来解决问题的程序员。


编程语言我学了几门,稍微熟悉的可能只剩下一两门。程序员一生,应该得学几种类型不一样的语言,才能叫做真正的软件工程师。这和编程思想有关。


首先,你得熟悉一门编译型的语言,那么学校教的C/C++/C#/Java就有了用处。


然后,你得熟悉一门脚本语言,现在的Python,以前的PHP,ASP什么的,你得接触过。


最后,你想试试函数式编程语言,那么Clojure 还是Haskell你犹豫过? 或者最近很火的Scala。


在这里还没有列平台,分工等分类,如果你还想当全栈工程师,那么你需要学的语言至少得3门以上。


最近两年我花心思学习的新语言不算多,主要是Go和Rust。


学习Go也有两年了,一直没有用Go参与过大型的项目开发。开始的时候,看了goroutine的C实现,觉得Golang这语言要火,这两年在国内确实火了。Go在服务端并发方面优势明显,特别是在微服务架构流行的今天。


关于Go的开发效率,我并没有经验,应该不算低。它语法简单,性能高,原生支持并发,而且部署也很方便依赖不多。现在很多做安全工具的同学,一般都选择用Go来开发。


2年多前,我是因为要去读docker的源码,分析docker的cve,才学的Go语言。那个时候Go给我的感觉就是语法怪异且严格。像docker这种应用,会给一门语言带来大量的使用者,因为它就是一个成功的榜样。


再说一下Rust。


直到最近,我也还在学习Rust。对于Rust的前途,我非常有信心,也推荐给了身边的很多人。我认为Rust是C++的替代者,后面会有一个爆发,也可能是统一所有端的一门语言。


记得前不久在Stack Overflow上的一个调查,Rust被评为最受程序员喜爱的语言,说明Rust有它的魅力。Rust在安全,速度和并发上都设计得非常好,现在也有了非常成功的项目——Firefox的核心引擎 Servo/Project Quantum。


今年初斯坦福开了一门操作系统的课程CS140e,使用Rust加树莓派来写操作系统,算是非常大胆的尝试。有心有时间的同学可以尝试跟一下作业。


最后,一门语言是否学习和使用,与是否喜欢不一定有强关系,希望每个程序员都找到自己喜欢的语言。


资源列表:

1.Rust官方文档   https://www.rust-lang.org/ 

2.Go协程实现原理笔记   https://github.com/xxg1413/go

3.CS140e: An Experimental Course on Operating Systems https://web.stanford.edu/class/cs140e/


公众号此篇链接:

编程语言


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值