编写良好的文档是否足以作为学习编程语言的充分理由?[关闭]


14

我目前正在学习Python,这不是我的大学课程的一部分。在一次采访中有人问我为什么选择Python,我回答说它很容易学习并且文档写得很好。面试官没有回答这是否足够充分的理由。他看上去很有说服力,但我不确定。

编写良好的文档以及易于学习是否是选择脚本语言的足够充分的理由?还是我应该详细说明Python库的可用性和更大的Python用户群?

请注意。不需要Python。该公司致力于Ruby-on-rails。我的简历中有Python,我认为面试官只是想知道我在选择编程语言时重新考虑的考虑事项。


12
可能不在面试中,但我想问您是否需要一个理由来学习除您想学习的以外的任何知识。
jk。

2
@jk我到目前为止只知道C。我不是一个专家,但是我知道语法,可以实现数据结构等。我需要一种可以更快实现想法的语言。这就是我选择脚本语言的原因。与Perl和Tcl相比,文档,易用性和用户基础是主要优势。并非所有三种语言都适用于这两种语言,但据我所知,使用Google Python比其中一种更好。所以我选择了Python。因为我想要而学习是一个足够好的理由,但我对Python并不是很感兴趣。这些想法是主要的。
Aseem Bansal

1
[因为容易而做某事]并不比[因为困难而做某事]印象深刻。除非实际上很难,否则您只是在炫耀。;)
TimG

5
由于您是Python的新手,因此建议您考虑停止引用它,并将其视为“脚本语言”。这是一种语言。人们用它编写网站,桌面应用,小型脚本,庞大的库,嵌入式控制器等。我称其为“脚本语言”似乎不合适。
Chelonian

@Chelonian Point指出。感谢您指出了这一点。
Aseem Bansal

Answers:


20

不,编写良好的文档不足以学习语言。

写得不好的文档是不学习文档的一个很好的理由。


学习语言有四个原因:

  1. 因为它可能是您职业生涯中的有用工具

    语言是一种工具。一个人使用一种语言而不是另一种语言是因为它在给定的上下文中具有好处。语言具有高质量文档的事实并不能使其成为更好的工具,或者仅是勉强¹。

    语言的选择应基于先前的经验,范例(示例:Haskell的功能编程),方法(示例:JavaScript作为Node.js服务器端编程语言的完全异步模式),互操作性(示例:与几乎所有Java操作系统兼容),等等。

    能够在日常生活中使用工具是学习语言的原因之一。

  2. 因为它拓宽了您的文化和知识

    学习语言的另一个原因是学习新概念,范例和编写优雅代码的方式(例如:Haskell)。同样,文档可以帮助您,但不是学习语言的唯一原因。

  3. 因为它需要最少的努力来学习它

    学习语言的另一个原因是因为它很容易学习(例如:PHP)。同样,文档贡献很大,但是语言本身仍然更加重要。此外,我会避免在面试中告诉我我学习语言的原因仅仅是因为它易于学习。

  4. 因为很有趣。

    学习语言的最后一个原因是,学习精心设计的语言(例如:Haskell,Ruby)或极客语言(例如:Brainfuck)简直令人兴奋。

对于Python,您可以回答的是:

  1. 这是一种动态语言。当情况使强类型不重要时,动态语言使创建原型和更快地开发变得容易。

  2. 优雅 也许不像Haskell那样优雅,但是与主流的面向Web的语言(例如PHP)进行比较仍然很容易。

  3. 有意义的缩进的用法很有趣,因为许多主流语言都使缩进只是一个负担,而这种负担首先应该由IDE进行管理。顺便说一下,Haskell编译器和解释器也依赖于缩进。

  4. Python具有使用列表的一种优雅方式。对于以前从未使用过函数式编程的人来说,列表理解和生成器表达式是一个有趣的概念。

  5. Django使快速创建Web应用程序变得非常容易,同时保持了相当干净的代码。与许多其他编程语言相比,这是一个巨大的优势。

  6. 对于大型Web应用程序,它足够快且足够强大。例如,Dropbox用Python编写。YouTube严重依赖Python。如果我没有记错的话,Reddit也依赖Python。


¹编写正确的文档仍然可以帮助您以正确的方式快速完成任务。


我只是C。我学习Python是因为我想更快地实现想法。这排除了第一点。我只是通过Python才知道功能范式,所以第二点也很重要。然后在这种情况下,我只剩下第三点。我回答的重点应该是什么?有关此问题的
Aseem Bansal 2013年

@AseemBansal:我编辑了问题以显示您可能会回答的问题。另外,您“仅通过Python才了解功能范例”的事实正是我在说的:您学习了Python,并帮助您发现了FP,这正是学习语言的目的。
阿森尼·穆尔琴科

1
您可以使用Dropbox代替youtube和Reddit作为示例。它完全由Python制成。如果我没记错的话,Guido帮助Dropbox开发了他们的产品,他最近又加入了他们。
Aseem Bansal

我认为您已跳过的第四个原因是:该语言看起来很有趣!
martiert

有点像马蒂埃特,但有趣呢?如果您想学习一种特定的语言,那就足够了。职业发展和最大程度地提高技能并不需要激发一切。
吉尔斯2013年

7

如果像我一样,不要仅仅因为锤子舒适就使用锤子。使用锤子是因为您需要用它来完成锤击。

因此,没有,虽然好的文档当然会有所帮助,但它本身并不是学习编程语言的原因。


1
我添加了我想使用Python进行的操作,但是我想我应该更加注重完成工作而不是文档。
Aseem Bansal

3
使用锤子是因为您需要锤击某些东西……当螺丝刀更适合时,会有太多人使用锤子。
gbjbaanb

@gbjbaanb:是的!感谢您提供更精确的信息。
stakx

1

这是我学习新语言的主要理由:

  1. 您与之合作的团队中的其他人都在使用它,而您将成为加入团队的新成员。

  2. 您想解决问题,并且语言X或语言X的库/框架似乎为该任务提供了最佳的支持

  3. 您这样做只是出于自己的教育目的。

对于情况2,通常有不止一种适合解决问题的语言或框架。然后,编写良好的文档可能是要考虑的因素之一(但也要考虑其他因素)。对于第3点,好的文档可能更重要,但是说实话,如果您想学习一种新语言只是为了学习它,请首先找到您要解决的问题,否则,您很快就会失去动力,很好-是否提供书面文件。


1

是的,为什么不?您学习的语言越多,学习下一种语言就越容易。可以使用多种语言学习许多编程概念。因此,您最好从具有最佳学习材料的材料开始。

同样,大多数任务可以用多种语言完成。通常,过一会儿,您将掌握核心语言概念和工具,但是您将根据需要学习大多数库。如果对库进行了充分的文档说明,那么这是支持语言的一种论据,以便您可以快速掌握特定的应用程序域。


0
  • 不,编写良好的文档不足以学习语言。

  • 面试官问这个问题是因为您告诉他一些Python的好处。您应该将python和ruby进行比较。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.