对于Cocoa开发人员来说,计算机科学研究中最有价值的部分是什么?

时间:2009-09-22 22:55:31

标签: objective-c cocoa cocoa-touch computer-science

Cocoa开发人员的计算机科学研究中最有价值的部分是什么?

我可能会提出这个问题的另一种方式是:

如果我不打算去学校学习计算机科学,但想成为一名主要使用Cocoa的开发人员,那么我应该确保我学到的东西是什么,否则我可能会因为自学而错过,并且更糟糕的是。

更新:将“专业Cocoa开发人员”一词改为“主要与Cocoa合作的开发人员”,希望我的问题意图更加清晰。

要说清楚,我已经和Cocoa合作了两年,对Objective-C和Cocoa框架,以及Cocoa设计模式和开发人员工具集感到满意,因此大部分时间都是流利的。 Mac和iPhone平台。但我想知道,由于自学/没有正式培训,我是否缺少重要的CS或SE要素,而不是来自其他语言或平台。

这个问题适用于Cocoa开发人员。

7 个答案:

答案 0 :(得分:4)

有许多,但是imediatly想到的事情

- 设计模式(Cocoa框架依赖于许多设计模式,如果你遵循它们将使你的生活变得非常简单,最明显的例子是MVC)

- 算法和数据结构(这实际上适用于任何框架)

-Memory Management(iphone上没有垃圾回收!)

答案 1 :(得分:3)

我会质疑是否真的存在“专业 Cocoa 开发者”(从哲学角度来看),或者如果你想成为一个人。有“专业开发人员”,可能主要与Cocoa合作。专业开发人员与语言无关,因此在他/她之前拥有扎实的职业生涯。特定于语言或平台的黑客的用处非常有限。

要问的问题是你想成为开发者吗?如果目前没有任何好的Cocoa工作,或者Cocoa被更新,更好,更不同的东西取代,专业开发人员会改变方向并遵循。你还好吗?

如果是这样,计算机科学学位肯定不会受到伤害。如果没有,你可能不应该把所有的鸡蛋都放在Cocoa篮子中并追求非CS学位。

答案 2 :(得分:1)

“专业”是一个相对的术语..但无论如何,这是我必须经历的,这样我可以随时轻松地学习一门新语言并掌握它:

  • 从学习一种简单的控制台语言(pascal或c ++,但我认为pascal比c / c ++更简单)开始,然后学习另一种语言,看看我是否可以做到(c ++)
  • 我学到了很多算法和数据结构,直到我能够重新创建它们甚至创建我自己的
  • 我转向使用Visual Basic 6进行编程的视觉方法(另一个简单的开始),并试图复制许多应用程序只是为了看看我是否能够做到这一点
  • 我学习了面向对象的编程,并通过掌握它来完成
  • 从这一步开始,学习一门新语言就像一个爱好,就像玩耍一样!
  • 然后我想学习一些不同的主题,比如设计模式,多线程等......
  • 从windows移动到mac,开始学习objective-c:因为我已经知道很多语言,我花了5天时间学习objective-c,是的,我像任何人一样休息:P
  • 在我学会了obj-c之后,我现在不得不学习可可......这个花了我很多时间学习,我仍然不知道这一切...但我知道大部分时间:D

答案 3 :(得分:1)

除了已经指出的内容之外,我强烈建议您阅读"The Pragmatic Programmer"。它包含有关如何编写软件,如何管理项目以及如何开发职业生涯的大量信息,这些建议远远超出了您每天在Xcode中查看的文档。它们涵盖的一些主题是您在标准计算机科学学位期间可能会遇到的主题。

答案 4 :(得分:0)

  

Cocoa开发人员的计算机科学研究中最有价值的部分是什么?

了解了解语言之间之间的差异,而不是学习特定语言非常重要。

答案 5 :(得分:0)

您是否正在使用Cocoa前端编写数值方法求解器?你想要采用数值方法。用Cocoa UI编写一个3-D插件?更好地了解Catmull-Rom splines。

答案 6 :(得分:0)

如果你想制作一些好看的动画,需要很好地理解计算机图形:)