Обновить
90
0
Бушуев Стас @Xitsa

Пользователь

Отправить сообщение
Раз уж Вы любите паскаль, посмотрите на Оберон, особенно на книгу «Проект Оберон» Вирта.
Она свободна доступна для чтения здесь: pdf.
Хороший пример это утилита jq.
Внутри у неё все функции имеют чистый вид: значения принимаются, а новые возвращаются — но при использовании проверяется, единственная ли это ссылка, если да, то изменения производятся по месту.
Не только, сертифицируются средства защиты вообще.
Я никогда не утверждал, что гит нельзя использовать. Просто гит делает хорошо только одно — управление версиями. Всё остальное делают другие инструменты.

Fossil же пример другого подхода, когда используется интегрированная и согласованная среда вместо набора инструментов. Возможно gitea также пример этого подхода, не могу этого сказать, так как не пользовался.

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

Ближайшим аналогом того, что я хотел показать, это ситуация/спор про редакторы и IDE.
Принципиальной разницы нет, разница в удобстве: fossil — это как швейцарский нож, он не заменяет инструменты по отдельности, но всегда под рукой.
Например, в ситуации, когда интернета/связности нет вообще, рабочее место не твой и выделено ненадолго, а хочется иметь привычную среду разработки, лучше всего подходит fossil.
Но это по моему опыту, your mileage may vary.
Это было замечание к тому, что достаточно команды git init.
Этой команды недостаточно.
А как ты к этому репозиторию получишь доступ извне?
Всё равно надо организовывать либо доступ, либо свой хостинг, либо использовать сторонние ресурсы.
Наличие жёстких ссылок на каталоги требует реализации специального сборщика мусора, зато появляются новые возможности типа анонимных временных каталогов.
Вот, например, любопытная статья GCFS: a Garbage-Collected Filesystem for Linux.
Вот две статьи из блога, с помощью которых я наконец-то понял, в чём уникальность идеи Pijul:

Информация в них как раз в формате Хабра: полезная и не излишне подробная.
Небольшое замечание про обобщения: их компиляцию довольно трудно реализовать, так как появляются много нюансов и тонкостей, особенно если завязываться на Reflection.Emit.
Как пример рассмотрим аналог из статьи:
class TA<T> {
 T x;
}
class TB<T, T2>: TA<T>
{
}

Первая неожиданность в том, что TA<T> и TA<T>, который базовый класс TB<T, T2>, — это разные типы.
Первый TA<T> — это обобщённый тип со свободным типом-параметром T.
Второй TA<T> — это конкретизированный обобщённый тип TA<T>, в котором тип-параметр T конкретизирован типом-аргументом T класса TB<T, T2>.
Чтобы было понятней, перепишу пример так:
class TA<T> {
 T x;
}
class TB<D, N>: TA<D> {
}

Вторая неожиданность в том, что работа Reflection.Emit с обобщёнными типами описана довольно сжато и не всегда в итоге получалось сравнивать корректно типы и их методы.

Я поддерживал паскаль-подобный язык, компилирующийся в .Net, и обобщённые типы поддерживал только в контексте использования готовых, а реализацию объявления своих обобщённых типов отложил, так как слишком большие затраты на реализацию и поддержку с малым практическим результатом.

Третья неожиданность заключается в том, что авторы ICorDebug — набора интерфейсов для доступа к отладчику .NET, поддержку обобщённых типов добавили позже, с неполным отображением.

(Это всё моё мнение, поддержкой проекта я занимался 6-8 лет назад, сейчас с наличием .NET Core с открытыми исходниками, наверное, будет полегче).
Я проблему с поиском решал с помощью программы «Архивариус 3000»: всю информацию (html, pdf, прочие форматы) сохранял в определённый каталог, а потом с помощью запросов искал нужное.
Поэтому такие библиотеки не используют.
GPL ядра линукса покрывает только ядро и модули. Условия лицензии позволяют разрабатывать проприетарный код, который исполняется в userspace и взаимодействует с ядром через стандартный интерфейс.
Можно попробовать начать искать отсюда.
Только исходники ядра и прочего GPL.

Давайте-ка проясним обсуждаемый вопрос, мои утверждения следующие:


  • ePub — конечный формат представления, такой же как и PDF, не предназначен для редактирования и преобразования
  • FB2 — семантический формат хранения и подготовки художественной литературы
  • ePub получил распространение как формат потребления
  • FB2 распространён на территории exСССР как формат хранения и подготовки художественной литературы (в силу определённых причин, не буду вдаваться), не предназначен для непосредственного потребления
  • ePub и FB2 — разные форматы и не конкурируют: тот же ePub успешно формируется из FB2
Потому что это не пользовательский формат, а формат издательств и библиотек.
И как таковой довольно успешен в своей нише.
Этого я и не отрицал.
Факт в том, что из произвольного epub нельзя автоматически выделить семантику хотя бы наподобие того, что есть в fb2: сноски, иерархию секций, эпиграфы, цитаты, стихи и т.п.
Я не видел семантической разметки html в epub'ах.
FB2 со товарищи тем и хорош, что позволяет из одного источника подготовить необходимый формат для чтения на нужном устройстве.
И места эти разные: epub/mobi/pdf — это формат презентации, а fb2/markdown/asciidoc — это формат хранения/разметки.

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность