All streams
Search
Write a publication
Pull to refresh
0
0
Send message

Что такое "стандартные акронимы"? Есть просто акронимы, и в разных сферах они могут совпадать. Почему какой-то из них вдруг должен быть стандартным?

Например, для меня для CoW первым в голову приходит Copy-On-Write, да. Но для DAO - без вариантов Decentralized Autonomous Organization. Просто все в разных сферах крутятся и у всех разный лексикон.

А мне lazygit так и не зашел, для каких-то сложных вещей все равно удобнее использовать гуишные тулзы(для меня это JetBrains). А вот для вещей попроще, типа просто посерфить по истории, tig это наше все, точно входит в мой топ-3 tui тулз.

Еще я бы посоветовал atuin для просмотра истории https://github.com/atuinsh/atuin Невероятно удобная вещь.

Если речь о высокоуровневых оптимизациях, таких как формы SSA (Static Single Assignment), то на уровне ассемблера они просто неуместны.

SSA - это не оптимизация, а просто популярная форма IR.

А вообще, у меня складывается ощущение, что это какой-то троллинг. Трудно поверить, чтобы кто-то это все делал всерьез. Например, какой смысл уделять время такой нерелавантой тут вещи, как парсер командной строки, зачем тут генерация deb пакета и тд? Это все такое вторичное в контексте проекта компилятора.

Ну и наконец зачем делать сотни пустых коммитов в репозитории:)

Я имел опыт работы с языком Fift (это язык для TON блокчейна), который мало чем отличается от Forth. Так вот это было моим худшим опытом работы с новым языком программирования.

Во-первых, data flow через стек это просто ужасно. Мне много приходилось разбираться в чужом коде, если в обычных языках все данные кладутся в переменные - все наглядно, все можно отследить. То тут они лежат где-то в стеке, и каждая команда может изменить этот стек, поэтому приходится постоянно держать в уме что где лежит.

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

В общем никому не советую :)

И неспроста. Внутри тела конструктора класса MapLattice произошло сокрытие нестатического поля с тем же именем, что и у параметра. И в этом фрагменте забыли явно указать this слева от оператора присваивания.

В который раз убеждаюсь: LLVM code style один из самых убогих и ненормальных. Как можно додуматься писать имена классов и всех переменных в одном стиле!

Information

Rating
4,430-th
Registered
Activity