与问题的前提相反:最早的主流移动设备之一是Newton,它被设计为使用一种称为NewtonScript的专用动态语言用于应用程序开发。Newton 开发环境和语言使得应用程序协同工作和共享信息变得特别容易——这几乎与当前的 iPhone 体验截然相反。尽管许多从头开始编写新的 Newton 应用程序的开发人员非常喜欢它——NewtonScript“感觉”很像 Ruby——但 Newton 存在一些性能问题并且移植现有代码并不容易,即使在 Apple 后来添加了将 C 代码合并到一个 NewtonScript 程序。此外,在 Newton 上保护自己的知识产权非常困难——其他开发人员在大多数情况下可以查看你的代码,甚至一时兴起覆盖其中的一部分——这是一场安全噩梦。
牛顿是商业上的失败。
Palm 采纳了 Apple 的一些最佳创意并对其进行了改进,但放弃了动态语言支持作为整体简化的一部分,最终导致 PalmOS 获得了大部分移动市场份额(多年来),因为独立移动软件开发商蜂拥而至。新平台。
Newton 失败的原因有很多,但有些可能会归咎于 NewtonScript。Apple 在 iPhone 上“思考不同”,他们似乎做出的早期决定之一是尽可能利用现有的核心开发人员基础,让人们更容易在 Objective C 中进行开发。如果 iPhone 正式上市对动态语言的支持,这将是在经过长时间和仔细考虑如何在提供安全和高性能平台的同时最好地做到这一点之后添加的。
在他们这样做 5 分钟后,其他人就会跟随。:-)