Jump to content

    

Очередной хлоливар С/С++ vs Java/C# возник в месте обсуждения РТОС для мк. Я его переместил сюда.

 

Вброс

Читаю все это и волосы дыбом. Тем более что и работаю с этим. Почему программист должен думать об освобождении памяти? Почему многопоточность не поддерживается средствами языка? Почему до сих пор все сидят на древних языках вроде С и С++ (он недалеко ушел от С, пусть и поддерживает ООП, но все равно с ним обрушить любую систему на ура можно. Есть ли нормальные реализации Явы или С шарп для контроллеров? Иначе это хождение по граблям будет вечным. 15 лет в теме и все одно и тоже. И памяти то уже достаточно для Явы например, и все равно. От слов «указатель» и «приведение типов» тошнит уже в век, когда объемы флеш и озу - ничто, а время на выпуск - все, это анахронизм какой то

 

Читаю все это и волосы дыбом.
я когда вижу код на Perl - волосы дыбом, это не значит что Perl гавно.

Почему многопоточность не поддерживается средствами языка?
а почему в языке должна быть многопоточность? Язык - это всего лишь язык. А всё остальное - это библиотеки, фрэймворки. Нужна многопоточность - подключай boost, Qt, *RTOS.... или сам суперлупом обеспечивай. Такто можно заявит: Почему сигналы-слоты не обеспечивает язык? Почему extFat не обеспечивает язык? Почему KDE не обеспечивает язык?

Есть ли нормальные реализации Явы или С шарп для контроллеров?
нету. не нормальных, не ненормальных.

какая к чёрту жава на мк? Даже эти ваши линуксы пишут на си по сей день. не на жаве, и тем более не на с#. и жава.... для неё нужна жавамашина. какую жава машину вы запехнёте в мк с 1кБ ОЗУ? Всё это удел высокоуровнего программирования, окошки, форточки... даже для ПК драйвера пишут на Си/С++. Не разу не слышал чтобы кто-то написал низкоуровневый драйвер для ПК на жаве.

А по поводу с# на мк- вообще смешно.... ибо c# не не язык программирования, а "язык программирования виндоус". Вы бы ещё спросили "А есть нормальные реализации языка 1С для мк?". ))

см вики

C# — объектно-ориентированный язык программирования. Разработан в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework....
Это нужно в мк с 256 байтами ОЗУ (да хоть и с 64 кБ ОЗУ) запихать .NET? А также для неё поставить Windows8.... c мэтро :biggrin:

 

С++ (он недалеко ушел от С, пусть и поддерживает ООП, но все равно с ним обрушить любую систему на ура можно.
Дак на ура и жавой рушатся приложения только так.

 

Посмотрите примеры программ на Java - там нет этого дебилизма. С++ позволит даже такое *(int *)0x40001234 = 0; На Яве вам никто не позволит пользоваться указателями, оных и нету, и никто не позволит приводить типы с уменьшением точности. С++ - это очень старый язык, он неплох для своих лет, но уже 2014 на дворе. Тот же ассемблер завуалированный.

А как в яве запись в регистр микросхемы? например в общем адресном пространстве 0x40001234 - адрес регситра RxDATA, а 0x40001236 - адрес регистра TxDATA. Как на Jave происходит обращение к этим регистрам?

 

С++ - это очень старый язык, он неплох для своих лет, но уже 2014 на дворе.
старый не знаяит плохой. Русский ещё старее, а на дворе 2014...

ДВС - ему больше 100 лет. а на дворе 2014. Но пока человечество не придумало лучше двигатель. :laughing:

Share this post


Link to post
Share on other sites

juvf,

ППКС..

 

Много поточность и многоядерность нужна когда она нужна. Следить раз в минуту за температурой не нужен 8ядерный процессор с 256 мег памяти на джаве

Share this post


Link to post
Share on other sites
С++ (он недалеко ушел от С, пусть и поддерживает ООП,

 

После таких перлов, говорить о чём то - смысл теряется. Человек не в теме, тупой набор слов...

А по теме могу сказать следующее.

 

Тут сравнительно недавно был в гостях в одном ведущем банке. Ваяют торговую площадку для своих пользователей (перекладывают

на си плас плас. Или даже си - не вспомню сейчас ужо). Ушли с си бимоля,

он и ява какава не рассматривают в принципе. Наелись говорят. Медленно. Они даже объекты синхронизации убрали - тормоза...

 

как говорится без коментариев...

Всё от задачи треба...

 

Share this post


Link to post
Share on other sites

А кто вообще сказал, что в Java многопоточность в языке? Это библиотека, если что.

 

А еще есть отдельный ужастик в среде исполнения Java-кода под названием "нативные методы". Это к вопросу "обращения к регистрам", например.

 

А вообще тема флудерастична по самое не хочу. Я бы, как модератор раздела, порекомендовал воздержаться.

 

 

Share this post


Link to post
Share on other sites

Не, я не промолчу.

В связи с ростом популярности Free Pascal + Lazarus + CodeTyphoon

 

И мои впечатления можно в двух словах: "посидеть попрограммировать, отдохнуть от Си" :)

Share this post


Link to post
Share on other sites
И мои впечатления можно в двух словах: "посидеть попрограммировать, отдохнуть от Си" :)

Forth (Форт)? (есть для любого МК) и GA144 (асинхронный (вкл/выкл 700МГц), 144 мультиядерный MISC контроллер с возможностью решать DSP задачи)

Вот где С,С++,Java,... (и.т.д. и.т.п.) отдыхают, как и всякие РТОС :smile3046:

 

P.S. Языковый подход в программирование основанный на составлении смысловых фраз! :)

(без дополнительных телодвижений по связыванию формальных и фактических параметров процедур/функций и локальным временем "хизни" "переменных",

получил из "потока" данные -> обработал -> выдал обратно в поток на обработку следующей "процедуре" и даже можно локально перехватить управление процессом трансляции/интерпритации/компиляции исходных слов самой программы подстроив синтаксис и семантику языка под текущее понимание задачи).

Вот где язык с "истинным" программерским адренолином:)

Аспекты эргономики языка программирования ещё не обсуждали?

Edited by Kopa

Share this post


Link to post
Share on other sites

Я бы прoшел мимо темы, если бы бодались пингвины с демонами, или видузятники. Можно поспорить за язык для пк. Но одсуждали работу фриртос на процессоре стм32. Какая там может быть жава или шарп? Или может есть для мк язык помимо си и сипипи?

Share this post


Link to post
Share on other sites
какая к чёрту жава на мк?

Не разу не слышал чтобы кто-то написал низкоуровневый драйвер для ПК на жаве.

 

Ух ты как идеологично.

 

Еще лет 10 назад когда Nokia была на пике, у нас вырос стартап сделавший бизнес именно на Java под MK. Это были ARM7 в составе Nokia12.

Приезжали ходоки из дальних деревень (нефтеперегонных терминалов, и наших и из Сургута ) и нахваливали как это мы здорово влепили Яву в свои контроллеры.

Теперь уже не то, да и Nokia сдулась. Нынче яву для МК толкает сам Oracle.

 

Правда выросло новое поколение которое думает, что кроме Arduino на свете ничего нет. А тот ардуиновский псевдо-си и есть самый настоящий C-и.

Народ таки оторвали от железа. Редкие энтузиасты теперь докапываются до реальных аппаратных регистров. Даже производители МК стали меньше заморачиваться с описанием железа.

Библиотеку в зубы и вперед без лишних вопросов.

 

Да что там, сам грешу. Ставлю всякие LUA, .NET micro frаmework, портирую исполнительные среды для визуальных редакторов типа Simulink, LabView. Тоже хочется оторваться от железа. :biggrin:

Share this post


Link to post
Share on other sites

Скорость C# вполне приличная, не надо с Perl и Питон всякими сравнивать.

Например из задач: обработка журнала прокси-сервера (2ГБ текста, по несколько миллионов строчек). В памяти сохраняется каждая пара username + site. Т.е. на каждую считанную строчку (миллионы) идёт поиск в базе из ОЗУ (тысячи). Всё это отрабатывает за 2-5 минут и с потреблением около 20 мегабайт. Разве много? :)

 

Лично я бы не отказался от возможности программить на STM32f20x и выше на c# или perl

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

Share this post


Link to post
Share on other sites
как это мы здорово влепили Яву в свои контроллеры.
а есть компиляторы явы для мк? пруф?

 

именно на Java под MK. Это были ARM7 в составе Nokia12.
а вы не путаете? это была именно Java под МК, или это была Java под МК+ОС+JVM?

 

Редкие энтузиасты теперь докапываются до реальных аппаратных регистров.
наверно я с марса. всё моё окружение, и реальное, и инет, колеги, экс колеги, однокурсники, сколько я проходил всяких собеседований и делал работы на заказ.... всё что делается с мк - ВСЁ и ВСЕ делают через обращение к реальным регистрам.

 

ан нет.... нашел один пруф

Но скорее всего это энтузиазм, чем серьёзный компилятор.

 

ps диме, автору, респект!

Share this post


Link to post
Share on other sites

Языки высокого уровня на контроллерах - вполне адекватная идея. Ява машина сидит даже в сим-картах, чего бы в STM32 не запихнуть? Я некоторое время возился с идеей запихнуть окамл на baremetal beaglebone. Очень увлекательное занятие, всем кто желает поближе познакомиться с устройством современных ОС, bios, EFI рекомендую. Ну и для прикола, есть порт окамла на PIC18: http://www.algo-prog.info/ocaml_for_pic/we...d=OCAPIC:OCAPIC

Ну и да, существуют порты java, .net для Cortex M3, правда сильно порезанные.

Share this post


Link to post
Share on other sites

Ваймэ! Что случилось в этом мире, разве ассемблер для микроконтроллеров запретили уже?? :biggrin:

Нет, ну правда, по серъезному - глупо же микроконтроллер заставлять считать double float например?

Его задача за датчиками следить (каламбур получился :laughing: ) и команды на выход давать. Должность прапорщика, если не сержанта вообще. Мозгов много не надо, и язык соответствующий, зато однозначный и конкретный :laughing:

Или "высоких программеров" к железу потянуло, а язык трудноват оказался? :laughing:

Share this post


Link to post
Share on other sites

Вай дод... Запоминайте все эти моменты, мы имеем честь наблюдать великие исторические перемены. Электроника превращается в магию.

Магов пока мало, и почти все они неучи. Или может, все-таки, на кол? Кого-нибудь? Пока не поздно? :(

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this