А что там было не так с системой команд и архитектурой?Ближе всего к PDP-11 -- это Электроника-60
Да, было время, когда приходилось самому изображать компилятор из Ассемблера в эту, не к ночи будет упомянута, систему команд и архитектуру
1) насчёт Ада не знаю, так как не сталкивался с ним, но ведь Ада ещё при Тьюринги создали, а Паскаль гораздо позже. Если честно не знаю, какая между ними связь.Паскаль - это не только один язык, это целая группа языков, включая специализированные (типа Ада) для написания критических устойчивых систем. Развивается до сих пор (Delphi, Object Pascal). Там всё чётко и структурировано - все что надо есть для быстрого и грамотного написания программ.
Есть анекдот - опытный программист напишет простой код на С++ без ошибок и глюков за несколько часов, а такой же код на Паскале начинающий студент напишет за пол часа
Институт/школаА намекните, если не трудно, где вы работаете? Где используется такой ..мм…стек технологий?
Питон сам по себе тормознутый скриптовой язык для автоматизации - но у него есть шустрые и многообразные библиотеки для математиков. Рабочий софт делающий что-то тяжелое без помощи библиотек на нем имеет смысл писать только если будет запущен ровно один раз.Ну например затем что программа написанная без всяких тредов на голом C работает примерно в 100 (СТО!!!) раз быстрее и жрет в 100 (СТО!) раз меньше памяти, чем новомодный код на питоне (пример прямо передо мной работает до сих пор, написана основа была в 1992 году еще). А код на Жабе всегда, без малейших исключений, истекает памятью, я еще ни единого исключения не встретил (даже во встроенных системах там память всегда утекает).
И были уже примеры когда хорошие программисты брали приложение которое занимало огромные объемы, писали свой вариант и он получался раз в 100 (не в 10) компактнее и быстрее. Последние примеры - код написанный когда то Бутенко и Флеровым. Так что для встроенных систем где нужна компактность - оно зачастую лучше на голом C писать и не извращаться. КОд на Вояджере до сих пор работает. Потому что его писали не быдлокодеры.
Язык Ада внедряли американские вояки решив что им нужно что то с типами. Изобрели верблюда в итоге (как известно верблюд это лошадь созданная комитетом по стандартизации). Им мало кто пользуется.
Забавно - но можно, одна библиотека для HTTP, еще одна для sql, парочка келлбаков. Как и везде.Напишите за полчаса-час какой-нибудь простой REST-Webservice на голом С, который будет обрабатывать HTTP-запросы от клиента, а для работы с данными использовать БД. На Яве я Вам такой напишу. И ничего там утекать не будет, просто сборщик мусора работает циклически, и между циклами может что-то накапливаться, но всё в итоге нормально убирается. Да и это процесс управляемый.
О как. Век живи, век учись. PL/SQL это прям кусок моей жизни, а про то, что в основе Ада не зналPL/SQL от Oracle тоже на базе Ады создан. Это если кто непосредственно в базе данных Oracle процедуры пишет, а таких много. Я, например, иногда.
А один который умеет в асинхронность - за 5.001 секунду. Треды не для ожидания периферии предназначены.А если устройства отвечают не мгновенно, а с задержками, допустим по 5 секунд? Один тред будет последовательно опрашивать 1000 устройств 5000 секунд, т.е. примерно полтора часа. А 100 параллельных тредов управятся за 50 секунд, т.е. меньше минуты. Ну, а 1000 тредов так и вообще за 5 секунд.
Работа с переферией через "дупло старого дуба", то есть окна в памяти -- был сущий адА что там было не так с системой команд и архитектурой?
Насколько я помню, там был довольно удобный восьмеричный машинный код, на котором можно даже было писать напрямую, без использования ассемблера.
Не так, посмотрите хотя бы в Вики.1) насчёт Ада не знаю, так как не сталкивался с ним, но ведь Ада ещё при Тьюринги создали, а Паскаль гораздо позже.
Несколько лет назад делал проект на SimpleSCADA, там в качестве внутреннего скриптового языка встроен Object Pascal. Так что, как оказалось, используется.2) Касаемо delphi/object pascal... В реальных проектах почти не используется, разве что в чем-то старом ещё на делфи 7м написанном
Вот этого не помню. Но возможно архитектура (не система команд) БК-0010 в этом плане отличалась от Электроники-60.Работа с переферией через "дупло старого дуба", то есть окна в памяти -- был сущий ад
Асинхронно тоже можно. Вопрос в том, за какое время обработаются 5000 коллбаков и не будет ли для каждого коллбака в итоге всё равно создан отдельный тред.А один который умеет в асинхронность - за 5.001 секунду. Треды не для ожидания периферии предназначены.
Что "правильно"? Я пишу, что не скоростью кодирования простеньких задач нынче определяется скорость разработки. Нынешний программист вообще тратит на написание кода от силы процентов 10 своего рабочего времени.Всё правильно, языки высокого уровня затем и нужны, скрывать от программиста рутину.
Вообще не транслируются. Это интерпретируемый код.Эти три строки, вполне возможно, транслируются в сотни тысяч строк на ассемблере,
Жопа тут - в непонимании того, что Паскаль - во-первых, умышленная дебилизация Алгола-60 "для первоначального обучения", во-вторых, унаследовал те ошибки дизайна Алгола-60, которые уже были исправлены в Алголе-68. "Прародитель" современных "алголоподобных" языков программирования - Алгол-68, а не Паскаль."Жопа есть, а слова нет")
Допускаю, что паскалеподобные языки одновременно являются алголоподобными (с Алголом не знаком по причине его полной невостребованности, но знаю, что Паскаль основан на Алголе-60).
Я участвовал в написании на неё компилятора. На Алголе-68.Ну и, раз уж вспоминаем забытые языки: помнится в конце 80-х была волна Модулы-2. Самому его трогать не приходилось, но разговоров было много.
Время обработки зависит только от функции обработчика, сам коллбак в этих условиях ничего не стоит. Если код тяжелый - оптимально выкинуть его на пул в виде задач - будет потоков по числу ядер и перезапускаться часто они не будут.Асинхронно тоже можно. Вопрос в том, за какое время обработаются 5000 коллбаков и не будет ли для каждого коллбака в итоге всё равно создан отдельный тред.
А какие доступные альтернативы в то время обеспечивали многопоточность под DOS?Модула-2 был более разумным по дизайну языком, чем Паскаль. Но не взлетел, поскольку к тому времени уже были лучшие альтернативы, в том числе и для первоначального обучения.
Ну, значит, второй подход Никлауса Вирта к штанге был более удачным.Я участвовал в написании на неё компилятора. На Алголе-68.
Но сам к тому времени предпочитал Си.
Модула-2 был более разумным по дизайну языком, чем Паскаль. Но не взлетел, поскольку к тому времени уже были лучшие альтернативы, в том числе и для первоначального обучения.
Весело может стать, когда рано или поздно они все ответят одновременно.Время обработки зависит только от функции обработчика, сам коллбак в этих условиях ничего не стоит. Если код тяжелый - оптимально выкинуть его на пул в виде задач - будет потоков по числу ядер и перезапускаться часто они не будут.
Ну разве что порядок обработки и поступления данных будет произвольным
Для тех кто запускает потоки тысячами в аду есть отдельный круг.