编程语言的跨界真的那么容易吗?
又看到有人吹函数式编程和有人黑C++。 编程语言跨界很难。 编程语言跨界很简单。 私以为,能够跑这里来回答这个问题的,“学完”一门编程语言的人没有多少。题主所说的那几个老鸟,也是希望题主能够按照通过Yesod学习Haskell的路子来学习的吧。 说白了目前的应用架构再复杂也还是那么多东西,只是切换技术栈(语言?)的话,就像题主你之前做的那样,一一对应过去就可以了。(哦什么?你说在C++里面找不到Interceptor和Proxy?你确定你对比的是Java而不是Java EE?或者你应该服务端框架[3]中去找概念? 关键还是看你怎么想。 哦,我13年整理过一个豆列[4],跟本问题的内容应该有关系。 [1] 21天学通C++模版编程语言。-Kim Leo 以上。
的“学完”背后包含了多少不为人知的艰辛,你去看看他做了哪些事情和实现过什么东西大概就会明白了。
而且,当你们真得看过C++的STL和《21天学通C++模版编程语言》[1]的时候,就不会觉得什么Functional Programming好神奇了,也不会觉得什么闭包、高阶函数会让人激动万分了(连Pascal和Ada都有type-safe的高阶函数我会乱说?)
你去翻一翻Yesod的教程[2]就能开心地用Haskell写Web应用了,不需要理解什么是Monad。
但是如果你真的希望多学习一些东西,或者是对自己现在的技术多有所理解的话,去深入研究一遍,是非常有必要的。而这时候编程语言相对来说只是基础,也许你要面对的可能是更多更复杂的 内容。和语言本身无关,是自己的眼界阻碍了自己的能力。
[2] YBlog - Haskell web programming
[3] facebook/proxygen · GitHub
[4] 跨越编程语言界限
[5] C++: From novice to Professional
谢 指出本答案中的各项纰漏,目前已修订,并做出以下解释: