首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用其他语言编写的编程书对Python有用吗?

用其他语言编写的编程书对Python有用吗?
EN

Software Engineering用户
提问于 2013-04-21 16:50:29
回答 2查看 1K关注 0票数 4

我是自学成才的Python中级程序员;我经常遇到用其他语言(通常是Java)编写的关于软件开发和编程的流行书籍。

典型例子:

  • 重构:改进现有代码的设计
  • 设计模式,四人帮
  • 测试驱动开发:通过示例
  • 单元测试的艺术:以.NET为例

一般来说,读一本为另一种语言写的书有多大用处?具体来说,Python呢?一个人应该坚持使用特定语言的书籍吗?

例如,很多人赞扬GOF的设计模式,我从来没有读过它,因为这个模型适用于其他语言(毕竟Python是关于反模式的,对吗?)然而,由于它在CS文学中的地位,我感觉到了一种冲动。

同样,单元测试的艺术:使用.Net中的示例可以帮助Python程序员学习单元测试,即使示例是在.NET中?

EN

回答 2

Software Engineering用户

发布于 2013-04-21 17:41:13

绝对一点儿没错!偶尔脱离你的主要语言是非常有帮助的,因为这可以让你通过不同的视角看到编程的概念,这会让你获得新的视角。

使任何软件都是好的,或者高质量的,从来不是关于语法或语言的选择。这就是这种语言的应用方式。Steve McConnell将这种编程称为一种语言而不是一种语言的编程。

McConnell写了完整的代码,这是我强烈推荐的一本书。他特别指出了为什么这些例子是用许多不同的语言。原因之一是他希望读者关注他所阐释的概念,而不是语法。

清单中的书描述了对任何程序员都有帮助的一般概念,而不管他们选择哪种语言。

刚开始时,您确实希望专注于能够编写编译的代码。学习给定语言的语法不需要很长时间,使用文档和intellisense,这将更多地影响到实际需要记住的内容。大多数语言可以在几个月内学会。然而,编写高质量的软件是一门学科和工艺,需要多年的实践和经验,即使这样,仍然有改进的余地。了解设计概念,如如何使您的软件更易测试、模块化、松散耦合等,将打开您对代码的一般看法。

当您不再关心语法,可以通过中立的镜头看到代码时,这将真正使您作为一个程序员受益。

票数 12
EN

Software Engineering用户

发布于 2013-04-22 00:44:40

首先,您提到的一些书是用多种编程语言编写的示例。例如,GOF的DP是用C++编写的,如果更少的话,用Smalltalk示例编写,而TDD是用Java和Python示例编写的。

如果你受过良好的训练,学会了什么是有用的,放弃了什么,翻译了你学到的东西,你就会从大多数程序员推荐的书籍中获益。然而,如果你在这方面没有什么经验,你可以从“近转移”的书籍开始。否则,你会学到很少的东西,甚至你也会学到坏的想法和习惯--有些实践是依赖于语言的。我见过很多Python程序员在C++中实现GOF的DP时遇到了很多麻烦。

转移是心理学和教育性术语,用于在不同的环境中应用您所学到的知识。他们区分近和远转移。通常近距离转移更容易,更有效,这意味着你需要为远传付出更多的努力。

对于近迁移学习,我强烈建议向你的目标语言--语言类型学中的兄弟姐妹--学习类似的语言,就其范式而言。对于Python来说,这可能类似于Smalltalk --或者现在的Ruby --但是Smalltalk的遗产更大。

例如,你将从DPSC中学到更多的东西,而不是仅仅从GOF的DP中学到更多。(顺便说一句,同时阅读DPSC和GOF的DP,仔细对比和比较是一种非常有益的学习体验)

从我近乎转移的经验中,我记得我的Python编程从阅读Smalltalk、APL、Io和图标的书籍(文章、论文等)中的飞跃,所有这些都是动态的。

票数 3
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/195625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档