Люди всегда сравнивают labview с C ++, и день "о, labview - это высокий уровень, и в нем так много встроенной функциональности, попробуйте получить данные, выполнив загрузку и отобразив данные, их так легко в labview попробовать в C ++".
Миф 1: С C ++ трудно что-либо сделать, потому что на его низком уровне и в labview уже реализовано много вещей.
Проблема в том, что если вы разрабатываете роботизированную систему на C ++, вы ДОЛЖНЫ использовать библиотеки, такие как opencv, pcl ... ect, и вы будете еще умнее, если будете использовать программную среду, предназначенную для создания роботизированных систем, таких как ROS (операционная система робота). Поэтому вам нужно использовать полный набор инструментов. На самом деле, когда вы используете ROS + python / c ++ с такими библиотеками, как opencv и pcl, доступны более высокоуровневые инструменты. Я использовал робототехнику labview, и, честно говоря, широко распространенных алгоритмов, таких как ICP, там нет, и теперь вы не можете легко использовать другие библиотеки.
Миф2: легче ли понимать языки графического программирования
Это зависит от ситуации. Когда вы кодируете сложный алгоритм, графические элементы займут ценное место на экране, и вам будет сложно понять метод. Чтобы понять код labview, вы должны прочитать область, сложность которой составляет O (n ^ 2), в коде, который вы только что прочитали сверху вниз.
Что делать, если у вас есть параллельные системы. ROS реализует архитектуру на основе графов, основанную на сообщениях подписчика / издателя, реализованных с использованием обратного вызова, и довольно легко запускать и обмениваться данными несколькими программами. Разделение отдельных параллельных компонентов облегчает отладку. Например, переход по параллельному коду labview - это кошмар, потому что скачки потока управления образуют одно место в другое. В ROS вы явно не «вытягиваете свою архитектуру, как в labview, однако вы все равно можете увидеть ее, выполнив команду ros run rqt_graph (которая покажет все подключенные узлы)
«Будущее программирования - графическое». (Так думаете?)
Надеюсь, что нет, текущая реализация labview не позволяет кодировать текстовые и графические методы. (есть математика, но это невероятно медленно)
Его сложно отладить, потому что вы не можете легко скрыть параллелизм.
Трудно читать код labview, потому что там вам приходится просматривать большую область.
Labview отлично подходит для обработки данных и обработки сигналов, но не для экспериментальной робототехники, поскольку большинство высокоуровневых компонентов, таких как SLAM (одновременная локализация и отображение), регистрация облака точек и т. Д. Отсутствуют. Даже если они добавляют эти компоненты и их легко интегрировать, как в ROS, потому что labview является проприетарным и дорогим, они никогда не поспевают за сообществом открытого исходного кода.
В итоге, если labview - это будущее для мехатроники, я изменяю свой карьерный путь на инвестиционный банкинг ... Если я не могу наслаждаться своей работой, я могу также заработать немного денег и рано уйти на пенсию ...