712 комментариев

avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
/считает ирбиков/
avatar
keyboard_arrow_up
keyboard_arrow_down
Наайн!
avatar
keyboard_arrow_up
keyboard_arrow_down
Willst du bis der Tod euch scheidet?
avatar
keyboard_arrow_up
keyboard_arrow_down
один перевод другого упоротее.
avatar
keyboard_arrow_up
keyboard_arrow_down
Treu ihr sein für alle Tage?
avatar
keyboard_arrow_up
keyboard_arrow_down
Почти три дня без ухудшений D:
какой ужас.
avatar
keyboard_arrow_up
keyboard_arrow_down
Да не страшит тебя пиздец грядущий.
avatar
keyboard_arrow_up
keyboard_arrow_down
Незаметно подгрядающийся.
avatar
keyboard_arrow_up
keyboard_arrow_down
ФЫВА-ФЫВА ТАЙМ
avatar
keyboard_arrow_up
keyboard_arrow_down
йей, убийственный чай
avatar
keyboard_arrow_up
keyboard_arrow_down
Мяфк.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • ChaoticChloride
  • Артиллерист, танк, пони и эллипс, чейнджлинг и чейнджджлинг
Но Ирби все равно сделал.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Irbifox
  • Хвосты Бункера
Но это не значит, что на него можно рассчитывать.
Вы только на аватарку гляньте, там же револьвер! Разве можно такому доверять и рассчитывать на него?
avatar
keyboard_arrow_up
keyboard_arrow_down
Нет, но с тобой можно играть \о/
avatar
keyboard_arrow_up
keyboard_arrow_down
Не играй с едой!
avatar
keyboard_arrow_up
keyboard_arrow_down
  • niv
  • Не робопегасный Ук-ук
Лисоеды
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Irbifox
  • Хвосты Бункера
Можно. Но нельзя.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Irbifox
  • Хвосты Бункера

avatar
keyboard_arrow_up
keyboard_arrow_down
Most text editors have good support for Go. The most popular are VSCode (free), GoLand (paid), and Vim (free).
>_______________________________>
avatar
keyboard_arrow_up
keyboard_arrow_down
Vim рулит.
avatar
keyboard_arrow_up
keyboard_arrow_down
Крыша едет.
avatar
keyboard_arrow_up
keyboard_arrow_down
Зачем им нужен Го? Хотят уехать на модном молодежном?
avatar
keyboard_arrow_up
keyboard_arrow_down
Я спрошу, и если тебе интересно, то расскажу.
avatar
keyboard_arrow_up
keyboard_arrow_down
Все ближе… И ближе… И ближееее…
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
бери голанд и не мучайся хотя-бы вначале
avatar
keyboard_arrow_up
keyboard_arrow_down
Хотя бы…
avatar
keyboard_arrow_up
keyboard_arrow_down
А потом по 20 баксов отваливать в месяц :/
Я не бедный, но блин…
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
берёшь на год, и если пофиг на обновления, то потом не берёшь, а что обновилось, то с тобой и осталось
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
и частникам 80 в год вообщет
avatar
keyboard_arrow_up
keyboard_arrow_down
Я не частник.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
это уже твоему бухгалтеру решать, или кто там у вас за него
avatar
keyboard_arrow_up
keyboard_arrow_down
Пусть в блокноте пишет. Он же программист. Мне какая разница, что ему неудобно. Мы за что ему платим!
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
мне купили слион
avatar
keyboard_arrow_up
keyboard_arrow_down
Тебе или себе? И зачем он тебе. Ты все равно не умеешь ни в Си, ни в C++…
avatar
keyboard_arrow_up
keyboard_arrow_down
Ну не начинай
avatar
keyboard_arrow_up
keyboard_arrow_down
Я достаточно видела. Я бы его и за бесплатно к коду не пустила.
avatar
keyboard_arrow_up
keyboard_arrow_down
Но не обязательно же каждый раз вот это вот.
Хотя за проверки ренджа в стандартной библиотеке — сам бы за жопу укусил.
avatar
keyboard_arrow_up
keyboard_arrow_down
Время дурацких вопросов!
Почему за 80 лет существования языка не заставили аллокаторы реализовывать возврат размер блока по указателю на него? <_<
avatar
keyboard_arrow_up
keyboard_arrow_down
А вот почему.
int * a = new int[10];
sizeofmem(a); //10
a += 5;
sizeofmem(a); //??????
avatar
keyboard_arrow_up
keyboard_arrow_down
Действительно… Потому что это бесполезно.
avatar
keyboard_arrow_up
keyboard_arrow_down
Даже то, что я написал вверху, не совсем правда. Можно заставить имплементить разницу указателей.
Если указатель в не аллоцированной или в конце — 0 (нельзя выделить ноль памяти, так что норм).
Но эта «фича» сделает ещё больше UB, потому что начнут кастовать в int нечётное количество байт (по ошибке) мерять это вот таким вот sizeof и опять ракеты начнут падать.
avatar
keyboard_arrow_up
keyboard_arrow_down
А аллокаторы прям должны каждый вызов по всем указателям искать >-<
avatar
keyboard_arrow_up
keyboard_arrow_down
И это тоже.
avatar
keyboard_arrow_up
keyboard_arrow_down
Можно было бы избавиться от ручного таскания размеренности массива в куче мест и, соответственно, куси переполнений.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
кусь переполнений
avatar
keyboard_arrow_up
keyboard_arrow_down
Для этого можно было бы просто массив с размером сделать примитивным типом…
avatar
keyboard_arrow_up
keyboard_arrow_down
Да, но вариант с хаком имеет бОльшую вероятность войти в стандарт. Потому что хакеры.
avatar
keyboard_arrow_up
keyboard_arrow_down
Не, это хрень какая-то.
avatar
keyboard_arrow_up
keyboard_arrow_down
Хрень — это писать struct каждый раз. И таскание размеров массива вручную, хотя как минимум аллокатор уже знает его размер.
avatar
keyboard_arrow_up
keyboard_arrow_down
Пфф… Эти люди придумали нуль-терминированные строки…
avatar
keyboard_arrow_up
keyboard_arrow_down
С другой стороны, слава Бже, что ещё и длину строки рядом с размером буфера вручную таскать не надо.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
строки с длиной лучше нул-термовых
avatar
keyboard_arrow_up
keyboard_arrow_down
А как же нуль-терминированные строки с длиной?)
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
нинужны?
avatar
keyboard_arrow_up
keyboard_arrow_down
Для совместимости придется…
avatar
keyboard_arrow_up
keyboard_arrow_down
Зато можно применить изящный хак, скормив стандартным функциям указатель на такую строку + 2 ._.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
а чё два?
avatar
keyboard_arrow_up
keyboard_arrow_down
чтобы всё сломалось, когда станет 4.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
а. норм
avatar
keyboard_arrow_up
keyboard_arrow_down
ещё можно сделать макрос. Все любят макросы.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
мокрос
avatar
keyboard_arrow_up
keyboard_arrow_down
с именем вроде _DL_UN_UNRWR_CSTSTR_DEFGL
avatar
keyboard_arrow_up
keyboard_arrow_down
И ещё я досмотрел New Game, не озаботившись найти что-то новое. И теперь из недосмотренного и не харддропнутого у меня остались только Peace Through Bread! и Furi Kuri. Всё очень плохо /)_(\
avatar
keyboard_arrow_up
keyboard_arrow_down
Konosuba!
avatar
keyboard_arrow_up
keyboard_arrow_down
(страдания)
avatar
keyboard_arrow_up
keyboard_arrow_down
Кстати, а «Сёстры Минами» ты уже смотрел?
avatar
keyboard_arrow_up
keyboard_arrow_down
неть..
avatar
keyboard_arrow_up
keyboard_arrow_down
Из разряда «милые девочки делают милые вещи». Сюжета нет, но местами забавно. Будет нечего смотреть — можешь попробовать.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
булковое ониме!
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
почему булкового аниме нет на рутрекере?
avatar
keyboard_arrow_up
keyboard_arrow_down
idk why
avatar
keyboard_arrow_up
keyboard_arrow_down
Попробуй реализовать такую строку с длиной, которая работала бы быстрее стандартных…
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
смотря чё нядо
avatar
keyboard_arrow_up
keyboard_arrow_down
СТРОКИ НАДО!!!
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
DEPENDS!
avatar
keyboard_arrow_up
keyboard_arrow_down
СТРООООКИИИИИИ!!!
avatar
keyboard_arrow_up
keyboard_arrow_down
Почему ты стал так странно ставить звездочки и амперсанды? Что с тобой случилось?
avatar
keyboard_arrow_up
keyboard_arrow_down
Они не принадлежат ни имени, ни типу.
avatar
keyboard_arrow_up
keyboard_arrow_down
На самом деле, они принадлежат типу… Но мы привыкли писать так, чтобы они прилипали к имени, но воспринимать это как то, что они принадлежат типу. Но вот так писать — это как-то совсем тупо…
avatar
keyboard_arrow_up
keyboard_arrow_down
То есть, const char * — это одно целое для меня >->
avatar
keyboard_arrow_up
keyboard_arrow_down
Но мы привыкли писать так, чтобы они прилипали к имени
Выравнивание справа?
avatar
keyboard_arrow_up
keyboard_arrow_down
Классический Си-стиль…
avatar
keyboard_arrow_up
keyboard_arrow_down
Не всё, что классическое, то хорошо.
avatar
keyboard_arrow_up
keyboard_arrow_down
Все равно привычка.
Спойлер
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
угу-угу
int* a, b;

удачи дебажить)
avatar
keyboard_arrow_up
keyboard_arrow_down
Ну вот .-.
avatar
keyboard_arrow_up
keyboard_arrow_down
Но все равно так никто не пишет.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
они принадлежат имени
avatar
keyboard_arrow_up
keyboard_arrow_down
Нет, они никому не принадлежат.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
выше
avatar
keyboard_arrow_up
keyboard_arrow_down
Окей, я проиграл. Они принадлежат имени так реально никто не пишет, я забыл
Но мне прям ужасно не нравится это контекстно зависимое прочтение. Это тип указателя, или оператор?
*a
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
ох уж этот си
avatar
keyboard_arrow_up
keyboard_arrow_down
Потому что принадлежит типу!
avatar
keyboard_arrow_up
keyboard_arrow_down
Если тип/имя можно написать без чего-либо — оно не принадлежит типу/имени.
Но к сожалению в C/C++ это не так.
Мой мир рухнул.
*Пошёл сносить все свои C/C++ проекты на гитхабе*
avatar
keyboard_arrow_up
keyboard_arrow_down
Да-да. А еще const принадлежит имени, и restrict принадлежит имени, и volatile принадлежит имени…
avatar
keyboard_arrow_up
keyboard_arrow_down
const — нет
avatar
keyboard_arrow_up
keyboard_arrow_down
Да ну?
avatar
keyboard_arrow_up
keyboard_arrow_down
Спойлер
avatar
keyboard_arrow_up
keyboard_arrow_down
int * const a, * const b;
avatar
keyboard_arrow_up
keyboard_arrow_down
А, этот конст.
avatar
keyboard_arrow_up
keyboard_arrow_down
Так.
Такой синтаксис объявления переменных сделать deprecated в C++23.
И removed в C++26.
avatar
keyboard_arrow_up
keyboard_arrow_down
Очевидно, то что существует синтаксис, где имя типа отделяется от его модификаторов, не значит, что модификаторы принадлежат идентификатору >->
avatar
keyboard_arrow_up
keyboard_arrow_down
Очевидно, что такой синтаксис — это непостоянство языка.
Оно чем-то оправдано?
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
а мя говорил, что си слишком старый :3
avatar
keyboard_arrow_up
keyboard_arrow_down
Ладно. Я просто хочу делать всё идеально.
Занятие и инструменты не имеют значения.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
имеют :3
для идеальности инструменты тоже должны быть идеальными
avatar
keyboard_arrow_up
keyboard_arrow_down
Не обязательно. Элементы системы могут дополнять друг друга, чтобы
Язык и ЭВМ позволяют автоматизировать задачи и решать их безошибочно. Этого не может человек.
Человек знает о недостатках языка и ЭВМ, и использует свои знания, чтобы исключить влияние этих недостатков на решение задачи.

Неидеальные части дополняют и корректируют друг друга, образуя идеальную систему.
avatar
keyboard_arrow_up
keyboard_arrow_down
(нет)
avatar
keyboard_arrow_up
keyboard_arrow_down
И мы можем стремиться к этому. Даже если идеал невозможен)
avatar
keyboard_arrow_up
keyboard_arrow_down
А потом недостатки складываются.
avatar
keyboard_arrow_up
keyboard_arrow_down
Это если пользователь не владеет инструментом.
avatar
keyboard_arrow_up
keyboard_arrow_down
Это если краски смешивать.
avatar
keyboard_arrow_up
keyboard_arrow_down
Как Жасма.
avatar
keyboard_arrow_up
keyboard_arrow_down
$ dmesg | grep segf | wc -l
5
$ uptime -p
up 15 hours, 20 minutes
Идиллия <_>
avatar
keyboard_arrow_up
keyboard_arrow_down
[[email protected] ~]$ dmesg | grep 'segf' | wc -l
3
[[email protected] ~]$ uptime -p
up 1 week, 3 days, 17 hours, 7 minutes

>->
avatar
keyboard_arrow_up
keyboard_arrow_down
О, баг.
avatar
keyboard_arrow_up
keyboard_arrow_down
Где?
avatar
keyboard_arrow_up
keyboard_arrow_down
Во всплывашке нельзя горизонтально скроллить.
SING HER SONG AND BECOME NOTHING SING HER SONG AND BECOME NOTHING SING HER SONG AND BECOME NOTHING
avatar
keyboard_arrow_up
keyboard_arrow_down
Какой? <-<
avatar
keyboard_arrow_up
keyboard_arrow_down
уведомление о сбщ
avatar
keyboard_arrow_up
keyboard_arrow_down
А я пропустила >->
avatar
keyboard_arrow_up
keyboard_arrow_down
baqa
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
baga
avatar
keyboard_arrow_up
keyboard_arrow_down
Затрудненьице(тм)
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
inori queue # dmesg | grep 'segf' | wc -l                                   [0]
1
inori queue # uptime                                                        [0]
 00:30:06 up 168 days,  2:47,  3 users,  load average: 0.23, 0.06, 0.02
inori queue #

hue-hue-hue
avatar
keyboard_arrow_up
keyboard_arrow_down
Пфф. Сервера не считаются!
avatar
keyboard_arrow_up
keyboard_arrow_down
лол, у него сервер сегфолтится
avatar
keyboard_arrow_up
keyboard_arrow_down
ВОТ ТАКИЕ ЛЮДИ ЗАСТАВЛЯЮТ ДЕО ПИСАТЬ ИНСТУРУМЕНТЫ НА ГО
avatar
keyboard_arrow_up
keyboard_arrow_down
На самом деле, это я говорила.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
кыш, я говорил
avatar
keyboard_arrow_up
keyboard_arrow_down
Не, я говорила. Я еще думала про создание языка, который бы исправлял хрень в Си…
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
а кто говорил, что си идеален?
avatar
keyboard_arrow_up
keyboard_arrow_down
Не знаю .-.
avatar
keyboard_arrow_up
keyboard_arrow_down
Я говорила, что Си гениален и очень прост, а не то, что идеален.
avatar
keyboard_arrow_up
keyboard_arrow_down
И вообще он ламповый .-.
avatar
keyboard_arrow_up
keyboard_arrow_down
Спойлер
avatar
keyboard_arrow_up
keyboard_arrow_down
А он говорит, что Си идеален?
avatar
keyboard_arrow_up
keyboard_arrow_down
хзлол, я не смотрел >_>
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
а осуждаешь?
avatar
keyboard_arrow_up
keyboard_arrow_down
Да!
avatar
keyboard_arrow_up
keyboard_arrow_down
D. Любой из них.
Во всяком случае, на словах <_<
avatar
keyboard_arrow_up
keyboard_arrow_down
>->
avatar
keyboard_arrow_up
keyboard_arrow_down
<-<
Наверное, наследством от B, автором которого является тот же Ритчи, и гениальностью нашей любимой парочки K&R.
В B имен типов не было. Переменные объявлялись как auto a, b, c;. И даже в современном Си их можно так объявлять >-<
И если ты пишешь auto * const b;, то Си решит, что это как int * const b;
avatar
keyboard_arrow_up
keyboard_arrow_down
А массивы в B были. И они перешли в Си с традицией окружать модификаторами типов идентификаторы переменных…
avatar
keyboard_arrow_up
keyboard_arrow_down
Не, они принадлежат типу.
avatar
keyboard_arrow_up
keyboard_arrow_down
Что с тобой случилось?
я уже это спрашивал, не колется :c
avatar
keyboard_arrow_up
keyboard_arrow_down
-1
avatar
keyboard_arrow_up
keyboard_arrow_down
Ну или до конца.
avatar
keyboard_arrow_up
keyboard_arrow_down
Оставь меня, мне плохо.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
а тебе это ни к чему знать :-P
avatar
keyboard_arrow_up
keyboard_arrow_down
А я и не спрашиваю.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
а мне пофиг
avatar
keyboard_arrow_up
keyboard_arrow_down
Ха-ха. Наконец-то.
avatar
keyboard_arrow_up
keyboard_arrow_down
Радуешься отсутствию проверки? >_>
avatar
keyboard_arrow_up
keyboard_arrow_down
Радуюсь тому, что начинаю его раздражать <-<
avatar
keyboard_arrow_up
keyboard_arrow_down
*раздражает всех по меньшей мере с 2001*
avatar
keyboard_arrow_up
keyboard_arrow_down
Да не. После того, как ты меня разыгнорил, гораздо веселее стало.
avatar
keyboard_arrow_up
keyboard_arrow_down
Виновато аниме.
avatar
keyboard_arrow_up
keyboard_arrow_down
несчастник
avatar
keyboard_arrow_up
keyboard_arrow_down
^ почему ваши препирательства так мило выглядят <_<
avatar
keyboard_arrow_up
keyboard_arrow_down
Потому что это я >->
avatar
keyboard_arrow_up
keyboard_arrow_down
>_>
avatar
keyboard_arrow_up
keyboard_arrow_down
Буду использовать как аргумент в полемике.
avatar
keyboard_arrow_up
keyboard_arrow_down
юзаю vscode с vim-эмуляцией и радуюсь
радуюсь отчасти из-за того что не пишу на го
avatar
keyboard_arrow_up
keyboard_arrow_down
Потому что Го это глупенький недоклон Раста! \o/
avatar
keyboard_arrow_up
keyboard_arrow_down
ну не, по-моему это всё-таки довольно разные языки
avatar
keyboard_arrow_up
keyboard_arrow_down
Ну, отношение к объектам сходное >->
avatar
keyboard_arrow_up
keyboard_arrow_down
И к обработке ошибок…
avatar
keyboard_arrow_up
keyboard_arrow_down
не знал на самом деле
avatar
keyboard_arrow_up
keyboard_arrow_down
Если не делать ошибки, не понадобится ничего обрабатывать /о\
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
так не бывает
avatar
keyboard_arrow_up
keyboard_arrow_down
Это у тебя.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
то-есть о своих ошибках Ози даже не подозревает, ясно-понятно
avatar
keyboard_arrow_up
keyboard_arrow_down
Так это же не те ошибки, что обрабатываются. Глупенький >->
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
игнорировать ошибки это ну такое себе
avatar
keyboard_arrow_up
keyboard_arrow_down
Их просто нет! \o/
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
в сколь-нибудь больших проектах так не бывает. это только в чём-то уровная лабораторки можно вычистить все ошибки, пушо коду от силы на две страницы а область применения чётко описана в условиях)
avatar
keyboard_arrow_up
keyboard_arrow_down
Ты опять ничего не понял <-<
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Ori
  • Бабушка-айтишник
Поэтому на лабораторках надо учить пользоваться try'ями сразу, а нас не учат.
avatar
keyboard_arrow_up
keyboard_arrow_down
Исключения маст дай! D:<
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
а, так весь твой код это лапша из ифов. говнокодер!
avatar
keyboard_arrow_up
keyboard_arrow_down
Каких ифов >->
Подумать только, как же ограниченны ваши познания <-<
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
дадада, конечно. использует траи тайком, а потом гонит на них, чтобы казаться кем-то
avatar
keyboard_arrow_up
keyboard_arrow_down
Ну, в Rust нет исключений. А в языках, где они есть, использую. Но это не значит, что они мне нравятся. Я уже все объясняла про мое мнение…
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
дай угадаю, они там называются по другому?)
avatar
keyboard_arrow_up
keyboard_arrow_down
Нет. Ну что ты говоришь… Вот покажи мне, где в Го исключения?
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
паника
avatar
keyboard_arrow_up
keyboard_arrow_down
Так паника — это совсем не то… В Rust паника только когда все плохо используется…
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
оно работает как исключение, кидается как исключение, значит это исключение с таким fancy name
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
и ничто не мешает его использовать как исключение
avatar
keyboard_arrow_up
keyboard_arrow_down
Если это разворот стека, это не значит, что это исключение >->
Вот смотри, таблицы для матчинга типов есть?
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
если есть прерывание текущего рантайма, разворот стека и возможность поймать, то это исключение

я даже научился различать их, если кидать только реализующие определённый интерфейс. При этом остаётся возможность определить, что оно не кастуется в мой интерфейс
avatar
keyboard_arrow_up
keyboard_arrow_down
Да-да… Конечно.
Но все равно в Rust это так не используется.
avatar
keyboard_arrow_up
keyboard_arrow_down
Да и в Го тоже… Хрень какая-то.
avatar
keyboard_arrow_up
keyboard_arrow_down

И это наша официальная позиция.
avatar
keyboard_arrow_up
keyboard_arrow_down
И как мне пробросить ошибку через несколько уровней вложенности?
avatar
keyboard_arrow_up
keyboard_arrow_down
Примерно так же, как работает std::optional, но с синтаксическим сахаром.
avatar
keyboard_arrow_up
keyboard_arrow_down
Таким образом, совесть будет мучить, если напишешь .unwrap()…
avatar
keyboard_arrow_up
keyboard_arrow_down
А если напишешь catch(...) — не будет…
avatar
keyboard_arrow_up
keyboard_arrow_down
У вас плохой дизайн, раз вы так делаете!
avatar
keyboard_arrow_up
keyboard_arrow_down
У нас вообще нет исключений, только UB и не бутающиеся ОС.
avatar
keyboard_arrow_up
keyboard_arrow_down
Ну, если до ядра доходит, то ещё печень стека печатается, это почти что исключение!
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
без исключений код похож на лапшу из ифов, где за проверками ошибок на каждой строчке не видно основную задачу
avatar
keyboard_arrow_up
keyboard_arrow_down
Ты слишком узко мыслишь. Зациклился на своих ифах… Сколько можно говорить…
avatar
keyboard_arrow_up
keyboard_arrow_down
Если у вас в Го такое говно с обработкой ошибок, то не надо переносить на другие языки это…
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
ты так говоришь просто так. если бы ты знал другой подход, ты бы его уже показал, а тебе нечего показывать
avatar
keyboard_arrow_up
keyboard_arrow_down
Так это ты игнорируешь любые мои предложения, где написано «Rust».
avatar
keyboard_arrow_up
keyboard_arrow_down
Хорошую вещь ржавчиной не назовут.
avatar
keyboard_arrow_up
keyboard_arrow_down
Да почему. Классное название. Морская тематика. Те кто пишут на Расте зовутся Rustacean — от Crustacean. Библиотеки раста называют crates — тип ящики. А маскот Раста — краб Феррис. Все отлично.
avatar
keyboard_arrow_up
keyboard_arrow_down
Без шуток — плохое имя подобрали.
Прям как Го — маскота.
avatar
keyboard_arrow_up
keyboard_arrow_down
Что плохого?
avatar
keyboard_arrow_up
keyboard_arrow_down
Будто C — прям очень хорошее название. Банальщина. А Rust выглядит красиво.
avatar
keyboard_arrow_up
keyboard_arrow_down
Почему не выбрать красивое имя для языка? Можно говорящее, отражающее суть.
Я не могу сказать что названия C/C++ хороши. Они никакие. Это просто буква.
avatar
keyboard_arrow_up
keyboard_arrow_down
Да блин. Судить имя — объективно бред. Даже не продолжай больше никогда.
avatar
keyboard_arrow_up
keyboard_arrow_down
Нет. Судить объект по имени — бред, да.
Судить само имя — нет. Я даю оценку имени, как сущности.
Я лошадь могу назвать Рухлядь. Вот просто. Она от этого хуже не станет. Но имя то плохое.
avatar
keyboard_arrow_up
keyboard_arrow_down
Нам нравится.
avatar
keyboard_arrow_up
keyboard_arrow_down
Ассоциация со ржавчиной, упадком, разрушением (от времени). Это неприятно.

А маскот Го это просто фейл.
avatar
keyboard_arrow_up
keyboard_arrow_down
Нет у нас никакой ассоциации.
avatar
keyboard_arrow_up
keyboard_arrow_down
С мозиллой!
avatar
keyboard_arrow_up
keyboard_arrow_down
Ты то что пристал к Мозилле?
avatar
keyboard_arrow_up
keyboard_arrow_down
т_т_т
avatar
keyboard_arrow_up
keyboard_arrow_down
В центре нос :C
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
(|) (|)
->T<-
avatar
keyboard_arrow_up
keyboard_arrow_down
лично моё мнение — я лучше буду писать лапшу из ифов чем половину кода оборачивать в try блоки

а если интересно — в расте ошибки действительно являются «enum»ом Result (в кавычках потому что технически это тагнутые юнионы) с двумя вариантами — Ok и Err.
проброс ошибки через несколько уровней производится через синтаксический сахар "?", например
let val = i_may_fail()?;

этот сахар работает по-моему так же как следующий код
let val = match i_may_fail() {
    Ok(val) => val,
    Err(e) => return Result::Err(e),
}

естественно, так можно сделать если функция, в которой мы работаем тоже возвращает Result с типом ошибки совместимым с ошибкой, возвращаемой функцией (долго объяснять)

что делать если мы не возвращаем ошибку из функции? мы паникуем:
let val = i_may_fail().unwrap();

ихсодный код Result::unwrap выглядит примерно так
match self {
    Ok(val) => val,
    Err(e) => panic!(...),
}

вот мы и дошли до паникования
согласно документации, panic должен быть использован тогда и только тогда когда «a program reaches an unrecoverable state»
после вызывания паники поток сразу же прерывается, стек разворачивается, если надо — печатается бэктрэйс
но в нормальной работе программы паники происходить не должны никогда
avatar
keyboard_arrow_up
keyboard_arrow_down
И заметьте, нету ифов. Только паттерн-матчинг.
avatar
keyboard_arrow_up
keyboard_arrow_down
(недоступная для разума слабеньких магия)
avatar
keyboard_arrow_up
keyboard_arrow_down
Результат тот же, значит тоже самое!
avatar
keyboard_arrow_up
keyboard_arrow_down
на самом деле уровнем пониже все ифы преобразуются в match но тссс
avatar
keyboard_arrow_up
keyboard_arrow_down
Магия!
avatar
keyboard_arrow_up
keyboard_arrow_down
Или switch…
avatar
keyboard_arrow_up
keyboard_arrow_down
Паттерн-матчинг это, все же, switch. А switch может преобразоваться как в ифы, так и в таблицу переходов.
avatar
keyboard_arrow_up
keyboard_arrow_down
нет, я на самом деле имел в виду буквально
на каком-то этапе обработки исходного кода все ifы преобразуются в match
avatar
keyboard_arrow_up
keyboard_arrow_down
А, я прочитала наоборот >-<
avatar
keyboard_arrow_up
keyboard_arrow_down
Это в HIR?
avatar
keyboard_arrow_up
keyboard_arrow_down
По-моему в MIR, но я не уверен точно
avatar
keyboard_arrow_up
keyboard_arrow_down
Да, угадал
avatar
keyboard_arrow_up
keyboard_arrow_down
Ну, у меня if транслировался в HIR в ноду с kind: Match…
avatar
keyboard_arrow_up
keyboard_arrow_down
а, ля
я почему-то думал что HIR идет после MIRа
ошибся, извините
avatar
keyboard_arrow_up
keyboard_arrow_down
HIR — это еще только преобразованное синтаксическое дерево, от High же. MIR — Middle. MIR транслируется в LLVM IR — совсем низко, но все еще выше ассемблера…
У HIR не очень большое разнообразие типов выражений, и If там нет, только Match. А вот в AST (синтаксическом дереве), еще есть If.
avatar
keyboard_arrow_up
keyboard_arrow_down
да, я просто в голове перепутал значения слов High и Low и запутулся
avatar
keyboard_arrow_up
keyboard_arrow_down
Ну, потому что AST является прямым описанием синтаксической структуры программы…
avatar
keyboard_arrow_up
keyboard_arrow_down
ох ля, в исходниках компилятора я ещё не бывал
avatar
keyboard_arrow_up
keyboard_arrow_down
Тот еще монстр… А ты уже разобрался с простыми макросами?
avatar
keyboard_arrow_up
keyboard_arrow_down
если ты про macro_rules!, то да
ну, как, «простые» макросы написать смогу, но для чего посложнее мне проще написать proc-macro
avatar
keyboard_arrow_up
keyboard_arrow_down
Вау. Хорошо… С syn и quote на «Добрый день»?
avatar
keyboard_arrow_up
keyboard_arrow_down
ну, с помощью коммунити дискорд сервера и stackoverflow вроде что-то получалось
avatar
keyboard_arrow_up
keyboard_arrow_down
Безгранична мощь растовских макросов!
avatar
keyboard_arrow_up
keyboard_arrow_down
почти, на самом деле
между вызовами макросов нельзя состояние сохранять
мне в один момент такое надо было, но пришлось обойтись чуть более сложным синтаксисом макроса
avatar
keyboard_arrow_up
keyboard_arrow_down
Чем ты таким занимаешься?
avatar
keyboard_arrow_up
keyboard_arrow_down
ну, в тот момент я пытался написать клиентскую библиотеку для X11 на чистом расте
мне надо было сгенерить огромное количество структур, и для каждой добавить в централизованый enum один вариант
я хотел изначально для каждого structа делать свой вызов макроса, но в итоге понял что легче будет просто сделать всё за один вызов макроса
avatar
keyboard_arrow_up
keyboard_arrow_down
rustc таблицу символов генерирует через макрос от списка. Что-то похожее…
Так ты занимался гуи на расте?
avatar
keyboard_arrow_up
keyboard_arrow_down
… большой макрос

гуи — нет, скорее просто созданием окон и рисованием на них линий посредством opengl
и то, только на линухе и совсем чуть-чуть на винде
avatar
keyboard_arrow_up
keyboard_arrow_down
Там symbols! весь этот список парсит и строит кучу констант и инициализатор таблички символов…
avatar
keyboard_arrow_up
keyboard_arrow_down
ля, rustc тоже использует quote и syn
иногда немного странно осозновать что компилятор раста написан на расте
и либы компилируются компилятором который использует эти либы…
avatar
keyboard_arrow_up
keyboard_arrow_down
Это называется «раскрутка компилятора». Уважающие себя компилируемые языки постоянно так делают…
avatar
keyboard_arrow_up
keyboard_arrow_down
Гугл, кажется, только раскруткой и пиаром и занимается .-.
avatar
keyboard_arrow_up
keyboard_arrow_down
Да, Го тоже раскручен…
avatar
keyboard_arrow_up
keyboard_arrow_down
на самом деле не знал
хотя, если подумать, то это логично…
avatar
keyboard_arrow_up
keyboard_arrow_down
Главное не потерять единственный бинарник твоего компилятора >->
avatar
keyboard_arrow_up
keyboard_arrow_down
это да, хд
avatar
keyboard_arrow_up
keyboard_arrow_down
Видел Redox OS?
avatar
keyboard_arrow_up
keyboard_arrow_down
видел, но не много
помню только что она на расте написана и всё
avatar
keyboard_arrow_up
keyboard_arrow_down
Конечно. В этом же и смысл, написать ОС и ее ядро на расте >->
avatar
keyboard_arrow_up
keyboard_arrow_down
единственный рабочий проект с графикой в окошках — это мой эмулятор chip-8
был написан давно, так что ни за красивость, ни за работоспособность не отвечаю
avatar
keyboard_arrow_up
keyboard_arrow_down
Енамы Раста — это вообще магия из мира камлов… Как и паттерн-матчинг. Гениальнейшее изобретение.
avatar
keyboard_arrow_up
keyboard_arrow_down
Но через Растономикон, все же, панику можно перехватывать…
avatar
keyboard_arrow_up
keyboard_arrow_down
Это однозначно лучше чем исключение.
Но исключение лучше ифов.
avatar
keyboard_arrow_up
keyboard_arrow_down
Ну и вот! Победа! \o/
avatar
keyboard_arrow_up
keyboard_arrow_down
Но всё ситуативно.
avatar
keyboard_arrow_up
keyboard_arrow_down
Ещё один плюс такого подхода к обработке ошибок, имхо — сразу и всегда понятно, может ли данная функция фэйлнуться. Нужно ли для неё делать обработку ошибок. Какие ошибки может вернуть эта функция — тип ошибки описывается в декларации функции.

Я смотрю на декларацию функции в плюсах и вижу что она возвращает тип. Кидает она исключения? Какого типа исключения она кидает? Сиди и гадай
avatar
keyboard_arrow_up
keyboard_arrow_down
Вот с этим в плюсах однозначно плохо.
avatar
keyboard_arrow_up
keyboard_arrow_down
Выглядит в точности как проверяемые исключения, только в профиль и с сахаром.
avatar
keyboard_arrow_up
keyboard_arrow_down
В расте это называется «recoverable errors», а паники называются «unrecoverable errors»…
avatar
keyboard_arrow_up
keyboard_arrow_down
Выглядит как названия.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
на лабораторках всегда будут учить чему-то древнему тупо потому что кто знает что-то новое, ему на порядок выгоднее пойти работать, чем учить
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Ori
  • Бабушка-айтишник
«древнему» ) Эти траи в дельфи наверное с первой версии есть.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
да и вообще хорошие программисты учителем работать не пойдут, разве что на полгодика, чисто по фану. пушо зарплата различаться будет едва не на порядок
avatar
keyboard_arrow_up
keyboard_arrow_down
Идут, ради хедхантинга. Почему бы к себе в тиму не затащить подающего надежды ученика.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
а, ну или так, но для такого необязательно учить, можно провести разве что пару уроков, не больше. это вообще ни о чём
avatar
keyboard_arrow_up
keyboard_arrow_down
Это зависит от самого человека. Ищет ли он пушечное мясо, пару сильных программистов, или одного-двух гениев.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
так в любом случае ну сколько надо времени, чтобы определить способного?
avatar
keyboard_arrow_up
keyboard_arrow_down
Полгода.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
та ну, откуда числа?
avatar
keyboard_arrow_up
keyboard_arrow_down
Нет, чисто способного — недели две-три.
Но если ты прям «выбираешь» то надо посмотреть как себя ведёт человек, его код, его психологию (да, я это не упомянул выше, каюсь).
Это очень дорогой рекрутинг, но привести гения к себе в команду — бенефит всем.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
обычно способных видно более-менее сразу, они ж не могут сидеть без дела, что-то делают сами по себе, что-то изучают сами по себе. Обычно уже сразу есть на что посмотреть. Можно на одном занятии посоветовать пару ресурсов, а потом через полгода ещё раз прийти и посмотреть результаты. Совсем необязательно для этого подаваться в рабство к школоло за пять тысяч в месяц)
avatar
keyboard_arrow_up
keyboard_arrow_down
Школоло? Я больше про универ говорил)
Школьник ничего не может ещё, очень редко они действительно независимы от родителей.
avatar
keyboard_arrow_up
keyboard_arrow_down
Если бы все айтишники были социально активными пегасиками, то да.
avatar
keyboard_arrow_up
keyboard_arrow_down
За месяц ты можешь посмотреть на его активность. За 2-3 — какие-то простые задачи, как пишет код. За 6 — на его подход к сложным задачам и на софт-скиллы (прям вот полностью и в деталях).
Напомню что пары 1-2 раза в неделю)
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
активность можно и по гитхабу посмотреть, отлично видно
avatar
keyboard_arrow_up
keyboard_arrow_down
Ну такое себе самопожертвование.
avatar
keyboard_arrow_up
keyboard_arrow_down
Поэтому мы и не обрабатываем! \o/
avatar
keyboard_arrow_up
keyboard_arrow_down
Ну, с богом...
avatar
keyboard_arrow_up
keyboard_arrow_down
Долетишь?
avatar
keyboard_arrow_up
keyboard_arrow_down
Агась. Даже ачивку заполучил в процессе:
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Irbifox
  • Хвосты Бункера

avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
японцы
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Irbifox
  • Хвосты Бункера
Вообще-то, ирландцы.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
а голова?
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Irbifox
  • Хвосты Бункера
Даллахан же.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
чаво?
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Irbifox
  • Хвосты Бункера
Дуллахан — злобный дух в ирландской мифологии, представляющий собой чудовищного безголового всадника.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
то-есть вот это где его голова
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Irbifox
  • Хвосты Бункера
Её тело в другом месте.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
когда всадник превратился в неё? О_о
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Irbifox
  • Хвосты Бункера
Когда японцы мангу придумали.
avatar
keyboard_arrow_up
keyboard_arrow_down
А в Японии это няшная безвсадниковая голова :-)
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Irbifox
  • Хвосты Бункера
У неё есть тело!
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Irbifox
  • Хвосты Бункера
Трансформируетесь тут?
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Irbifox
  • Хвосты Бункера
Съем ваше либидо!
avatar
keyboard_arrow_up
keyboard_arrow_down
  • ChaoticChloride
  • Артиллерист, танк, пони и эллипс, чейнджлинг и чейнджджлинг
Только половинку.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Irbifox
  • Хвосты Бункера
Полностью.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • ChaoticChloride
  • Артиллерист, танк, пони и эллипс, чейнджлинг и чейнджджлинг
Тогда не.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Irbifox
  • Хвосты Бункера
Ну а зачем оно вам?
avatar
keyboard_arrow_up
keyboard_arrow_down
  • ChaoticChloride
  • Артиллерист, танк, пони и эллипс, чейнджлинг и чейнджджлинг
На всякий случай, вдруг чо.
avatar
keyboard_arrow_up
keyboard_arrow_down
А ты будешь его есть медленно, закатывая глаза? >_>
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
и издавая пошлые звуки
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Irbifox
  • Хвосты Бункера
Не, сожру быстро и грубо.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Irbifox
  • Хвосты Бункера

avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
так гасить дракона кроватями и задумывалось :O
avatar
keyboard_arrow_up
keyboard_arrow_down
Да-да. Обязательно…
avatar
keyboard_arrow_up
keyboard_arrow_down
  • ChaoticChloride
  • Артиллерист, танк, пони и эллипс, чейнджлинг и чейнджджлинг
Последний раз когда играл, загасил его снежками.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
у тебя полный инвентарь снежков был что-ли?
avatar
keyboard_arrow_up
keyboard_arrow_down
  • ChaoticChloride
  • Артиллерист, танк, пони и эллипс, чейнджлинг и чейнджджлинг
Три. Может больше, не помню. И еще полстака тротила с тыквой. И яйца куриные.
Короч, все кроме нормального оружия.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • ChaoticChloride
  • Артиллерист, танк, пони и эллипс, чейнджлинг и чейнджджлинг
Еще и вместо того чтобы искать нормально крепость, воспользовался чем-то типо триангуляции.
avatar
keyboard_arrow_up
keyboard_arrow_down
Так только так нормально и получается >-<
avatar
keyboard_arrow_up
keyboard_arrow_down
  • ChaoticChloride
  • Артиллерист, танк, пони и эллипс, чейнджлинг и чейнджджлинг
Ну, обычно люди жемчуг кидают.
avatar
keyboard_arrow_up
keyboard_arrow_down
Если они принципиально не открывают экран отладки… Или не знают о методе…
avatar
keyboard_arrow_up
keyboard_arrow_down
  • Ori
  • Бабушка-айтишник
avatar
keyboard_arrow_up
keyboard_arrow_down
We won the war. For enemies.
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
The API is subject to change and may break at any time.
неприятненько
avatar
keyboard_arrow_up
keyboard_arrow_down
© Все мои C++ либки.
avatar
keyboard_arrow_up
keyboard_arrow_down
лапки
avatar
keyboard_arrow_up
keyboard_arrow_down
Спойлер
avatar
keyboard_arrow_up
keyboard_arrow_down
Хаскел все равно классный.
avatar
keyboard_arrow_up
keyboard_arrow_down
он позволяет больше времени тратить на аниме и лужение дырявых ведёрок?
avatar
keyboard_arrow_up
keyboard_arrow_down
кстати, о дырявых ведёрках..
avatar
keyboard_arrow_up
keyboard_arrow_down
Ведёрко хранит конфиги в yaml D:
avatar
keyboard_arrow_up
keyboard_arrow_down
ХОЛОДНО, БЛИН
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
носочки нада
avatar
keyboard_arrow_up
keyboard_arrow_down
уже.
Тут +8 на улице и батареи еле тёплые. Я даже процессор на 5% разогнал, чтобы теплее было :<
avatar
keyboard_arrow_up
keyboard_arrow_down
  • J-sama
  • Домашняя лоль с мятным хвостом
значит нядо больше шерсти
теперь го вкусные штаны
avatar
keyboard_arrow_up
keyboard_arrow_down
Я практически в угличской одежде сижу, разве что толстовка вместо куртки. Фыр бы побрал это новомодное адаптивное отопление.
avatar
keyboard_arrow_up
keyboard_arrow_down
О нет, мне нужен кластер. Лучше два, компилять тоже где-то надо.
avatar
keyboard_arrow_up
keyboard_arrow_down
~3000 чтений в секунду на ядро? D: