Как злиться? - или: использование строительных блоков

Мадиас
Ср. 03 августа 2016 г., 11:09
На прошлой неделе я решил выучить некоторую базовую разработку приложений для Android, особенно для использования Bluetooth и STM32.
Итак, у меня было две возможности:
«Жесткий» способ: Android Studio. (Я не люблю java)
«Ленивый» способ: приложение MIT Inventor 2
Приложение Inventor 2 предварительно настроено использовать с BT, и есть много примеров Arduino Bt / Android. Итак, я решил пойти ленивым способом....НО:
«IDE» использует «строительные блоки» вместо кода программирования. Итак, через неделю я сдался. Даже вмадение простого массива оказалось десятками красочных головоломков и запутанной компоновкой кода.
Пример:
Изображение
Итак, на мой взгляд, весь проект потерял общий потенциал, вызванный этой глупой моделью блока-кода. Строительные блоки хороши для визуального обучения основного программирования, но с полусвязанными программами вы полностью теряете обзор (особенно если у вас нет монитора 60 ').

SO: проиграл одну неделю и готе---> "Трудный путь"

Сжимать
Ср. 03 августа 2016 г., 11:29
Строительные блоки - это образовательный инструмент для детей..... Не для развития....
У нас есть раздутый пример «легкого программирования».

Мадиас
Ср. 03 августа 2016 г., 11:53
Это печально, потому что ничто не будет ничто, что делать что -то проще. Вся концепция изобретателя приложения не так уж и плоха: реализация датчиков, соединений, графики, спрайтов, холста, кнопок, ползунков, таймеров и даже веб -сайтов в качестве перетаскивания&сбросить как первый шаг, а затем программировать его как второй шаг. Так что вместо этих блоков это было бы более Эффективное использование простого языка, такого как «arduino c ++» лично я выучил C ++ из -за использования Arduino IDE (много лет назад), но где находится «кривая обучения», используя эти блоки?

Мрмонтейт
Ср. 03 августа 2016 12:25
Мне так же удобно в C, C ++, Java и т. Д. Но я работал на 4WD -шасси и хотел контролировать его через приложение на моем телефоне. Я не хотел тратить огромное количество времени, чтобы научиться создавать телефонные приложения, чтобы контролировать его. Я наткнулся на изобретатель приложения, и кто -то уже собрал и приложение для управления автомобилем через Bluetooth. Так что у меня было это за короткое время. Я планировал вернуться назад и использовать часть распознавания голоса для управления автомобилем, но слишком много других вещей появилось. Это помогло в моем случае, но мой был очень прост. Я уверен, что добавление принятия решений и т. Д. Заставляет простые блоки выходить из -под контроля. Это всегда баланс того, что вам нужно сделать, и какую кривую обучения вы готовы добраться до того места, где вам нужно. Если бы я собирался использовать гораздо больше телефонных приложений для вещей, то я бы потратил время на изучение более надежного инструмента разработки приложений для телефонных приложений.

Майкл

Mrburnette
Ср. 03 августа 2016 г., 13:08
У меня был 6-месячный пробег с PSOC и их создателем только для Windows IDE пару лет назад. Это «блокировочный» или сортировщик. Тем не менее, генерируемый базовый код раскрывается для всех публичных объектов, некоторые объекты приоритета только экспортируют API.

Что мне показалось интересным после 90 дней проклятия IDE, так это то, что существует способ навязать волю программиста на каждый объект, но все это должно быть сделано с помощью ассемблера или C, так как C ++ не поддерживается (но есть работа.)

Таким образом, многомерный массив может быть создан в C или C ++ и предоставлен API, который затем станет настраиваемым объектом, который можно перетащить N-n в большую логическую конструкцию. Вторые 90 дней игры с IDE были на самом деле радостью, но нужно было разработать хорошее понимание оснований и стать чрезвычайно осведомленными о листах собственности и крючках. Не эксперимент на выходные в воде.

Луча

Zoomx
Ср. 03 августа 2016 г. 13:48
Я играл с Appinventor, когда он был инструментом Google несколько лет назад.
Я считаю, что это инструмент, подобный старому Visual Basic (не VB.Net): вы ставите для них элементы и код. Это программирование, основанное на событиях. Что произойдет, если вы нажимаете кнопки, что произойдет, если данные появятся, что произойдет, если какой -то датчик получит некоторые значения и так далее.
Моим вкладышением было написать простое приложение, чтобы сфотографировать и некоторые данные в качестве данных DataLogger. Я обнаружил, что Appinventor не может сфотографироваться, он просто запускает камеру, а затем вы должны снимать вручную. Appinventor2 тоже не Cabaple, чтобы снять картину.
Я не верю, что это инструмент для детей, но это инструмент для простых приложений, вы можете уловить некоторые из них в магазине Google.

Я помню, что существует базовый (современный базовый, а не старый компилятор с номерами линий), но я не помню имя.

Мадиас
Ср. 03 августа 2016 г. 14:00
На большинстве каждых языков или «блоков» вы начнете начать отсутствие "C ++", если вам нужны конкретные типы данных, такие как UINT8_T, int16_T. (Это моя самая большая жалоба на Arduino IDE с их глупыми определениями «байта» и «int», потому что существует большая разница, если вы на 8-16/32-битном MCU, поэтому их «INT» не являются конкретными (Unsigned 16bit 16bit. На AVR, USIGNED 32BT на 32 -битном MCU), и это одна из причин, по которой многие старые библиотеки не будут работать на не AVR -структуре)
В проекте, который я делал ранее - анализ строк MIDI Waldorf -Sysex, с совершенно странной структурой данных (тип) (подписанная 12 -битная (OR24?, Не могу вспомнить) +куски в байтовых пакетах) - это было сделано на стороне STM32Duino в течение нескольких минут, при обработке (Java...) У меня седые волосы.
В приложении "Изобретатель" вы даже не станете в таких вещах: у вас есть только поплавки...
Так что мне понадобится инструмент C ++ Android Dev :)

Мадиас
Ср. 03 августа 2016 г. 14:07
Zoomx написал: Я помню, что существует базовый (современный базовый, а не старый компилятор с номерами линий), но я не помню имя.

Саймонф
Ср. 03 августа 2016 г., 18:57
Zoomx написал:Я помню, что существует базовый (современный базовый, а не старый компилятор с номерами линий), но я не помню имя.

Rogerclark
Ср. 03 августа 2016 г., 21:39
Я попробовал несколько из этих языков на основе блоков, в основном создателей игр, и я быстро наткнулся на те же самые проблемы, с которыми сталкивался Матиас.

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

Я не думаю, что PSOC Creator вообще является одним и тем же инструментом. Я думал с PSOC, в основном использовал графический пользовательский интерфейс для генератора кода, и в целом окончательный шаг был либо для изменения кода вручную (если только то, что вы хотите построить, на самом деле не требовалось, и функциональности типа разветвления)

Создатель PSOC больше похож на куб STM в стероидах.

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

Саймонф
Ср. 03 августа 2016 г., 11:47
Rogerclark написал: Создатель PSOC больше похож на куб STM в стероидах.

Rogerclark
Чт, 04 августа 2016 г. 12:39
Что оттолкнуло меня с PSOC, так это то, что можно было забросить доску, если вы забыли загрузить загрузчик в рамках программы

Но они, кажется, теперь исправили это, так как часть отключения содержит полный программист, а не просто USB в серийный преобразователь

Мне удалось получить бесплатный новый PSOC в Maker Faire, но у меня не было времени играть с ним ;-(

Саймонф
Чт, 04 августа 2016 г., 2:32
PSOC является идеальным устройством разработки для небольших проектов в теории, так как вы можете построить полную «вещь» на одном чипе, все ваши счетчики смены переворачивают защелки и т. Д. Проблема в том, что вы можете сделать так много с этой вещью, вы можете потратить дни, просто добавляя UART своего I2C SPI, прежде чем даже начать разработку программного обеспечения. Я не много смотрел на образцы, но несколько основных шаблонов, таких как 1 i2c/spi/uart и 2 8 -битные параллельные порты. Начните с этого шаблона, затем выбивайте / добавьте то, что вы хотите. Как я уже сказал, я начал с этого, но мог видеть неделю/месяц моей жизни, встраиваемое в этом.
В традиционной разработке STM вы вытаскиваете листы данных. Найдите процессор, у которого есть все необходимые периферийные устройства. В PSOC вы просто добавляете необходимые периферийные устройства.

PS Я прочитал какую -то посуду, которую люди использовали бит Snap Off в качестве второго комплекта PSOC, но вам нужен отдельный программист, чтобы использовать его. Кроме того.

Mrburnette
Чт, 04 августа 2016 г., 2:49
Rogerclark написал: <...>
Я не думаю, что PSOC Creator вообще является одним и тем же инструментом. Я думал с PSOC, в основном использовал графический пользовательский интерфейс для генератора кода, и в целом окончательный шаг был либо для изменения кода вручную (если только то, что вы хотите построить, на самом деле не требовалось, и функциональности типа разветвления)
<...>

Rogerclark
Чт, 04 августа 2016 г., 3:57 утра
Привет, Рэй

Я смутно помню программные блоки в PSOC Creator, и я понимаю, что аппаратные и программные соединения (проводка) могут быть сделаны в графическом инструменте

Я на самом деле не рассеиваю создателя PSOC, я думаю, что это отличный инструмент, но это не похоже на приложение изобретатель.


Я думал, что в PSOC кодирование осуществляется в C путем ввода синтаксиса, а не перетаскивания элементов кодирования E.глин. Чтобы сделать светодиод, вы должны ввести код или для цикла
эн.глин. в их видео https: // youtu.be/9nze7yhpyuo?t = 255



Где, как с графическими языками программирования e.глин. Как и в изобретателе приложения, этот Матиас пытался использовать, для петли выглядит как форма U, на его стороне, которую вы перетаскиваете на экран (без минимального набора, если вообще вообще)

https: // youtu.be/i_gesyvknbo?t = 64

Zoomx
Чт, 04 августа 2016 г., 6:19
Мадиас написал:На большинстве каждых языков или «блоков» вы начнете начать отсутствие "C ++", если вам нужны конкретные типы данных, такие как UINT8_T, int16_T. (Это моя самая большая жалоба на Arduino IDE с их глупыми определениями «байта» и «int», потому что существует большая разница, если вы на 8-16/32-битном MCU, поэтому их «INT» не являются конкретными (Unsigned 16bit 16bit. На AVR, USIGNED 32BT на 32 -битном MCU), и это одна из причин, по которой многие старые библиотеки не будут работать на не AVR -структуре)

Quad Band модуля A6 GPRS