А кто-то говорил о исчерпывающем тестировании одним движением мысли? Это фанаты статики в первую очередь верят, что статика все проблемы порешает.
В многоуровневой распределенной архитектуре фаззер генерит корректные данные для протокола нижнего уровня и проверяет работу протокола вернего уровня. Проблема принципиальной типо-небезапасности всегда будет актуальна, как только поток данных выходит за пределы анализа конкретного тайпчекера, за пределами границы ввода/вывода.
Но вот некоторые товарищи, доводящие идею о типо-безопасных ЯП до абсолюта, мечтают о мире, в котором все написано на одном чисто-функциональном ЯП с самой продвинутой системой типов, иммутабельностю и т.д...
Но вот некоторые товарищи, доводящие идею о типо-безопасных ЯП до абсолюта, мечтают о мире, в котором все написано на одном чисто-функциональном ЯП с самой продвинутой системой типов, иммутабельностю и т.д...
Все правильно, статическая типизация не дает информации о внутренних состояниях объектов, потому идеально безопасный язык должен обходится без состояний.
Другое дело, что в контексте бизнеса на безопасность даже банки в основном кладут (дешевле возмещать потери клиентам) — обычно скорость разработки более важна.
Это заблуждение, скорость разработки для бизнес кода будет более высокой на джаве/шарпе, чем на всяких скриптах. За шарп не скажу, а вот на джаве используя современную IDE можно писать тонны кода нон-стоп, т.е. без запуска и отладки.
Когда напишешь под 25-50 КБ кода, то можно запускать и отлаживать. Как правило всё уже работает, исправляешь лишь несколько логических ошибок.
А со скриптами, даже прилежный программист начинает творить дичь со структурами данных и в итоге код постепенно превращается в write-only и скорость разработки существенно падает. Я уж не говорю, что там всё нужно отлаживать на каждый чих, ни о каком нон-стоп написании и речи быть не может.
Динамическая типизация в контексте безопасности — безусловное зло. Другое дело, что в контексте бизнеса на безопасность даже банки в основном кладут — обычно скорость разработки более важна
За шарп не скажу, а вот на джаве используя современную IDE можно писать тонны кода нон-стоп, т.е. без запуска и отладки.
Фабрики фабрик фабрик можно писать нон-стоп целый день, для этого даже думать не надо. А если задача нестандартная, то сразу появляется либо TDD, либо старое доброе запустил-посмотрел
А со скриптами, даже прилежный программист начинает творить дичь со структурами данных
Джавист о таком не помышляет - это же надо будет всю иерархию классов менять, и неделя набора текста насмарку
И? Там нет речи ни о Java, ни о скриптовых языках.
Динами́ческая типиза́ция — приём, широко используемый в языках программирования и языках спецификации, при котором переменная связывается с типом в момент присваивания значения, а не в момент объявления переменной. Таким образом, в различных участках программы одна и та же переменная может принимать значения разных типов. Примеры языков с динамической типизацией — Smalltalk, Python, Objective-C, Ruby, PHP, Perl, JavaScript, Lisp, xBase, Erlang, Visual Basic.
Фабрики фабрик фабрик можно писать нон-стоп целый день, для этого даже думать не надо.
Это в очень древнем легаси. Отрасль давно перешла на IoC и DI, даже веб-макаки об этом слышали.
А если задача нестандартная, то сразу появляется либо TDD, либо старое доброе запустил-посмотрел
Когда набираешься опыта, особенно специализируясь на чём-то одном, то большинство нестандартных задач переходят в разряд стандартных. Именно об этом речь, когда говорят об x10 между новичком и профи.
Джавист о таком не помышляет - это же надо будет всю иерархию классов менять, и неделя набора текста насмарку
Как раз, всё наоборот, у джависта рефакторинг не вызывает страха и уныния как на других платформах.
Например, вот эти словосочетания назовем оксюмороном:
горькая радость; звонкая тишина; громкое молчание; горячий лёд; сладкая боль; правдивая ложь; искренний лжец; кричащая тишина; долгий миг; оригинальная копия.
В приведенных примерах сочетаются противоположные по смыслу определения или свойства явлений, в результате чего возникает новое смысловое качество, которое помогает создать выразительный художественный образ.
Современные IDE и для скриптов позволяют не приходя в сознание писать, например используя автозапуск тестов при изменениях.
Мдя... Да, вы работайте не переживайте, я только рад, что вы на своей скриптоте пашете - конкурентов меньше. А так, если бы тот же Гугл имел мозги в программинге - программисту-изобретателю-одиночке можно было бы вешаться, как впрочем и большинству стартапов.