我昨晚正在阅读The Pragmatic Programmer,它建议你在职业生涯中学习各种语言 - 即使你永远不会使用它们.我一直认为这是一个好主意,但这本书给了我足够的动力来认真思考它.
它还提到了(有效的话)"学习面向对象的设计,你将以不同的方式编写纯C程序".
我可以去(重新)学习Java,但它似乎是一个简单的选择,因为它是一种遵循与C#相同原理的语言.我可能在某些时候仍然(重新)学习Java,但我首先感兴趣的是,在他们的思维模式中,我会学到不同的观点 - 或者只是一种完全不同的思维方式关于如何编写程序.
也许功能编程?欢迎任何建议,但请尝试提供一个简短的推理,说明为什么它们可能是有趣的,并且从C#用户的角度来说是"新的".
rep*_*vsd 19
功能范例 - Scheme,Haskell,Erlang,F#
脚本 - Perl,Python,Ruby
也是JL,K或Q等APL变体之一
我敢提C吗?今天很多学习编程的人对金属的接触很少,C可以帮助你看到光线.
Meh*_*ari 15
我建议学习F#.您已熟悉.NET Framework,因此您无需处理它.您可以专注于语言并学习函数式编程思想.
最有可能的是,如果你切换回C#,你会发现自己在功能风格上做了很多东西,并且在这种语言中也会更有效率.
小智 12
我建议您从开发框中查看并查看其他软件方面的内容吗?
大多数程序员不惜一切代价避免学习和处理用户心理和可用性问题.大多数人忽略了与图形设计相关的任何事情,这是很可惜
由于我对UI和图形设计感兴趣,我发现它是一个启示.你不能再用同样的眼睛看你创造的软件了.你开始思考不同的层面.
功能编程,绝对.一种新的范例可以让您以全新的视角看待您现有的知识和经验,这是另一种命令式语言永远无法做到的.
如果你想坚持使用.NET,请尝试使用F#.对于一些全新的东西,我推荐Haskell; 有大量的初学者信息,社区很棒,非常有帮助.
尝试学习另一种范式.
我建议Lisp用于历史原因的函数式编程,或者Erlang用于更"商业"的语言,Prolog用于声明式(也称为逻辑)编程.
它将为您提供一种不同的方式来查看事物.有很多程序员不断对函数编程的可能性(能够证明函数正确,容易并行集成没有副作用等)感到惊讶,以及声明编程对于某些刚刚适合的特定任务的可能性用于命令式编程(例如模式识别或基于规则的系统)
尝试在第9频道上介绍函数式编程系列--Erik Meijer谈论基础知识并介绍Haskell.