Objective-C中缺少什么,你不想用它编程

时间:2021-02-23 21:11:25

Now that Apple relaxed the restrictions on developer tools/programs, I wonder what tempts developers to other languages than Apple offers by default, Objective-C, which is quite fun to program with. What missing feautures makes you not to program with it but something else?

既然Apple放宽了对开发人员工具/程序的限制,我想知道开发人员使用其他语言的默认设置是Apple默认提供的Objective-C,编程非常有趣。什么错过的特色让你不用它编程而是其他东西?

5 个解决方案

#1


2  

Lack of Objective-C expertise or a large/complex code base in another language would be among common reasons.

缺乏Objective-C专业知识或使用其他语言的大型/复杂代码库是常见原因之一。

Cross-platform coding might well be another.

跨平台编码可能是另一种。

#2


2  

I haven't done any iPhone development yet, but generally speaking, here's a few reasons:

我还没有做任何iPhone开发,但一般来说,这里有几个原因:

  • Cross-platform development
  • The other language suits your coding style better
  • 另一种语言更适合您的编码风格

  • The other language is a better tool for the job
  • 另一种语言是一种更好的工具

  • You are comfortable in the other language and don't have the time / budget / motivation to learn Objective-C
  • 您对其他语言感到满意,没有时间/预算/动力来学习Objective-C

  • Existing libraries / codebase
  • 现有的库/代码库

  • Specific tools you might want to use
  • 您可能想要使用的特定工具

#3


1  

Testing some concepts in Objective-C can sometimes be kind of tedious to set up. Sometimes you just want to see how a single method works or play around with an object's functionality to see how it works.

在Objective-C中测试一些概念有时候设置起来很乏味。有时您只想查看单个方法如何工作或使用对象的功能来查看它是如何工作的。

Setting up a new project is somewhat tedious, and it's not always feasible to incorporate the test code in to a new project.

建立一个新项目有点单调乏味,将测试代码合并到一个新项目并不总是可行的。

In this case, I do one of two things:

在这种情况下,我做两件事之一:

  1. Keep an empty project around specifically for testing things
  2. 保持一个空的项目专门用于测试事物

  3. Drop down to the Terminal and use irb (or PyObjC) to play with the objects in Ruby or Python.
  4. 下拉到终端并使用irb(或PyObjC)来玩Ruby或Python中的对象。

In a nutshell, the thing that's missing is the ability to use Objective-C in an interpreted manner. You have to use another language (like Ruby or Python) to do this.

简而言之,缺少的是能够以解释的方式使用Objective-C的能力。您必须使用其他语言(如Ruby或Python)来执行此操作。

#4


1  

I recently wrote some networking code in Python, then had to translate it into Objective-C for use on the iPad. A typical line of clear Python would become five or ten lines of busy-work C. I just work faster in higher-level lanugages; the language puts up less resistance, requires fewer forms to be filled out.

我最近用Python编写了一些网络代码,然后将其翻译成Objective-C以便在iPad上使用。一个典型的清晰Python系列将成为五行或十行繁忙的工作C.我只是在更高级别的语言中工作得更快;语言提出的阻力较小,需要填写较少的表格。

#5


1  

I have ported a couple of tiny language interpreters (for my own use, not for App store distribution) to the iPhone. This allows me to write short snippets of code on the road, without having to carry my Mac, and run them locally. I don't know of any small Objective C interpreters, and the language is not really designed for interactive use.

我已经将一些小语言解释器(我自己使用,而不是App store分发)移植到iPhone上。这使我可以在路上编写简短的代码片段,而无需携带我的Mac,并在本地运行它们。我不知道任何小的Objective C解释器,并且该语言并非真正设计用于交互式使用。

#1


2  

Lack of Objective-C expertise or a large/complex code base in another language would be among common reasons.

缺乏Objective-C专业知识或使用其他语言的大型/复杂代码库是常见原因之一。

Cross-platform coding might well be another.

跨平台编码可能是另一种。

#2


2  

I haven't done any iPhone development yet, but generally speaking, here's a few reasons:

我还没有做任何iPhone开发,但一般来说,这里有几个原因:

  • Cross-platform development
  • The other language suits your coding style better
  • 另一种语言更适合您的编码风格

  • The other language is a better tool for the job
  • 另一种语言是一种更好的工具

  • You are comfortable in the other language and don't have the time / budget / motivation to learn Objective-C
  • 您对其他语言感到满意,没有时间/预算/动力来学习Objective-C

  • Existing libraries / codebase
  • 现有的库/代码库

  • Specific tools you might want to use
  • 您可能想要使用的特定工具

#3


1  

Testing some concepts in Objective-C can sometimes be kind of tedious to set up. Sometimes you just want to see how a single method works or play around with an object's functionality to see how it works.

在Objective-C中测试一些概念有时候设置起来很乏味。有时您只想查看单个方法如何工作或使用对象的功能来查看它是如何工作的。

Setting up a new project is somewhat tedious, and it's not always feasible to incorporate the test code in to a new project.

建立一个新项目有点单调乏味,将测试代码合并到一个新项目并不总是可行的。

In this case, I do one of two things:

在这种情况下,我做两件事之一:

  1. Keep an empty project around specifically for testing things
  2. 保持一个空的项目专门用于测试事物

  3. Drop down to the Terminal and use irb (or PyObjC) to play with the objects in Ruby or Python.
  4. 下拉到终端并使用irb(或PyObjC)来玩Ruby或Python中的对象。

In a nutshell, the thing that's missing is the ability to use Objective-C in an interpreted manner. You have to use another language (like Ruby or Python) to do this.

简而言之,缺少的是能够以解释的方式使用Objective-C的能力。您必须使用其他语言(如Ruby或Python)来执行此操作。

#4


1  

I recently wrote some networking code in Python, then had to translate it into Objective-C for use on the iPad. A typical line of clear Python would become five or ten lines of busy-work C. I just work faster in higher-level lanugages; the language puts up less resistance, requires fewer forms to be filled out.

我最近用Python编写了一些网络代码,然后将其翻译成Objective-C以便在iPad上使用。一个典型的清晰Python系列将成为五行或十行繁忙的工作C.我只是在更高级别的语言中工作得更快;语言提出的阻力较小,需要填写较少的表格。

#5


1  

I have ported a couple of tiny language interpreters (for my own use, not for App store distribution) to the iPhone. This allows me to write short snippets of code on the road, without having to carry my Mac, and run them locally. I don't know of any small Objective C interpreters, and the language is not really designed for interactive use.

我已经将一些小语言解释器(我自己使用,而不是App store分发)移植到iPhone上。这使我可以在路上编写简短的代码片段,而无需携带我的Mac,并在本地运行它们。我不知道任何小的Objective C解释器,并且该语言并非真正设计用于交互式使用。