metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-08-20 08:09 am
Entry tags:

Внимание, системы типов и базы данных - срач

Спор про F# (там рекаптча если шо)

Товарищ прицепился к тому, что в F# нельзя написать функцию, которая бы по индексу поля в кортеже возвращала бы значение поля.

Т.е. вообще-то ее написать можно, через Reflection, но 1) это все только благодаря дотнету, но никак не системе типов; 2) это противоречит духу статической типизации и является способом стрелять себе в ногу.

Никак не могу человеку объяснить разницу между статической типизацией и натягиванием совы на глобус реализацией динамической типизации поверх языка со статической, чем занимаются 90% либ доступа к БД (все эти ADO.NET, ODBC, JDBC, BDE и прочая).

[identity profile] plumqqz.livejournal.com 2010-08-20 11:18 am (UTC)(link)
Вот в данном случае вместо написания вручную требуется написание вножную лыжами стоя на голове в гамаке. В качестве циркового номера это, без сомнения, много зрелищней.

[identity profile] metaclass.livejournal.com 2010-08-20 11:50 am (UTC)(link)
Вообще причина в следующем: если писать "как обычно" - это очень быстро надоедает, устаешь и начинаешь делать ошибки. Ну и вообще занятие тупой повторяющейся работой ломает мозг.

Использовать кодогенерацию сложнее, но результат гарантированно содержит меньше ошибок и более полезен для ума :)

[identity profile] plumqqz.livejournal.com 2010-08-20 11:51 am (UTC)(link)
Все не нагенерируешь, увы.

[identity profile] metaclass.livejournal.com 2010-08-20 11:58 am (UTC)(link)
Так все и не надо - только то, что поддается генерации без извращений.

[identity profile] plumqqz.livejournal.com 2010-08-20 12:02 pm (UTC)(link)
И вообще лучше быть богатым и здоровым, чем бедным и больным :-)