Python / Ruby как мобильная ОС - PullRequest
10 голосов
/ 03 мая 2009

Мне было интересно, почему операционные системы смартфонов / мобильных устройств не написаны для использования динамических языков в качестве языка выбора? iPhone использует Objective-C, Google Android использует Java, Windows Mobile использует любой язык .NET.

Какова причина того, что мобильная ОС написана на Python, Ruby или любом другом динамическом языке? Я понимаю, что на низком уровне они не будут сокращать его, но C или C ++ подойдут для этого, и, например, Python может быть верхним уровнем для взаимодействия с ним. Я имею в виду, есть Jython или CPython.

Мне просто интересно, почему мы не видим более динамичной языковой поддержки в современных мобильных ОС.

Ответы [ 13 ]

0 голосов
/ 03 мая 2009

Есть много причин. Среди них:

  • бизнес-причины, такие как стратегии блокировки программного обеспечения,
  • эффективность: динамические языки обычно воспринимаются медленнее (а в некоторых случаях действительно медленнее или, по крайней мере, предоставляют ограничение на количество действий по оптимизации). На мобильном устройстве оптимизация кода необходима гораздо чаще на ПК) и, как правило, используют больше памяти, что является серьезной проблемой на портативных устройствах с ограниченной памятью и небольшим объемом кэш-памяти ,,
  • упрощение разработки: платформа, которая поддерживает Python, Ruby и Java из коробки:
    • означает трижды работу по написанию документации и оказанию поддержки,
    • делит усилия по развитию на три; для появления полезного материала в Интернете требуется больше времени, и на вашей платформе меньше разработчиков, использующих тот же язык, что и вы,
    • требуется больше места на устройстве для поддержки всех этих языков,
  • управление нужно убедить. Я всегда чувствовал, что достоинства Java легко объясняются нетехнической аудитории. .Net и Obj-C также кажутся очень естественным выбором для платформы Microsoft и Apple соответственно.
0 голосов
/ 03 мая 2009

Память также является существенным фактором. К сожалению, в Python легко есть память.

0 голосов
/ 03 мая 2009

Я подозреваю, что основная причина - это сочетание безопасности и надежности. Вы не хотите, чтобы кто-то мог легко взломать телефон, и вы хотите иметь некоторый контроль над тем, что устанавливается.

...