可汗学院为何用Golang重写他们的Python后端?
可汗学院最近进行了大规模重写,他们用 Go 编写的面向服务的后端替换了旧的 Python 2 单体。Kevin Dangoor 和 Marta Kosarchyn 是可汗学院的高级工程师,他们写了一系列关于重写的技术选择、执行和结果的博客文章。
python语法简单,上手易,能够快速搭建后台。go性能强大,上手时间比python略长,为web而生。既然是小型站,不妨先用python。
Python是一种解释型语言,这意味着用Python编写的程序不需要事先编译就可以运行,从而可以轻松地测试小段代码并使用Python编写的代码更容易在平台之间移动。
python可以开发出Windows平台的EXE程序,需要打包即可,但是打包后exe软件本身有点大。
有哪些python引包的方法?
1、Python库的导入 import A 为最简单的引入对应的包。
2、如果你希望优先使用某个模块或包,但是同时也想在没有这个模块或包的情况下有备选,你就可以使用可选导入这种方式。这样做可以导入支持某个软件的多种版本或者实现性能提升。
3、方法一 import modname 模块是指一个可以交互使用,或者从另一Python 程序访问的代码段。只要导入了一个模块,就可以引用它的任何公共的函数、类或属性。模块可以通过这种方法来使用其它模块的功能。
4、在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址。
5、使用PyInstaller,打包复杂的Python项目,docker/compose的compose,是全部用Python写的。用PyInstaller进行打包可以看一下它的代码,Github它有比较好的功能。
写小程序,什么语言跨平台兼容和性能较好?golang
Python是一种解释型语言,这意味着用Python编写的程序不需要事先编译就可以运行,从而可以轻松地测试小段代码并使用Python编写的代码更容易在平台之间移动。
从学术的角度讲 Go 语言其实非常平庸,不支持许多高级的语言特性;但从工程的角度讲, Go 的设计是非常优秀的:规范足够简单灵活,有其他语言基础的程序员都能迅速上手。
go最初是google为了解决自己的项目而创立的基于C语言开发出的语言,虽然有社区的支持,但目前发展的时间远远不如java,需要更多的时间积累 框架不够成熟和丰富也是go的一大弱势。
什么都可以,Python、Java、C/C++、Ruby、Go、C#、Scala、Scheme。。