The OpenNET Project / Index page

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



"Уязвимость в сетевых библиотеках языков Rust и Go, позволяющая обойти проверку IP-адресов"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для контроля за появлением новых сообщений - перед выходом жмите "Пометить прочитанным".
. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..." +/
Сообщение от Урри (ok), 10-Авг-21, 11:53 
Ну почему же, я вот регулярно пишу на брейнфаке, в виде профилактики альцгеймера. Это сложно, но приятно, ибо синтаксис простой и целостный. Или вот рабочую математику, прежде чем кодить, описываю и тестирую на лиспе, чтобы алгоритмизировать, а не программировать.
Пробую всякие новые джулии и даже пополняю RosettaCode для малоиспользуемых языков, которые смог у себя запустить и осилить дизайн.

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

Если не понятно, то конкретный простейший пример: lisp и его map с fold. Вроде бы две разные конструкции, которые одна позволяет трансформировать одну последовательность в другую и вторая вычислить из последовательности одно число. А если покопаться, то придет понимание, что это одна и та же (!) рекурсивная операция, но в первом случае с дополнительным простейшим(!) шагом. И в основе обеих лежит элементарный принцип однонаправленных списков, как последовательного объединения структурных пар элементов с примитивнейшей операцией взятия следующего.

И тут же в голову приходит целый букет возможностей (которые тоже, оказывается, давно есть в языке): это и rfold и foldr, и map с несколькими списками и for-each, и reverse и т.д. и т.п.
Приходит просто потому, что они все являются следствием изначального стройного дизайна.


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

Почему С как был придуман, так и работает, раз в десятилетие обрастая несущественным (не меняющим принципы программирования на нем) синтаксическим сахарком? Я могу собрать и запустить первую программу на С на последнем компиляторе, и она соберется и запустится. Причем не потому, что пресловутое "беквард-компатибилити" и отдельный компилятор старого кода, а потому что принцип языка не изменился.

--
И гнил бы раст спокойно, выброшенный мозиллой на улицу ввиду бесперспективности, как гниют сотни языков на rosettacode, но какие-то менеджеры купились на сказку о "не будет багов", решили что супердешевые макаки-неосиляторы смогут им писать почти бесплатно код, который потом не придется дорого сопровождать и выделили денег. Породили хайп и лезет оно из всех щелей как веганство, cjw повестка или простигосподи сыроедение.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Уязвимость в сетевых библиотеках языков Rust и Go, позволяющая обойти проверку IP-адресов, opennews, 08-Авг-21, 13:51  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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