Технический форум по робототехнике.
Angel71 » 11 мар 2012, 11:08
у меня с языками всё намного проще - чем реже с одного на другой скачешь, тем больше остаётся времени собественно на проект. и единообразно, что вот в том новом языке вот такая замечательная рюшечка есть. а вот в этот запихали кучу парадигм и вобрали лучшее (по мнению разрабов) со всех языков.

новые языки клепают каждый год (их уже с 2 или 3 десятка тысяч) пачками и можно просто дойти до стадии, когда кроме как на изучение нового языка времени ни на что больше не хватит. да даже банально запоминать какие библиотечные ф-и или классы есть. пока в справочнике откопаешь или в интернете найдёшь, а время-то идёт. или начнёшь писать DependencyObject child = VisualTreeHelper.GetChild(obj, i); и сразу в ступор на несколько секунд, с фразой "твоюж нехай, это же совсем другой язык. тут вообще хоть что-то подобное есть?"

а программировать когда?
есть
luacv + может еще что. с с++ по идеи какой коннектор или враппер тож есть, если он вообще нужен (может быть в луа уже всё и есть, я хз).
Последний раз редактировалось
Angel71 11 мар 2012, 11:28, всего редактировалось 1 раз.
dccharacter » 11 мар 2012, 11:27
Angel71 писал(а):у меня с языками всё намного проще - чем реже с одного на другой скачешь, тем больше остаётся времени собественно на проект. и единообразно, что вот в том новом языке вот такая замечательная рюшечка есть.
Ну иногда бывают и исключения. Питон для меня - просто счастье. Сел и сделал. Там не в рюшечке дело, а в том, что очень сложные задачи решаются очень просто
Angel71 » 11 мар 2012, 11:30
это у всех (или почти у всех) языков так, просто тебе пока не попадались задачи, для которых будут лучше подходить другие языки. как только появиться язык, в котором есть всё на все случаи жизни и он будет устраивать всех, язык сразу останеться единственным.

анриал?
elmot » 11 мар 2012, 13:26
Анрил. Если язык будет уметь ВСЕ, то он будет слишком сложным и перегруженным. Нужен будет язык попроще. См. текущее положение вещей в яве и цпп.
Angel71 » 11 мар 2012, 14:47
поэтому лучше хорошо знать 1-2 языка, на которых пусть даже и не слишком удобно реализовывать некоторые вещи, но будешь сидеть и писать программы

а не как кузнечик скакать от языка к языку и каждый раз спотыкаясь, начиная с базовый конструкций языка, типов и прочих азов. или вам легко и быстро даётся выворачивание мозгов? тот же goto или switch-case - в одном языке есть, в другом нет. ну нет и нет их, вроде не смертельно, но алгоритм кардинально будет отличаться и нужно время, что бы привыкнуть. или простенький пример с типами на шарпе:
- Код: Выделить всё • Развернуть
int i1, i2;
i1 = 1;
i2 = i1;
i1 = 2;
int[] i3, i4;
i3 = new int[2];
i3[0] = 1;
i3[1] = 2;
i4 = i3;
i3[0] = 3;
чему равно i2 и каких два числа храниться в массиве i4? аха, это на шарпе так будет себя вести, а на другом языке не так, а на третьем вообще вместо присваивания нужно будет ф-и использовать или еще как по другому реализовывать.
берём кусок кода на шарпе и копипастим в программу на си
- Код: Выделить всё • Развернуть
int[] m1 = { 1, 2, 3 };
int[] m2 = { 3, 2, 1 };
m1 = m2;
вроде достаточно дописать размерность
- Код: Выделить всё • Развернуть
int[3] m1 = { 1, 1, 1 };
int[3] m2 = { 2, 2, 2 };
m1 = m2;

а болт, не прокатит.
и это далеко не самые сложные типы и далеко не единственный нюанс.
повторюсь
Angel71 писал(а):у меня с языками всё намного проще - чем реже с одного на другой скачешь, тем больше остаётся времени собественно на проект. и единообразно, что вот в том новом языке вот такая замечательная рюшечка есть. а вот в этот запихали кучу парадигм и вобрали лучшее (по мнению разрабов) со всех языков.

новые языки клепают каждый год (их уже с 2 или 3 десятка тысяч) пачками и можно просто дойти до стадии, когда кроме как на изучение нового языка времени ни на что больше не хватит.
dccharacter » 11 мар 2012, 15:12
поэтому и предлагается не c++, не c# и не js, а питон.
Angel71 » 11 мар 2012, 15:30
ну дя, выбирает язык тот, кто писать код будет. т.е. или кому-то прийдётся еще в один язык вникать или как вариант разделить проект на несколько частей и согласовано работать над теми же протоколами или еще над чем.
dccharacter » 11 мар 2012, 22:47
Сделал еще модуль управления питаловым. На картинке разными цветами обозначены два модуля. У каждого модуля видны вовне методы и переменные. Соответственно вся логика прописывается в главном скрипте с тредами и обработкой входного буфера ком-порта, а в модулях идет отображение/работа с железом. Работы, конечно, море еще, но POC я лично для себя считаю защищенным. Если кто присоединится - можно подумать над унификацией, если нет - я начал работу над тем, о чем давно мечтал но на что не хватало знаний - надо собственной библиотекой. Может, наконец, уйду от многократного переписывания всего и вся с нуля. (хотя раньше я считал это скорее за благо: повторенье - мать ученья).
То, что просится прямо сейчас на создание - opencv модуль с отображением видео с роутерной камеры. Придется, блин, камеру покупать.
В некотором отдаленном будущем хочу сделать гуй для BusPirate и для 9dof модулей.
Добавлено спустя 30 секунд:
P.S. Не смотрите на уродливую компоновку - стили не прописаны.
- Вложения
-

Последний раз редактировалось
dccharacter 12 мар 2012, 02:18, всего редактировалось 1 раз.
SkyStorm » 12 мар 2012, 02:03
Я щаз немного пьян, но что такое POC?
Малодец! Через неделю, когда разгребу завал после возвращения, возьмусь учить питон. Хотя не планировал ...
Согласен, полностью нужно писать модули, а потом их компоновать.
Сам не готов, но в компании всегда веселее

dccharacter » 12 мар 2012, 02:17
я тоже
пруф оф консепт
я доказал что ооп имеет право на жызнь гггг
dccharacter » 24 мар 2012, 00:38
Вот сваял визуализатор данных какой-никакой. Функцию выполняет, хотя, конечно, работы там еще ого-го. Тормозит правда собака

Попробуйте что-ли... Регэксп можно ввести свой, но настройки пока не запоминаются, так что сохраните его в блокнот куда-нить, чтобы быстро скопипастить.
- Вложения
-
serialPortGui.py
- (4.76 КиБ) Скачиваний: 431
-
dataVisualizer.py
- (5.1 КиБ) Скачиваний: 447
-

dccharacter » 26 мар 2012, 13:29
Вот, посидел еще чуток, посоветовался на stackoverflow, и вот получилось без тормозов. Визуализирует входные данные, регексп можно поправить, ширину шага тоже... Количество графиков. Заодно попробовал реализовать одноразмерный фильр калмана с хабры:
http://habrahabr.ru/post/140274/Есть еще идея сделать логгер - чтобы, например, снять профиль разрядки аккумулятора. Это сильно проще того, что я уже сделал.
- Вложения
-

Angel71 » 30 мар 2012, 23:58
только что наткнулся на интересную статейку
"принципы проектирования классов".

глянь, может и тебе на что сгодится.
SkyStorm » 14 май 2012, 18:20
Вот и я вплотную вышел к данной тематике.
На текущий момент у меня два активных проекта которым нужно делать программу для PC. И что характерно тоже нужно данные слать/получать с ком порта и рисовать какие-никакие графики.
-
Умный свет-
Лайн трейсерТак как совершенно не в теме Питона, то дурацкие вопросы
- Что качать?
- Есть какие камни при установке?
- Есть уже репозиторий где наработки уже сложены? если нет то поделись последней версией

плииизз!
dccharacter » 14 май 2012, 18:29
Камни есть - в другой тебе Дмитрий Владимирович напоролся на проблему с PySerial
Качай Python отсюда:
http://python.org/Почитай внимательно вот это:
http://wiki.python.org/moin/Python2orPython3. Я поставил третий и сразу напоролся на то, что многие востребованные мной модули не работают. Часть удалось портировать, на часть удалось забить.
Дальше, выбери IDE (вообще она питону не особо нужна, какие-то простые вещи можно прям в интерпретаторе делать, все очень просто). Я пользуюсь PyScripter - удобный, но с небольшими глюками.
Репозиториев нет, потому что тупо PyScripter не поддерживает версионный контроль, а вручную меркуриал лень было гонять. Кину что есть вечерком.
Для быстрого старта вот совершенно офигенный курс на английском:
http://code.google.com/intl/ru-RU/edu/l ... hon-class/