牵引力技术总监揭秘:为什么人工智能要用Python?

Python作为一门编程语言,其魅力和影响力已经远超C#、C++等编程语言前辈,被程序员誉为“最美丽的”编程语言。从云端、客户端,到物联网终端,在到现在人工智能,python应用无处不在。

一,Python效率超高 解释语言的发展已经大大超过许多人的想象。很多比如list comprehension的语法糖都是贴近内核实现的。除了JIT之外,还有Cython可以大幅增加运行效率。最后,得益于Python对C的接口,很多像gnumpy, theano这样高效、Python接口友好的库可以加速程序的运行,在强大团队的支撑下,这些库的效率可能比一个不熟练的程序员用C写一个月调优的效率还要高。

二,Python是解释语言 写程序方便对做机器学习的人很重要。因为经常需要对模型进行各种各样的修改,这在编译语言里很可能是牵一发而动全身的事情,Python里通常可以用很少的时间实现。举例来说,在C等编译语言里写一个矩阵乘法,需要自己分配操作数的内存、分配结果的内存、手动对BLAS接口调用gemm、最后如果没用smart pointer还得手动回收内存空间。

现在很多面向C/C++库已经支持托管的内存管理了,这也让开发过程容易了很多,但解释语言仍然有天生的优势——不需要编译时间。这对机器学习这种需要大量prototyping和迭代的研究方向是非常有益工作效率的。

三,Python的开发生态成熟 Python灵活的语法还使得包括文本操作、list/dictcomprehension等非常实用的功能非常容易高效实现,配合lambda等使用更是方便。这也是Python良性生态背后的一大原因。 相比而言,Lua虽然也是解释语言,甚至有LuaJIT这种神器加持,但其本身很难做到Python这样,一是因为有Python这个前辈占领着市场份额,另一个也因为它本身种种反常识的设计。不过借着Lua-Python bridge和Torch的东风,Lua似乎也在寄生兴起。

在未来十年Python语言的发展前景形势一片大好,毫无疑问使用Python语言的企业将会越来越多,Python程序猿的人才缺口也将越来越大,认准时机,把握机遇,Python全栈开发工程师、Python开发工程师、自动化开发工程师、Linux运维工程师、Python爬虫开发工程师、前端开发工程师、大数据分析等热门职位等。

你可能感兴趣的:(python,人工智能,lua)