`
sslaowan
  • 浏览: 384413 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【转】Objective-C for Java Programmers

 
阅读更多
设计java的灵感源自于Objective-C(简Obj-C), 但是很多学过java的朋友却难以掌握Objective-C。在这个系列的第一部分,David Chisnall(程序开发人员手册的作者),从语言学分析和比较这两种编程语言的相似之处。

  Objective-C 创立于 1986, 但是当时很小众。最主要的支持者是 NeXT公司, 一个十年间仅卖出5万台电脑的公司。这很大程度限制了Obj-C的发展。 苹果公司收购NeXT后, 一切开始改变. Objective-C 变为Mac开发的主要语言, 使其占有5%至10%的桌面应用开发市场。giving it somewhere up toaround 5-10 percent of the desktop application development market share. 尽管Objective-C并不是MAC OS X开发的唯一语言,很多开发者使用他们熟悉的语言,但是iPhone,只允许使用Obj-C开发第三方应用。

              如果你是从某个java平台转移而来,你会看到惧怕。Obj-C看起来比java复杂得多。幸运的是,只要你看看语法,就会发现熟悉的东西,你会发现十分容易。

  一部分的java开发者有过Objective-C的开发经验, 包括一些在NeXT 工作过的朋友. 很多Java 概念是从Objective-C转变而来的, 或者来自于Smalltalk。但并不是说与 Objective-C相同. 有一些重要的不同我将在下一篇文章中说明。


语言哲学

      Objective-C 被设计为具有封装的支持,像Smalltalk之于C一般,设计者称其为混血语言,方括号代表了 C 语言到面向对象的语言的进化。




        Java的目标是大众化的语言,这结合了类似Smalltalk 的语义和C++ 语法,C++主要是从市场考虑的. C++ 有巨大的市场(且仍然有,虽然原因不明。。。), 而且看似想尽的语法使得人们觉得简单。


       不幸的是,这也是java程序员转变为其他程序员的屏障。 Java 看起来像C++, 但是行为像Objective-C. Java 和 Objective-C 都有Smalltalk-like 语义, 与此同时C++ 从C中添加了与Simula 相似的语义。Java 和C++ 分别代表着Smalltalk 和Simula 不同的语义,但是又具有相同的语法.


             从C++ 到Objective-C 是简单的,语义变化伴随着语法变化.。从Objective-C到Java是困惑的. 有巨大的语法变化,但是语义却是相似的。


             目标的不同很明显. Java 目的在于 C-like 和对于 C 或 C++ 程序员的简单易学, 但是不介意破坏C的方式.;而Objective-C 是一个纯粹的C的超集。 每一个C 程序就是一个Objective-C 程序.。Objective-C 的目的在于创造一个语言封装C到易于重用的组件中。




            Objective-C 原本没有很多标准库。而推荐使用C库。 Sun and NeXT的OpenStepAPI, 现在是Objective-C 的标准库, 它的实现例如 Cocoa 或者GNUstep 适用于多数平台. Java 并没有使原有的代码重用变得简单, 所以它需要自己的库。
分享到:
评论

相关推荐

    Mac Programming for Absolute Beginners

    The book provides an in-depth introduction to the syntax and features of Objective-C, including how it compares to other popular languages like Java or C++. 4. **Cocoa Framework:** Cocoa is a ...

    Learn Java for Android Development 3rd Edition mobi格式

    This book is for any programmer—including existing Java programmers and Objective-C based iPhone and iPad programmers— of any skill level who needs to obtain a solid understanding of the Java ...

    Learn Java for Android Development, 3rd Edition

    This book is for any programmer—including existing Java programmers and Objective-C based iPhone and iPad programmers— of any skill level who needs to obtain a solid understanding of the Java ...

    Learn.Java.for.Android.Development_Apress.2010+src

    Who this book is for This book is for any programmer (including existing Java programmers and Objective-C (iPhone/iPad) programmers) of any skill level who needs to obtain a solid understanding of ...

    Everyday Data Structures

    the first one covers the basic data structures that are built into most languages such as Objective-C, C#, Java, and Swift. It will cover detailed analysis of the common data structures such as ...

    Cocoa Programming Developer’s Handbook (pdf 书及源代码)

    The first chapters include an introduction to the Ob jective-C, which should be sufficient for readers already familiar with languages like C or Java. This section is not intended as a general ...

Global site tag (gtag.js) - Google Analytics