Обновить
23
0

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

Отправить сообщение

Специально заказал i5-12600, отчасти по причине что он не имеет E-ядер и, с одной из мыслей, - поиграться с AVX512. У кого-то есть информация на каких материнках оно ещё не обновилось, а на каких будет патч?

у меня в заказе недорогая GIGABYTE B660M DS3H DDR4, но информации найти не удалось

Если не затруднит, было бы очень интересно: https://habr.com/ru/company/surfstudio/blog/646677/comments/#comment_23968545

Спасибо. Вижу - ракета

Не очень понятно о какой оценки производительности речь, если о компиляции, то, наверное, я могу пропиарить свой репозиторий: https://github.com/inv2004/bench_nim_build

Там собранаа довольно разнообразная статистика, включая m1 и m1 max. Можно запустить у себя и сравнить с остальными конфигурациями

некоторые только со скобками пишут: f(a,b) или a.f(b) , избегая разделение пробелами

Моё понимание: данная фича сделана для сторонних модулей включая FFI в другие языки. При этом и сам Nim Style Guide и большинсво модулей придерживаются camelCase

Выступлю защитником Нима. Согласен, что это высказывание, вероятно, скорее звучит как агитка, очень часто, и не только автор этого языка, желают видеть своё детище единственным. Про звучание согласен, однако, если посмотреть на Nim, то он имеет FFI со многими языками гораздо более дружественную чем можно было бы ожидать после такого высказывания:

  • C - тут вообще без вопросов, так как Nim компилируется через него

  • JS - аналогично - Nim компилируется и в него

  • python - есть отличный nimpy

Собственно, но это конечно мой опыт, "тратить время на сздание переходников" тут приходится гораздо меньше чем во многих других языках. Но, с негативной оценкой этого высказывания согласен

Возможно укороченная запись != обязательно лаконичная. Лаконичность - краткое и ясное выражение мыслей

Удивляет какое продолжительное время Араки тащит это на себе, при этом так же удивляет объём и то, что многие вещи не бросаются на начальной стадии, как часто бывает когда ресурсов мало.

Помню как в issues к Nim спросили про аналог концепции владения из Rust и нету ли планов это перенять, Араки ответил что в настоящий момент планов таких нету, но подумать над этим стоит, и через пару релизов появился paper с предположением как это реализовать в Nim, и вот уже в Nim присутсвуют такие вещи как -gc:arc и -gc:orc, но пока эти gc не включены по-умолчанию.

Andreas Rumpf: Nim ARC/ORC (NimConf 2020) - YouTube

godbolt не показывает data-секцию:

hexdump

Юмор понятен, если это флек от типов, то тоже понятно, но если отталкиваться от сюжета, где автор хотел просто сделать compile-time решение то:

Пишем первое что пришло на ум:

func fb(n: int): string =
  for x in 1..n:
    if x mod 3 == 0:
      result.add "fizz"
    if x mod 5 == 0:
      result.add "buzz"
    if result.len > 0 and result[^1] == '\n':
      result.add $x
    result.add '\n'

let res = fb(100)
echo res

хм, хорошо бы это посчитать при компиляции:

const res = fb(100)
echo res

Готово:

https://godbolt.org/z/shnbzna9s

Здорово конечно, но это только одно условие и массив, хотя, наверное, его размер можно дженериком

С ходу не знаю можно ли: там и for и mut, хотя не проверял, но в плане того что можно в const - раст в текущем состоянии очень ущербен

Умей раст нормально в const и статьи бы не было

Отличие в том, что, столкновение пешехода с чужой рукой, маловероятно будет иметь опасные последствия, когда как с самокатом - будет больно не только руке, но и, вероятно, очень больно самокатчику после падения

плюсы близко к этому

В gin не нравится error-handling:


В том плане, что обработка ошибок из хэндлера выглядит как:


if err != nil {
  c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": err.Error()})
}

Добольно многословно даже для go, когда как удобнее было бы, если бы если сам handler мог бы возвращать error, а потом какой-то middleware его обрабатывал бы. Подобное можно сделать через panic, но это тоже не лучший вариант

Мне казалось, что основная фишка replit — это все (как минимум много) языки на одном сайте. И именно это у него повторяется. Про патенты не в курсе

Но скопировал саму идею, вроде как

Я специально сделал T: float, U: int чтобы такой проблемы не было в полном примере. Ведь + должен сработать для таких типов

Надо два интерфейса делать разных?

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность