The OpenNET Project / Index page

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



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

Исходное сообщение
"Первый выпуск файловой системы Zbox"
Отправлено Ordu, 16-Дек-17 12:38 
>> rust прикручивается к чему угодно. Сложнее чем C, потому что по-любому придётся
>> на rust'е крафтить адаптер -- внешний API для библиотеки,
> Ну и вот это вот - не, на плюсах так тоже делают,
> но вообще это грабли. Получаются (полу)замкнутые экосистемы которые между собой не
> дружат.

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

>[оверквотинг удален]
> проч. На своей шкуре! Если это лаба по информатике - сработало
> у препа и черт с ним потом! А если в продакшн?
> Вылавливать за студебеккером все глюки наивного чукотского юноши, когда leap second
> накинут или daylight saving time активируется или ntpd время подбросит? В
> этом месте мы узнаем что качество софта не достигается за 5
> минут.
>> или сводиться к генератору случайных чисел, или быть ещё чем-нибудь,
> И без нескольких лет окажется что горе автор не прогнал даже базовые
> тесты. Случайность окажется не случайной, кто угодно будет ломать супер-шифрование чуть
> ли не на тетрадном листочке. Известное дело.

Если вдруг случилось, что пакет date был написан студиозисом, то работа со временем превратилась в вечное проклятье для rust-программистов? Есть crates.io, оттуда есть ссылки на github. Тебе доступна куча информации о пакете, о том как он разрабатывается, насколько широко и кем используется. Ты можешь заглянуть в issues, ты можешь посмотреть историю активности, ты можешь заглянуть в код и оценить его качество. Ты можешь взять и посмотреть в коде, каким образом там обрабатываются leap-секунды, какие алгоритмы генерации случайных чисел используются или откуда берётся энтропия. В конце-концов, ты можешь спросить в каком-нибудь сообществе, какую библиотеку лучше использовать для тех или иных задач.

Ты так рассказываешь, будто бы ты при написании кода на C++, выбираешь библиотеки не проводя исследования того, что эти библиотеки представляют себя с точки зрения качества кода. C++ отличается тем, что там слишком сложно использовать внешние библиотеки, и поэтому широко используются только библиотеки включённые в дистрибутивы. Но это приводит к другим косякам, типа regex-кода в boost, который, как внезапно выяснилось, написан в стиле C++ девяностых годов, пропитан арифметикой указателей, и вообще гумно. Много мелких пакетов, вместо единой свалки для многих пакетов, позволяют пойти и найти другую реализацию regexp'ов, которая будет обладать более высоким качеством кода. Прямо скажем, они вынудят это сделать на ранних этапах разработки программы, в тот момент когда нам понадобится подключить regexp'ы.

>> минут бездействия, а для приложений прозрачно и выглядит как заурядная директория.
> Если честно, мне такое будет проще настроить средствами пингвина, почти без програмизма
> или с каким-то совсем минимумом оного. И наверняка там продолбов будет
> в 20 раз меньше.

Это быстро превратиться в костыль на костыле. Менеджмент всех этих точек монтирования, ключей к ним, inotofy-скриптов, бекапов быстро превратится в груду слабо связанных друг с другом скриптов. Такая штука может быть и будет работать, но через полгода ты забудешь как она работает, а через пять лет при всём желании не сможешь в этом разобраться. Строго и грамотно написанная программа лучше -- она продумана, там есть какая-никакая документация, хотя бы пара комментов в коде, там есть код, написанный с мыслью о том, что его кто-то будет читать.

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

В программировании об этом переживать не стоит совершенно. Я тебя заверяю: всё уже написано, и всему есть аналоги. Когда опеннет стонет о том, что кругом сплошные велосипеды, то он делает это по глупости и неопытности своей, не понимая что иначе не бывает и быть не может.
Если ты будешь париться об уникальности твоей программы, ты никогда не напишешь ни одной программы. Ну или твои программы будут жертвовать функциональностью, удобством и разумностью в пользу уникальности.

 

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



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

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