Вверх ↑
Ответов: 1528
Рейтинг: 57
#1: 2013-12-10 22:04:02 ЛС | профиль | цитата
Предлагаю разрабатывать среду на Python, это не так ударит по времени разработки (не так сильно как разработка на C# или Java, не говоря уже о C++), плюс будет возможность использовать QT для интерфейса.
К тому же через Jython, среду разработки будет возможно переписать для Android, кстати говоря переписать это на том же языке Python.
А в дальнейшем можно сделать отдельную реализацию оригинальной Python+QT версии на Java со своими плюшками. Снова через Jython, переписав интерфейс на том же языке Python на JavaFX2.

Вот несколько образцово показательных примеров мощи данного языка:

1) парсинг конфига синхронизации времени ntp.conf в linux
Данная строка кода открывает и читает файл в цикле по 1 строке.
Условие if проверяет что строка не начинается с символа комментария "#", и что строка не является переводом на следующую строку
Т.е. строка парсит все параметры конфига, фильтруя пустые и закомментированные строки.

#cpp
ntp = [line.strip() for line in open(ntp_conf, 'r+') if not line.startswith('#') and '\r\n' != line != '\n']
или вот
2) парсинг директории с mp3 файлами с фильтрацией
list_dir - массив всех имён файлов в директории
all_playlist - массив имён песен из текущих плейлистов

фильтрация состоит из проверочной функции(lambda) возвращающей True\False и массива проверяемых фильтруемых значений.
в данной строке кода:
массив list_dir фильтруется так, чтобы в mp3_files попали только имена файлов содержащие последними символами в имени ".mp3"
и не попали файлы со словами в имени '00R' or '00P' or 'TISHINA' or 'FANTOM'
либо не попали файлы содержащиеся в текущих плейлистах all_playlist

#cpp
mp3_files = filter(lambda x: x.endswith('.mp3') and not ('00R' or '00P' or 'TISHINA' or 'FANTOM') in x and not x in all_playlist, list_dir)

Далее, найдёт "аб" в строке "абвг"
#cpp
if "аб" in "абвг"

найдёт 11 в массиве
#cpp
if "11" in ["111","11","22","12"]

Как видно возможности широчайшие, если конечно вы цените своё время. И не зацикливаетесь на скорости приложения.
Для тех кто память по затраченным килобайтам считает, питон не такой прожорливый по памяти как C# или Java, вполне реально что приложение может есть не более 10-20 мб ОЗУ, за вычетом QT конечно, с ним сложно предсказать.

ну и плюс, поддерживается ручное управление памятью через оператор "del объект"
карма: 0

0