Murkt>> М-да.Mishka> Ну было очень много сделано на CGI и, что, это служит доказательством того, что это было хорошо?
Я не привожу youtube или google в доказательство того, что питон - это хорошо. Я привожу их в доказательство того, что duck typing работает, причём работает без всяких проблем. И не падает, что удивительно. Десятки миллионов пользователей годами не могут эти сайты уронить. Несмотря на отсутствие статических проверок типов.
Murkt>> Читали? А этот сайт, между прочим, стоит очень много денег. И область таких сайтов - очень большая. И денежная. Или веб - "это не тру, мы его не рассматриваем, кому он нужен"?Mishka> Вопрос не в том, чего нельзя сделать. Вопрос в том — а нужно ли? И как это окупится сейчас и потом. Делают массу решений, Которые сейчас дешевле. Это оправдано в какой-то мере и в какой-то момент — когда выживаешь. Но не очень далее этого.
Слова красивые. Разверни более подробно, чем же грозит применение языков с "утиной" типизацией? В тех областях, где они сейчас применяются. И через сколько лет, ориентировочно, исчезнет оправданность?
Mishka> А так — и на пёрле сайтов написано не мало. Одноко же ты его не особо любишь. А ведь по твоей логике выходит, что и сайты есть, и стоят много денег, ан нет — в доказательства лучшести пёрла ты это не приводишь.
Выше я уже сказал, что про сайты - это не доказательство лучшести питона.
Murkt>> Как одно конфликтует с другим? Стремление сократить сроки и стоимость разработки очень часто означает именно раннее и серьёзное тестирование. Юнит-тесты, регрессионное тестирование.Mishka> Оно всегда конфликтует. Полное тестирование всё равно невозможно.
А что, со статической проверкой типов возможно полное тестирование? Разве что в случае программ уровня hello world.
Mishka> Да и как ты протестируешь тот же метод, если он типы не проверяет? Ты реализуешь все типы какие возможно?
Я протестирую его на тех типах и данных, которые я буду использовать. Если он работает и на других типах - так в чём проблема? Когда мне понадобится, я протестирую, или другой человек протестирует этот метод на работу с другим типом данных. Если работает - я его повторно буду использовать. Или ты думаешь, что в динамически типизируемых программах в коде появляются переменные с неизвестно каким типом и значением, и которые могут из-за этого уронить мою программу?
Ну, разве что рядом НЛО пролетать будет.