V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iorilu
V2EX  ›  程序员

时至今日, 还有多少程序员认为 Python 简单的

  •  1
     
  •   iorilu · 328 天前 · 17719 次点击
    这是一个创建于 328 天前的主题,其中的信息可能已经有所发展或是发生改变。

    首先, 我标题强调了程序员三个字, 是有原因的

    因为外面随便搜索下, 都是什么 python 简单, 1 小时上手等等文章, 视频数不胜数

    但我加上程序员, 是因为这里用户大多是程序员, 或起码知道点代码的人

    我希望评价的人多少用过 python , 至少写过几百行代码, 或跑过一些 python 项目等等, 总之就是至少有一定深度的实践

    反正就我本人而已, 我几年前将 python 定位为主要使用语言

    我的认知是, python 压根不简单, 甚至是难度相当不小, 原因为以下几点

    • python 仍然不断快速迭代, 语法不断变化, 你不学习, 可能看不懂半年后的代码
    • 一些所谓简单的语法, 后面其实包含的非常深奥的原理, 比如 generator, async 等等东西, 虽然不了解也能用, 但也就是能用一点点而已, 稍微高级点深入点用法, 你不了解原理还是不行, 或者别人代码看不懂
    • python 本身库就极为庞大, 绝大多数人可以说 90%模块都没用过
    • python 使用范围太广, 想多涉及点就要相当的经验, 比如 web, gui, 机器学习, 深度学习, nlp 等等, 每一块都有专属的知识点需要大量经验, 时间

    总之, 所谓简单只是指 python 可能用的代码行数少点, 但是你想写出所谓 pythonic 的代码, 需要花费大量的时间学习, 这点肯定是不简单的.

    124 条回复    2024-10-05 16:03:21 +08:00
    1  2  
    NoOneNoBody
        101
    NoOneNoBody  
       328 天前
    print(sum([1, numpy.nan]))
    print(sum([1, pandas.NA]))
    print(pandas.Series([1, numpy.nan]).sum())
    print(pandas.Series([1, pandas.NA]).sum())
    这四行结果不一样
    很难啊
    April5
        102
    April5  
       328 天前
    首先, 我标题强调了程序员三个字, 是有原因的

    因为外面随便搜索下, 都是什么 javascript 简单, 1 小时上手等等文章, 视频数不胜数

    但我加上程序员, 是因为这里用户大多是程序员, 或起码知道点代码的人

    我希望评价的人多少用过 javascript , 至少写过几百行代码, 或跑过一些 javascript 项目等等, 总之就是至少有一定深度的实践

    反正就我本人而已, 我几年前将 javascript 定位为主要使用语言

    我的认知是, javascript 压根不简单, 甚至是难度相当不小, 原因为以下几点

    javascript 仍然不断快速迭代, 语法不断变化, 你不学习, 可能看不懂半年后的代码
    一些所谓简单的语法, 后面其实包含的非常深奥的原理, 比如 generator, async 等等东西, 虽然不了解也能用, 但也就是能用一点点而已, 稍微高级点深入点用法, 你不了解原理还是不行, 或者别人代码看不懂
    javascript 本身库就极为庞大, 绝大多数人可以说 90%模块都没用过
    javascript 使用范围太广, 想多涉及点就要相当的经验, 比如 web, gui, 机器学习, 深度学习, nlp 等等, 每一块都有专属的知识点需要大量经验, 时间
    总之, 所谓简单只是指 javascript 可能用的代码行数少点, 但是你想写出所谓 jsic 的代码, 需要花费大量的时间学习, 这点肯定是不简单的.
    Davic1
        103
    Davic1  
       328 天前
    @April5 jsic 是什么? 另外,有 js 做 nlp 的资料吗?纯好奇
    DOLLOR
        104
    DOLLOR  
       328 天前
    你列出的几个点,在很多编程语言上都成立,python 并不显得突出。
    shui14
        105
    shui14  
       328 天前
    py 热门工具多。业务开发网页或者 api 的话,这些点在大多语言上都是成立的
    楼上的 js ,现在做业务开发的话一点都不差,特别是 serverless function ,前后端一起写很顺畅

    这个代码有点整蛊,笑一下别当真
    https://next-stack-tau.vercel.app/
    neroxps
        106
    neroxps  
       328 天前 via iPhone
    emmm 没人会觉得 bash 简单,也没人会觉得 awk 简单。
    wangfeng3769
        107
    wangfeng3769  
       328 天前
    python 不是简单,而所接地气,顺便鼓捣一周就能写代码,我觉的这就是法宝。
    dingyaguang117
        108
    dingyaguang117  
       328 天前   ❤️ 2
    看一下 flask-sqlalchemy 的代码,可以学到很多 Python 精妙的用法. 还有元编程这些才是精髓, 可以将你的库的接口设计得无比精妙和简洁。
    zhw2590582
        109
    zhw2590582  
       328 天前
    其实想想,js 的这几年的的版本迭代,差异都不是很大,每次都只是新增几个小功能
    roycestevie6761
        110
    roycestevie6761  
       328 天前
    python js 都是问 gpt 的,没有专门学过
    chesha1
        111
    chesha1  
       327 天前   ❤️ 1
    你说的是 python 上限高,这不影响达到相同目的 python 最简单
    而且这套说辞可以套给任何语言
    shutongxinq
        112
    shutongxinq  
       327 天前
    python 确实非常简单。
    jsq2627
        113
    jsq2627  
       327 天前
    我的认知是, c 语言很简单, 甚至是难度相当低, 原因为以下几点

    c 语言几乎很少迭代, 语法很少变化, 你不学习, 也可能看懂 20 年后的代码
    一些所谓复杂的语法, 后面其实包含非常简单的原理, 比如各种复杂声明语法, 背后无非都是指针那一套。不过有时候虽然了解原理你也根本写不出来那些 ugly 但又非常高效的代码。
    c 库一点都不庞大, 标准库就那点函数,这年头也没多少新的第三方库,绝大多数人可以说 90%模块都用过
    c 使用范围很窄, 基本上只用在那些历史悠久的基础软件上

    RyougiShiki
        114
    RyougiShiki  
       327 天前
    观点同楼主。也见过不少说 py 简单的人,前几年可能有点抱不平,现在觉得无所谓,只是对不深入领域的评价而已,不必当真。
    mmdsun
        115
    mmdsun  
       327 天前 via iPhone
    程序员+CS 专业出身不会觉得难吧???
    大学没过编程语言设计和编译原理专业课么?

    先不谈技术原理,程序员用起来没什么问题。

    generator 支持闭包的语言都能模拟实现吧,我大学的时候就用 js 实现过模拟 generator+yield 的用法。 。

    async/await 这种 Continuation Passing Style ,用 goto 跳转+状态机也都能简单实现。 参考早期 kotlin 是怎么在 Java 上模拟协程的。甚至拿 c++ 内连汇编几行代码就搞定了😅 这要是程序员还说难就要好好反思一下自己了(即使不知道原理其实也没问题吧?面试都不会卷到问这些...)

    而对于普通人 py 会用就行.....管啥原理呢?
    param
        116
    param  
       327 天前 via Android
    照这么说,HTML 也一点都不简单
    cndenis
        117
    cndenis  
       327 天前
    我认为 Python 从 async/await 开始就走上邪路,偏离初心了。 好端端一门语言变成这样,唉。。。
    CFM880
        118
    CFM880  
       327 天前
    简单是大家只用到简单部分,所以认为简单
    lijiangang886
        119
    lijiangang886  
       326 天前
    >一些所谓简单的语法, 后面其实包含的非常深奥的原理

    哪个语言不是这样? JavaScript 原型链对没接触过的来说也照样是大开眼界
    elcerrito
        120
    elcerrito  
       326 天前
    Python 下到小朋友都可以学习, 上到为 CPython 的实现深挖没有尽头。但调包客观上促成了 Python 的火热...
    supersu
        121
    supersu  
       326 天前 via Android
    本人愚笨,py 的 django 框架倒腾了快三年才入门~
    arnosolo
        122
    arnosolo  
       326 天前
    反正我学 python 的时候是挺难受的, 因为和我之前学的 c/cpp, TS, Swift, Kotlin 相比, 它的语法实在是太特立独行了.
    duzhuo
        123
    duzhuo  
       326 天前 via Android
    我们学校数学老师都学 python 的
    will800
        124
    will800  
       54 天前
    @julyclyde #9 async 我看了很多资料,极少有讲的很明白的,都是泛泛而谈,估计这些人自己都没明白。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1795 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:34 · PVG 00:34 · LAX 08:34 · JFK 11:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.