代码之家  ›  专栏  ›  技术社区  ›  Gelatin

用哪种语言代替objective-c最好?

  •  3
  • Gelatin  · 技术社区  · 6 年前

    Is a virtual machine for Cocoa programming inevitable? ,我想知道是什么 这个 语言在你脑海中是否真的发生了替代,为什么?

    • 缺乏模板编程;
    • 方法缺少默认参数;
    • 垃圾收集器泄漏和过早收集;
    • 冗长的、骆驼编码的命名惯例;
    • 缺少对REST、SOAP、SQL等“业务”API的现成支持。

    p、 请给每个答案一种语言。

    4 回复  |  直到 14 年前
        1
  •  5
  •   JeremyP    14 年前

    投诉的有效性如何:

    语言和API中的可修复投诉包括

    • 在语法层次上缺少元组、切片、映射或关联;

    • 缺乏模板编程;

    • 缺少名称空间;

    这个是有效的。我非常喜欢名字空间。

    • 方法缺少默认参数;

    • 缺少操作员超控/过载;

    这是我很高兴的另一个特性不在Objective-C中

    • 垃圾收集器泄漏和过早收集;

    所以修复垃圾收集器的错误。

    • 冗长的、骆驼编码的命名惯例;

    我喜欢冗长的命名惯例。它使代码更容易阅读。如果你是一个没有注意到这些只是 习俗

    • 缺乏包装管理;

    包裹会很好。

    • 缺少对REST、SOAP、SQL等“业务”API的现成支持。

    有很多图书馆可供这些人使用。

    通常被不太会说这种语言的人嘲笑。当我刚开始学C的时候,我非常讨厌它的语法,但是你已经习惯了。

    除了添加名称空间支持之外,我认为没有迫切的理由对Objective-C进行任何更改。这就是我的答案:目标C。

        2
  •  2
  •   user23743    14 年前

    MacRuby是Ruby的一个实现,它使用LLVM编译器,并且它的所有对象都基于Objective-C运行时库(以及像这样的普通Cocoa类) NSString , NSArray ). 它与ObjC完全互操作,因此现有代码可以与MacRuby代码集成。实际上,ObjC可用作系统编程语言,就像JVM和Java类库的一部分是用C编写的,而不是用Java编写的。

        3
  •  0
  •   FantaMango77    14 年前

    Objective-but-not-C,一种从Objective-C中借用了大量语法和方法的语言,但去掉了直接访问内存模型和基本数组。它将是苹果设计的一种全新语言,与Objective-C运行库兼容(甚至可能是二进制兼容)。

    结果将是一个Objto-C,微软管理C++。NET是C++。事实上,如果苹果使用类似LLVM的VM,就像微软使用.netclr一样,那么Ruby、Python等其他语言就可以轻松地与“Objective-but-not-C”代码进行互操作。

        4
  •  0
  •   Sethmr    8 年前

    斯威夫特!斯威夫特已经在取代目标C的路上了。

    它很容易学习,非常面向对象,并且处理许多其他语言应该处理的事情。

    一旦你对这门语言有了感觉,就你当时的能力而言,你会觉得比任何其他语言都强大。

    垃圾收集是为您处理的,您唯一需要担心的是在运行异步代码时。

    我遇到过许多Objective C开发人员,他们并不认为这样做有什么好处,但就我所知,他们仍然固守旧的方式。