闻道有先后,术业有专攻,这句话放到计算机科学领域的理解可能每个人都会不同。
有些人选择一个操作系统,一个体系的编程语言,作一个领域的开发。
有些人选择多个操作系统,多个体系的编程语言,作多个领域的开发。
其实这都没有错,笔者倾向于后者,因为笔者始终认为,只要不跑出计算机科学的领域,就算术业有专攻了:)
当前的世界排名前三的操作系统分别是Windows NT体系, MAC OSX体系,Linux/Unix体系, iOS和 Android分别属于MAC OSX体系和Linux/Unix体系,那么为什么笔者要强调这三大系统呢?
从时间投入的角度来说,我们把时间投入有价值的系统上会产生更大的回报,当然,这里面说的是普遍情况。那么又是为什么要学习主流的操作系统呢?原因很简单,当你对一种体系已经轻车熟路的时候和容易就可以驾驭另外的两个系统,当然这里说的容易也是要花时间的,只是相对于从头来要轻松许多,另外,技术世界日新月异,说不定哪天会有很多好的机会,但是如果没有准备,天山掉下来的馅饼也不一定就能啃得动。
Windows世界可以说在桌面领域可以说还是当之无愧的王者,人们经常有个笑话,能够超过Windows的只有另一个版本的Windows。Windows在个人应用,办公,游戏非常强势。
Linux/Unix体系的使用在服务端更多,随着云计算,互联网的狂热,这个体系的系统的作用越来越大,当然他们的变种Android也占了移动市场的半壁江山
MAC OSX体系,包括iOS,类似于微软以Windows 10统一移动端和PC端, MAC OSX和iOS也大有统一之势,他们的很多功能也在不同的版本之间此消彼长。值得一提的是,当前随着MAC OSX和iOS的迅猛发展,各大公司都在这个领域发力,学习一下这个平台的技术栈在当前看来是非常有必要的。简单的在互联网上找了一下,国内没找到写的好的这个方面的入门文章和书籍推荐,当然如果大家发现了也可以推荐给我,于是笔者做了一些这个方面的功课,算是抛砖引玉,希望对大家有所帮助。
1. Objective-C Programming: The Big Nerd Ranch Guide
by Aaron Hillegass and Mikey Ward
这算是Objective-C的入门书籍写的浅显易懂,适合没有太多经验的新手 。
2. Programming in Objective-C, Sixth Edition
by Stephen G. Kochan
他的地位相当于C++领域的C++ Primer, 大而全,适合从头到尾的阅读学习。
3. iOS Programming: The Big Nerd Ranch Guide
by Christian Keur, Aaron Hillegass and Joe Conway
相对于第一本书稍难,适合读完第一本书后对概况有些基本的认识后进一步阅读。
4. Effective Objective-C 2.0, 52 Specific Ways to Improve Your iOS and OS X Programs
by Matt Galloway
这本书的地位相当于C++领域的Effective C++, 适合技术提高使用,这个系列的书,别问太多了,读就是了。
5. COCOA PROGRAMMING FOR MAC OS X FOURTH EDITION
by Aaron Hillegass Adam Preble
讲Cocoa的一本经典书籍,如果打算做Objective-C的开发,这个框架是必修的。