Я немного читаю на Objective-C, и поскольку он поступает из Smalltalk, как и Ruby, так интересно, правда ли, что если вы используете Ruby (если Apple изменит XCode для его поддержки), для разработки iPhone или приложение для Mac, оно не подходит действительно из-за скорости? Например, Angry Birds, вероятно, не так гладко, как сейчас, если использовать Ruby, vs if Objective-C, он скомпилирован и работает как машинный код.
Но в настоящее время существует ли какой-либо способ компиляции кода Ruby или Python в машинный код, чтобы он работал в той же зоне скорости, что и программы Objective-C?
На рабочем столе это отличные языки для использования, а для Python вы можете использовать py2app для развертывания вашего приложения. Вы не хотели бы писать графические подпрограммы уровня low- в интерпретируемом языке, но для того, для чего нужны библиотеки PyGame.
(Не то, чтобы это было особенным преимуществом, но обратите внимание, что одна из самых популярных 2D-фреймворков в iOS - это порт 2D-игровой среды для Python: http://cocos2d.org/)
До недавнего времени условия разработчика iOS специально запрещали использовать интерпретатор, поэтому никто не использовал Ruby или Python на iPhone. Приложения, запрограммированные на этих языках, вероятно, начнут появляться, но пока вы еще ничего не найдете об этом.
Ruby/Python может быть достаточно быстрым для Mac и даже для iOS. Это зависит от требований к производительности для ваших приложений. Это должно быть приемлемым для большинства случаев использования.
Apple разрабатывает реализацию Ruby, специально предназначенную для разработки приложений Mac - MacRuby. Другим вариантом было бы использовать RhoMobile, мобильную платформу разработки с использованием Ruby. Кроме того, OS X поставляется с библиотекой Python и PyObjC по умолчанию, что позволяет разрабатывать приложения cocoa с помощью python.
Возможные способы ускорения приложений Python:
Для Ruby вы можете посмотреть Rubinius - реализация Ruby, которая компилируется в собственный код на лету.
Python и Ruby сами не слишком быстр, но многие программы сегодня написаны, чтобы в основном не выполнять ни одного тяжелого подъема. Например, если вы хотите сохранить PNG файл в формате JPG, вы, конечно же, будете использовать встроенные системные вызовы для этого. В этом случае не имеет значения, требуется ли 0,00001 секунд в Obj- C, или 0,001 секунды в Python для обработки щелчка мыши, когда оптимизированный системный код для преобразования изображения является одним и тем же кодом в обеих программах и принимает, скажем, 1/2 секунды для запуска. С другой стороны, если вы делаете маневр данных низкого уровня по своему собственному дизайну, тогда вам может понадобиться C. В принципе, все языки, которые вы будете использовать на Mac, позволят вам написать что-то на C и называть его с этого языка, так что даже это не замедлит вас.
Выберите язык для задачи, основанный, как правило, на том, что все остальные делают для этой проблемы, пересекаются с вашими способностями.