|
|
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Опять? maytonRWolf, полностью согласен. Но вы навязываете мне "повестку дня". Тема embedded development весьма интересна и обширна и заслуживает отдельного топика. Но здесь мы обсуждали другое. Мы еще обсуждали real time в приборостроениии. Мои аппонеты высказывались: - Real time OS не нужные понты. - Так же, на марсоходах real time не нужна. - VxWorks не нужна. - NASA ошибается. =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 15:09 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petrav, я считаю что фактор realtime 1) в науке и технике нужен и имеет место 2) должен учитываться при разработке низкоуровневых протоколов и механизмов взаимодействия ПО с внешним миром. 3) не имеет значения при формальном описании АЛГОРИТМОВ в общем понимании этого слова. Ни в одном из известных описаний ИЗВЕСТНЫХ алгоритмов вы не найдете требований касающихся MemoryModel/GC, JIT-компилляторов, трансляторов и уж тем более ремарок в сторону невозможности реализовать это Java. Нет также научно подтвердённых работ которые доказывают невозможность реализовать на любом ЯП то что реализовано на С++. Кроме того некоторые товарищи которые часто и мн ого кодили в рилтайме теряют связь с реальностью становятся идеалистами и строителями FVMas/Стебельков и тому подобного. Я с такими часто и много общался. Опыт имею. Полезность их разработок - под сомнением. Под сомнением также человеко-часы и килокаллории которые на эту риалтаймовость тратятся. P.S. Ваш покорный слуга также этим грешен в пятничных топиках и в поиске простых чисел. Но это как говорицца just for fun и чем бы народ не тешился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 15:21 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravМы еще обсуждали real time в приборостроениии. Вот оно про что было :) походу мы разные вещи обсуждали. Давай не будем по второму разу тут обсуждать. Если вопрос важен - заведи отдельный топик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 15:30 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
mayton3) не имеет значения при формальном описании АЛГОРИТМОВ в общем понимании этого слова. Ни в одном из известных описаний ИЗВЕСТНЫХ алгоритмов вы не найдете требований касающихся MemoryModel/GC, JIT-компилляторов, трансляторов и уж тем более ремарок в сторону невозможности реализовать это Java. Собственно мы тогда весь вечер спорили ни о чем. Я с вашими словами абсолютно согласен. И сам постоянно повторял про возможность описания алгоритмов хоть на ассемблере МК-52, хоть на машине Тьюринга. Я напирал на то, что некоторые алгоритмы абсурдно описывать на Java. Как вы себе представляете описание алгоритма диспетчера потоков ОС Windows на Яве? Для этого вам внутри JVM придется реализовать некую другую ВМ - запрограммировать тот же ассемблер МК-52 и расширить возможности того процессора до обработки исключений и поддержки виртуальной памяти как минимум? Но умно ли это? Как описать RAII на C#? Ну можно воспользоваться оператором using (?) и методом Object.Dispose(). А если их нет в языке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 15:46 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravКак описать RAII на C#?да нельзя описать алгоритм ни на одном ЯП, хоть C#, хоть на ассемблере МК-52. На них можно ( или нельзя ) алгоритм реализовать. По описанию, сделанному с помощью других средств. Отличать пора бы уже описание от реализации. PS На дворе стоит забор, а на нём мочало. Эта песня хороша - начинай с начала )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 16:14 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
egorychpetravКак описать RAII на C#?да нельзя описать алгоритм ни на одном ЯП, хоть C#, хоть на ассемблере МК-52. На них можно ( или нельзя ) алгоритм реализовать. По описанию, сделанному с помощью других средств. Отличать пора бы уже описание от реализации. Ну вот. Так и нужно. Но в терминах С++ я не просто опишу (в упрощенном варианте) любой алгоритм, я еще и на С++ запрограммирую любой алгоритм. Даже сборку мусора в C#. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 16:22 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravmayton, Кстати, действительно, опишите, пожалуйста, RAII на C#. Особенно в контексте локальных переменных. Я к слову.. не глубокий специалист в шарпе. И сам термин RAII нетипичен и не так часто вобщем используется. Думаю что он достоин отдельного топика. Я люблю технически споры. Но в данном конкретном случае я-бы подождал спорить до тех пор пока сам не разберусь в предмете спора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 16:46 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravЯ напирал на то, что некоторые алгоритмы абсурдно описывать на Java. Как вы себе представляете описание алгоритма диспетчера потоков ОС Windows на Яве? Для этого вам внутри JVM придется реализовать некую другую ВМ - запрограммировать тот же ассемблер МК-52 и расширить возможности того процессора до обработки исключений и поддержки виртуальной памяти как минимум? Я подозреваю что и я и многие здесь присутствующие нечитали исходников диспетчера потоков ОС Windows. И поэтому о глубине и степени сложности мы можем иметь лишь приблизительное представление. Но если вы опишите словами какие там трудности и с какими проблемами мы сталкиваемся то думаю какое-то решение можно придумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 16:56 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
maytonpetravЯ напирал на то, что некоторые алгоритмы абсурдно описывать на Java. Как вы себе представляете описание алгоритма диспетчера потоков ОС Windows на Яве? Для этого вам внутри JVM придется реализовать некую другую ВМ - запрограммировать тот же ассемблер МК-52 и расширить возможности того процессора до обработки исключений и поддержки виртуальной памяти как минимум? Я подозреваю что и я и многие здесь присутствующие нечитали исходников диспетчера потоков ОС Windows. И поэтому о глубине и степени сложности мы можем иметь лишь приблизительное представление. Но если вы опишите словами какие там трудности и с какими проблемами мы сталкиваемся то думаю какое-то решение можно придумать. Я, конечно, тоже не читал тех исходников. - 100% для оптимизации ядра там используется union. - Так же любой вариант прямого доступа к памяти. - В С/С++ достаточно просто встраивается асм-функция сохраняющая/восстанавливающая значения регистров процессора при переключении потоков. - Управление драйверами в реальном времени. - Переключение потоков через заданный квант времени. Как на Яве это описать? Можно конечно написать на псевдокоде (я не работал на Яве): Код: plaintext 1. И написать функцию сохранения контекста потока. Но вы где-то такое видели? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 17:14 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
mayton, Да, в дополнению к union еще структуры с полями в виде битовых полей! Модератор: Тема перенесена из форума "C++". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 17:20 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
maytonpetrav, я тебе даже более скажу. В Java я не могу сделать swap(..) для двух строковых аргументов. Но это не мешает мне успешно решать все возникающие бизнес-задачи. Честно говоря я очень разочарован списком который ты привёл. Там нет алгоритмически нерешаемых вопросов. Есть технические limitations которые ты искусственно ввёл. Ты требуешь от меня решать на Java некоторые технические задачи но при этом заведомо ставишь ограничение на то как мне их решать. В этом есть некая натяжка. Ты как-будто-бы во время игры меняешь правила игры. Так не я ввёл эти ограничения. А жизнь. Я просто говорю, что некоторые алгоритмы бессмысленно (но можно) описывать на языке некоторой ВМ, по определению ограниченной. По сравнению с С++, который ограничений не имеет. maytonБолее развёрнуто я отвечу тебе на эти пункты чуть позже. Щас некогда. Не очень жду, извини. Устал от спора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 17:44 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petrav, ты тут доказываешь банальные веши, с которыми и спорить никто не собирается. Пишу как я тебя услышал в том почищенном топике. Ты утверждаешь: "есть задачи которые можно решить только на Си (реалтайм, ОС, драйвера и т.п.)", да, согласен, на высокоуровневых языках они не очень решаются, а то и вовсе не решаются. Затем ты расширил свою мысль: "на С/С++ можно решать любую задачу которая решается, причем быстрее (как минимум не медленнее) чем на высокоуровневом ЯП", да, согласен, круг задач которые можно решать на С/С++ шире. А вот дальше из этого ты делаешь абсолютно нелогичный вывод: "Все задачи НАДО решать на С/С++". С чего вдруг производителность конечного продукта стала единственной характеристикой оценки качества продукта? Вот с этим последним выводом ни я ни другие учавствующие не согласны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 18:00 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Dima TА вот дальше из этого ты делаешь абсолютно нелогичный вывод: "Все задачи НАДО решать на С/С++". С чего вдруг производителность конечного продукта стала единственной характеристикой оценки качества продукта? Вы что-то пропустили в том почищенном топике. Например, серьезные задачи управления данными я рекомендовал решать на SQL (NoSQL тут не трогаем). Потому что получится и производительнее и быстрее в разработке. Кроме того, я не призывал отказываться от Явы или Шарпа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 18:12 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Dima T С чего вдруг производителность конечного продукта стала единственной характеристикой оценки качества продукта? Вот с этим последним выводом ни я ни другие учавствующие не согласны. Как говорят Украинские болельщики - "Кто выше бье, тот краще грает" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 18:14 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Модератору. Может быть так - "О применимости алгоритмических языков для описания алгоритмов" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 18:26 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravВы что-то пропустили в том почищенном топике. возможно, там были очень размытые формулировки. petravНапример, серьезные задачи управления данными я рекомендовал решать на SQL (NoSQL тут не трогаем). Потому что получится и производительнее и быстрее в разработке. Кроме того, я не призывал отказываться от Явы или Шарпа. Ну и чудненько. Вопросов больше не имею. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 18:39 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
maytonНет также научно подтвердённых работ которые доказывают невозможность реализовать на любом ЯП то что реализовано на С++. В начале 90-х на Foxpro сделал disassembler obj файлов. Не помню правда мотивы почему решил написать на Foxpro ... /тогда был QuickC http://vetusware.com/download/QuickC 2.51/?id=3503 и его часто использовал/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 19:01 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Владимир2012maytonНет также научно подтвердённых работ которые доказывают невозможность реализовать на любом ЯП то что реализовано на С++. В начале 90-х на Foxpro сделал disassembler obj файлов. Не помню правда мотивы почему решил написать на Foxpro ... /тогда был QuickC http://vetusware.com/download/QuickC 2.51/?id=3503 и его часто использовал/ Вот видите. ФоксПро умер, а вы и мотивов своих не помните. =) В начале 90-х я был школьником и у меня бы Спектрум, который загружался в интерпретатор Бейсика. Так я на Бейсике начал реализовывать свой язык программирования (после того как научился писать синтаксические анализаторы). А вот я помню почему прекратил: не было своих идей (я копировал бейсик на бейсике), работало медленно. По ассемблеру тогда с литературой были проблемы. Зато на Спектруме еще до института выучил (кроме бейсика), Паскаль и Форт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 19:18 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petrav- 100% для оптимизации ядра там используется union. Очень странный тезис. Я знаком с Union и могу подтвердить что это замечательная штука. В особенности в части доступа к bitfield. В некоторых ЯП нет концепции union. Но я могу эмулировать работу с union используя целочисленные операции над int, long. Платформа позволяет. Поэтому вобщем-то не вижу принципиальных ограничений. Тезис был-бы сильнее в сравнении в PL/SQL машиной. Там - действительно нет битовых операций и это создавало проблемы для криптографических функций и функций кодирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 19:27 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravЯ просто говорю, что некоторые алгоритмы бессмысленно (но можно) описывать на языке некоторой ВМ, по определению ограниченной. По сравнению с С++, который ограничений не имеет. Как на на C++ будет выглядеть алгоритм(?)/макрос(?) в режиме компиляции берущий из СУБД структуру БД и проверяющий в компайл-тайме правильность SQL-запросов, записанных в коде в виде строк (не ORM)? Я это к тому, что шаблоны C++ при всей их полноте по Тьюрингу не имеют средств ввода-вывода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 19:34 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
maytonpetrav- 100% для оптимизации ядра там используется union. Очень странный тезис. Я знаком с Union и могу подтвердить что это замечательная штука. В особенности в части доступа к bitfield. В некоторых ЯП нет концепции union. union не имеет в С++ никакого отношения к битовым полям. Это способ в одной области памяти разместить несколько POD объектов. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. maytonНо я могу эмулировать работу с union используя целочисленные операции над int, long. Платформа позволяет. Поэтому вобщем-то не вижу принципиальных ограничений. Хорошо. Изначальный ваш посыл неверен, но опишите на Яве работу с со структурой с битовыми полями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 19:39 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petalvikpetravЯ просто говорю, что некоторые алгоритмы бессмысленно (но можно) описывать на языке некоторой ВМ, по определению ограниченной. По сравнению с С++, который ограничений не имеет. Как на на C++ будет выглядеть алгоритм(?)/макрос(?) в режиме компиляции берущий из СУБД структуру БД и проверяющий в компайл-тайме правильность SQL-запросов, записанных в коде в виде строк (не ORM)? Я это к тому, что шаблоны C++ при всей их полноте по Тьюрингу не имеют средств ввода-вывода. Будет выглядеть как архив, в котором будет следующее: - Исходники MySQL на С (или уже С++ ?). - Мой скрипт на SQL. А теперь попробуйте эти языки поменять местами. =))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 19:42 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravХорошо. Изначальный ваш посыл неверен, но опишите на Яве работу с со структурой с битовыми полями. Прошу регламента. Я сперва отвечу на то что обещал. А потом - комментарии. Имейте терпенье. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 19:49 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravФоксПро умер Не умер, а стал менее используемым. Не знаю хватит ли сил /в одиночку/ довести до production в целом ту программную технологию над которой работаю, но поверьте - хорошее не забывается /в том смысле, что в Foxpro было воплощено много интересных программных подходов/. PS: Странные какие-то суждения на счет "умер" ... Для разработчика важно не то как "раскручен" продукт, а какие программные технологии и идеи на нем были воплощены ... Да и при разработке не чураюсь использовать и php и javascript /когда это целесообразно/ ... Например с использованием их написал программу, которая на основе данных из страниц MSDN генерировала *.h, *.cpp wrapper libraries. Вот к примеру привожу архив, содержащий текст одной /из десятков libraries/, которые генерировала программа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 20:05 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravБудет выглядеть как архив, в котором будет следующее: - Исходники MySQL на С (или уже С++ ?). - Мой скрипт на SQL. А теперь попробуйте эти языки поменять местами. =))) petravНапример, серьезные задачи управления данными я рекомендовал решать на SQL Вот чезанах? А потом пишешь petravВы что-то пропустили в том почищенном топике. Троллим? Парни пошлите его нах, не отвечайте, не кормите тролля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 20:16 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39038600&tid=1340912]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
111ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
| others: | 208ms |
| total: | 447ms |

| 0 / 0 |
