Pull to refresh
72
0
Dzmitry Malyshau @kvark

User

Send message

В рамках проекта vange-rs у нас реализованы экспериментальные рендеры уровней игры как с классической тесселляцией, так и с трассировкой лучей. Последний как раз сейчас переделываю для достижения корректности и лучшей производительности. Так что нормальное 3D не за горами, и как будет чем похвастаться, мы обязательно напишем ;)

Те ещё пляски с бубном вокруг модулей, да методов именований. Лучше бы о массивах фиксмрованной длинны подумали.
Возможно, я чего-то не понимаю, но вот это стремление сэкономить на курсорных клавишах (вверх-вниз) вызывает глубочайшее недоуменее. Особенно этим грешит HP. Мне часто приходится прыгать по коду в разные стороны, читать больше, чем писать, так что хотелось бы больших и удобных стрелок.

По скорости WebGL никогда не будет дотягивать до Vulkan/Metal.

Ну ОК, Unity WebGL, скажем, пока не очень. Но ведь на телефонах он может и Vulkan/Metal использовать. А что сможет этому противопоставить Blend4Web?

Если программисты и далее будут писать микроконтроллеры на Node.js, то да, всё плохо. Выбор языка программирования не решает всех бед, но позволяет существенно повлиять на доверие к поведеню программ. Скажем, сильная типизация Rust позволяет избежать множества ошибок ещё до тестирования, а также гарантирует определённое поведение при исключительных ситуациях (паника).


Отставив проблемы человеческих отношений в сторону (это отдельная тема), я вижу большой потенциал в развитии парадигм программирования и инструментов, их реализующих. Скажем, если вы в функциональном языке вызываете чистую функцию с определёнными параметрами, то во-первых можете быть уверены, что результат при тех же аргументах не изменится; а во вторых, что она не станет ломать пентагон и нажимать на красную кнопку.

Спасибо за статью! Аж слезу наворотило…

Как-то нецивилизованно союз распался. Побрасали кто где, буд-то второпях:
С 1991 года «Академик Сергей Королёв» стоял в порту Одессы, но у Украины на тот момент не было ни космической программы, ни денег на содержание такого корабля. В 1996 году он был продан на металлолом. Корабль «Космонавт Юрий Гагарин» постигла та же участь — последний рейс был совершен в «порт» Аланг.
удивленные ответы там от разработчиков — мол, а что, вам что-то непонятно

Хех, а можно подробнее? :)
Тут вариантов несколько. Скажем, если человек возмущается, мол, что нету доков вообще, то естественно никто не бросается описывать ВСЁ. Мы уточняем, где конкретно непонятно, чтобы с минимальными усилиями добиться максимального эффекта — хотя бы документацию прямо в коде подправить и уточнить.


Вы ж не подумайте, что мы ожидаем от всех, что наш API будет очевиден ;) Как закончим Vulkan и Metal, устаканимся с моделью API, там будет рационально и документацией заняться. Любая помощь приветствуется!

Проблема кажется слегка надуманной:


другая работает в пару раз медленнее того что вы ожидали

Для вас это критичный по скорости участок кода? В одном из следующих релизов, когда SIMD/ASM стабилизируются, эта библиотека обновится и выдаст скорость на нужном уровне.


критичные участки кода написаны на Си

Так не все же, а только те, где нужен SIMD/ASM.


а для некритичных намного удобнее пользоваться языками со сборкой мусора

Rust — это не только более безопасная работа с памятью, а и вообще с ресурсами. Не говоря уже о явном контроле за ходом исполнения (control flow), отсутсвию null pointer exception, а также других особенностях языка, нацелленых на безопасность.

не удивлюсь если это приведет к большим изменениям в стандартной библиотеке

breaking changes? Сомневаюсь. Если они что-то и будут менять в стабильных интерфейсах стандартной библиотеки, то хорошенько пройдутся crater заведомо, чтобы точно никого не сломать. Так что бояться этого нет смысла.


Например, до сих пор не стабилизированы simd-интринсики и/или ассемблерные вставки

Это достаточно нишевые фичи, доступные в ночных сборках на крайняк. Так что "давно стабилизоровался и годен к использованию" вполне истинно для большинства прикладных задач.

MIR становится транслятором по-умолчанию и становится доступна инкрементальная компиляция

Не вводите народ в заблуждение! MIR в стабильном Rust 1.11 всё так же выключен по умолчанию, а включён он в Rust 1.12 beta, вышедшей в тот же день.


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

Если хотите красиво и быстро, есть (была?..) ещё такая штука на Rust: http://autumnai.com/

Не могу обойти стороной поддержку от Asus. Ноуту был год, никаких чеков не сохранилось, петля вырвана с мясом. Сказали прислать, заменили всё, теперь как новый, абсолютно бесплатно. Одно удовольствие :)

Так в том и смысл, чтобы писали на высокоуровневых языках. На SPIR-V же никто руками не пишет ;) И это не "обещают", а уже как полгода можно делать самому, при желании.

В смотрите определение не в том контексте. Наука != программирование (в целом). Вот другое, из той же вики:


Паради́гма программи́рования — это совокупность идей и понятий, определяющих стиль написания компьютерных программ (подход к программированию). Это способ концептуализации, определяющий организацию вычислений и структурирование работы, выполняемой компьютером[1].

Ок, убедили. Только про Раст совсем мимо :)

Электромобили были ещё в 19-ом веке. Планшетов и карманных ПК тоже было немало до появления iPod и iPhone.


Что мешает использовать, например, те же корутины в Ruby?

Не знаю. В С++ точно ничего не мешает. Одно дело — поддерживать фичу, а другое — плясать вокруг неё при дизайне языка и его стандартной библиотеки.

Легковесные потоки Go вполне можно впихнуть в С++ в качестве библиотеки. Я так понимаю, совет С++ как раз эту тему разжёвывает сейчас очень активно (глядя на успехи Go). Есть же boost-fiber, в конце концов.


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

Парадигма — это способ мышления. Они продолжают развиваться и сегодня, как видно из примеров выше. Более того, современные инфраструктуры компиляторов (как LLVM) позволяют новым идеям воплощаться в жизнь как нельзя быстрее и легче. Новые языки появляются чуть ли не каждую неделю. В следующем году, как прогнозируют синоптики, что прирост языков удвоится ;)

А можно парочку примеров?

  • Go — параллельное программирование на легковесных потоках
  • Rust — безопасная работа с памятью без сборщика мусора
  • Idris — зависимые типы
1
23 ...

Information

Rating
Does not participate
Location
Toronto, Ontario, Канада
Date of birth
Registered
Activity