Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Программирование Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10 .. 12   вперед  Ctrl      все
 О применимость языков  [new]
petrav
Member

Откуда:
Сообщений: 1571
Опять?

mayton
RWolf, полностью согласен. Но вы навязываете мне "повестку дня". Тема embedded development
весьма интересна и обширна и заслуживает отдельного топика. Но здесь мы обсуждали другое.


Мы еще обсуждали real time в приборостроениии. Мои аппонеты высказывались:

- Real time OS не нужные понты.
- Так же, на марсоходах real time не нужна.
- VxWorks не нужна.
- NASA ошибается. =)
28 авг 15, 15:09    [18081792]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
mayton
Member

Откуда: loopback
Сообщений: 38318
petrav, я считаю что фактор realtime

1) в науке и технике нужен и имеет место
2) должен учитываться при разработке низкоуровневых протоколов и механизмов взаимодействия ПО с внешним миром.
3) не имеет значения при формальном описании АЛГОРИТМОВ в общем понимании этого слова. Ни в одном
из известных описаний ИЗВЕСТНЫХ алгоритмов вы не найдете требований касающихся MemoryModel/GC,
JIT-компилляторов, трансляторов и уж тем более ремарок в сторону невозможности реализовать это Java.

Нет также научно подтвердённых работ которые доказывают невозможность реализовать на любом ЯП
то что реализовано на С++.

Кроме того некоторые товарищи которые часто и мн ого кодили в рилтайме теряют связь
с реальностью становятся идеалистами и строителями FVMas/Стебельков и тому подобного.
Я с такими часто и много общался. Опыт имею.

Полезность их разработок - под сомнением. Под сомнением также человеко-часы
и килокаллории которые на эту риалтаймовость тратятся.

P.S. Ваш покорный слуга также этим грешен в пятничных топиках и в поиске простых чисел. Но это
как говорицца just for fun и чем бы народ не тешился.
28 авг 15, 15:21    [18081915]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
Dima T
Member

Откуда:
Сообщений: 13024
petrav
Мы еще обсуждали real time в приборостроениии.

Вот оно про что было :) походу мы разные вещи обсуждали.

Давай не будем по второму разу тут обсуждать. Если вопрос важен - заведи отдельный топик.
28 авг 15, 15:30    [18081992]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
petrav
Member

Откуда:
Сообщений: 1571
mayton
3) не имеет значения при формальном описании АЛГОРИТМОВ в общем понимании этого слова. Ни в одном
из известных описаний ИЗВЕСТНЫХ алгоритмов вы не найдете требований касающихся MemoryModel/GC,
JIT-компилляторов, трансляторов и уж тем более ремарок в сторону невозможности реализовать это Java.

Собственно мы тогда весь вечер спорили ни о чем. Я с вашими словами абсолютно согласен. И сам постоянно повторял про возможность описания алгоритмов хоть на ассемблере МК-52, хоть на машине Тьюринга.

Я напирал на то, что некоторые алгоритмы абсурдно описывать на Java. Как вы себе представляете описание алгоритма диспетчера потоков ОС Windows на Яве? Для этого вам внутри JVM придется реализовать некую другую ВМ - запрограммировать тот же ассемблер МК-52 и расширить возможности того процессора до обработки исключений и поддержки виртуальной памяти как минимум?

Но умно ли это?

Как описать RAII на C#? Ну можно воспользоваться оператором using (?) и методом Object.Dispose(). А если их нет в языке?
28 авг 15, 15:46    [18082132]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
egorych
Member

Откуда: и зачем;
Сообщений: 4739
petrav
Как описать RAII на C#?
да нельзя описать алгоритм ни на одном ЯП, хоть C#, хоть на ассемблере МК-52. На них можно ( или нельзя ) алгоритм реализовать. По описанию, сделанному с помощью других средств.
Отличать пора бы уже описание от реализации.

PS На дворе стоит забор, а на нём мочало. Эта песня хороша - начинай с начала ))))
28 авг 15, 16:14    [18082321]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
petrav
Member

Откуда:
Сообщений: 1571
egorych
petrav
Как описать RAII на C#?
да нельзя описать алгоритм ни на одном ЯП, хоть C#, хоть на ассемблере МК-52. На них можно ( или нельзя ) алгоритм реализовать. По описанию, сделанному с помощью других средств.
Отличать пора бы уже описание от реализации.

Ну вот. Так и нужно.

Но в терминах С++ я не просто опишу (в упрощенном варианте) любой алгоритм, я еще и на С++ запрограммирую любой алгоритм. Даже сборку мусора в C#.
28 авг 15, 16:22    [18082392]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
mayton
Member

Откуда: loopback
Сообщений: 38318
petrav
mayton,

Кстати, действительно, опишите, пожалуйста, RAII на C#. Особенно в контексте локальных переменных.

Я к слову.. не глубокий специалист в шарпе. И сам термин RAII нетипичен и не так часто вобщем
используется. Думаю что он достоин отдельного топика.

Я люблю технически споры. Но в данном конкретном случае я-бы подождал спорить до тех пор пока
сам не разберусь в предмете спора.
28 авг 15, 16:46    [18082587]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
mayton
Member

Откуда: loopback
Сообщений: 38318
petrav
Я напирал на то, что некоторые алгоритмы абсурдно описывать на Java. Как вы себе представляете описание алгоритма диспетчера потоков ОС Windows на Яве? Для этого вам внутри JVM придется реализовать некую другую ВМ - запрограммировать тот же ассемблер МК-52 и расширить возможности того процессора до обработки исключений и поддержки виртуальной памяти как минимум?

Я подозреваю что и я и многие здесь присутствующие нечитали исходников диспетчера потоков ОС Windows.
И поэтому о глубине и степени сложности мы можем иметь лишь приблизительное представление. Но если
вы опишите словами какие там трудности и с какими проблемами мы сталкиваемся то думаю какое-то решение
можно придумать.
28 авг 15, 16:56    [18082648]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
petrav
Member

Откуда:
Сообщений: 1571
mayton
petrav
Я напирал на то, что некоторые алгоритмы абсурдно описывать на Java. Как вы себе представляете описание алгоритма диспетчера потоков ОС Windows на Яве? Для этого вам внутри JVM придется реализовать некую другую ВМ - запрограммировать тот же ассемблер МК-52 и расширить возможности того процессора до обработки исключений и поддержки виртуальной памяти как минимум?

Я подозреваю что и я и многие здесь присутствующие нечитали исходников диспетчера потоков ОС Windows.
И поэтому о глубине и степени сложности мы можем иметь лишь приблизительное представление. Но если
вы опишите словами какие там трудности и с какими проблемами мы сталкиваемся то думаю какое-то решение
можно придумать.

Я, конечно, тоже не читал тех исходников.

- 100% для оптимизации ядра там используется union.
- Так же любой вариант прямого доступа к памяти.
- В С/С++ достаточно просто встраивается асм-функция сохраняющая/восстанавливающая значения регистров процессора при переключении потоков.
- Управление драйверами в реальном времени.
- Переключение потоков через заданный квант времени.

Как на Яве это описать?

Можно конечно написать на псевдокоде (я не работал на Яве):
DWord integralRegistrs[32];

И написать функцию сохранения контекста потока. Но вы где-то такое видели?
28 авг 15, 17:14    [18082735]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
petrav
Member

Откуда:
Сообщений: 1571
mayton,

Да, в дополнению к union еще структуры с полями в виде битовых полей!

Модератор: Тема перенесена из форума "C++".
28 авг 15, 17:20    [18082761]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
petrav
Member

Откуда:
Сообщений: 1571
mayton
petrav, я тебе даже более скажу. В Java я не могу сделать swap(..) для двух строковых аргументов.
Но это не мешает мне успешно решать все возникающие бизнес-задачи. Честно говоря я очень разочарован
списком который ты привёл. Там нет алгоритмически нерешаемых вопросов. Есть технические limitations
которые ты искусственно ввёл. Ты требуешь от меня решать на Java некоторые технические задачи
но при этом заведомо ставишь ограничение на то как мне их решать. В этом есть некая натяжка.
Ты как-будто-бы во время игры меняешь правила игры.

Так не я ввёл эти ограничения. А жизнь.

Я просто говорю, что некоторые алгоритмы бессмысленно (но можно) описывать на языке некоторой ВМ, по определению ограниченной. По сравнению с С++, который ограничений не имеет.

mayton
Более развёрнуто я отвечу тебе на эти пункты чуть позже. Щас некогда.

Не очень жду, извини. Устал от спора.
28 авг 15, 17:44    [18082885]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
Dima T
Member

Откуда:
Сообщений: 13024
petrav,

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

Пишу как я тебя услышал в том почищенном топике.
Ты утверждаешь: "есть задачи которые можно решить только на Си (реалтайм, ОС, драйвера и т.п.)", да, согласен, на высокоуровневых языках они не очень решаются, а то и вовсе не решаются.
Затем ты расширил свою мысль: "на С/С++ можно решать любую задачу которая решается, причем быстрее (как минимум не медленнее) чем на высокоуровневом ЯП", да, согласен, круг задач которые можно решать на С/С++ шире.
А вот дальше из этого ты делаешь абсолютно нелогичный вывод: "Все задачи НАДО решать на С/С++". С чего вдруг производителность конечного продукта стала единственной характеристикой оценки качества продукта?

Вот с этим последним выводом ни я ни другие учавствующие не согласны.
28 авг 15, 18:00    [18082966]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
petrav
Member

Откуда:
Сообщений: 1571
Dima T
А вот дальше из этого ты делаешь абсолютно нелогичный вывод: "Все задачи НАДО решать на С/С++". С чего вдруг производителность конечного продукта стала единственной характеристикой оценки качества продукта?

Вы что-то пропустили в том почищенном топике.

Например, серьезные задачи управления данными я рекомендовал решать на SQL (NoSQL тут не трогаем). Потому что получится и производительнее и быстрее в разработке.

Кроме того, я не призывал отказываться от Явы или Шарпа.
28 авг 15, 18:12    [18083015]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
Владимир2012
Member [заблокирован]

Откуда:
Сообщений: 1460
Dima T
С чего вдруг производителность конечного продукта стала единственной характеристикой оценки качества продукта?
Вот с этим последним выводом ни я ни другие учавствующие не согласны.

Как говорят Украинские болельщики - "Кто выше бье, тот краще грает"
28 авг 15, 18:14    [18083025]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
Владимир2012
Member [заблокирован]

Откуда:
Сообщений: 1460
Модератору.
Может быть так - "О применимости алгоритмических языков для описания алгоритмов"
28 авг 15, 18:26    [18083066]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
Dima T
Member

Откуда:
Сообщений: 13024
petrav
Вы что-то пропустили в том почищенном топике.

возможно, там были очень размытые формулировки.

petrav
Например, серьезные задачи управления данными я рекомендовал решать на SQL (NoSQL тут не трогаем). Потому что получится и производительнее и быстрее в разработке.

Кроме того, я не призывал отказываться от Явы или Шарпа.

Ну и чудненько. Вопросов больше не имею.
28 авг 15, 18:39    [18083110]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
Владимир2012
Member [заблокирован]

Откуда:
Сообщений: 1460
mayton
Нет также научно подтвердённых работ которые доказывают невозможность реализовать на любом ЯП
то что реализовано на С++.

В начале 90-х на Foxpro сделал disassembler obj файлов.
Не помню правда мотивы почему решил написать на Foxpro ...
/тогда был QuickC http://vetusware.com/download/QuickC 2.51/?id=3503 и его часто использовал/
28 авг 15, 19:01    [18083192]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
petrav
Member

Откуда:
Сообщений: 1571
Владимир2012
mayton
Нет также научно подтвердённых работ которые доказывают невозможность реализовать на любом ЯП
то что реализовано на С++.

В начале 90-х на Foxpro сделал disassembler obj файлов.
Не помню правда мотивы почему решил написать на Foxpro ...
/тогда был QuickC http://vetusware.com/download/QuickC 2.51/?id=3503 и его часто использовал/

Вот видите. ФоксПро умер, а вы и мотивов своих не помните. =)

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

По ассемблеру тогда с литературой были проблемы. Зато на Спектруме еще до института выучил (кроме бейсика), Паскаль и Форт.
28 авг 15, 19:18    [18083250]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
mayton
Member

Откуда: loopback
Сообщений: 38318
petrav
- 100% для оптимизации ядра там используется union.

Очень странный тезис. Я знаком с Union и могу подтвердить что это замечательная штука.
В особенности в части доступа к bitfield. В некоторых ЯП нет концепции union.

Но я могу эмулировать работу с union используя целочисленные операции над int, long.
Платформа позволяет. Поэтому вобщем-то не вижу принципиальных ограничений.

Тезис был-бы сильнее в сравнении в PL/SQL машиной. Там - действительно нет
битовых операций и это создавало проблемы для криптографических функций
и функций кодирования.
28 авг 15, 19:27    [18083282]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
petalvik
Member

Откуда:
Сообщений: 673
petrav
Я просто говорю, что некоторые алгоритмы бессмысленно (но можно) описывать на языке некоторой ВМ, по определению ограниченной. По сравнению с С++, который ограничений не имеет.


Как на на C++ будет выглядеть алгоритм(?)/макрос(?) в режиме компиляции берущий из СУБД структуру БД и проверяющий в компайл-тайме правильность SQL-запросов, записанных в коде в виде строк (не ORM)?
Я это к тому, что шаблоны C++ при всей их полноте по Тьюрингу не имеют средств ввода-вывода.
28 авг 15, 19:34    [18083309]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
petrav
Member

Откуда:
Сообщений: 1571
mayton
petrav
- 100% для оптимизации ядра там используется union.

Очень странный тезис. Я знаком с Union и могу подтвердить что это замечательная штука.
В особенности в части доступа к bitfield. В некоторых ЯП нет концепции union.


union не имеет в С++ никакого отношения к битовым полям. Это способ в одной области памяти разместить несколько POD объектов.

struct S1
{
    int i;
    double d;
};

struct S2
{
    char c;
    char *cp;
};

union U
{
    S1 s1;
    S2 s2;
};


mayton
Но я могу эмулировать работу с union используя целочисленные операции над int, long.
Платформа позволяет. Поэтому вобщем-то не вижу принципиальных ограничений.


Хорошо. Изначальный ваш посыл неверен, но опишите на Яве работу с со структурой с битовыми полями.
28 авг 15, 19:39    [18083331]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
petrav
Member

Откуда:
Сообщений: 1571
petalvik
petrav
Я просто говорю, что некоторые алгоритмы бессмысленно (но можно) описывать на языке некоторой ВМ, по определению ограниченной. По сравнению с С++, который ограничений не имеет.


Как на на C++ будет выглядеть алгоритм(?)/макрос(?) в режиме компиляции берущий из СУБД структуру БД и проверяющий в компайл-тайме правильность SQL-запросов, записанных в коде в виде строк (не ORM)?
Я это к тому, что шаблоны C++ при всей их полноте по Тьюрингу не имеют средств ввода-вывода.

Будет выглядеть как архив, в котором будет следующее:

- Исходники MySQL на С (или уже С++ ?).
- Мой скрипт на SQL.

А теперь попробуйте эти языки поменять местами. =)))
28 авг 15, 19:42    [18083341]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
mayton
Member

Откуда: loopback
Сообщений: 38318
petrav
Хорошо. Изначальный ваш посыл неверен, но опишите на Яве работу с со структурой с битовыми полями.

Прошу регламента. Я сперва отвечу на то что обещал. А потом - комментарии. Имейте терпенье.
28 авг 15, 19:49    [18083367]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
Владимир2012
Member [заблокирован]

Откуда:
Сообщений: 1460
petrav
ФоксПро умер

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

PS: Странные какие-то суждения на счет "умер" ...
Для разработчика важно не то как "раскручен" продукт, а какие программные технологии и идеи на нем
были воплощены ...

Да и при разработке не чураюсь использовать и php и javascript /когда это целесообразно/ ...
Например с использованием их написал программу, которая на основе данных из страниц MSDN генерировала
*.h, *.cpp wrapper libraries.
Вот к примеру привожу архив, содержащий текст одной /из десятков libraries/, которые генерировала программа.

К сообщению приложен файл (NetworkManagementWR.7z - 64Kb) cкачать
28 авг 15, 20:05    [18083422]     Ответить | Цитировать Сообщить модератору
 Re: О применимость языков  [new]
Dima T
Member

Откуда:
Сообщений: 13024
petrav
Будет выглядеть как архив, в котором будет следующее:

- Исходники MySQL на С (или уже С++ ?).
- Мой скрипт на SQL.

А теперь попробуйте эти языки поменять местами. =)))

petrav
Например, серьезные задачи управления данными я рекомендовал решать на SQL

Вот чезанах? А потом пишешь
petrav
Вы что-то пропустили в том почищенном топике.

Троллим? Парни пошлите его нах, не отвечайте, не кормите тролля.
28 авг 15, 20:16    [18083455]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10 .. 12   вперед  Ctrl      все
Все форумы / Программирование Ответить