行业解读|人工智能系统开发中最佳编程语言趋势分析
曾几何时,人工智能是科幻电影里才会出现的高科技产物;现如今,我们的生活中竟然越来越多的出现AI的应用。AI指由人制造出来的机器所表现出来的智能,它不仅为应用程序开发人员也为我们普通人打开了一个具有无限可能的未来世界。
AI为编程语言应用程序开发人员打开了一个充满可能性的世界。 通过利用机器学习或深度学习,你可以生成更好的用户画像、个性特征和适当推荐,或者包含更智能的搜索、语音接口或智能辅助,或者以其他方式改进你的应用程序。 你甚至可以构建能看、会听并响应的应用程序。
你应该学习哪种编程语言来探究AI的深度? 当然,你需要一种具有许多良好机器学习和深度学习库的语言。 它还应具有良好的运行时性能、良好的工具支持、大型程序员社区以及健康的支持包生态系统。 这仍然能留下很多好的选择。
应该选择哪种编程语言进行机器学习或深度学习项目? 给你推荐五种最佳的编程语言选择。
一、AI编程首选
1、Python
排名第一的是Python。 怎么可能是别的,真的吗? 虽然有一些关于Python的令人抓狂的事情 ——空格、Python 2.x和Python 3.x之间的重大分裂、五种不同的打包系统,它们都将不是问题——如果你正在进行AI工作,你几乎肯定会 在某些时候使用Python。
Python中提供的库在其他语言中几乎是独一无二的。 NumPy已经变得如此普遍,它几乎是张量操作的标准API,而Pandas将R强大而灵活的数据帧带入Python。 对于自然语言处理(NLP),你拥有令人尊敬的NLTK和极其快速的SpaCy。 对于机器学习,有经过实战考验的Scikit-learn。 当涉及到深度学习时,所有当前的库(TensorFlow,PyTorch,Chainer,Apache MXNet,Theano等)都是有效的Python优先项目。
2、Java和他的朋友
Java是大多数企业的通用语言,Java 8和Java 9中提供了新的语言结构,编写Java代码并不是我们许多人记忆中的可憎体验。 用Java编写AI应用程序可能会让人觉得无聊,但它可以完成工作 - 你可以使用所有现有的Java基础架构进行开发、部署和监视。
3、C/C++
在开发AI应用程序时,C/C不太可能是你的首选,但如果你在嵌入式环境中工作,并且无法负担Java虚拟机或Python解释器的开销,那么C/C就是解决之道。当你需要从系统中获取最后一点性能时,你需要回到可怕的指针世界。
4、JavaScript
JavaScript? 到底几个意思? 淡定,听我说——Google最近发布了TensorFlow.js,这是一个WebGL加速库,允许你在Web浏览器中训练和运行机器学习模型。 它还包括Keras API以及加载和使用在常规TensorFlow中训练的模型的能力。 这可能会吸引大量开发人员涌入AI领域。 虽然JavaScript目前没有与此处列出的其他语言相同的机器学习库访问权限,但很快开发人员将在他们的网页中添加神经网络,与添加React组件或CSS属性几乎相同。真是既赋予权力又让人震恐。
5、R
R进入前五名的底部,并且趋势向下。 R是数据科学家喜爱的语言。 但是,由于其以数据帧为中心的方法,其他程序员在第一次遇到R时会发现R有点混乱。
二、其它AI编程
1、Lua
几年前,Lua在人工智能领域处于领先地位。 使用Torch框架,Lua是最流行的深度学习开发语言之一,你仍然会在GitHub上遇到很多历史深度学习工作,用Lua/Torch定义模型。
2、Julia
Julia是一种高性能的编程语言,专注于数值计算,这使得它非常适合“数学繁重”的AI世界。 虽然现在不是那种流行的语言选择,但像TensorFlow.jl和Mocha(受Caffe影响很大)这样的包装器提供了良好的深度学习支持。
3、Swift
LLVM编译器和 Swift编程语言的创始人 ChrisLattner宣布推出 Swiftfor TensorFlow,该项目承诺结合 Python提供的易用性,以及速度和静态类型检查。作为奖励,Swift for TensorFlow还允许你导入Python库(如NumPy)并在Swift代码中使用它们,就像使用任何其他库一样。
如果你还没去学习Swift for Tensorflow,那么我建议你留意一下这个项目,虽然Swift for Tensorflow目前还处于开发的早期阶段,但是它能够编写现代编程结构并获得速度和安全性的编译保证,这会让这个项目有一个非常明朗的前景,相信之后它会有很不错的发展。
小编认为,AI最好的编程语言有五种,分别是指Python、Java和他的朋友、C/C++、JavaScript、R。其中需要注意到的是:Python提供的库在其他语言中几乎是独一无二的;Java是最通用的;C/C++可以让你在嵌入式环境中工作,并且无法负担Java虚拟机或Python解释器的开销时,从系统中获取最后一点性能;JavaScript目前没有机器学习库访问权限,而R则是数据科学家喜爱的语言。
文章来源:《分析人工智能系统开发的最佳编程语言趋势》,智家网