设为首页收藏本站

天空语文 如皋  九华 作文  教学

 找回密码
 我要加入(register注册)

QQ登录

只需一步,快速开始

快捷登录

最近看过此主题的会员

天空新人

77翔子

41BCDD

顾佳瑞七六阅读

小燕子

李白202091

蓝兰的花朵

嘿嘿嘿

joycy

颂颂.g

酷土土土

用户已注销

Jeremy

ʚ贴贴ɞ

果子黑

H·princess

李苏楠

方大金

依灵灵灵.

金川兰

lulululu

lisunan18795762

清风拂过

楠大人

王悦

朴弟

查看: 947|回复: 2
收起左侧

Python正在慢慢失去对码农的吸引力

  [复制链接] TA的其它主题
来自- 巴西

Ta在天空论坛排行

积分:NO. 46 名

发帖:NO. 45 名

在线:NO. 49 名

素色流年783 发表于 2020-10-19 11:53:07 | 显示全部楼层 |阅读模式 来自- 巴西
来自- 巴西

加入天空更多精彩

您需要 登录 才可以下载或查看,没有帐号?我要加入(register注册)

x
Python正在慢慢失去对码农的吸引力闻数起舞2020-10-18 11:20:35
意见,瑞士军用编程语言刀存在问题,可能会被更适合该任务的其他语言取代

> Photo by Tamara Gore on Unsplash
自从1990年代初发布Python之后,它就引起了很多炒作。 当然,编程社区至少花了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的弱点很慢,很慢

> Photo by Nick Abrams on Unsplash


这可能很容易。 速度通常被认为是开发人员关注的重点之一,并且可能会持续不可预见的时间。
Python变慢的主要原因之一,实际上可以归结为2 – Python被解释为与编译相反,最终导致执行时间变慢; 以及它是动态类型的(在执行过程中,Python会自动推断变量的数据类型)。
实际上,这种" Python慢"的观点在初学者中往往起很大作用。 对,是真的。 但只是部分。
以TensorFlow为例,这是Python提供的机器学习库。 这些库实际上是用C ++编写的,并且可以在Python中使用,有点像是围绕C ++实现的Python"包装器"。 Numpy甚至在一定程度上也是如此。
它有一个GIL(l)
Python速度缓慢的主要原因之一是存在GIL(全局解释器锁定),该功能一次只能执行一个线程。 虽然这可以提高单线程的性能,但是它限制了并行性,在这种并行性中,开发人员必须实现多处理程序而不是多线程程序,以提高速度。
对于内存密集型任务不是最好的
当对象超出范围时,Python会自动进行垃圾回收。 它旨在消除C和C ++涉及的很多内存管理复杂性。 由于指定数据类型的灵活性(或缺乏灵活性),Python消耗的内存量可能会迅速爆炸。
此外,Python可能不会注意到的一些错误可能会在运行时弹出,最终使开发过程变慢了很多。
移动计算的弱势存在

> Photo by Yura Fresh on Unsplash


从台式机到智能手机的巨大转变,很明显,需要更强大的语言来构建用于手机的软件。 尽管Python在台式机和服务器平台上具有相当大的代表性,但是由于缺乏强大的移动计算处理能力,Python往往会在移动开发方面失去优势。
近年来,在这一领域取得了许多进步,但是这些新添加的库甚至与强大的竞争对手(如Kotlin,Swift和Java)并不接近。
其他语言的兴起
最近,Julia,Rust和Swift等较新的语言突然出现,它们借鉴了Python,C / C ++和Java的许多优秀设计概念-Rust几乎保证了运行时的内存安全性和并发性,并提供一流的 与WebAssembly的互操作性; Swift对LLVM编译器工具链的支持几乎与C一样快,而Julia为I / O密集型任务提供了异步I / O,并且速度非常快。
结论
Python从未被构建为最佳的编程语言。 它从未被构建为可以使用C / C ++和Java。 它被构建为一种通用的编程语言,强调了人类可读的,以英语为中心的语法,从而可以快速开发程序和应用程序。
就像一天结束时的所有其他语言一样,Python是一种工具。 有时,它是最好的工具。 有时候不是。 通常,这"还好"。
那么,Python作为一种编程语言是否正在消亡?
我几乎不这么认为。
它失去魅力了吗?
啊,也许只是一点点。 一点点。
(本文翻译自Jason Dsouza的文章《Python is Slowly Losing its Charm》,参考:https://towardsdatascience.com/p ... -charm-9ca652726492)

收藏
举报


97 条评论


评论



  • 奔跑柿油党21小时前

    我不知道作者是什么背景,作为一个20年工作经验的老程序员(用过asp,PHP,perl,Delphi,Java等),强烈建议大家学习Python。虽然Python语言特性有些老,比不上新语言。但是,现在所处时代是面相业务软件开发到面相数据和算法软件开发的转型期,Python有独特优势,只要你工作个四五年相信熟悉一个新语言的语法不是障碍,但是编程思想的转型需要很长一段时间,Python在面向数据和算法方面有其它语言不可替代的优势,有大量成熟扩展库,一些最新的算法也都会第一时间提供Python库供大家使用。相信后面会有更新的语言替代Python,但是现在还没有。深度学习一下Python吧,训练自己编程思维最重要,后面即使换语言也不是难事。

    回复 ⋅ 29条回复23


  • 树云315小时前

    07年就开始用PY来做工,当时在Perl和PY二选一,一见Perl语法,感觉到那不是我的菜。 PY慢不慢我不关心,如果项目求快速度,C是不二选择,反正玩代码的不是仅仅会一种语言,PY的低效率可以用时间弥补,从用户角度看,在接到任务时,PY能解决问题就行了。 我在做一个科研项目,单片机的,对象都是计算机的门外汉,开始时在考虑C还是PY,最后选PY。C的速度不在话下,但是C在使用中得投相当多的时间与编译、调试、排错做斗争,用PY的话,可以省出这些时间做项目本身的事。

    回复1


  • 活在现实就要实话实说3小时前

    什么是最好的语言?只要学任意一种 其他的一天不学 马上就能投入生产使用!怎么能做到这点?从有语言开始 就统一一种语法 格式 语言之间的区别 就是运行效率和应用范围场合 多平台下功夫 任意语言直接都可以相互无缝连接 这样可以节省大量浪费生命一样的学习时间

    回复0


  • 无尽红叉轻语21小时前

    作为第二语言很合适,不适合作为程序员的绝活语言。

    回复 ⋅ 1条回复5


  • Scathon13小时前

    被ai带起来的,写写小工具还行,运维开发用的比较多 ,业务系统后端开发方面多数就还是JAVA和golang,而且弱类型语言通病就是,代码量一多,就会发现我这写的是啥?







我知道答案 本帖寻求最佳答案回答被采纳后将获得系统奖励10 天空金币 , 目前已有2人回答

最近访客

谁来看过你
此贴被TA们浏览了947次
来自- 巴西
回复
天空论坛,有你有我,明天更好!
来自- 巴西
来自- 中国北京

Ta在天空论坛排行

积分:NO. 29 名

发帖:NO. 23 名

在线:NO. 49 名

张政 发表于 2023-8-3 18:15:17 | 显示全部楼层 来自- 中国北京
来自- 中国北京
希望看到楼主多发这样的好贴
来自- 中国北京
回复
天空论坛,有你有我,明天更好!
来自- 中国北京
点评回复 支持 反对 来自- 中国北京

使用道具 举报 私信管理员来自- 中国北京

来自- 中国湖北十堰

Ta在天空论坛排行

积分:NO. 20 名

发帖:NO. 18 名

在线:NO. 82 名

馥琳 发表于 2024-7-22 18:28:24 | 显示全部楼层 来自- 中国湖北十堰
来自- 中国湖北十堰
很经典,收藏了!
来自- 中国湖北十堰
回复
天空论坛,有你有我,明天更好!
来自- 中国湖北十堰
点评回复 支持 反对 来自- 中国湖北十堰

使用道具 举报 私信管理员来自- 中国湖北十堰

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

×天空论坛发帖友情提示:
1、注册用户在本论坛发表、转载的任何作品仅代表其个人观点,不代表本论坛认同其观点。
2、如果存在违反国家相关法律、法规、条例的行为,我们有权在不经作者准许的情况下删除其在本论坛所发表的文章。
3、所有网友不要盗用有明确版权要求的作品,转贴请注明来源,否则文责自负。
4、本论坛保护注册用户个人资料,但是在自身原因导致个人资料泄露、丢失、被盗或篡改,本论坛概不负责,也不承担相应法律责任。

QQ|手机版|我们的天空 ( 苏ICP备18048761号 ) |苏公网安备32068202000215号 |网站地图

GMT+8, 2024-11-6 00:25 , Processed in 0.218966 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表