категории | RSS

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

В данной статье освещу вопрос, что же есть такое Питон. Его многие не любят, но это лишь потому, что мало кто умеет его готовить =)

Что такое _компилированная_ программа на Си? Это набор уже готовых (ассемблерных) команд процессору, которые этот самый процессор тупо выполняет. То есть сначала программа пишется текстом, который смартфон понять, разумеется, не в состоянии. Потом с помощью программы _на_компьютере_ (компилятора) этот текст преобразуется в упомянутые команды. Так как команды поступают уже сразу процессору, мы имеем высокое быстродействие для готовых программ на си, малое потребление оперативной памяти и все те плюсы, которые вы сможете назвать сами.

А что такое программа на питоне? Обычно такая программа как была текстом, так она текстом в телефон и попадает (исключения оговорю ниже). Программа на питоне называется скрипт, что в переводе с английского означает - сценарий. Другими словами, скрипт - это сценарий, по которому будет работать телефон. Чувствуете разницу? набор тупых команд и сценарий (театр, наша жизнь - игра). Для исполнения сценария нужны актеры и сцена. Роль актеров и сцены выполняет как раз виртуальная машина Питона (назовем ее питоновой машиной). Именно она запускается, когда мы запускаем скрипт или программу на питоне. И она уже начинает преобразовывать просто текстовый файлик в понятные телефонному процессору команды. Если в программах на си эту часть преобразования делает отдельная программа на компьютере один раз (компиляция), то у программ на питоне текст в команды преобразуется прямо на телефоне каждый раз во время выполнения скрипта (интерпретация). Разумеется, интерпретация, разбор на лету, непростая работа. И питоновая машина вынуждена потреблять для своей работы в сравнении с программами си значительно больше оперативной памяти (о числах ниже)

Первый подход, компиляция - дает скорость и малый размер потребляемой оперативки. Второй подход - возможность писать программы прямо на телефоне, отсутствие необходимости скачивать и устанавливать сотнемегабайтные (местами кривоватые) дистрибутивы и читать сотни страниц (местами неполной) документации. На питоне знаменитая программа Hello world записывается в одну строчку прямо в консоли питона:
print u"Hello, world"
в то время как на си это порядка 30-40 строк кода (!!!) да еще и тысячу телодвижений программиста по сбору этой проги в рабочий *.app

Может быть, уже кто-то задумался, что механизм весьма похож на java с ее байт-кодом и виртуальной машиной. Но java ест оперативы несоразмерно больше Питона для аналогичных задач!!
Так, простенькая программка на питоне может занимать килобайт 800 (пример - gsmlocation в обменнике программ на питоне). Навороченная, подгружающая много тяжелых модулей - около двух мегабайт (пример ForeMost там же), в то время как java уже при старте использует хорошо если 1,5 - 2 метра (загрузка витуальной машины)! И, наконец, написать программу на java прямо на смарте или даже на компе - дело посложнее аналогичного на Питоне.

Если Ваш телефон завален java, но вы боитесь ставить проги на Питоне - это все равно, что есть спагетти ложкой, потому что вы боитесь уколоть тарелку вилкой или ножом.
И что самое смешное, как понадобилось подобрать ключ к программам от котов, так скачивание за одну ночь перевалило все рекорды питонщиков... правда обидно, что множество других толковых программ не замечают. И ни-ни, что питон громоздкий-неудобный-тяжелый-нехороший =)

Ну и наконец питон - находка для программистов-смартфонщиков и свободного софта! Я и сам не раз правил коды, писал для себя программы прямо в метро. автобусе или где еще. Однажды надо было мне и друзьям дозвонится в абонслужбу одной конторы. Тогда еще программ для эмуляции нажатий клавиш не было, но я за пять минут сделал скрипт, который с интервалом в тридцать секунд звонил на указанный телефон. Прямо стоя на улице. Кто-нть сможет похвастаться подобным на си? =) Питон - это расширение возможностей смарта для ваших _повседневных_ однообразных задач без особых усилий и затрат, без необходимости ныть в столе заказов, это возможность подсказывать свои идеи программистам, возможность общаться с разработчиками напрямую (и на русском, хе) и еще масса, масса, масса всего. Причем сложность проектов зависит только от желания и фантазии автора.

Оговорюсь, что на компьютере я программирую на си( ) и си шарп (он же CSharp или С#), потому что на компьютере с питоном свои плюсы-минусы, хотя и для компа программ на питоне предостаточно, причем для самых разных платформ. Речь здесь идет о смартах.

Везде свои плюсы-минусы. Каждый делает выбор для себя. С современными смартфонами вопрос оперативной памяти вообще не стоит, так что боятся Питона и говорить, что он плохой глупо =) А навредить он вашему телефону не может, захламить он может в десять раз меньше, чем пресловутый Григафон или офис. (вирусы на питоне не писал никто для смартов, нет смысла и возможности скрыться от глаз польователя)

P.S. Скрипт может быть и не совсем в виде текста, могут быть уже частично компилированные скрипты. Но при этом ускоряется время загрузки программы. А скорость работы остается прежней.

Статья эта - крик души. Надоело, что мне пишут и жалуются, мол какой питон громоздкий и неудобный, какой он жадный до оперативы. А на реальные цифры и факты взглянуть слабо? =)

Велкам к нам на форум на этом сайте в разделе программирование =)

DimonVideo
2007-02-03T19:14:17Z

Похожие файлы

Фруктовый Python! Часть 2.

Программирование для смартфонов
Здесь находятся
всего 0. За сутки здесь было 0 человек

Комментарии 79

#69   Marych    

Статья понятная, я вот только не догоняю что есть компилятор. Как он устроен, как работает. В программировании я полный 0, может даже с минусомsmile, но искренне хочу научится. Я быстро запоминаю, если что то сделаю сам, но вот учителя нет, чтоб ясно растолковал. Пока что я понял наверно процента 1-2, от общей инфо... Если не меньше! Но надеюсь с помощью Вас, ребята, мне удастся освоить это чудо! Как я рад что есть димонвидео! Тут объясняют понятным, человеческим языком! Спасибо всем!
И ещё, может кто нибудь помоч, объясните как выполнить команду из консоли питона на ос симбиан 9.2 (н 95 8гб), и пару примеров команд. Я знаю что вы подумали мол достали эти чайники, но если ВЫ не будете объяснять такие простые вещи для Вас, которы допустим мне кажутся очень сложными, то такие как я просто потеряют на освоении питона как минимум 50 проц. времени! Для вас же, это потребует какие то минуты, возможно пару десятков минут! Помогите! И если не трудно, ответьте пожалуйста в личку! Заранее очень признателен!


* редактировал(а) Marych 14:30 27 ноя 2008

0 ответить

#69   davids2011    

отличная статья, буду разбираться, спасибо


0 ответить

#69   Serxio    

на КПК его можно поставить?И как?
Хочу подучиться.


0 ответить

#69   Serxio    

а можешь подсказать что-нибудь о питоне КПК?


0 ответить

#69   M9CHUK    

Люблю программировать)), а до компа не всегда доберешься, а смарт всегда под рукой. Возможно скоро обо мне услышите!)))) Программирование - это как наркотик, хочеца все больше и больше, но зато мозг развивает!))))


0 ответить

#69   belo7mor    

Ага!кажись понял что за зверь и с чем едять. А то Питон, Питон...Токо не понял - почему всеж Питон?Спасибо! Будем пробовать.


0 ответить

#69   nazgul_13    

хм... Буду стараться, мож чего и получиццо smile интересно...


0 ответить

#69   Antil    

Я зинтригован\\= Сейчас же начну переваривать все статтьи что етсь на сайте и форуме. только перекушу сначала).


0 ответить

#69   atrant    

это отдельный язык. Но он взял многое приятное от других языков. Но он самостоятелен


0 ответить

#69   Rorrug    

Скажите плз чайнику, питон это разновидность перла или си?


0 ответить

Яндекс.Метрика