metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-10-12 10:31 pm

Инструменты

http://theiced.livejournal.com/199627.html?thread=2403019#t2403019
Большинство реальных проблем вызывается криворукими мудаками, которые по служебной халатности руководителя проекта получили доступ к клавиатуре и репозиторию. Станут ли мудаки менее мудаками, если сменять рабочие инструменты? Нет, не станут.

п. 1: вреда от мудаков будет меньше. У них со статик типизацией код не соберется, а за несобираемый код в репозитории наказывают болью.

п. 2: если дать не-мудакам кривые инструменты - они хочешь-не хочешь, но будут писать мудацкий код. И на все вопросы "а чтойта в у вас нету контроля версий и юнит-тестов" будут просто посылать в известном направлении, т.к. с бинарными файлами скриптов, набираемыми из справочников в программе под дос и дублирующимися в файловой БД (реальная система, я с ней работал несколько лет, обслуживал) - никакой контроль-версий и прочее не работает.

Это, например, как делать ремонт в советском союзе - из подручного говна, палок и спизженных на работе инструментов и делать ремонт сейчас - через 45 минут в общественном транспорте доступен гипермаркет с доставкой и японскими школьницами на инфоцентрах.
В итоге: личные умения и опыт, конечно, решают, но инструменты соответствующие помогают работать аккуратно и не задолбавшись.

[identity profile] metaclass.livejournal.com 2012-10-13 06:47 pm (UTC)(link)
1) системы типов не дают сделать тип null и проверки не нужны. Например в F# чтобы тип мог быть null нужно это явно указать при объявлении типа
2) чтобы возвращать анонимные типы, нужно усилить выводилку типов. Т.е. чтобы вывод типов мог работать за границами отдельного метода.

Попробуйте F#, благо он в студии 2010 есть, а в 2008 ставится дополнительно. Там тайпчекер хоть и не такой мощный, как в хаскеле, но по крайне мере даст представление.