首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优先学习编程工艺及其他建议

优先学习编程工艺及其他建议
EN

Stack Overflow用户
提问于 2010-09-07 15:10:29
回答 8查看 1.8K关注 0票数 11

当我刚开始从事软件开发(C++ & C#)的职业生涯时,我现在看到了自己在这个领域的缺陷和怀念的地方。正因为如此,我得出了一些结论,并制定了一个计划来填补这些空白,并增加我在软件开发方面的知识。但是,我在做了一件我需要做的事情后偶然发现的问题,对我来说并没有很明显的答案。这些任务的优先次序是什么?以下是这些任务和我的优先顺序:

学习:

  1. 函数式编程(Scala)
  2. 数据结构和算法(Cormen图书到救援+TopCoder/ProjectEuler/等)
  3. 设计模式(GOF或Head First)

你同意这个任务和优先次序吗?还是我错过了什么?欢迎任何建议!

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-09-07 17:04:36

我觉得你倒过来了。从设计模式开始,这将帮助您减少您生成的杂乱无章的代码,并更好地理解其他人编写的代码(特别是以设计模式编写的库)。

除了四书之外,还有许多其他的设计模式书籍--例如企业应用体系结构模式。在你得到一个良好的基础之后,也许值得你去看看它们。但我也强烈推荐领域驱动设计,我认为它为您提供了一种思考如何构建程序的方法,而不仅仅是到处标识片段。

接下来,您可以使用算法。我更喜欢Skiena算法设计手册,它的重点更多地是让人们知道如何选择和使用算法,以及从众所周知的“部分”构建算法,而不是让人们知道如何对算法进行证明。它也可用于Kindle,这对我很有用。

另外,要有一本好的数据结构书--人们常常忽视这一点。我喜欢数据结构和应用手册,虽然我也在研究高级数据结构

但是,对于此任务,我不能推荐TopCoder或Euler。TopCoder主要是关于快速编写代码的。这件事没什么不好的,但在日常的事情上几乎不可能有什么不同。如果你喜欢的话,一定要做。此外,这也是为与更有技术头脑的公司的面试做好准备。

另一方面,Euler项目更侧重于科学计算、计算机科学和函数式编程。在学习函数式编程时,它将是一个很好的训练场所。

有一些东西有一些设计模式、算法和函数编程,那就是程序设计要素。它使用C++作为示例,这对您来说是一个优点。

至于函数式程式设计,我认为这比其他两项计划更不迫切。但是,我指出了Clojure或Haskell,而不是Scala。

在Scala学习函数式编程就像在拉美人社区学习西班牙语,而用Clojure学习函数式编程就像在马德里学习西班牙语,而在Haskell学习函数式编程就像在西班牙一个孤立的修道院学习西班牙语一样。:-)

请注意,我更喜欢Scala作为一种编程语言,但当我使用它时,我已经知道它了。

当您进入函数式编程时,获得Chris的纯功能数据结构,以便很好地了解用于函数式编程的算法和数据结构。

除此之外,每年试着学习一门新的语言。即使不是因为语言本身,你也更有可能跟上人们现在正在做的事情。

票数 15
EN

Stack Overflow用户

发布于 2010-09-07 15:17:18

完全取决于你在做什么。

我会根据你目前的工作对你最有帮助的地方来调整你首先学到的一种。

票数 4
EN

Stack Overflow用户

发布于 2010-09-07 15:17:50

无论您使用何种语言,数据结构和算法都将对您有所帮助。我会先做的。然后设计模式(任何OOP语言都会从中受益)。函数式编程很好,但不一定是最高优先级。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3659914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档