C# очень хороший язык. Реализация, архитектура, API высокоуровневых частей фреймворка - страшный ад. Коллега как-то искал баг вида "программа не реагирует на закрытие главного окна". Оказалось что логика валидации состояния контролов сделана настолько противоестественно, что удаление контрола с основного окна методом Parent = null; калечит состояние этого парента. Внутренности методов которые это выполняют - костыль на костыле и костылем погоняет, сразу очевидно, что авторам идея "посидеть подумать, а потом только писать" совершенно не близка.
no subject
Реализация, архитектура, API высокоуровневых частей фреймворка - страшный ад.
Коллега как-то искал баг вида "программа не реагирует на закрытие главного окна". Оказалось что логика валидации состояния контролов сделана настолько противоестественно, что удаление контрола с основного окна методом Parent = null; калечит состояние этого парента. Внутренности методов которые это выполняют - костыль на костыле и костылем погоняет, сразу очевидно, что авторам идея "посидеть подумать, а потом только писать" совершенно не близка.