Ну да, с котлином жизнь приятнее. Но если есть выбор, добровольно лезть в дырявую инфраструктуру, поверх которой русские гении наворотили хитропопый компилятор несколько стремно. Есть там подводные камни и немало. Иногда приходится разбиратся с эффектами, порожденными в кишках JVM и натыкаться на архитектурные решения, продиктованные суровостью жизни.
Хаскель он как С++. Кучу всего в него запинали, сверху попрыгали, но всеравно фич не хватает. То то запрещено, то это компилятор не умеет. К использованию такого языка может побудить только специфика задачи, да и то альтернативы всегда будут пытаться отжать задачу.
Лучше чаще, но проще. А вот отладка сишки/плюсишки это для тонких ценителей. Кстати, тесты нужно писать везде, и в динамике опять же это проще. Вот автоматический рефакторинг, полноценная поддержка IDE, оптимизация это реально слабые места, и только ради этого суровый продакшн выбирает статику.
Тут вопрос в том, что динамики обычно (забудем на минутку про PHP) следят за безопасностью доступа, следовательно самый противный источник ошибок там отсутствует. Давайте рассматривать хотя бы джаву в сравнении с динамикой и тогда сравнение получится более адекватным
Если программа чистая (не зависит от ввода), а язык (компилятор) настолько хороший, что может сразу вывести результат, то много чего не нужно в рантайме.
Это претензия к тому, что что-то может быть опционально, или «опции» надо сравнивать в равных условиях? А то, понимаешь ли, ява приложение можно запустить так, что так называемое «управление памятью» может не сработать за время жизни приложения.
ОС будущего; хром тоже хейтили (да и сейчас хейтят) за памятеобжирание, но расширять оперативку экстенсивно нынче проще всего. Жаль только, банки вряд ли закотируют, им жабку подавай и хоть тресни.
Проблема тут в том что 1) микрософт годами в своем кривом апи провоцировала говнокодить; 2) микрософт компилятор жрет любой говнокодят который ты ему скормишь.
Я как-то попробовал врубить аналог -Wall -Werror в майкрософтном компиляторе на существующем проекте. И быстро вырубил обратно, так как сделать его компилируемым стало абсолютно невозможно.
Мне кажется, половина лора просто решила не сливаться в едином порыве экстаза от Раста вместе с РазрФальконом. Эх, тяжела и неказиста жизнь растопрограммиста.
В моём линуксе мои программы на C после valgrind-а работают с памятью правильно, а волосы гладкие и шелковистые
Иногда замедление в 20x раз ломает взаимные задержки так, что баги просачиваются. AddressSanitizer не спасает, потому что не всегда всё можно пересобрать им. Ну и задержки он тоже двигает туда-сюда.
А его конкурент, разработанный на кошерном статическом ЯП, просто не появился на свет. Но повод бросить какашку в огород популярной технологии, конечно, имеется.
Вы-то сами пробовали его использовать, или только слышали звон?
А что там такого особенного? Оно и для компилируемых используется. Например, для тестирования протоколов, когда данные поступают извне, и никакой статический чекер на принимающем конце по определению ничего не может контролировать в генерации передаваемых данных.
Особенность в том, что фаззер будет генерировать «мусор». Он ничего не знает о конкретном формате. Поэтому никакие сложные ситуации он спровоцировать в принципе не может.
Особенность в том, что фаззер будет генерировать «мусор». Он ничего не знает о конкретном формате. Поэтому никакие сложные ситуации он спровоцировать в принципе не может.
У тебя очень далекое представление о том, что из себя представляет фаззинг.