ПравилаРегистрацияВход
НАВИГАЦИЯ

Немного про Python.

Модератор: Vladimir
Список форумов » Полезные советы
АВТОРСООБЩЕНИЕ
Orlyanuch
Avatar
28 декабря 2006, 16:43
Автор статьи Shrim .
Статья выкладывается с его разрешения.

Python (далее просто питон) это язык программирования. Те кто считают что питон это программа слегка заблуждаются. Программа которая находиться на сайте вот здесь это интерпретатор, т.е. обычным языком - это набор lib модулей и несколько dll без которых не одна программа написаная на языке питон на смарте не запуститься. Так же в программу кроме lib и dll входят еще и appmng и python - это программки написаные на языке питон, первая для установки скриптов, приложений и lib модулей, вторая - это среда программирования , в которой можно проверять работоспособность скриптов и в интерактивной консоли тренироваться с командами. Если вы не собираетесь сами писать скрипты и программы на языке питон, но хотите пользоваться программами написаными на этом языке то вам необходимо установить ту программу ссылку на которую я дал выше, дальше, по желанию, если вам не нужна сама среда программирования, можете удалить из System/Apps/ папки appmng и python , при этом в libs у вас останется все необходимое для нормальной работы программ написаных на языке питон. Еще хотелось бы сказать про технологию py2sis - многие программисты заблуждаются что используя утилиту py2sis они свои программы написаные на языке питон как они говорят - преобразуют в sis , который будет работать на смарте без установленого интерпретатора, да, это так, упаковав утилитой py2sis свою программу в sis пакет вы получаете автономно работающую программу, но... Есть одно НО - кто читал статью Расширение sr.zip, тот наверное уже понял что sis это ни какая не программа, или что там вы о ней думаете. sis - это обычный архив, вроде zip , так скажем контейнер, в который можно упаковать все что угодно (даже картинку =) в чем убедилось очень много людей скачав первого апреля mail.ru агент=) . Итак, sis это архив, а утилита py2sis в этот sis архив упаковывает вашу программу, вместе с ней еще и dll и lib модули от интерпретатора, необходимые для нормальной работы вашей программы, т.е. те модули которые ваша программа непосредственно задействует. Язык питон не С++ и написаную на питоне прогу нельзя откомпилировать в один автономно работающий файл арр . Утилита py2sis не творит чудес - даже я могу вручную прямо на смарте упаковать любую программу написаную на языке питон в автономный пакет (правда sr.zip) . Суть заключается вот в чем: упаковав свою программу утилитой py2sis в автономный пакет и выложив ее на общее обозрение вы получаете сразу и плюс и минус- плюс заключается в том что любой кто скачает вашу программу не обязан задумываться Где взять интерпретатор? или Что это еще за питон и с чем его едят? Просто человек ставит вашу прогу и она сама по себе даже без установленого интерпретатора работает (потому что содержит некоторые его компоненты). Минус же заключается в том что если у человека уже установлен интерпретатор, качая вашу программу он просто тратит трафик на те файлы которые у него уже есть и устанавливая вашу программу заменит имеющиеся у него компоненты интерпретатора на те которые вы упаковали в sis вместе со своей программой. Поэтому - если вы решили выложить написаную вами программу на общее обозрение, выложите ее лучше в двух экземплярах - просто вашу программу упакованую в sis или sr.zip и ту же программу упакованую утилитой py2sis. Каждый выберет то, что ему надо.
Orlyanuch
Avatar
5 февраля 2007, 08:34
Автор статьи atrant ( atrant@front.Ru ) . Статья выкладывается с его разрешения.
-----------

Может, это не совсем та категория для этой статьи, но в категорию для новичков она не годится, ибо новички к Питону приходят далеко не сразу. В данной статье освещу вопрос, что же есть такое Питон. Его многие не любят, но это лишь потому, что мало кто умеет его готовить =)
Что такое _компилированная_ программа на Си? Это набор уже готовых (ассемблерных) команд процессору, которые этот самый процессор тупо выполняет. То есть сначала программа пишется текстом, который смартфон понять, разумеется, не в состоянии. Потом с помощью программы _ на_компьютере_ (компилятора) этот текст преобразуется в упомянутые команды. Так как команды поступают уже сразу процессору, мы имеем высокое быстродействие для готовых программ на си, малое потребление оперативной памяти и все те плюсы, которые вы сможете назвать сами.
А что такое программа на питоне? Обычно такая программа как была текстом, так она текстом в телефон и попадает (исключения оговорю ниже). Программа на питоне называется скрипт, что в переводе с английского означает - сценарий. Другими словами, скрипт - это сценарий, по которому будет работать телефон. Чувствуете разницу? набор тупых команд и сценарий (театр, наша жизнь - игра). Для исполнения сценария нужны актеры и сцена. Роль актеров и сцены выполняет как раз виртуальная машина Питона (назовем ее питоновой машиной). Именно она запускается, когда мы запускаем скрипт или программу на питоне. И она уже начинает преобразовывать просто текстовый файлик в понятные телефонному процессору команды. Если в программах на си эту часть преобразования делает отдельная программа на компьютере один раз (компиляция), то у программ на питоне текст в команды преобразуется прямо на телефоне каждый раз во время выполнения скрипта (интерпретация). Разумеется, интерпретация, разбор на лету, непростая работа. И питоновая машина вынуждена потреблять для своей работы в сравнении с программами си значительно больше оперативной памяти (о числах ниже)
Первый подход, компиляция - дает скорость и малый размер потребляемой оперативки. Второй подход - возможность писать программы прямо на телефоне, отсутствие необходимости скачивать и устанавливать сотнемегабайтные (местами кривоватые) дистрибутивы и читать сотни страниц (местами неполной) документации. На питоне знаменитая программа Hello world записывается в одну строчку прямо в консоли питона:
print u"Hello, world"
в то время как на си это порядка 30-40 строк кода (!!!) да еще и тысячу телодвижений программиста по сбору этой проги в рабочий *.app
Может быть, уже кто-то задумался, что механизм весьма похож на java с ее байт-кодом и виртуальной машиной. Но java ест оперативы несоразмерно больше Питона для аналогичных задач!!
Так, простенькая программка на питоне может занимать килобайт 800 (пример - gsmlocation в обменнике программ на питоне). Навороченная, подгружающая много тяжелых модулей - около двух мегабайт (пример ForeMost там же), в то время как java уже при старте использует хорошо если 1 ,5 - 2 метра (загрузка витуальной машины)! И, наконец, написать программу на java прямо на смарте или даже на компе - дело посложнее аналогичного на Питоне.
Если Ваш телефон завален java, но вы боитесь ставить проги на Питоне - это все равно, что есть спагетти ложкой, потому что вы боитесь уколоть тарелку вилкой или ножом.
И что самое смешное, как понадобилось подобрать ключ к программам от котов, так скачивание за одну ночь перевалило все рекорды питонщиков... правда обидно, что множество других толковых программ не замечают. И ни-ни, что питон громоздкий-неудобный- тяжелый-нехороший =)
Ну и наконец питон - находка для программистов-смартфонщиков и свободного софта! Я и сам не раз правил коды, писал для себя программы прямо в метро. автобусе или где еще. Однажды надо было мне и друзьям дозвонится в абонслужбу одной конторы. Тогда еще программ для эмуляции нажатий клавиш не было, но я за пять минут сделал скрипт, который с интервалом в тридцать секунд звонил на указанный телефон. Прямо стоя на улице. Кто-нть сможет похвастаться подобным на си? =) Питон - это расширение возможностей смарта для ваших _повседневных_ однообразных задач без особых усилий и затрат, без необходимости ныть в столе заказов, это возможность подсказывать свои идеи программистам, возможность общаться с разработчиками напрямую (и на русском, хе) и еще масса, масса, масса всего. Причем сложность проектов зависит только от желания и фантазии автора.
Оговорюсь, что на компьютере я программирую на си( ) и си шарп (он же CSharp или С#), потому что на компьютере с питоном свои плюсы-минусы, хотя и для компа программ на питоне предостаточно, причем для самых разных платформ. Речь здесь идет о смартах.
Везде свои плюсы-минусы. Каждый делает выбор для себя. С современными смартфонами вопрос оперативной памяти вообще не стоит, так что боятся Питона и говорить, что он плохой глупо =) А навредить он вашему телефону не может, захламить он может в десять раз меньше, чем пресловутый Григафон или офис. (вирусы на питоне не писал никто для смартов, нет смысла и возможности скрыться от глаз польователя)
P.S. Скрипт может быть и не совсем в виде текста, могут быть уже частично компилированные скрипты. Но при этом ускоряется время загрузки программы. А скорость работы остается прежней.
Статья эта - крик души. Надоело, что мне пишут и жалуются, мол какой питон громоздкий и неудобный, какой он жадный до оперативы. А на реальные цифры и факты взглянуть слабо? =)
berkut
Avatar
5 февраля 2007, 10:27
Кампиляция-процесс преобразования текста программы в машинный код для данной конкретной платформы. Так малость понятней.
xolod
Avatar
17 августа 2007, 10:20
Может кому пригодится.На 6630.Сначала уст. Прогу PythonForS60 после этого нужно ставить прогу PythonScriptShell, она нужна что в меню появилась ярлык Питона. Может у когото вторую прогу не надо ставить. Где надыбать учебник?
Dust
Administrator
Avatar
Сейчас нет на сайте
Репутация: 186
Регистрация: 27.07.2006
Всего сообщений: 6924
Откуда: Новосибирск
28 декабря 2007, 17:59
В советах пишутся только советы .!. Вопросы здесь http://profismart.org/ps1028-0.php .!!!.
Список форумов » Полезные советы
  
Страница 1 из 1
Часовой пояс: GMT + 4
Мобильный портал, Profi © 2005-2023
Время генерации страницы: 0.021 сек
Общая загрузка процессора: 42%
SQL-запросов: 4
Rambler's Top100