#1 - 2017-8-14 16:02
3kkksz
(bgm111) 非专业程序员一枚,平日主要写 Python,具体是数据处理、机器学习这些。最近和组里的一个写 Java 的姐姐交流之后,感觉自己的编程能力还是有很大的进步的空间(不是指学习各种算法,而是指代码的风格、适当地运用 OOP 和语言自己的特性等等)

于是乎,不知道有什么好的精进的方法?姑且买了 Effective Python 这本书回来读,不过里面可能 70% 的内容我都知道并且也实践过了(比如 @property 或者 generator)(bgm100)

倒也不是说为了工作而精进,纯粹是出于个人兴趣…是不是花时间钻一钻一门编译型语言(譬如 Kotlin)会比较好?
#2 - 2017-8-14 20:01
(a halfelf ronin)
如果只是精进而看编译型为什么不是C呢?C是硬件最好的抽象没有之一,而且语法简单,编译过程本身也简单。

精进是一个缓慢的过程,我的看法是大部分情况下不在于语言,是随着精进,对于不舒服的感觉越来越明显而准确。比如OP说交流后感觉有很大进步空间,能不能交流前就发现其中一部分进步空间呢? 就是写着写着不爽,会想,这个部分肯定有更好的方案,这么写太tm蠢了。

具体我也不好说这应该用怎样的途径去提升,我只能说一个,比如refactoring这本书,最有用的一章是坏味道,至于坏味道如何解决,会google就会解决。而使用google,在google中使用精准的英文词汇描述问题也是一项重要的技能。

语言的问题都是旁枝问题,诚然不同抽象也会有不同的感觉。如果选几个体会一下的话那就是7 lang in 7 weeks里几种吧。
#2-1 - 2017-8-19 12:29
橘枳橼
不过坑多(一半来自向后兼容),但是相对地,了解所有坑了以后就能对硬件有更好的了解
#3 - 2017-8-14 22:19
(B站难民)
我觉得可以多读读代码。
#4 - 2017-8-14 22:53
(Q, Σ, Γ, δ, q0, Z0, F)
SICP看过没有?
CSAPP看过没有?
设计模式看过没有?

还有建议玩玩Rust。
#5 - 2017-8-14 23:18
Fluent Python 呢?如果也能看懂 70% 那就没必要继续学 Python 了
#6 - 2017-8-15 00:06
这跟语言没关系,关键是要有参照有代码审查。只写给自己看的代码很容易就怎么方便怎么写了