пятница, 8 июня 2018 г.

С#/С++

Вспоминаю с#. Веду протокол изменений, разностей и вообще того, что удивило и порадовало.
Разница с с++:
Это предопределённых порядок выполнения операндов слева направо. В с++ такого сейчас нет, компилятор может оптимизировать все очень странно(про порядок вычисления операндов, вроде это так).

Разница между && и &. & не сокращают вычисления, && сокращают. С++ компилятор может действовать как хочет. Страуструп пишет, что вычисления с++ всегда сокращенные. Сейчас в статьях встречала, что порядок вычисления условий в заголовке условного оператора не определён, те зависит от компилятора, в с# всегда слева направо).

В плане математики в с# все более строго. Неявные преобразования с потерей информации запрещены .

Ну, сборщик мусора. Лафа и халява.

Жёсткие различия между struct и class. К этому нужно будет привыкнуть.

Область видимости переменной - это целый блок программы, где она описана, а не только блок, начиная с места непосредственного объявления. Тоже кажется нелогичным, но это так.

В с# мажно сделать псевдонимы для имён библиотек .

Можно импортировать не только пространство имён, но лишь отдельный тип (видимо тоже удобно для разрешения конфликтов имён).

Что такое out в списке типов аргументов функции - пока не дошла, только встретила использование.

Метод сжатый до выражения- это вещь для таких лентяев как я. Писать => проще чем кучу всего обычного. ; в конце метода нужна.

С конструкторами с параметрами по умолчанию надо быть осторожнее. Т.к. при изменении количества параметров всё нужно перекомпилировать. Если нет такой возможности нужно иметь варианты для обратной совместимости.

Короткий инициализатор свойств - круто

Разный уровень доступа к свойствам.

Интересный вариант для совместной работы - это  partial class. Особенно важно, что в каждой части могут быть объявлены свои интерфейсы для реализации и можно друг другу не мешать.

На сегодня все.

пятница, 1 июня 2018 г.

Как найти русскую запятую? Переход с винды на мак.

Переходить с винды на мак плохо. Особенно плохо делать это посреди рабочего процесса. Все горячие клавиши другие, приходится переучиваться. Каждый раз при Ctrl+c Ctrl+v ничего не срабатывает. Сначала залипаешь, тупишь. Потом вспоминаешь, что это мак, ругаешься и перенажимаешь command+c command+v. Я думала, что самое сложное это запомнить переключение раскладки: Ctrl+space. Но оказалось, что это цветочки.

Я долго не понимала, как найти нужные функции программ, которые на винде вызывались правой кнопкой. В мак-мыши кнока всего одна.  Те действия, те меню, что раньше показывались по правому щелчку - есть ли они вообще здесь? Или их нет и не будет? Или они должны включаться по-другому? А если  должны включаться, то как? Два дня работы я мучалась. При поиске в браузере не могла открыть ссылку в новой вкладке. Не могла добавить файл в проект на вижл студии. Не могла добавить пакет нугет. Думала, что студия под мак поэтому и называется страшно урезанной. На третий день случайно открыла, что аналогом правой кнопки мыши тут является комбинация Ctrl+mouseclick. Работать стало легче. Но те вещи, что раньше делались одной рукой, стали требовать участия двух (чай стало пить неудобно, а т.к. напитки спасают глаза от переутомления, это серьёзный минус).

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

Про дурацкий аппстор без которого не установить ничего (даже бесплатного) я уже молчу.

Я много читала жалобы пользователей мак на виндоус. Что якобы все непонятно, неудобно, а на маке все просто, ясно и любой разберется. Но переходить с видны на мак не менее болезненно. Все привычные вещи не работают. Все ни капельки не интуитивно, а заморочено и сложно. А красивая анимация при запуске и выключении программ перестаёт радовать уже на второй день пользования, примерно тогда, когда под рукой в нужный момент не оказывается привычных и удобных инструментов.