Спасибо за исследование, выглядит весьма хорошо для первой прикидки. Но в нем есть и существенные ограничения, по которым я бы не стал принимать какие-то серьезные решения. Например:
в Numbeo очень мало данных по небольшим городам, количество репортов за последний год(!) первой тройки: Волгоград — 41, Омск — 34, Воронеж — 45.
Выбор товаров/услуг существенно отличается между городами и их удаленности от каких-то центров. Например отдыхать в Мексику с 99% вероятностью нужно лететь с пересадкой в Москве, найти Мишленовский ресторан, внезапно, тоже можно только в Мск, под какое-нибудь нишевое хобби может не быть магазинов, твой любимый певец может не приезжать к тебе с концертами.
Все таки айтишные зарплаты в РФ обычно с лихвой перекрывают базовые нужды, следовательно "продуктовая корзина" будет отличаться. Тут уже не так важно сколько стоит картошка на рынке или бутылка пива в баре по сравнению со, скажем, рентой жилья весьма хорошего уровня, стоимостью билетов в ту же Мексику и конечно же курсов по яхтингу.
Рынок труда тоже имеет значение, все таки работу с компенсацией в х2-3 от медианы будет более реалистично найти в СПб/Мск. Опять же выбор в этих городах как правило куда больший (не обязательно в вопросах компенсации, а сами продукты/технологии/етц).
При этом есть какие-то другие факторы, которые наоборот ухудшают положение больших мегаполисов, например природа вокруг. Скажем, Москвы до нормальной горнолыжки.. гхм, очень далеко.
В общем-то запросы у всех разные, так что конечный индекс по факту выходит неким средним по больнице.
Для тех кто хочет безопасно и больно (aka Wayland), можно поменять i3 на sway с сохранением конфига, а софтины выбрать из списка migration guide. Большая часть приложений у меня работает уже года 2 без каких-то проблем с поддержкой Wayland, так что XWayland (эмуляция x11) использовать приходится в редких случаях, из основного — chrome/electron (на HiDPI-дисплеях это оканчивается размытыми пикселями, т.к. XWayland почему-то не подхватывает нативное расширение экрана: С). Ну и да, шаринг экрана в зуме/мит-гугл/веребу/етц не работает (только софт под XWayland шарится).
Разница есть, поскольку это поведение может поменяться в любой момент, даже без обновления компилятора в самый неожиданный момент (например при правке кода совершенно в другом месте). Вот наглядный пример того, что может пойти не так с UB.
Первый пример крайне просто читается, даже человеком со знанием английского (при условии, что он догадается, что str -> string и foldl -> fold).
Второе уже требует знания монад и ФП, тогда не должно являться большой проблемой.
А что касается времени на написание — то ФП, это, по моему опыту, совсем другие дебри. "Что-то накидать хоть немного работающее и сделать это быстро" — явно не про оное. Так что думаю сравнение не очень уместно. Впрочем, мой опыт может быть и не столь обширен
в C++ тоже кодогенерация, и программист сгенерированный код не читает, ему приходится пользоваться головой и инструментами, какие есть. Причём и там не всё радужно, шаблонный код часто read-only а сообщения об ошибках в шаблонном коде — нечитаемая портянка на весь экран.
Каша из логов шаблонного кода со временем превращается в понятное (пусть и все еще большое) чтиво, сам в это когда-то не верил. Ну и вообще говоря можно получить код с инстанциированными шаблонами (e.g clang -Xclang -ast-print -fsyntax-only ...), вдобавок отладчики уже давно выводят типы
Пожалуй по интересу к рассказчикам первое место я отдам математику, с упоением рассказывающему о своем деле. Что-то в этом есть, пусть даже я и не совсем все понял (сильно залип на 3 "вау-эффекте")
Спасибо за исследование, выглядит весьма хорошо для первой прикидки. Но в нем есть и существенные ограничения, по которым я бы не стал принимать какие-то серьезные решения. Например:
в Numbeo очень мало данных по небольшим городам, количество репортов за последний год(!) первой тройки: Волгоград — 41, Омск — 34, Воронеж — 45.
Выбор товаров/услуг существенно отличается между городами и их удаленности от каких-то центров. Например отдыхать в Мексику с 99% вероятностью нужно лететь с пересадкой в Москве, найти Мишленовский ресторан, внезапно, тоже можно только в Мск, под какое-нибудь нишевое хобби может не быть магазинов, твой любимый певец может не приезжать к тебе с концертами.
Все таки айтишные зарплаты в РФ обычно с лихвой перекрывают базовые нужды, следовательно "продуктовая корзина" будет отличаться. Тут уже не так важно сколько стоит картошка на рынке или бутылка пива в баре по сравнению со, скажем, рентой жилья весьма хорошего уровня, стоимостью билетов в ту же Мексику и конечно же курсов по яхтингу.
Рынок труда тоже имеет значение, все таки работу с компенсацией в х2-3 от медианы будет более реалистично найти в СПб/Мск. Опять же выбор в этих городах как правило куда больший (не обязательно в вопросах компенсации, а сами продукты/технологии/етц).
При этом есть какие-то другие факторы, которые наоборот ухудшают положение больших мегаполисов, например природа вокруг. Скажем, Москвы до нормальной горнолыжки.. гхм, очень далеко.
В общем-то запросы у всех разные, так что конечный индекс по факту выходит неким средним по больнице.
Запятая будет лишним гемором для парсера: https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=84d9b5daaacbb00406e433c389ecb869
В i3 есть floating режим у окон :) Но да, почти всегда его не видно.
Для тех кто хочет безопасно и больно (aka Wayland), можно поменять i3 на sway с сохранением конфига, а софтины выбрать из списка migration guide. Большая часть приложений у меня работает уже года 2 без каких-то проблем с поддержкой Wayland, так что XWayland (эмуляция x11) использовать приходится в редких случаях, из основного — chrome/electron (на HiDPI-дисплеях это оканчивается размытыми пикселями, т.к. XWayland почему-то не подхватывает нативное расширение экрана: С). Ну и да, шаринг экрана в зуме/мит-гугл/веребу/етц не работает (только софт под XWayland шарится).
Разница есть, поскольку это поведение может поменяться в любой момент, даже без обновления компилятора в самый неожиданный момент (например при правке кода совершенно в другом месте). Вот наглядный пример того, что может пойти не так с UB.
Да, действительно, а у array вообще memory layout эквивалентен сишному
int[..]
, можно ли так просто добавлять extern?А почему у раста символ с external linkage, да и еще и с сишным интерфейсом (
pub extern"C"
), а у примера с плюсами нет?Выгллядит как haskell's typeclass или abstract class в C++, interface в Java/Delphi/PHP/остальных ООП языках
Первый пример крайне просто читается, даже человеком со знанием английского (при условии, что он догадается, что
str
->string
иfoldl
->fold
).Второе уже требует знания монад и ФП, тогда не должно являться большой проблемой.
А что касается времени на написание — то ФП, это, по моему опыту, совсем другие дебри. "Что-то накидать хоть немного работающее и сделать это быстро" — явно не про оное. Так что думаю сравнение не очень уместно. Впрочем, мой опыт может быть и не столь обширен
e.g: IDEA
Каша из логов шаблонного кода со временем превращается в понятное (пусть и все еще большое) чтиво, сам в это когда-то не верил. Ну и вообще говоря можно получить код с инстанциированными шаблонами (e.g
clang -Xclang -ast-print -fsyntax-only ...
), вдобавок отладчики уже давно выводят типыВ protobuf, к примеру, куда проще заглянуть в исходники посмотреть сигнатуры функций, нежели лезть в документацию
Пожалуй по интересу к рассказчикам первое место я отдам математику, с упоением рассказывающему о своем деле. Что-то в этом есть, пусть даже я и не совсем все понял (сильно залип на 3 "вау-эффекте")
Немного добавлю в копилочку: ctop
Все таки не гуй, но все равно с приятным интерфейсом
Ну вообще говоря есть такая штука, но у меня почему-то не прижилась
Кажется вот
А они есть.
Но нужно делать лишние действия с каждой такой переменной
tms320, snes (стандарт не нашел, но выглядит старым), v810 и даже x86