0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python仍是人工智能和机器学习的主导编程语言吗?

如意 来源:读芯术微信公众号 作者:读芯术微信公众号 2020-11-09 14:30 次阅读

上世纪90年代初,Python面世了。近30年来,关于它的“炒作”一直没有少过。当然,编程界花了至少20年的时间才认识到它,但自那以后,它的流行程度远远超过了C、C#Java甚至Javascript。

尽管Python目前在数据科学和机器学习领域,以及某些程度上在科学和数学计算领域占据着主导地位,但与Julia,Swift和Java等新语言相比,它确实有其劣势。

是什么让Python如此受欢迎?

Python迅速发展的主要原因是易于学习和功能强大。这使得它对初学者,包括那些由于C、C++等语言语法艰涩且陌生而对其望而却步的人,都非常有吸引力。

该语言从根本上广泛强调代码的可读性。凭借其简洁而富有表现力的语法,它允许开发人员在不编写大量代码的情况下表达想法和概念(例如在C或Java等低级语言)。Python非常简单,可以与其他编程语言无缝集成(例如将CPU密集型任务卸载到C / C ++),这对多语言开发人员来说是一个加分项。

Python用途广泛的另一个原因是大型企业(包括FAANG)以及无数小型企业对其的大量使用。如今,Python包里几乎包含了可以想到的任何东西——用于科学计算的Numpy,用于机器学习的Sklearn和用于计算机视觉的Caer。

Python也有缺点

它运行很慢,非常慢

显而易见,在未来很长一段时间里,速度都是开发人员的主要关注点之一。

Python之所以“慢”,实际上有两个原因——Python被解释为与编译相反,最终导致执行速度较慢;以及它是动态类型的(Python在执行过程中自动推断变量的数据类型)。

事实上,“Python很慢”这一说法对初学者影响很大。这是真的,但只是部分事实。以Python中可用的机器学习库TensorFlow为例,这些库其实是用C++编写的,并可以在Python中使用,某种程度上构成了围绕C++实现的Python“装饰器”。Numpy,甚至Caer,在一定程度上也是如此。

它有一个GIL(I)

Python速度缓慢的主要原因之一是存在GIL(全局解释器锁),它一次只能执行一个线程。虽然这可以提高单线程的性能,但它限制了并行性,开发人员必须实现多处理程序而非多线程程序来提高速度。

不是内存密集型任务的最优解

当对象超出范围时,Python会自动进行垃圾回收。它旨在消除C和C++在内存管理方面的所涉及的许多复杂问题。由于指定数据类型的灵活性(或缺乏灵活性),Python消耗的内存量可能会迅速爆炸增长。此外,运行时可能会弹出Python未关注的错误,最终减缓开发过程。

移动计算中的弱存在

随着台式机到智能手机的巨大转变,很明显,我们需要更强大的语言来构建手机软件。尽管Python在台式机和服务器平台上具有很强的代表性,但是由于缺乏强大的移动计算处理能力,Python往往会在移动开发上失败。

近年来,这一领域有了很大进步,但是这些新添加的库与Kotlin,Swift和Java等强大的竞争对手相比仍有差距。

其他语言的兴起

最近,Julia,Rust和Swift等较新的语言强势入局。它们借鉴了Python,C/C ++和Java的许多优秀设计概念——Rust基本保证了运行时的内存安全性和并行性,并提供与WebAssembly的一流互操作性;由于支持LLVM编译器工具链,Swift几乎与C一样快;而Julia为I/O密集型任务提供了异步I/O,并且速度非常快。

Python从来就是很好的编程语言,它从来没有超越C/C++和Java。它是一种通用的编程语言,强调人类可读的、以英语为中心的语法,允许程序和应用程序的快速开发。

归根结底,Python和其他语言一样,是一种工具。有时候,它是很好的工具。有时候不是。大多数情况下,只是 “还不错”。

Python作为一种编程语言会消亡吗?笔者不这么认为。

那么,它的魅力正在消失吗?也许有一点,但只是一点点。
责编AJX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    88

    文章

    3440

    浏览量

    92388
  • 人工智能
    +关注

    关注

    1776

    文章

    43845

    浏览量

    230596
  • python
    +关注

    关注

    51

    文章

    4675

    浏览量

    83466
收藏 人收藏

    评论

    相关推荐

    嵌入式人工智能的就业方向有哪些?

    联网ARM开发 NB-IoT开发及实战 七:python工程师,人工智能工程师 python语法基础 python核心编程 基于OpenCV
    发表于 02-26 10:17

    ai人工智能机器

    随着时间的推移,人工智能的发展越来越成熟,智能时代也离人们越来越近,近几年人工智能越来越火爆,人工智能的应用已经开始渗透到各行各业,与生活交融,成为人们无法拒绝,无法失去的一个重要存在
    发表于 09-21 11:09

    不可错过!人工神经网络算法、PID算法、Python人工智能学习等资料包分享(附源代码)

    3.Python人工智能学习工具包+入门与实践资料集锦 本资料的主要内容详细介绍的是Python工具包合集包括了:网页爬虫工具集,文本处理工具集,
    发表于 09-13 16:41

    python人工智能的关系

    python人工智能的关系 Python语言人工智能领域最为流行和广泛应用的编程
    的头像 发表于 08-17 16:29 487次阅读

    python机器学习概述

    Python机器学习概述 机器学习人工智能领域的一个重要分支,是一种可以自动改进和
    的头像 发表于 08-17 16:11 764次阅读

    人工智能要学什么语言

    Python人工智能开发中最受欢迎的编程语言之一。它是一种易于学习和使用的编程
    的头像 发表于 08-14 15:19 1782次阅读

    人工智能用什么编程语言

    Java是另一个常用的人工智能编程语言。Java是一种面向对象的编程语言,能够构建高可靠性的软件系统。Java在企业级软件开发中应用广泛,而
    的头像 发表于 08-14 14:00 4442次阅读

    为什么python适合人工智能

    Python是一种相对简单的编程语言。它的语法和结构逻辑清晰,代码易于阅读和理解。Python中没有像C++或Java那样的过多的符号和特殊语法。这使得
    的头像 发表于 08-13 14:30 751次阅读

    人工智能需要什么编程语言

    Python是最流行的人工智能编程语言之一。它是一种高级语言,它的语法简单易学,容易上手。Python
    的头像 发表于 08-13 13:56 1220次阅读

    python人工智能难吗

    Python人工智能的难度因人而异。对于有编程经验的人来说,学习Python人工智能可能并不困难
    的头像 发表于 08-13 10:52 667次阅读

    学习人工智能需要什么

    人工智能领域里,编程能力是非常重要的技能。因为实现人工智能算法需要使用计算机语言进行编程,比如Pyth
    的头像 发表于 08-13 10:11 621次阅读

    人工智能学什么编程语言

    在这个领域求职的人来说,掌握正确的编程语言是非常重要的。以下是目前最受欢迎和最适用于人工智能开发的编程语言
    的头像 发表于 08-12 17:44 481次阅读

    人工智能语言有哪些

    出的好处看,深度学习机器学习等AI技术的革新是很令人兴奋的。现在,让我们来探讨一下人工智能语言的类型,以及它们在不同领域中的应用。
    的头像 发表于 08-12 17:12 2432次阅读

    人工智能用什么语言

    起着非常重要的作用。那么,人工智能用什么语言呢?本文将从编程语言的层面来探讨。 1. Python Py
    的头像 发表于 08-12 17:12 2160次阅读

    人工智能学什么语言

    ,因为机器学习人工智能的一个重要组成部分。 目前,许多编程语言都被用来开发AI应用程序。一些最受欢迎的
    的头像 发表于 08-12 16:58 443次阅读