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

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

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

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

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

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

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

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

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

21187 次点击
所在节点    程序员
124 条回复
NoOneNoBody
2024-01-05 19:25:58 +08:00
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
2024-01-05 19:46:21 +08:00
首先, 我标题强调了程序员三个字, 是有原因的

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

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

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

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

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

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

这个代码有点整蛊,笑一下别当真
https://next-stack-tau.vercel.app/
neroxps
2024-01-05 21:47:38 +08:00
emmm 没人会觉得 bash 简单,也没人会觉得 awk 简单。
wangfeng3769
2024-01-05 21:52:20 +08:00
python 不是简单,而所接地气,顺便鼓捣一周就能写代码,我觉的这就是法宝。
dingyaguang117
2024-01-05 22:11:33 +08:00
看一下 flask-sqlalchemy 的代码,可以学到很多 Python 精妙的用法. 还有元编程这些才是精髓, 可以将你的库的接口设计得无比精妙和简洁。
zhw2590582
2024-01-05 23:25:18 +08:00
其实想想,js 的这几年的的版本迭代,差异都不是很大,每次都只是新增几个小功能
roycestevie6761
2024-01-06 00:08:37 +08:00
python js 都是问 gpt 的,没有专门学过
chesha1
2024-01-06 00:43:29 +08:00
你说的是 python 上限高,这不影响达到相同目的 python 最简单
而且这套说辞可以套给任何语言
shutongxinq
2024-01-06 00:59:44 +08:00
python 确实非常简单。
jsq2627
2024-01-06 01:48:47 +08:00
我的认知是, c 语言很简单, 甚至是难度相当低, 原因为以下几点

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

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

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

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

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

而对于普通人 py 会用就行.....管啥原理呢?
param
2024-01-06 16:04:25 +08:00
照这么说,HTML 也一点都不简单
cndenis
2024-01-06 19:37:59 +08:00
我认为 Python 从 async/await 开始就走上邪路,偏离初心了。 好端端一门语言变成这样,唉。。。
CFM880
2024-01-06 20:46:19 +08:00
简单是大家只用到简单部分,所以认为简单
lijiangang886
2024-01-07 05:42:12 +08:00
>一些所谓简单的语法, 后面其实包含的非常深奥的原理

哪个语言不是这样? JavaScript 原型链对没接触过的来说也照样是大开眼界
elcerrito
2024-01-07 08:21:53 +08:00
Python 下到小朋友都可以学习, 上到为 CPython 的实现深挖没有尽头。但调包客观上促成了 Python 的火热...

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

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

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

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

© 2021 V2EX