Перейти к содержанию

Jozef

На чем писать  

595 проголосовавших

  1. 1. Что чаще используете в разработках?

    • Assembler
      165
    • C
      303
    • Что-то еще
      66


Рекомендуемые сообщения

44 минуты назад, COKPOWEHEU сказал:

неужели так сложно выложить сюда на форум пример?

Да, сложно - программированием МК я занимаюсь не часто. В данный момент на моём рабочем столе совершенно другие задачи. Поднимать программерскую среду мне не с руки.

46 минут назад, COKPOWEHEU сказал:

Угу, давайте еще смешивать алгоритм и электрическую схему. А чего с музыкальном произведением не сравниваете? Ведь общего между ними столько же.

Именно. И музыкальный редактор был моим первым проектом на РК-86. Но в силу того, что в этой теме вообще мало кто пробавляется по нынешним временам - не вижу смысла расширять рамки дискуссии аргументами, которые тем паче не будут вообще восприняты, поскольку не являются актуальными компетенциями для тусовки.

50 минут назад, COKPOWEHEU сказал:

Многие программы и правда удобно представлять графами, но уж точно не блок-схемой

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

54 минуты назад, COKPOWEHEU сказал:

Граф или другая абстрактная схема может использоваться при анализе задачи, и так или иначе будет представлен в коде. Но не 1 в 1 же!

Граф и его разновидность - блок-схема, есть метаописание любой системы. Именно МЕТА - высший уровень обобщения и абстрагирования.

56 минут назад, COKPOWEHEU сказал:

Значит мои опасения подтвердились. Оказывается, существуют личности, считающие что дорисовав вокруг кода рамочки и стрелочки можно сделать его более наглядным. Хотя на самом деле это всего лишь загромождение поля зрения ненужной графикой.

Это всего лишь ваши персональные ограничивающие убеждения (ОУ - понятие из психологии, обозначающее границы допустимого для конкретного субъекта).

Суть - не в рамочках, а в процедуре структурирования Системы - в которую входит разграничение отдельных объектоа в независимые подсистемы, связываемые хорошо презентуемыми связями. При этом, сами связи должны отчётливо специфицироваться по типу (протоколу и функциональному назначению) - и не отдельным списком, а тут-же, в едином базисном образе-отображении.

У мышления - свои нейрофизиологические законы и разделение границ является важнейшим фактором повышения адекватности психической модели.

ХИНТ: в психологии обучение клиента  правильной расстановке границ является одним из важнейших приёмов решения психологических проблем - слишком часто и слишком болезненно люди в это вмазываются в своей повседневной жизни.

Если графическая линия помогает этому процессу - так тому и быть.

1 час назад, COKPOWEHEU сказал:

Подход LabView в этом смысле лучше.

Ещё раз: лабвью - весьма неудачный пример визуализации. А без показа сигналов там вообще нечего ловить было б.

В целом - я ей не пользуюсь, поскольку сильно раздражает своей недоделанностью: делался нишевой коммерческий продукт на основе недостаточной компетентности программеров в самой прикладной задаче.

1 час назад, COKPOWEHEU сказал:

Но вот блок-схемы сами по себе годятся только для демонстрации какого-то простого алгоритма или обучении основам программирования

Просто вы не умеете готовить кошек (с) анекдот

ХИНТ: каждый элемент визуальной рабочей среды должен позволять входить внутрь объекта и производить в нём нужные изменения. Причём, это с неограниченной вложенностью (вплоть до конкретного объектного кода, лежащего на дне этой структуры).

Таким образом "квадратики" - это окна доступа к содержащимся в них информационным обектам (в полном соответствии с принципами ООП). И линии связи. И маркеры. И всё-всё-всё - есть естественные ворота для доступа к нутру ЭТОГО объекта. То есть, это гипертекст - в его графической реинкарнации...

1 час назад, COKPOWEHEU сказал:

Так вот, есть ли у флоучарта РЕАЛЬНЫЕ преимущества перед... ну, скажем, Си?

Возьмём в качестве примера упоминавшийся Алгоритм Билдер: это АССЕМБЛЕР! То есть, уровень объектного кода. По сравнению с классическим АСМ для тех же МК, эффективность работы в нём в три-пять раз выше. А то и на порядок - приближая по трудоёмкости процесс создания объектного кода к ЯВУ. Но при этом, доступ к физической структуре процессора (манипулирование регистрами, вылизывание скоростей работы и т.п.) в нём сохранены на уровне АСМ и позволяют в разы поднимать скорость по сравнению с Сишными кодами. При этом объёмы кода - тоже в разы меньшие, чем в ЯВУ. В большие разы...

В качестве примера: я использую атмелы в гитарных примочках - и на младших кристаллах реализую не только управление примочкой, но и саму обработку сигнала. Не в прямую, разумеется - у меня гибридная аналого-цифровая технология. Но скорость - критически важна. И я легко в АБ выжимаю из кристалла всё, что он может физически - а может он много (от управляемых искажений, компресси и темброобработки, до пространственных эффектов - привлечением внешней памяти для хранения отсчёиов).

На Си это вообще не решается - категорически. А на АБ я работаю, как уже сказал, в несколько раз быстрей, чем на АСМ.

По объёмам мои коды вписываются в восьминожки - с их куцей памятью, да и вообще скудными системными ресурсами.

Совместная разработку на АБ практикую - никаких проблем. Как с любой другой средой создания контента. Надо только, что б партнёр имел навык работы в АБ.

ХИНТ:  проект в АБ - фактически самодокументируемый, потому комментариев нужен минимум-миниморум и в отношении самой прикладной задачи, а не рабочего кода.

Схемотехническая мантра: титцешенкохоровицехилл. Повторять до просветления...

Ссылка на комментарий
Поделиться на другие сайты

5 minutes ago, peratron said:

Да, сложно - программированием МК я занимаюсь не часто. В данный момент на моём рабочем столе совершенно другие задачи. Поднимать программерскую среду мне не с руки.

вот по моему этой одной фразой человек ВСЕ о себе сказал. Миг 29 он программировал... ага

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

30 минут назад, Signus сказал:

Типичный пример - ОС реального времени с ее прерываниями разного приоритета, возникающие в любом месте исполняемого кода.

Мой первый проект на РК-86 был именно РВ - причём, для решения прикладной задачи пришлось написать по сути ядро ОС. Я это понял не сразу - довольно много потратил времени тыкаясь вслепую.

Потом сел - и стал анализировать, во что упёрся - что и вылилось в программу, которая функционально есть именно ОС.

Сама задача - музыкальный редактор электронных барабанов. Сначала я писал управление внешним синтезатором - но потом разохотился и сделал трёхканальный сэмплер (с ШИМ-выводом).

Справка по РК-86: 8080 с тактом 1.6 МГц, полное отсутствие таймирования (нет кристаллов в системе - несущую формировать можно только программно). И вишенкой на торте - дисплей, гасящий процессор на кадой строке и выгребающий строку на ПДП.

Так вот: я сделал именно систему РВ - при отсутствии системных часов. И всё при этом успевал.

Сам принцип тайминга - расчёт машинных тактов (а для хохмы - у 8080 переменный цикл команд, от 3 до 8 тактов). Так вот ядро следило за командным потоком, считало время - на фоне остальных задач, и выдавало сэмплы на выходной регистр. Причём, надо было ещё перевести сэмпл в ШИМ...

Так штааа... (с) ЕБН

43 минуты назад, Signus сказал:

"инженеришки" ( кстати, почему так пренебрежительно? это не каста кандидатов наук? :D ) 

Это я - это мой хлеб. Потому, как хочу - так и называюсь... :P

46 минут назад, Signus сказал:

Программисты - достаточно ленивы

Именно. Потому "я всегда так делал" - главный аргумент. В том числе - и в этой дискуссии.

А тех, кто делает не так - сразу обнулять. Как то попытались устроить мне в ответ на моё простое указание более эфеективного направления развития. Не на основе анализа, не подумавши над сказанным - а сразу почти в оскорбительном тоне. Только я про ранговое доминирование тоже в курсе - и знаю про него побольше, чем тусовка :aggressive:

 

Схемотехническая мантра: титцешенкохоровицехилл. Повторять до просветления...

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

5 часов назад, Signus сказал:

Типичный пример - ОС реального времени

Неудачный пример. Он отлично ложится на модель одновременного выполнения нескольких потоков.

5 часов назад, Signus сказал:

Процедурные языки давно ушли в свою нишу, что-то более-мене серьезное пишется на объектных языках. <...> Тут вообще графу делать нечего.

ООП программа точно так же линейна, как процедурная, так что на граф ложится не хуже (насколько ужасно оно будет выглядеть в виде блок-схемы - другой вопрос)

А вот как положить на блок-схему функциональный язык или, скажем, язык запросов, с ходу не могу представить.

4 часа назад, peratron сказал:

Да, сложно - программированием МК я занимаюсь не часто. В данный момент на моём рабочем столе совершенно другие задачи. Поднимать программерскую среду мне не с руки.

Вот теперь вы и сами убедились в "удобстве" своего языка. Мне для написания примера это не понадобилось. Хватило средств форума.

4 часа назад, peratron сказал:

Мне любая система удобна для анализа именно виде блок-схемы - даже психика (человеческое поведение).

Очевидно, вы не изучали эту тему. Человеческое мышление не ложится на линейный алгоритм вообще никак. Единственная модель, которая дает правдоподобный результат - нейронная сеть.

4 часа назад, peratron сказал:

Это всего лишь ваши персональные ограничивающие убеждения.

но они основаны на практическом и теоретическом опыте. В отличие от ваших.

5 часов назад, peratron сказал:
6 часов назад, COKPOWEHEU сказал:

Но вот блок-схемы сами по себе годятся только для демонстрации какого-то простого алгоритма или обучении основам программирования

Просто вы не умеете готовить кошек (с) анекдот

Нет, просто я из них вырос, и для моих задач этого уровня абстракции уже недостаточно.

5 часов назад, peratron сказал:

Возьмём в качестве примера упоминавшийся Алгоритм Билдер: это АССЕМБЛЕР! То есть, уровень объектного кода. По сравнению с классическим АСМ для тех же МК, эффективность работы в нём в три-пять раз выше. А то и на порядок - приближая по трудоёмкости процесс создания объектного кода к ЯВУ

Ссылку на исследования в студию!

5 часов назад, peratron сказал:

На Си это вообще не решается - категорически. А на АБ я работаю, как уже сказал, в несколько раз быстрей, чем на АСМ.

Остается только процитировать вас же "просто вы не умеете готовить кошек". Все остальные почему-то умудряются писать на Си программы лишь немного уступающие ассемблерным, в крайнем случае используют ассемблерные вставки. А у вас вот "не решается - категорически".

4 часа назад, peratron сказал:

Справка по РК-86: 8080 с тактом 1.6 МГц, полное отсутствие таймирования (нет кристаллов в системе - несущую формировать можно только программно). И вишенкой на торте - дисплей, гасящий процессор на кадой строке и выгребающий строку на ПДП.

начали мериться сложностью программ? Год назад реализовывал графику на std32f103, там 72 МГц тактовая частота и 20 кБ памяти. Написано на Си.

 

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

В 27.09.2018 в 07:03, COKPOWEHEU сказал:

ООП программа точно так же линейна, как процедурная, так что на граф ложится не хуже

Интересно, как в графе будет выглядеть процесс наследования... ещё к тому же многоуровневого.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Точно так же, ведь блок-схема работает с последовательностью выполнения, а не с переменными.

 _______________________
/  std::cin >> var.x   /
~~~~~~~~~~~~~~~~~~~~~~~
          |
 ~~~~~~~~~~~~~~~~~~~~~
|  var.calc( var.x )  |
 ~~~~~~~~~~~~~~~~~~~~~

 

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Тогда удел блок-схем максимум это описание методов объектов. Для конструирования объектов нужен совсем другой графический механизм. А объекты, изменяемые в процессе работы тоже не представимы в виде блок-схем.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Я и говорю, что блок-схема это квадраты, нарисованные поверх кода. Ну, может добавлено сворачивание блоков, подсветка переменных или еще какие IDE'шные мелочи. Не просто же так единственная область применения блок-схем - обучение простым алгоритмам в школе. Все более-менее серьезное программирование идет на текстовых языках, в крайнем случае - псевдокоде. Даже для настройки ПЛИС (казалось бы, интегральная схема!) используется текст.

Вот где графические языки хороши - автоматизация. Там, где настройкой занимается кто угодно, только не программист.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...

@AvrAsm , о, великий Гуру! Целый год ждали Вашего великомудрого совета!  :crazy:

Просят - не откажи. Не просят - не навязывайся!

Простота хуже воровства.

Ссылка на комментарий
Поделиться на другие сайты

но дождались же...

Мудрость приходит вместе с импотенцией...

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

Ссылка на комментарий
Поделиться на другие сайты

А чё не так то? Чего столько сарказма? Чего вы целый год ждали? Вчерась только зарегался, сразу и проголосовал!

Тема "кто на чем пишет"!

Вот я и написал что пишу на трёх языках, и все они ассемблер! :rolleyes:

Дабы поддержать всех нормальных пацанов!

Ссылка на комментарий
Поделиться на другие сайты

58 минут назад, AvrAsm сказал:

А чё не так то?

Да то, что некропостинг хоть и не является нарушением, но зело не приветствуется.

Просят - не откажи. Не просят - не навязывайся!

Простота хуже воровства.

Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, Falconist сказал:

Да то, что некропостинг хоть и не является нарушением, но зело не приветствуется.

У вас эта тема в самом верху ветки "AVR"! с голосовалкой! еще и закреплена!

Любой новый пользователь начинает читать именно с неё!

Странное у Вас представление о некропостинге!

:wacko:

Ссылка на комментарий
Поделиться на другие сайты

Поднять старую тему вопросом - нормально.

Поднять ее ответом, уже давным-давно и нафиг никому не нужным - просто глупо.

Просят - не откажи. Не просят - не навязывайся!

Простота хуже воровства.

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...
04.11.2019 в 10:12, AvrAsm сказал:

Дабы поддержать всех нормальных пацанов!

на ассемблере пишут только пенсионеры (!), я, кстати, тоже умею :) !

Можно сделать все! Но чем больше можно, тем больше нельзя!

Ссылка на комментарий
Поделиться на другие сайты

а на Си пишет только молодежь, которая не в состоянии пользоваться ассемблером...

Мудрость приходит вместе с импотенцией...

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

Ссылка на комментарий
Поделиться на другие сайты

20 часов назад, Starichok сказал:

а на Си пишет только молодежь, которая не в состоянии пользоваться ассемблером...

А кто же тогда пишет на плюсах???

Можно сделать все! Но чем больше можно, тем больше нельзя!

Ссылка на комментарий
Поделиться на другие сайты

23 часа назад, Starichok сказал:

а на Си пишет только молодежь, которая не в состоянии пользоваться ассемблером...

Я бы сказал - не в состоянии понять, как работает МК. Поэтому пишут по принципу ХОЧУ (как звучит начало многих тем у начинающих), не вдаваясь в вопрос КАК ЭТО МОЖНО РЕАЛИЗОВАТЬ.

Ссылка на комментарий
Поделиться на другие сайты

05.12.2019 в 17:48, ruhi сказал:

кто же тогда пишет на плюсах???

кто немножко умнее тех, кто пишет без плюсов.

а вообще, дело вкуса.

на С++ я пишу для компа, а для МК я пишу на ассемблере.

Мудрость приходит вместе с импотенцией...

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

Ссылка на комментарий
Поделиться на другие сайты

07.12.2019 в 11:34, Starichok сказал:

, а для МК я пишу на ассемблере.

хорошо что те кто писал драйвер для  TCP/IP-стека (LWIP) для атмеловских SAME70 контроллеров "не в состоянии пользоваться ассемблером" :) !

Можно сделать все! Но чем больше можно, тем больше нельзя!

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Есть такая тема, называется "автоматное программирование". Там составляется блок-схема и из неё генерируется код на с++. В этой среде можно делать очень сложные проекты. Код генерируется очень надёжный. Я иногда использую это средство. Правда приходится немного руками поработать с полученным кодом, переделать под си компилятор.

Пока ты жив, надежда есть.

Ссылка на комментарий
Поделиться на другие сайты

07.12.2019 в 18:34, Starichok сказал:

а для МК я пишу на ассемблере

с определенного уровня камней это теряет смысл, так как затраты времени уже не оправдываются выигрышем по скорости. Ее и так более чем дофига. И даже кривой код на плюсах летит так, как будто на асме писан. Так что с умом надо свое время тратить все таки

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, mail_robot сказал:

с определенного уровня камней это теряет смысл, так как затраты времени уже не оправдываются выигрышем по скорости. Ее и так более чем дофига. И даже кривой код на плюсах летит так, как будто на асме писан. Так что с умом надо свое время тратить все таки

Не все так просто. Давеча разбирался с кодом "бабочки" БПФ (FFT) и неожиданно для себя (век живи - век учись) выяснил, что написать "бабочку" на Си - значит утратить более 70% производительности МК в расчете FFT. И это при том, что сама эта задача очень ресурсоемкая. А все потому, что на Си невозможно объяснить компилятору как обращаться с MAC-командами (DSP-командами) в части адресации операндов. То есть либо грустно жевать библиотечный код (тоже, кстати на АСМ)  со специфическими участками связанными с универсальностью этого кода (весьма заметно тормозит задачу), либо писать свой под свои параметры FFT. Но свой - только на АСМе.

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

дружище, ты прям очень молодец. Я тобой искренне восхищен. Можешь передать маме

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...