当Apple发布了Swift之后我听见人们都说:“赶快,我现在可以成为一个不用学习Objective-C的iOS开发者了”在这里我有三个建议想给这些人们。
1.如果你想成为一个iOS开发者你仍然需要学习Objective-C。
在我继续之前让我对Swift爱的信条作为序言,语法是可爱的Swift编译器会捕捉到很多错误给我们,我可以肯定当大家用Swift编程APP的可靠性会大夶提高。枚举的结构是极好的Swift是迈向整个iOS和Mac OS X系统的主要的一步,但是。
1.如果你想成为一个iOS开发者,你仍然需要学习Objective-C
你不可以用Swift做任何事情。举个例子如果你想在你的应用程序中使用一个C++库,你需要告诉Objective-C你使用C++的库Swift可以调用C函数,但我相信如果你有很多C的函数和類型你会想用Objective-C编程的。
The frameworks 是用Objective-C编写的当你有一个bug,它经常不露头直到执行到Apple‘s 代码的深处如果你想理解调试器告诉你什么,你需要了解Objective-C
Objective-C很稳定且测试良好的。Swift看起来很好但是这个语言还在不断的发展中,并且编译器是不成熟的如果今年我做出了一个重大的赌注去開发一个APP,我仍然会使用Objective-C
C是一种很简单的小语言,Objective-C是非常简单的对于C的小扩展语言Swift拥有很多Objective-C所没有的规则(我,作为一个导师我已經尝试着去弄清楚我将如何解释这些可选的变量和如何正确使用。)这些额外的规则意味着编译器关于良好的编程实践将会更加讲究但昰这也同时意味着,这门语言需要更长的时间去学习
Objective-C要求编程明确。Swift语言让编译器为程序员做了更多的工作这对程序员是非常好的,對吗但是,这意味着当你去看一行代码的时候如果没有对语法有深入的了解是不会看出太多的。明确的语言是更容易让初学者理解的
Swift有一堆结构体而Objective-C是没有的。例如在Swift中,泛型让类型检查更好但是它使语言变得更加的复杂。
真的无论你首先学习哪一种语言,你嘟需要学习这两种语言