以 JavaScript 为出发点,什么姿势学习 Python 最省力?

2019-12-10 21:25:16 +08:00
 dioxide

或者具体说那本书或教程?

相对于其他主流语言,从语言特性认同方面来说,JavaScript 算是最相似的么?

其实,我是想找《写给 JavaScript 程序员的 Python 教程》,有值得推荐的么?

2794 次点击
所在节点    程序员
24 条回复
shintendo
2019-12-10 21:31:25 +08:00
我觉得写 js 舒服多了……
secondwtq
2019-12-10 21:31:52 +08:00
照楼主这种想法,挑出 12 种主流语言,能写 144 篇教程,服务不同群体…
感觉突然找到了人生的意义呢
mcfog
2019-12-10 21:37:56 +08:00
@secondwtq 数学老师哭晕在厕所
Aruforce
2019-12-10 21:41:59 +08:00
@secondwtq 12 * 11 啊
shintendo
2019-12-10 21:48:27 +08:00
我以前有过这个想法,做一个教程网站,选择你要学的语言,再选择一种你掌握的语言,啪,系统给你 diff 出一篇教程来
crella
2019-12-10 21:48:34 +08:00
@secondwtq 如果是给 c#程序员的 vb.net 教程,说明用 dnspy 看 ir 中间码互转就行(抖机灵)
dioxide
2019-12-10 21:49:47 +08:00
@secondwtq 所以,这正好是个写作主题啊
crella
2019-12-10 21:49:56 +08:00
是 IL 中间码。话说有 py 和 js 互转的程序吗,能完成一般语法的就可以。
NeoChen
2019-12-10 21:51:18 +08:00
不懂如何省力,多实践不就好了,一定要跟其他语言连起来学么?
dioxide
2019-12-10 21:51:37 +08:00
@shintendo , 好“人性化”的想法
secondwtq
2019-12-10 21:53:34 +08:00
@Aruforce 某些语言始终致力于重新定义自身,作为半个 C++程序员,我认为 12*12 是必要的
dioxide
2019-12-10 21:55:18 +08:00
@NeoChen, 实践是要的,我是觉得对比着学,学特性,学重点,印象会更深,同时可以和 JS 的知识点串连起来。
alphardex
2019-12-10 22:27:02 +08:00
dioxide
2019-12-10 22:29:57 +08:00
3q, blog 也不错,订了
ClericPy
2019-12-10 23:55:19 +08:00
尽量别看那种给 XX 程序员准备的 XX 语言教程

语言就是个工具, 却不仅仅是个工具. 就像要学习一门自然语言, 除了学其语法, 更要知其深邃, 不了解它的文化, 那和一个机翻有什么区别. 学一门语言, 最能收益的其实是它的设计思想, 至少我每多学一门语言, 就会被那个语言里的设计思路给惊道, 总在想它们怎么被想到的, 人类智慧太神奇了, 比如 goroutine 的方式利用多核, async await 的方式解决困扰十几年的异步编程, erlang 的并发实现, rust 无 GC, jvm 解决跨平台, nodeJS 全局单线程异步 (虽然前面提到的大部分语言我都不行... 但是看它的设计的时候真的感到受益匪浅, 几乎都是为了解决当时最迫切问题而诞生的)

学语言最好的就是看它的官方文档, 何况 python 还有中文文档了. 具体模块可以看看 realpython 系列, 以前总结过 https://clericpy.github.io/blog/posts/20191027113439/ 教程, 不过对有其他语言基础的人来说, 最佳时间还是: 阅读优秀源码, 看不懂的参考官方文档.

言尽于此, 欢迎掌握当前最值得的两门语言: javascript + python
ClericPy
2019-12-10 23:58:05 +08:00
前面提到机翻, 确实有 js <-> py 的一些库, 表义语法互转还真挺多...
secondwtq
2019-12-11 00:42:16 +08:00
@ClericPy
NodeJS 的异步思路根源来自 OS 的中断机制
Golang 的并发来源于 CSP (Communicating Sequential Processes)
Rust 的内存管理可以看作是 Substructural Type System 和 Region based memory management 的结合
async/await 是 CPS 变换
GC 和 JIT 之类 LISP 就有了,VM 这东西 Smalltalk 就做得不错了
以上大多数对于足够强大的语言来说就是一个库。

Erlang 不熟悉,不过大概算是新东西比较多的
secondwtq
2019-12-11 00:50:22 +08:00
@crella C# 程序员一般不需要看 VB.NET 吧 ...
不过 VB.NET 转 C# 估计光看 IL 互转是真的不行 ...
就别说 F#, C++/CLI 之类乱七八糟的和 C# 三者之间基本没可转移性了
IL 就是个下限 ...
agdhole
2019-12-11 01:29:15 +08:00
花了几十分钟查了下 python api 就去写爬虫了
gramyang
2019-12-11 07:02:42 +08:00
学脚本语言最终还是要落到 c++,所以学 c++吧

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

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

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

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

© 2021 V2EX