Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Язык 'Python'
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
mempfis_
Добрый день smile.gif
Поставили задачу разобраться с новым языком Python (О_о)
Подскажите что это за язык такой, в чём его особенности, преимущества (например перед С)? Какую литературу можно почитать? какими компиляторами пользоваться? Какое он имеет отношение например к AVR и модемам Telit (в них кажется ARM стоит)?
Нашёл в инете книгу на русском Россум, Дрейк, Откидач "Язык программирования Python" (кому интересно _http://www.python.ru/_ прямо на главной странице, весит 1,5 Мб).
Вобщем буду благодарен за любую информацию smile.gif

з.ы. Выкладываю скачанную книгу
MrYuran
Полистайте вашу книгу - на первом листе половина ответов на ваши вопросы.
Насчёт применимости в AVR - сомневаюсь шибко.
mempfis_
Цитата(MrYuran @ Oct 3 2008, 12:25) *
Полистайте вашу книгу - на первом листе половина ответов на ваши вопросы.
Насчёт применимости в AVR - сомневаюсь шибко.


Почитал начало книги (вникать сейчас особо нет времени, хочу найти побольше информации),
на первый взгляд складывается впечатление что на нём всё очень просто будет писать.
Осталось выяснить в какой среде писать на нём программы smile.gif
В книге упоминается "интерпретатор" (О_о) языка, но его название я там не увидел.
Подскажите в какой среде под виндовсом работать с этим языком? smile.gif
MrYuran
Общался с этой штукой 1 раз, и то случайно.
Почему-то разработчики MSPGCC решили сделать загрузчик bsl именно на питоне. А мне хотелось его переделать под себя. Среду для разработки можно взять здесь
Писать программы не пробовал, читается легко. В общем, выяснилось, что ничего править не надо и всё что мне надо (включая инверсию управляющих сигналов) можно задать из командной строки. Вот, собственно, на этом эпопея и закончилась.
Осталась память...
Нажмите для просмотра прикрепленного файла
mempfis_
Цитата(MrYuran @ Oct 3 2008, 12:57) *
Общался с этой штукой 1 раз, и то случайно.
Почему-то разработчики MSPGCC решили сделать загрузчик bsl именно на питоне. А мне хотелось его переделать под себя. Среду для разработки можно взять здесь
Писать программы не пробовал, читается легко. В общем, выяснилось, что ничего править не надо и всё что мне надо (включая инверсию управляющих сигналов) можно задать из командной строки. Вот, собственно, на этом эпопея и закончилась.
Осталась память...
Нажмите для просмотра прикрепленного файла


Спасибо a14.gif
Скачал поставил версию 2.6, буду разбираться smile.gif

P.S. Всёже интересует как его можно использовать для написания программ под микроконтроллеры (в частности ARM (ну вот поставили мне такую задачу, хотя IAR и С меня вполне устраивают))
Strijar
python интерпретирующий язык. Для того чтобы писать на нем для микроконтроллеров, придется заняться портированием интерпретатора. Исли задача использовать мощь скриптовых языков - то может взять что нибудь полегче? Например lua (www.lua.org) - его и портировать проще и сам по себе он быстрей python или perl
mempfis_
Цитата(Strijar @ Oct 3 2008, 13:34) *
python интерпретирующий язык. Для того чтобы писать на нем для микроконтроллеров, придется заняться портированием интерпретатора. Исли задача использовать мощь скриптовых языков - то может взять что нибудь полегче? Например lua (www.lua.org) - его и портировать проще и сам по себе он быстрей python или perl


Скорее всего ничего портировать не нужно. У нас используются gsm/gprs модемы Telit
и вот что я нашёл:

Цитата
Для уменьшения стоимости конечной системы фирма Telit предлагает модемы, программное обеспечение которых содержит интерпретатор программ на языке программирования Python (Питон). Такие модемы могут работать без внешнего микроконтроллера, а только под управлением написанной на этом языке программы, загруженной во внутреннюю флэш-память модема.


После этого мне всё стало ясно почему именно Python 07.gif
У них наверное и софт есть который позволит заливать программы во флеш модема.
DRUID3
Цитата(mempfis_ @ Oct 3 2008, 12:50) *
Скорее всего ничего портировать не нужно. У нас используются gsm/gprs модемы Telit
и вот что я нашёл:
После этого мне всё стало ясно почему именно Python 07.gif
У них наверное и софт есть который позволит заливать программы во флеш модема.

biggrin.gif Python это скриптовый язык (хотя можно и объектные модули собирать для x86). Вам же уже сказали - к микроконтроллерам он никакого отношения не имеет. Т.е. в Вашем модуле уже лежит во флеши интерпретатор Python (написанный скорее всего на C). Точно так же как есть проект интерпретатора basic для AVR.
Положительные моменты такого решения - есть много фанатов этого языка, не так тяжело найти спеца, да и сам язык довольно прост.
Но для LUA вообще не проблема найти спеца тоже. Ибо это язык который часто встраивают в игры и кто любит "нечестно" играть с компьютером с этим языком на "ты" с 12 лет biggrin.gif . Но у LUA есть еще одно серьезное преимущество - он не стековый. В виртуальной машине языка есть РОН. Потому именно его лучше встраивать в DSP или иные критичные по скорости выполнения системы.
Но сам я ни LUA ни Pythonа не знаю biggrin.gif - не люблю языки с не C-шным синтаксисом.

Кстати, есть скриптовый С - tcc.
mempfis_
Цитата(DRUID3 @ Oct 3 2008, 15:04) *
biggrin.gif Python это скриптовый язык (хотя можно и объектные модули собирать для x86). Вам же уже сказали - к микроконтроллерам он никакого отношения не имеет. Т.е. в Вашем модуле уже лежит во флеши интерпретатор Python (написанный скорее всего на C). Точно так же как есть проект интерпретатора basic для AVR.
Положительные моменты такого решения - есть много фанатов этого языка, не так тяжело найти спеца, да и сам язык довольно прост.
Но для LUA вообще не проблема найти спеца тоже. Ибо это язык который часто встраивают в игры и кто любит "нечестно" играть с компьютером с этим языком на "ты" с 12 лет biggrin.gif . Но у LUA есть еще одно серьезное преимущество - он не стековый. В виртуальной машине языка есть РОН. Потому именно его лучше встраивать в DSP или иные критичные по скорости выполнения системы.
Но сам я ни LUA ни Pythonа не знаю biggrin.gif - не люблю языки с не C-шным синтаксисом.

Кстати, есть скриптовый С - tcc.


Да понял я что внутри модема уже зашит интерпретатор питона biggrin.gif
Я тоже хоть пока не пользовался этим языком но он мне уже интуитивно не нравится (в С я имею контроль над всем процессором и его перефирией, а здесь получается через посредника-интерпретатора sad.gif ) Да и вообще я не знаю что такое скриптовый язык (не на программиста учился) и в чём его преимущества/недостатки перед, например, С/С++
Но ничего немного почитаю о нём, думаю со временем разберусь как его применять smile3009.gif
DRUID3
Цитата(mempfis_ @ Oct 3 2008, 15:22) *
Да и вообще я не знаю что такое скриптовый язык (не на программиста учился) и в чём его преимущества/недостатки перед, например, С/С++

Скриптовые языки не противопоставляются C/C++, как видите, C тоже есть скриптовый. Разница между ними в том компиляторы выдают объектные исполняемые файлы, которые процессор в состоянии выполнять сам, а интерпретаторы обязательно должны находится загруженными в процессор для выполнения программы-скрипта.

Кстати не факт, что из Pythonа для микроконтроллеров нельзя достучаться до периферии... Смотря как его собрать.
mempfis_
Цитата(DRUID3 @ Oct 3 2008, 16:41) *
Скриптовые языки не противопоставляются C/C++, как видите, C тоже есть скриптовый. Разница между ними в том компиляторы выдают объектные исполняемые файлы, которые процессор в состоянии выполнять сам, а интерпретаторы обязательно должны находится загруженными в процессор для выполнения программы-скрипта.

Кстати не факт, что из Pythonа для микроконтроллеров нельзя достучаться до периферии... Смотря как его собрать.


В цепи "то что я задумал"->"интерпретатор"->"исполнение того что я задумал"
смущает шаг "интерпретатор". Я понимаю что наличие интерпретатора позволит упростить исходный код и ускорит написание программы в 3-4 раза, но это также приведёт к тому что скорость исполнения программы снизится. Но иного выхода нет - интерпретатор уже зашит в модем и поэтому нужно будет учить Python.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.