The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск языка программирования Crystal 1.5"
Отправлено Sw00p aka Jerom, 29-Июл-22 01:30 
> Да почему? Тормозят и глючат просто изумительно. Особенно если гамнокодом накормить.

ответ на этот вопрос дает замечательный мультик, https://www.youtube.com/watch?v=vIZVWVJ4_9M

Эйййй, двое из ларца .... :))))))))) загибайте

> В ассемблере нет штатных средств декларирования намерений, нормальной типизации, средств
> организации структур данных и проч.

типы, структуры это же формальные понятия, а машина работает с понятием плоской последовательностью. Что значить создать массив из N элементов с точки зрения асм или любую другую структуру? Что из себя представляет тот же C++-ный код в асм листинге? Что мешает писать на асм так же как и генерит компилятор? Компилятор лучше сделает? - не согласен.

> Проблема в том что
> 1) Это не наглядно и нет хорошей декларации структуры которая у меня
> в мозгу.

Так для наглядности я могу нарисовать квадратиков прямоугольников, стрелочки указать, подписать блоки и т.д. куда нагляднее будет, чем сидеть и вчитываться в код какого-то непонятного мне формального языка. Да, все что вы говорите легче псевдокодом описать, а дальше сесть и написать инструкции к исполнению.

> 2) Остальные не телепаты чтобы все это знать.

Допустим, человек умеет читать код (знаком с синтаксисом), но не знает предметную область, поможет ли ему "читабельность" кода? Промолчу про то, что "читабельный" код якобы не нуждается в комментариях.

> 3) А иногда хочется и
> вещи посложнее хелловорлдов делать.

Так сначала надо предметную область изучить, чтоб потом кодить. К вопросу "читабельности", всякая ли прочитанная книжка нам ясна с первого прочтения? Но не поняв прочитанного, мы грешим на автора. Усердие надо прикладывать, поэтому рекомендую программистам в первую очередь заниматься обратной разработкой, а после программировать на формальных языках.

> 4) Никакой верификации что фактические действия совпадают с намерениями - нет. Это
> ведет к багам на манер яваскриптеров, когда можно в принципе замесить
> бананы, гвозди, яблоки и что-то еще, сразу может даже и не
> упадет, а откуда оно потом вон тот бред через полчаса счета
> берет - поди догадайся вообще. Все тулсы для формальной верификации в
> жестком пролете.

исполнение и отладка, формальные языки вообще отвергают понятие отладки, хотя у них есть понятие "покрытие тестами".

> 1) Это не описывает допустим прототип функции и что я его правильно
> вызываю.

прототипы, соглашение об вызовах все это формальные понятия.

> 2) Это не описывает истинный характер данных.

плоская модель памяти, конечная, вон Тьюринг описывал бесконечную ленту, что по вашему мне мешает реализовать алгоритм с понятием о бесконечной ленте?

> 3) И кстати это все не портабельно а писать код каждый раз
> с ноля под разные процы мне таки лениво.

Лениво? а как же усердие? Знаете почему когда берут в ученики в Шаолиньский монастырь первые пол года ученик с метлой в руках подметает дворы, носит воду и т.д.? То что код должен быть написан под все архитектуры это очевидность, а то что код должен быть написан на всех языках - маразм?

> 4) И кстати на том же сишке вполне реально затестить сишный алго
> на компе, с мощной инструментацией, типа ubsan/asan/etc под fuzzer'ом, и 1
> в 1 его на МК какой перетащить потом, будучи более-менее уверенным
> в этом блоке кода, что он способен пережить взаимодействие с враждебным
> внешним миром, получая оттуда любую мыслимую труху.

баловался с МК на сях и ручками выставлял биты в регистрах, спрашивается зачем мне С, если тоже самое я делаю на асм?

> Я могу даже вообще не знать этот код и подсистему,
> но при этом за весьма обозримое время локализовать проблему

а с проблемой ведь сталкиваемся не при прочтении "читабельного" кода, так ведь?

> ...а еще я билдую ядро линуха под штук пять разных архитектур. На
> асме я бы зассал кодить пять раз одно и то же,
> скажем прямо.

я тоже может и зассу с 5-ю на улице драться, а есть же люди которые четверых по углам раскидает, а пятый сам себе угол искать будет. Необходимо усердие, плохой я программист когда отказываюсь писать под ту или иную архитектуру? Должен ли я писать код под архитектуру которую слабо знаю?

> Есть глобальная навигация, есть локальная. Я в это умею, поэтому при возникновении
> проблем, я вполне себе осознаю сначала грубо из какой подсистемы трабл,
> а потом уже более детально изучаю так или как и почему
> это там образовалось.

почему навигация? описанный вами процесс - отладка (пусконаладка), ну и не стоит забывать про профилирование, ибо внесенные изменения после обнаружения трабла могут регрессивно повлиять.  

> А уж сделать на нем что-то типа хотя-бы сишного struct вообще не особо
> вариант.

а что представляет из себя struct в плоской памяти?

> Я про структурированность программы и данных с которыми она работает. В ассемблере
> для этого практически нет средств.

в асм есть работа с плоской памятью, ваши структуры на сях представлены так же в плоской памяти. а вот в С++ в структурах есть методы, классы какие-то, а в сях нет и т.д. Все это смахивает на один анекдот, Вася готовится к экзамену по зоологии и выучил только раздел про вшей, приходит на экзамен и попадается билет про рыб. Начинает рассказывать про рыб, делая резкий переход на тему вшей, "а если бы у рыб была бы шерсть, то у них бы завелись вши, а вши это ......"

> // NB я умею прогать на штуках 5 разных асмах, правда x86
> знаю весьма базово, ибо мерзость

лично для меня всякие макро асмы мерзость, и попытка сделать их подобием формальных языков высокого уровня. Да легче на формальном языке высокого уровня писать, чем на асм кишащий макросами и всеми конструкциями которые реально не отражены в архитектуре.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру