Сергей Александрович тут
разводит панику, что я в своём ЖЖ
занимаюсь бесполезными умопостроениями. Объясню, как это работает. Мне интересно понимать, как устроен мир. Никакой немедленной пользы я из этого не извлекаю, конечно, но опыт показывает, что в будущем это позволяет принимать более адекватные решения. Я живу в предположении, что идеальный
(
Read more... )
Reply
Про статистическую природу тоже неясно: вы все-таки продолжаете настаивать на своем утверждении, что проекты больше 5k строк кода на динамических языках являются статистически незначимой аномалией, или нет?
Ну и, я так понял, вы второй раз переводите совершенно левые дискуссии (причины популярности Scala, полезность критерия indeed.com) на спор «нужны ли типы?». Это специально или нечаянно получается?
Reply
Reply
> если бы вы знали об основополагающем принципе PSP/TSP
Пожалуйста, не старайтесь угадать, чего я знаю, а чего не знаю. Постарайтесь без перехода на личности.
> Поэтому я смотрю на ужасающие вещи с поддержкой старых закостеневших стандартов, чтобы лучше разбираться в полезности языков.
Надеюсь, вы не делаете выводом о том, что если какой-то язык не поддерживает какого-то закостенелого ужасающего стандарта, то этот язык ни на что не годится? Это было бы логической ошибкой.
Reply
Насчёт перехода на личности.
Скажите честно, вы про этот принцип знали?
Я смотрю на языки с точки зрения моей работы по поддержанию какого-либо страшного закостенелого стандарта. И делаю выводы исключительно о моих трудозатратах, исходя из моего (вполне достаточного) опыта.
Так что, даже если какой-то язык не поддерживает какого-либо стандарта, я прикидываю, во что бы мне обошлась его поддержка на этом языке. И после этого выношу решение, что язык никуда не годится.
Reply
Статическая типизация - наилучший инструмент удешевления труда? Расположите пожалуйста в порядке приоритета следующие инструменты: неизменяемые данные, автоматическое управление памятью, наличие готовых библиотек, размер сообщества, REPL и интерактивная разработка, статическая типизация.
> Скажите честно, вы про этот принцип знали?
Знаю конечно, и не очень понятно, почему именно статическая типизация удостоена чести служить вершиной его воплощения. По мне так интерактивная разработка куда сильнее сокращает время между внесением и обнаружением ошибки.
> я прикидываю, во что бы мне обошлась его поддержка на этом языке
И какова методика прикидки?
Reply
Reply
Это такая тавтология? X ловит все ошибки, которые X ловит?
> REPL (сокращает цикл больше всех), статическая типизация, неизменяемые данные и далее уже не столь важно.
А почему вы приходите ко мне в журнал поспорить именно о статической типизации, а не в журнал к какому-нибудь Java-программисту, или C#, и не доказываете ему важность REPL-а? Чем я удостоился такой чести?
Reply
Представьте себе инструмент, который ловит X. Этот инструмент может действовать выборочно (тестирование) и тотально (типизация).
Модуль с текстом
a = X
b = X
придётся тестировать два раза (или писать два теста) и один раз вычислять типы.
Мне прикольно сюда заходить. Я постоянно нахожу здесь теплый приём и вдумчивых собеседников. Один трепетный theiced, вожделенно алчущий моего внимания, чего стоит. Здесь очень уютная атмосфера.
И я стараюсь огородить вас от ненужного напряжения. Зачем вам знать, что я пользовался Clojure лет за семь-восемь до его появления? Я это у себя написал, в своём ЖЖ.
PS
Отчество у меня Александрович.
Reply
Reply
Вы внесли ошибки, которую ловит типизация. Вам их показали сразу и все. Вы их все можете исправить. Разом. С наименьшим возможным расстоянием по времени.
Это как тесты, сгенерированные по шаблону для всех фрагментов кода.
То есть, тестирование, но автоматическое. Не надо писать тесты отдельно.
Если я всё правильно понимаю, написание тестов уменьшает скорость работы программиста и увеличивает временной зазор между внесением и обнаружением ошибки.
Reply
Любой первокласник научается за пару месяцев таблице умножения на родном любом языке. Сделайте язык программирования, который позволит роботу научится, как первокласнику.
Лучше не отвечайте.
Reply
Reply
Reply
Reply
Reply
Leave a comment