Size: a a a

Compiler Development

2020 May 04

СЛ

Сергей Лапынин... in Compiler Development
Михаил Бахтерев
Эмс... У поделия вполне определённые задачи. Там просто всё лишнее выкидывают, обычно. И оставляют маленькое необходимое ядро. Поэтому 1000 человек придётся физически делать многократно меньше работы, чем 1 000 000. Да и 1 000 000, собственно, нет в распоряжении.
Тогда зачем вам язык общего назначения, если у вас спец техника и спец язык с ограниченной предметной областью?
источник

МБ

Михаил Бахтерев... in Compiler Development
Victor Miasnikov
На Хабре написали, что Leon - это варант без защиты от радиации.

За деньги - уже с защитой.
Leon - это архитектура, вроде как.
источник

YS

Yaroslav Schekin in Compiler Development
Alexander Tchitchigin
Вы же знакомы с тьюринговской лекцией Кернигана?
Если Вы из нашей вселенной, то Вы тоже с ней незнакомы (hint: Керниган не получал Turing Award, и, соответственно, никакой лекции у него нет). :)
источник

AT

Alexander Tchitchigi... in Compiler Development
Yaroslav Schekin
Если Вы из нашей вселенной, то Вы тоже с ней незнакомы (hint: Керниган не получал Turing Award, и, соответственно, никакой лекции у него нет). :)
Бл*ть! Всё время их путаю! 😞
источник

МБ

Михаил Бахтерев... in Compiler Development
Сергей Лапынин
Тогда зачем вам язык общего назначения, если у вас спец техника и спец язык с ограниченной предметной областью?
Эмс... Нужна возможность писать произвольные алгоритмы. Вроде как, очевидная потребность.
источник

AT

Alexander Tchitchigi... in Compiler Development
Михаил Бахтерев
Эмс... У поделия вполне определённые задачи. Там просто всё лишнее выкидывают, обычно. И оставляют маленькое необходимое ядро. Поэтому 1000 человек придётся физически делать многократно меньше работы, чем 1 000 000. Да и 1 000 000, собственно, нет в распоряжении.
Спасибо, что не ленитесь разъяснять очевидные вещи. Я, к сожалению, уже ленюсь...
источник

АЕ

Артур Ефимов... in Compiler Development
Михаил Бахтерев
Что мешает то же самое делать с произвольным языком X? Напомню, кстати, realtime-приложения - это не те, которые вот прям за наносекунду всё обсчитывают, а те, для которых гарантированы временные ограничения на работу участков кода. Если у программиста не кривые руки, то можно и на Java такое писать, если кривые, то и на Си он ничего не напишет. Множество раз видел, как люди устраивали инверсии приоритетов, как алгоритмы писали кривые и т.д. и т.п. и считали при этом, что Си/Си++ им автоматически даст какой-то realtime.
Ни на какой Яве такое не напишешь. Ява не гарантирует, что она не отключится в какой-то момент для сборки мусора или ещё чего-то. Язык и компилятор таких языков настолько сложен, что его нельзя назвать обозримыми. А закрытость кода исключает «прозрачность сверху донизу» — одно из требований к такому ПО.

На Ростовской АЭС требования были ещё жёстче: программа должна быть не просто реального времени, но и детерминирована. То есть для каждого момента времени надо, чтобы можно было заранее определить, что будет делать программа (на какой фазе находиться) в этот момент.

«Если у программиста не кривые руки, то можно и на Java такое писать...»
- - - -
Можно и яму ложкой копать, но зачем? Вероятность успешно выполнить задачу снижается прости до нуля.
источник

МБ

Михаил Бахтерев... in Compiler Development
Артур Ефимов
Ни на какой Яве такое не напишешь. Ява не гарантирует, что она не отключится в какой-то момент для сборки мусора или ещё чего-то. Язык и компилятор таких языков настолько сложен, что его нельзя назвать обозримыми. А закрытость кода исключает «прозрачность сверху донизу» — одно из требований к такому ПО.

На Ростовской АЭС требования были ещё жёстче: программа должна быть не просто реального времени, но и детерминирована. То есть для каждого момента времени надо, чтобы можно было заранее определить, что будет делать программа (на какой фазе находиться) в этот момент.

«Если у программиста не кривые руки, то можно и на Java такое писать...»
- - - -
Можно и яму ложкой копать, но зачем? Вероятность успешно выполнить задачу снижается прости до нуля.
Есть спецификация Java RT, которая позволяет управлять сборкой мусора. Во-первых. Во-вторых, сборщик мусора может быть детерминированным. В-третьих, его можно отключать, потому что RT-приложения память выделяют только во время инициализации. Java позволяет писать в таком стиле.
источник

СЛ

Сергей Лапынин... in Compiler Development
Артур Ефимов
Ни на какой Яве такое не напишешь. Ява не гарантирует, что она не отключится в какой-то момент для сборки мусора или ещё чего-то. Язык и компилятор таких языков настолько сложен, что его нельзя назвать обозримыми. А закрытость кода исключает «прозрачность сверху донизу» — одно из требований к такому ПО.

На Ростовской АЭС требования были ещё жёстче: программа должна быть не просто реального времени, но и детерминирована. То есть для каждого момента времени надо, чтобы можно было заранее определить, что будет делать программа (на какой фазе находиться) в этот момент.

«Если у программиста не кривые руки, то можно и на Java такое писать...»
- - - -
Можно и яму ложкой копать, но зачем? Вероятность успешно выполнить задачу снижается прости до нуля.
А говорят, что микроскопами можно забивать гвозди и копать траншеи.
источник

АЕ

Артур Ефимов... in Compiler Development
Михаил Бахтерев
А чего тогда не Lisp? В котором сколько ключевых слов? По-моему, четыре всего: lambda, rec и cond (:
Речь шла о том, как проследить изменение языков в плане из усложнения или упрощения. Можно взять Лисп и проследить его развитие/деградацию.

Упрощается пока только Оберон.
источник

МБ

Михаил Бахтерев... in Compiler Development
Артур Ефимов
Речь шла о том, как проследить изменение языков в плане из усложнения или упрощения. Можно взять Лисп и проследить его развитие/деградацию.

Упрощается пока только Оберон.
У Лиспа ядро стабильно уже лет, сколько там, 30? И оно мелкое.
источник

МБ

Михаил Бахтерев... in Compiler Development
Кстати. Вот у Haskell Core тоже маленький по ключевым словам. Но простота компилятора из этого никак не выводится
источник

АЕ

Артур Ефимов... in Compiler Development
MaxGraey
Проблема с Обероном в том, что через лет десять он может превратиться в следующий COBOL то бишь найти программистов будет невероятно сложно и стоять они будут заоблачно дорого
Это не так. В отличие от Кобола, Оберон — простейший язык. Это упрощённый Паскаль с модулями, расширяемым записями и улучшенным синтаксисом. Описание языка с примерами занимает 17 страниц А4. Задача «найти программистов на Обероне» поэтому абсолютно тривиальна и сводится к поиску программистов вообще.
источник

СЛ

Сергей Лапынин... in Compiler Development
Артур Ефимов
Это не так. В отличие от Кобола, Оберон — простейший язык. Это упрощённый Паскаль с модулями, расширяемым записями и улучшенным синтаксисом. Описание языка с примерами занимает 17 страниц А4. Задача «найти программистов на Обероне» поэтому абсолютно тривиальна и сводится к поиску программистов вообще.
Любые программисты? Даже только что начавшие изучать веб-разработку?
источник

СЛ

Сергей Лапынин... in Compiler Development
Потому что "тривиальность" означает именно это
источник

АЕ

Артур Ефимов... in Compiler Development
Сергей Лапынин
А что мешает сразу писать на ассемблере?
На этот вопрос любой программист может ответить сам. Почему, например, вы не пишете на ассемблере? 😁
источник

СЛ

Сергей Лапынин... in Compiler Development
у вас отсутствует планка снизу
источник

СЛ

Сергей Лапынин... in Compiler Development
Артур Ефимов
На этот вопрос любой программист может ответить сам. Почему, например, вы не пишете на ассемблере? 😁
Писал, и делал даже компилятор асма для виртуального проца с виртуальной памятью - это была модель в виде курсовой работы.
источник

СЛ

Сергей Лапынин... in Compiler Development
набор инструкций - классический x86
источник

СЛ

Сергей Лапынин... in Compiler Development
И даже с поддержкой когерентности кешей. Потому что эмулируемая система была многопроцессорной.
источник