Size: a a a

Compiler Development

2020 May 04

M

MaxGraey in Compiler Development
Артур Ефимов
Это потому что вы пытаетесь всю отрицаемую вами исключительность свести к количественным факторам.

Как бы такой ход рассуждения получается крайне недиалектичным, отчего неверным: «Подумаешь, та 700 страниц, а тут 17. Подумаешь, тут 3500 строк кода, а там 100000. Это только разница в количестве».
Я терпеть не могу Java. Но на Java и java аплетах работает вся банковская система. Тот же java card который сидит в симкартах в любой дебетовой или кредитовой карте
источник

АЕ

Артур Ефимов... in Compiler Development
Сергей Лапынин
И вообще от вас отдает холиварщиком "А лучше Б"
Да, я не скрываю. Считаю, что истина есть и готов её искать и отстаивать 😁
источник

СЛ

Сергей Лапынин... in Compiler Development
Артур Ефимов
Да, я не скрываю. Считаю, что истина есть и готов её искать и отстаивать 😁
И она конечно же "Оберон"? )))
источник

АЕ

Артур Ефимов... in Compiler Development
Сергей Лапынин
Ок, схожи так же как С и С++.
Тоже нет. С++ — это усложнённый Си. А Делфи — это усложнённый Турбо Паскаль.

Оберон — это упрощённая Модула-2 с добавлением расширяемых записей.
Модула-2 — это сильно упрощённый Паскаль с добавлением модулей.
Упрощённый в самом хорошем смысле.
источник

AZ

Alex Zhukovsky in Compiler Development
Привет! Скажите пожалуйста, как в упрощённой модуле-два объявить АДТ, ну хотя бы примитивный Either?
источник

M

MaxGraey in Compiler Development
Артур Ефимов
И ещё есть «динамическая природа Явы», про которую плачут разработчики компиляторов. Оберон — язык, компилируемый напрямую в машинный код любого процессора за один проход. А если сравнивать с Си и Си++, это язык, позволяющий делать множество точных статических и динамических проверок на вылеты за рамки массива и прочее. (Исследование показало, что около 90% ошибок в программах на Си вызваны вылетом за рамки массива.)
Такие проверки сейчас есть буквально в любом современном ЯП. Более того большинство из них можно провести на этапе компиляции, а остальные оптимизировать в для рантайма (bounds check elimination)
источник

VM

Victor Miasnikov in Compiler Development
Eugene
вот только А2 написана не на виртовском обероне, а на языке, для которого даже не существует полного актуального описания в одном документе.
Дм.Дагаев планирует использовать A2.

( На Ростовской АЭС - другие представители семейства)

P.S.

Описание Active Oberon, как раз, относительно недавно стали обновлять.
источник

СЛ

Сергей Лапынин... in Compiler Development
А вы не пробовали задаваться вопросом, из-за чего возникают NPE и выход за границы массива?
источник

АЕ

Артур Ефимов... in Compiler Development
MaxGraey
Я терпеть не могу Java. Но на Java и java аплетах работает вся банковская система. Тот же java card который сидит в симкартах в любой дебетовой или кредитовой карте
Что какой-то плохой язык где-то активно используется — это само по себе для науки ничего не значит. Распространённость таких языков — это следствие моды в области программирования. Такая мода подкрепляется деньгами и влиянием крупных фирм, которым по большому счёту всё равно, на каком языке писать свой говнокод. 😁 По-другому современные программы не назовёшь (в голову сразу приходят Скайп и Дискорд, особенно если кто-то имел «удовольствие» пользоваться Дискордом на Линуксе). Им важно, чтобы это был их язык, чтобы сохранить влияние.

Не утверждаю, что этот момент определяющий, но он есть.
источник

АЕ

Артур Ефимов... in Compiler Development
MaxGraey
Такие проверки сейчас есть буквально в любом современном ЯП. Более того большинство из них можно провести на этапе компиляции, а остальные оптимизировать в для рантайма (bounds check elimination)
Вот в Обероне это уже вшито в самом начале.
На днях я знакомился с кодом компилятора TinyC. Утверждается, что там есть такая проверка, причём работает даже для malloc'ов. Но так и сказано: «ДОЛЖНО работать даже в самых запутанных случаях» 😂

Как в анекдоте:
😜 — А АЭС не взорвётся?
😮 — Не должна... КТО ЭТО СКАЗАЛ?! 😡
источник

M

MaxGraey in Compiler Development
Артур Ефимов
Что какой-то плохой язык где-то активно используется — это само по себе для науки ничего не значит. Распространённость таких языков — это следствие моды в области программирования. Такая мода подкрепляется деньгами и влиянием крупных фирм, которым по большому счёту всё равно, на каком языке писать свой говнокод. 😁 По-другому современные программы не назовёшь (в голову сразу приходят Скайп и Дискорд, особенно если кто-то имел «удовольствие» пользоваться Дискордом на Линуксе). Им важно, чтобы это был их язык, чтобы сохранить влияние.

Не утверждаю, что этот момент определяющий, но он есть.
Все так, просто тезис что Java не подходит для реалтайм систем, там GC, там нет того и этого, поэтому он не подходит звучит как то неубедительно на фоне того, что вся электронная финансовая система держиться на Java)
источник

АЕ

Артур Ефимов... in Compiler Development
Сергей Лапынин
Если вам нужна именно компиляция в машинный код и дальше вы работаете только на этой машине.
Ява про кроссплатформенность
Оберон тоже вполне кроссплатформенный.
источник

АЕ

Артур Ефимов... in Compiler Development
Финансовая система не должна вовремя опускать графитовые стержни, она может выполнить свои задачи в крайнем случае и через секунду. 😁
источник

AZ

Alex Zhukovsky in Compiler Development
Артур Ефимов
Финансовая система не должна вовремя опускать графитовые стержни, она может выполнить свои задачи в крайнем случае и через секунду. 😁
сразу видно человека не знакомого в HFT
источник

СЛ

Сергей Лапынин... in Compiler Development
MaxGraey
Все так, просто тезис что Java не подходит для реалтайм систем, там GC, там нет того и этого, поэтому он не подходит звучит как то неубедительно на фоне того, что вся электронная финансовая система держиться на Java)
Кстати о финансах. Рассказывал мне один человек, который работал в крупном банке. Он исправил баг и стали жаловаться, что теперь таблицы правок в балансы не работают. Примерно 1 млн баксов в месяц погрешности были. Из-за чего? Ну 1 бакс + 1 фунт != 1 фунт + 1 бакс же. А система это воспринимала как 2 бакса и 2 фунта соответственно ))
источник

AZ

Alex Zhukovsky in Compiler Development
там за 10мс разницы миллионы бачей дают
источник

АЕ

Артур Ефимов... in Compiler Development
Системы реального времени разные бывают.
Что-то не видел видеореадкторов на Яве.
источник

AZ

Alex Zhukovsky in Compiler Development
> видеоредакторы
> системы реального времени

оо-кей
источник

M

MaxGraey in Compiler Development
MaxGraey
Все так, просто тезис что Java не подходит для реалтайм систем, там GC, там нет того и этого, поэтому он не подходит звучит как то неубедительно на фоне того, что вся электронная финансовая система держиться на Java)
Это наверное звучит буд-то я хвалю и пушаю Java =) Хотя это не так. Просто это хороший пример, что любой язык можно сделать исключительным делая рефрейминг сознания и говоря, мол вот смотрите на этом ЯП сделано то то и то-то, смотрите как ххорошо он подходит для этой доменной области, но ведь это не обязательно так.
источник

СЛ

Сергей Лапынин... in Compiler Development
Артур Ефимов
Системы реального времени разные бывают.
Что-то не видел видеореадкторов на Яве.
А я не видел в яве поддержки sse, avx и прочих процессорно зависимых ништяков.
источник