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

2024-01-05 10:53:41 +08:00
 iorilu

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

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

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

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

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

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

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

18561 次点击
所在节点    程序员
124 条回复
diagnostics
2024-01-05 13:21:56 +08:00
和我对某个粉丝群体的认知几乎一样,极度喜欢寻求别人的认同感 & 认为自己与众不同。

python 简单指的是入门简单,Google 搜:python is simple ,第一个就是 good for beginner ,quora 的回复也说的是入门简单。
adoal
2024-01-05 13:26:04 +08:00
任何编程语言钻研到深处都不简单。但是有的编程语言可以让外行快速上手,有的则需要征服陡峭的学习曲线,只适合专业人士。
nicegoing
2024-01-05 13:30:03 +08:00
《黑客与画家》说过,语言目的越简单越抽象越好,更快的实现业务和迭代。学技术目的是满足用户需要,让用户满意了才挣到钱。精彩的技术主要对程序员有利,是用户关心的吗?放下自己的架子,再好的技术没人用也是垃圾,没有意义。就像商人会卖用户喜欢的商品,而不是自己认为用户应该喜欢的,那样亏到姥姥家。
0o0O0o0O0o
2024-01-05 13:32:21 +08:00
> 将 python 定位为主要使用语言
> 语法不断变化, 你不学习, 可能看不懂半年后的代码
> 虽然不了解也能用, 但也就是能用一点点而已, 稍微高级点深入点用法, 你不了解原理还是不行, 或者别人代码看不懂

好吧,对我来说 python 确实就是个 shebang ,能 import 就 import ,不能就算了,不会去想着读别人的高深代码。。。语法只会用最基础的一部分

> python 本身库就极为庞大, 绝大多数人可以说 90%模块都没用过

感觉 Python 库多到这个程度就是它简单的理由之一,干啥都可以 import

> python 使用范围太广, 想多涉及点就要相当的经验, 比如 web, gui, 机器学习, 深度学习, nlp 等等, 每一块都有专属的知识点需要大量经验, 时间

感觉有点牵强了。搞科研的也很多用 Python ,你总不能把他们的知识领域也算做 Python 的吧?
CrazyRundong
2024-01-05 13:32:29 +08:00
复杂的是由 Python 描述和定义的系统其本质的原理,比如某个深度学习算法、某一类 LLM 训练/推理引擎的设计原则和取舍;即使是单纯从工程角度看,大部分系统中 heavylifting 的部分都交给 C++/CUDA/Triton 了。Python 本身作为一个语言是非常直接和简单的
wonderfulcxm
2024-01-05 13:37:20 +08:00
简单是比较出来的,op 可以推荐一个比 python 简单的语言吗?
musi
2024-01-05 13:37:48 +08:00
所有说简单的,特指入门简单
类似 python 、js 这种属于入门简单的
rust 这种属于难的我入门入了几次还没入门
pppanda
2024-01-05 13:39:41 +08:00
哪个卖课卖的多,哪个就相对简单
yy77
2024-01-05 13:41:02 +08:00
python 简单是说它能够比较快地完成一些简单的功能,不强求在最开始就把学习曲线拉得非常陡峭。
GeekGao
2024-01-05 13:41:02 +08:00
@wonderfulcxm 那要回到上古时代了,Basic 简单,哈哈
ivvei
2024-01-05 13:42:32 +08:00
"python 仍然不断快速迭代, 语法不断变化, 你不学习, 可能看不懂半年后的代码"

新版本你可以不用的。Python 现在版本不兼容到需要每个项目都锁死一个版本了。


“一些所谓简单的语法, 后面其实包含的非常深奥的原理, 比如 generator, async 等等东西, 虽然不了解也能用, 但也就是能用一点点而已, 稍微高级点深入点用法, 你不了解原理还是不行, 或者别人代码看不懂”

我要研究原理,那还用 Python 干嘛?是它实现得特别好?


“python 本身库就极为庞大, 绝大多数人可以说 90%模块都没用过”

没用过的就是不需要的。需要的自然会用。


“python 使用范围太广, 想多涉及点就要相当的经验, 比如 web, gui, 机器学习, 深度学习, nlp 等等, 每一块都有专属的知识点需要大量经验, 时间”

这个和 python 无关。而且什么叫 python 使用范围太广?比谁广?某些领域 python 库多生态好不表示只能用 python ,只是更多的人会选择 python 图个方便。
salmon5
2024-01-05 13:45:42 +08:00
怎么滴,你自己写个 python 觉得很复杂?实际中复杂的不是代码本身,是人的协作和管理。
chenzhongxiang
2024-01-05 13:50:33 +08:00
一切都是相对而言。
对新手:语法什么的确实很简单,不用理解太多的概念就能凭直觉写小东西了。对老手:轮子太多太爽,现在谁还自己造轮子啊,轮子多就是王道。
superrichman
2024-01-05 13:52:40 +08:00
Python 可以说是现代编程语言里最简单的
mcfog
2024-01-05 13:52:54 +08:00
跑步简单,你能百米七秒,马拉松三小时吗?
这又和全民健身大家跑步有什么关系?

看不懂别人的观点,人家用你那种高级复杂的 python 完成什么任务,就少晒你的优越感
lvlongxiang199
2024-01-05 13:54:04 +08:00
> 稍微高级点深入点用法, 你不了解原理还是不行, 或者别人代码看不懂
prove it. 我用过 generator 及 async, 完全不了解实现, 但不妨碍我使用. 只需要看下 pep 了解提出这玩意的背景, 能解决的问题, 适用场景就可以, 我就能知道用这个能解决啥问题. 同样我不了解 golang 中协程的实现, 但并不妨碍我天天用, 天天看他们的代码

> python 本身库就极为庞大, 绝大多数人可以说 90%模块都没用过
这能说明什么问题. 应该是先有问题(在这种场景下, 我需要实现什么功能, 比如二分查找, 解析 md), 然后 Google 下有没有库来实现这东西


> python 使用范围太广, 想多涉及点就要相当的经验, 比如 web, gui, 机器学习, 深度学习, nlp 等等, 每一块都有专属的知识点需要大量经验, 时间
这个锅 python 不背. 语言只是用来解决我碰到的问题的. 即使不用 python 解决, 这些问题难度依然不会降低
jjwjiang
2024-01-05 13:54:12 +08:00
背景:
C#是公认的简单的语言
我只用 python 做过简单的调包、小工具

事实:
看了一下你说的 generator, async 这两个关键字,大概 2 分钟我就理解了,不理解难点在哪
lazywen
2024-01-05 14:02:37 +08:00
python 只能算是入门简单,写出高效率的代码不容易,说到底还是跟人的技术水平有关,举个例子最近 ai 火爆,很多公司把 ai 相关业务用 python 来做,朋友前段时间刚接手了一个项目,原公司里面没有 python 的,都是从 java 直接抓个人过来写 python ,加上业务逻辑一次返回 400ms 以上甚至五六百,朋友接手时也几乎没写过 python ,但他懂得如何减少计算如何使用空间换时间,不知道怎么写比较好或者不懂各种写法之间区别的时候就会来问我,最后他优化到了平均返回 120ms 以内,包含模型计算 60 ~ 80ms 左右
kakki
2024-01-05 14:04:32 +08:00
按这种说法的话,没有一个语言是简单的。
但是要讲入门的话,我初中的侄女学个 python 还是很轻松的。
Dlin
2024-01-05 14:05:36 +08:00
难的不是语言,难的是要学习了解各种库,和设计思想。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1006067

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX