如果在StackExchange上浏览代码高尔夫球问题,则会注意到大量非标准但真实世界的语言,例如F#,Scala,R,J和Clojure。在访问他们的网站时,无论您使用哪种语言,其中一些语言都可以解决有趣的问题。
但是,有空闲时间编码和金钱编码。关于谁使用某种语言,我们最接近事实的是TIOBE Index,该索引在前10-15名中均未列出上述语言。这让我想知道我是否会使用它们。
我是否应该还要学习一些小型利基语言?看来我不会赚钱,但有些人可能还是会失败。
如果在StackExchange上浏览代码高尔夫球问题,则会注意到大量非标准但真实世界的语言,例如F#,Scala,R,J和Clojure。在访问他们的网站时,无论您使用哪种语言,其中一些语言都可以解决有趣的问题。
但是,有空闲时间编码和金钱编码。关于谁使用某种语言,我们最接近事实的是TIOBE Index,该索引在前10-15名中均未列出上述语言。这让我想知道我是否会使用它们。
我是否应该还要学习一些小型利基语言?看来我不会赚钱,但有些人可能还是会失败。
Answers:
Sapir-Whorf假说。它或多或少地表明,您能想到的是受限于您要描述的语言。这样的结果是,多语种的人能够以讲单一语言的人可能无法思考的方式思考。
许多人(包括我自己在内)都认为这也适用于编程。例如,学习Lisp可以教您一种全新的思维方式,来思考可以应用于C#或Java或Python的问题。无论您实际使用哪种语言,学到的语言范例越多,思维工具箱中的工具就会越多。
我将学习任何语言,向我介绍从未见过的概念和范式。这就是为什么我学习haskell和scheme的原因-他们分别向我介绍了函数编程和大部分函数编程。除了会如何影响scheme和haskell的使用方式,我将不在乎,除了那会如何影响可用的文档和资源。
因此,基本上,如果一门小型利基语言向您介绍了新的概念和范式(尤其是那些您可以应用于其他语言的概念和范式),那么请学习一下!
您可能想学习“小/小众”语言的其他原因:
使用该语言,您可以比其他任何一种语言“更好”地解决特定(类型)的问题(更快,更好的解决方案,更可移植等)。
该语言和流行语言一样可以让您解决问题,但是它具有一些您喜欢的很酷的功能(例如clojure)
好吧,我正在使用Clojure(您提到的“小众语言”之一),发现它是非常值得的体验。
我个人很少关注诸如TIOBE之类的东西-它们在过去所流行的内容中并不能告诉您太多信息。如果您想维护旧系统,可能会有用,而如果您想学习并开阔眼界,则可能会有用。
同意上述所有要点。学习小众语言的另一动机是该语言有一天会变得非常流行的可能性。在这种情况下,您对这种语言的早期投资可以使您开始从事具有影响力的框架的工作,以及将来可能会急需的语言元素。
如果该语言确实流行起来,您将已经熟练掌握该语言,因此您的需求量很大。
低概率,高回报。
正如其他人几乎说过的那样,仅仅学习一种小众语言就没有意义。但是,通常,利基语言比主流语言所能承受或想要的更深入/更深入地探索一个概念。
有时,利基语言的出现时间远比任何主流语言都长得多,Smalltalk,Prolog和Lisp语言让人想起。它们可能不受欢迎,但它们也不消失。