Итак, делюсь первыпи впечатлениями, как ощущения после перехода с Ruby на C#. Пока всё, с чем я столкнулся, это неудобства:
- Null class.
- Отсутствие null как объекта. Затрудняет жизнь многочисленными провернками на null. Паттерн introduce null object не особо спасает. Писать для каждого класса нулевой объект не радует. Можно ли реализовать 1 общий класс, от которого всё наследуется?
- System.Linq библиотека
- Вроде бы удобная вещь, но! Она была нагло
спислизана с ruby, причём сделано это очень криво. Зачем-то нужно было менять названия методов. Плюс были портированы не 1 в 1. В результате имеем:
Method alternatives Ruby C# array.collect array.select array.select array.Where array.detect ( = array.select.first ) array.first array.join( token ) String.join(array, token) - Много лишних слов
- public overrride static void methodName() vs. def self.method_name
- Консоль
- Отсутствие консоли, где можно быстренько потестить какой-нибудь метод.
Или я просто предвзято отношусь к C# и Microsoft?