Непрерывность мысли

Jul 20, 2010 16:48

Попробую сформулировать такой термин: "дискретность стиля программирования", который всецело зависит от возможностей конкретного языка ( Read more... )

continuous, programming, code, discrete, idea, language

Leave a comment

7ocb July 20 2010, 13:15:43 UTC
С другой стороны чем прямолинейнее язык, тем сложнее будет на нем сказать "а вот там две недели назад мы сгенерили вот такую вот штуку, надо бы ее прикрутить". Я не уверен что корректно говорить о том, что мысль все время движется только вперед основываясь только на том, что она непрерывна.

Reply

swizard July 20 2010, 13:28:26 UTC
Я специально уточнил, что речь о прототипировании и проверке идей. Понятно, что в отделе на пять тысяч индусов и проекте на двадцать гигабайт заархивированных исходников правила будут несколько иными :)

Reply

7ocb July 20 2010, 14:05:34 UTC
Хм, в случае совсем-совсем прототипирования да, но идея идее рознь.

С другой стороны возможно же, что идея подлежащая прототипированию сама по себе не будет прямолинейной. Хорошо если мы говорим о прототипе чего то небольшого и абстрактного. Но это таки и в голове просчитать можно не тратя время на собственно набор кода в редакторе (:

Reply

swizard July 20 2010, 14:16:06 UTC
Ну почему же небольшого и абстрактного...

Под идеей я понимаю что-то типа такого: "Интересно, что для поиска в этих данных будет быстрее: тупо перебрать подряд параллельно на четырех ядрах, или сначала построить обратный индекс и искать в один поток?"

По-моему, быстрее и надежней накидать, замерить и посмотреть глазами на гнуплотовский график, чем пытаться прикинуть в уме :)

Единственно, "быстро накидать" не получается на "дискретных" языках, потому как твоей основной мысли (проверить идею) начинают мешать второстепенные, касаемые собственно реализации (а где что мне надо объявить сначала).

Reply

7ocb July 20 2010, 15:33:13 UTC
Но в данном случае, если мы говорим о производительности поиска данных нам уже нужен будет язык, который поддерживает такие понятия как "поток" и при этом довольно близок по основным характеристикам к языку, который будет использоваться для конечной реализации того, что мы прототипируем. То есть я, например, не могу быть уверен, что тот же питон будет вести себя в случае потоков так же как с++. В результате прототип для теста вроде "что будет быстрее - один поток или несколько" на питоне не имеет смысла для конечной системы на с++.

Я говорю в данном случае о том, что чем более комплексная задача, тем меньше ее можно прототипировать в отрыве от основной платформы реализации а чем менее комплексная тем проще ее просто продумать, вместо того, чтобы писать код. Как то так это мне видится.

Reply

7ocb July 20 2010, 15:49:08 UTC
То есть чтобы сразу быть понятнее - я ни в коем разе не пытаюсь строить опровержение всего на частном случае, я просто показываю свое видение: существует впринципе очень небольшой участок задач на которых непрерывный язык даст преимущество именно в силу своей непрерывности.

Reply


Leave a comment

Up