|
|
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Dima TВот чезанах? А потом пишешь Троллим? Парни пошлите его нах, не отвечайте, не кормите тролля. О Чёрт, какая у Вас агрессия! Просто успокойтесь, если не понимаете о чем речь. И, точно, лучше конкретно Вам уйти из ветки. =))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 20:23 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravИ, точно, лучше конкретно Вам уйти из ветки. Ни кому из ветки уходить не надо ... Но и саблей махать налево и направо и рубить "не нужное" как бы тоже лишнее ... Все таки неужели "словесно блок схемный" стиль описания алгоритмов - лучшее из всех возможностей. Неужели академический мир не создал каких то спецификаций ... Вот большие корпорации частенько разрабатывают свои внутренние стандарты для описания задач ... Какие tools имеются для создания блок схем ... Понятно что сам могу поискать в inet, но может кто поделится своим опытом ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 20:39 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Владимир2012Все таки неужели "словесно блок схемный" стиль описания алгоритмов - лучшее из всех возможностей. Неужели академический мир не создал каких то спецификаций ... Создавал, что вы! Целый огромный язык создали — Unified Modeling Language . В общем и целом проект провалился. Не набрал популярности. Хотя на стартовом ажиотаже считался чуть ли не серебренной пулей. Должен был решить все проблемы в программировании. Упростить взаимодействие программистов с заказчиками. Некоторые даже мечтали об Executive UML — возможность программировать только лишь рисуя диаграммы (и, в мечтах, ничего не зная о программировании). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 20:50 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Пропустил начало, видимо тема вырезана откуда то. Пишу исключительно в реалтайме. Позавчера смотрел для интереса - алгоритм ЛСУ отрабатывается 1.6мс гарантированно. Любая система с GC по определению не является РТ. Обоснование было уже давно, примерно когда создавали microJava. А в чем вопрос то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 20:53 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
ЗимарглА в чем вопрос то? Утверждение моих оппонентов изначально выглядело так: любой алгоритм можно описать на чём угодно, хоть на блок-схемах, хоть на Яве (с сборщиком мусора). Я в общем, был согласен. Но уточнил, что некоторые алгоритмы глупо и бессмысленно описывать на языке виртуальной машины. В том числе риалтайм алгоритмы, прямой доступ к памяти. Постепенно в споре моё утверждение расширилось: любой алгоритм можно описать и запрограммировать на С++, а Ява и C# ограничены виртуальной машиной. Мои оппоненты утверждают: Ява ограничений не имеет в области формального описания алгоритмов. С тех спор и спорим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 21:03 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Кто спорит, пусть идет читать Кнута "Исскусство программирования" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 21:08 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravС тех спор и спорим. Диалог много лучше ... https://ru.wikipedia.org/wiki/UML https://ru.wikipedia.org/wiki/CASE Использовал кто? Насколько эффективно их использование ... ... ... Возможно ли применить эти технологии при разработке на C и C++? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 21:09 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Владимир2012petravС тех спор и спорим. Диалог много лучше ... https://ru.wikipedia.org/wiki/UML https://ru.wikipedia.org/wiki/CASE Использовал кто? Насколько эффективно их использование ... ... ... Возможно ли применить эти технологии при разработке на C и C++? Я использовал на работе UML. Хороший инструмент. Но никакого конкурентрого преимущества при проектировании не даёт. Можно заменить блоксхемами, школьной доской, MS Word. В плане же документирования совсем не исключает написания текстовой документации. Термин UML пропал из эфира лет 10-15-ть назад. Вместе с CASE. Да, с С++ использовать можно. UML — это язык моделирования ООП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 21:25 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petrav- Так же любой вариант прямого доступа к памяти. Мы живём в эпоху виртуализации. Виртуальной стала память. Адресация. Если вы покупаете хостинг. То в 99% случаев вы покупаете виртуальную машину в контейнере Xen/VBox/HPUx Containers/Defence Zones. И как, через какой механизм или через какой стек технологий она видит память одному админу известно. Если вы - кодер технологий MS.Net, Java, Python, Perl, PHP, то у вас нет задач адресуемого доступа ко всей памяти. Для буферов I/O и различных алгоритмических идей есть возможность аллоцировать байтовый массив и решать задачу в рамках имеющейся относительной адресации. Я не знаю сегодня задач кроме собственно создания ОС и аллокатора памяти которая требует в обязательном порядке т.н. прямого доступа. Собственно прямой доступ к памяти по степени необходимости и целесообразности граничит с доступом к физическим секторам HDD. Это вызывает удивление и здравые вопросы о смыслах. И я думаю что 9 из 10 разработчиков способны прожить длинную и счастливую жизнь но так и не озадачиться подобным вопросом. Кроме того ЕМНИП вопрос звучал в контексте создания т.н. диспетчера потоков Windows. Очевидно в этом есть какой-то смысл. Нужно у автора уточнить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 22:28 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
maytonКроме того ЕМНИП вопрос звучал в контексте создания т.н. диспетчера потоков Windows. Очевидно в этом есть какой-то смысл. Нужно у автора уточнить.Нет, диспетчер потоков был (и есть) в другом топике. А тут вопрос изначально звучал: - данные можно организовать вот так <пример на Java> - не хочу учить Java потому что она на виртуальной машине основана а значит тормозная. - а как это влияет на формальные структуры и алгоритмы? И вот тут-то наш тролль и проснулся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 22:36 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petrav - В С/С++ достаточно просто встраивается асм-функция сохраняющая/восстанавливающая значения регистров процессора при переключении потоков. Нужно плясать от постановки. Мне в жизни не приходилось кодить свой менеджер потоков поэтому я и не знаю для чего вы требуете "очень простого встраивания асм-функций". Возможно вы бравируете связью С++ и архитектуры. Но давайте будем честными. С++ также из коробки не пригоден для решения этой задачи влоб. В любом случае мы будем исследовать варианты конкретных целевых архитектур, операционок и компилляторов и подпиливать напильником С++ с разных сторон, наполнять ваше приложение проверкой макросов, формировать сборочные скрипты и различные варианты окружений. Тот же АСМ может быть разным. И это делает задачу нетривиальной. И даже сам термин "поток" имеет варианты толкований. В некоторых ОС он вырождается в process с shared-memory, в некоторых процесс не существует без 1 потока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 22:42 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petrav- Управление драйверами в реальном времени. Здесь я в недоумении. Как управлять драйверами в реальном времени. Возможно это прозрачный намёк на ваши знания и навыки. Возможно вы знаток QNX, и микроядерных архитектур и несете некое тайное знания. Возможно есть задачи сродни полётов на Марс где очень важно . Или нет жизненно важно выгружать и обновлять драйверы без приостановки full-cycle эксплуатации ОС но я к сожалению с такими задачами не сталкивался и наверное так и не столкнусь. Но если у вас есть ценный пример тык скысть из best practices по driver management то озвучте его плиз и мы вместе обсудим. Мне пока достаточно Java Plugin, ClassLoader, OSGI. В Windows я дрова ставлю как обычный пользователь а в Unix системах мне дрова ставят девопсы и прочие люди которые за это получают деньги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 22:52 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
maytonpetrav- Так же любой вариант прямого доступа к памяти. Мы живём в эпоху виртуализации. Виртуальной стала память. Адресация. Если вы покупаете хостинг. То в 99% случаев вы покупаете виртуальную машину в контейнере Xen/VBox/HPUx Containers/Defence Zones. И как, через какой механизм или через какой стек технологий она видит память одному админу известно. Если вы - кодер технологий MS.Net, Java, Python, Perl, PHP, то у вас нет задач адресуемого доступа ко всей памяти. Для буферов I/O и различных алгоритмических идей есть возможность аллоцировать байтовый массив и решать задачу в рамках имеющейся относительной адресации. Я не знаю сегодня задач кроме собственно создания ОС и аллокатора памяти которая требует в обязательном порядке т.н. прямого доступа. Собственно прямой доступ к памяти по степени необходимости и целесообразности граничит с доступом к физическим секторам HDD. Это вызывает удивление и здравые вопросы о смыслах. Вы меня простите, но мне кажется, что вы не понимаете разницы между даже уже разнородными понятиями: - Гипервизор. - Прямая адресация. - Виртуальная память. - Кольца защиты. - Прямой доступ к памяти в С++. - Доступ к памяти в .NET, например. Я уж не говорю о том, что вы не знаете, что такое union и битовые поля в С++. Ну о чем тут можно разговаривать?! И да, я изначально напирал на алгоритмы ОС и драйверов (но не только!). Но вы даже не понимаете разницы в прямом доступе к памяти в обычных С++ приложениях и в доступе к памяти в ВМ (который вы там вообще управлять не можете). maytonИ я думаю что 9 из 10 разработчиков способны прожить длинную и счастливую жизнь но так и не озадачиться подобным вопросом. Кроме того ЕМНИП вопрос звучал в контексте создания т.н. диспетчера потоков Windows. Очевидно в этом есть какой-то смысл. Нужно у автора уточнить. Я не знаю что вам сказать, если вы ставите знак равно между массивом байтов в .NET и массивом байтов в native C++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 22:57 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
maytonpetrav - В С/С++ достаточно просто встраивается асм-функция сохраняющая/восстанавливающая значения регистров процессора при переключении потоков. Но давайте будем честными. С++ также из коробки не пригоден для решения этой задачи влоб. Подписываюсь под этим. Если в C++ разрешается вставить код на asm и при этом продолжаем считать его кодом C++, то в C# (виртуальная машина, сборщик мусора, все дела) должно разрешаться вызвать код на C++ (для недотнетчиков сразу скажу: это делается через так называемый PInvoke одной строкой кода) и при этом будем продолжать считать это кодом C#. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 23:05 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petrav- Переключение потоков через заданный квант времени. Как на Яве это описать? Я чувствую что мы с вами ходим по кругу. Вы совершенно здраво очерчиваете круг технологических лимитов которыми наполнена платформа Java. Но это не значит что задача алгоритмически нерешаеме. В конце концов я могу эмулировать процессор и с помощью счётчиков тактов, continuations, и используя имеющийся механизм multithreading реализовать модель процессора x86 и эмулировать кванты времени и весь прочий нужный вам функционал. И поскольку в данном вопросе вы не информированы то я делаю вам одолжение и информирую вас. Что технически, задача эмуляции процессора и ОС на Java сегодня уже решена. Я даю вам ссылку на проект jDoxBox. Это ОС MS-DOC + стек x86 технологий реализованных как обычное java приложение. http://jdosbox.sourceforge.net/cms/ Исходный код svn checkout http://svn.code.sf.net/p/jdosbox/code/trunk jdosbox-code Прошу вас ознакомиться и принять к сведению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 23:08 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
ЗимарглПропустил начало, видимо тема вырезана откуда то.Да, тема вырезана. ЗимарглЛюбая система с GC по определению не является РТ. Я берусь с этим поспорить ;). Запускаем две системы с GC, выполняющие одну работу. Когда в одной из них подходит время сборки мусора (GC выдаст заранее событие об этом) вся работа возлагается на вторую систему. Когда первая соберёт мусор, снова подключается к работе. Может уйти на сборку вторая. Собственно, так давно уже делается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 23:11 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravЯ уж не говорю о том, что вы не знаете, что такое union и битовые поля в С++. Вы - напористый малый. Я действительно их спутал со struct. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 23:12 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
maytonВозможно вы бравируете связью С++ и архитектуры. Вот! Совершенно верно! Именно об этом я и говорю. Кроме того на С++ реализованы все ВМ, все ОС и т.д. На С++ можно решить все задачи и реализовать все алгоритмы. Но в рамках ВМ вы ограничены ВМ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 23:13 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravЯ не знаю что вам сказать, если вы ставите знак равно между массивом байтов в .NET и массивом байтов в native C++. Где я ставлю знак равно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 23:14 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
maytonpetravЯ уж не говорю о том, что вы не знаете, что такое union и битовые поля в С++. Вы - напористый малый. Я действительно их спутал со struct. Их и спутать то нельзя. Упрощая (очень упрощая): - union это несколько структур в одной структуре (одной области памяти). - bit set - это последовательность упакованная (на уровне битов) в памяти разных типов данных данных (встроенных) размер которых мы ограничиваем количеством битов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 23:17 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravКроме того на С++ реализованы все ВМ, все ОС и т.д. Не все. Запросто можно написать на огромном количестве языков. Тот же GC для дотнета был изначально написан на Лиспе. На диалекте C# были написаны ОСи Singularity и Midori. petravНа С++ можно решить все задачи и реализовать все алгоритмы. Но в рамках ВМ вы ограничены ВМ. С 90-х годов прошлого века существуют процессоры, аппаратно выполняющие байт-код Java. Попробуй решить на них что-нибудь на C++. :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 23:23 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
maytonВ конце концов я могу эмулировать процессор и с помощью счётчиков тактов, continuations, и используя имеющийся механизм multithreading реализовать модель процессора x86 и эмулировать кванты времени и весь прочий нужный вам функционал. И поскольку в данном вопросе вы не информированы то я делаю вам одолжение и информирую вас. Что технически, задача эмуляции процессора и ОС на Java сегодня уже решена. Я даю вам ссылку на проект jDoxBox. Это ОС MS-DOC + стек x86 технологий реализованных как обычное java приложение. Так об этом я вам всегда и говорил! Даже есть на JS (в браузере) эмулятор Спектрума. Что, что бы описывать системные алгоритмы в Яве вам внутри ВМ придется создать свою другую ВМ. И в рамках её описывать системные алгоритмы. Но к современным процессорам, восокопроизводительным вычислениям, реал-тайму это не будет иметь никакого отношения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 23:26 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petalvikpetravКроме того на С++ реализованы все ВМ, все ОС и т.д. Не все. Запросто можно написать на огромном количестве языков. Тот же GC для дотнета был изначально написан на Лиспе. На диалекте C# были написаны ОСи Singularity и Midori. Конечно он ошибается. Операционки писались всегда на "C". Собственно ради этого и был создан первый компиллятор. На плюсах был написан ЕМНИП BeOS та и тот уже приказал долго жить. Насчёт ВМ - не готов щас спорить. Но можно поднять исходники OpenJDK к примеру и глянть что к чему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 23:27 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petravк современным процессорам, восокопроизводительным вычислениям, реал-тайму это не будет иметь никакого отношения. Вот интересный ты человек. Тоесть ты сам будешь решать что реалтайм а что не реалтайм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 23:32 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
petalvikpetravКроме того на С++ реализованы все ВМ, все ОС и т.д. Не все. Запросто можно написать на огромном количестве языков. Тот же GC для дотнета был изначально написан на Лиспе. На диалекте C# были написаны ОСи Singularity и Midori. Про GC на Лиспе - ссылку на сайт Майкрософта, пожалуйста. А сам Лисп, конечно, был реализован на С/С++. Тот проект Microsoft Reserch ничем не закончился. petalvikpetravНа С++ можно решить все задачи и реализовать все алгоритмы. Но в рамках ВМ вы ограничены ВМ. С 90-х годов прошлого века существуют процессоры, аппаратно выполняющие байт-код Java. Попробуй решить на них что-нибудь на C++. :D Я еще слышал про Лисп-процессоры. Но где они? В 90-х? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 23:33 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39038940&tid=1340912]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
158ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 462ms |

| 0 / 0 |
