学习您不会使用的语言的好处

Chr*_*ian 17 programming-languages

我已经读了很多时间,学习Haskell,Lisp或Smalltalk等语言会以某种方式让你成为一个更好的程序员,而你用其他语言编程.

这个说法不仅仅是轶事证据吗?或者它是人们合理化花费大量时间学习他们永远不会使用的编程语言的方式?

Sam*_*ijo 20

恕我直言,这是关于学习一种新的编程范式.如果你知道Java然后知道C#,那么一旦它们都具有几乎相同的"编程类型",就没有太大的收获.

但是,如果你开始学习一种功能语言或动态语言,你就不得不采取另一种方式,这可能会帮助你用你喜欢的语言更好地编程.

它类似于:" 用{你学到的不同语言}这么容易做到这一点.必须有更好的方法来实现{你已经知道的语言} ".然后你重新思考,并用{你已经知道的语言}建立一种更优雅的方式来做到这一点.


chi*_*s42 11

我没有任何确凿的证据,但我真的很欣赏自从学习lisp后我看到的问题的不同方式(python和c也是如此).

关键不一定是学习不同的语言,我相信关键实际上是你通过学习不同的编程风格获得的不同观点.

好的例子是功能性的,命令式的,面向对象的等等.此外,还有一些常见的设计差异被解释为编译语言; 静态与动态类型等

虽然大多数人使用单一风格(最常见的是过去几年的OOP)进行大部分编程,但我认为所有程序员都应该知道多种风格,以便他们能够更好地看到自己风格的不足.

  • 在某些语言中表达的另一个有用的范例是元编程,包括模板(C++)和宏(Lisp).学习在不同类型的抽象中思考可以帮助理解问题的本质及其解决方案. (2认同)