Про C#

Jan 11, 2021 11:31

Праздники пролетели. Отдыхал почти две недели. Пытались, конечно, напрячь, гипотетические клиенты, но всем отписывал, что нахожусь в отпуске и просил отнестись с пониманием. Люди недоумевали, но отваливались. От этого, кстати, устаёшь больше всего. Не от самой работы, а от того, что в любую минуту времени может потребоваться переключиться с одного контекста на другой. Ещё  во всякие внеурочные часы любят звонить импульсивные.  А с такими серьёзных дел не получается. По серьёзным делам наши люди любят с понедельника, с первого числа, с зарплаты и т.п. Предварительно списаться, попросить порекомендовать. А импульсивные вполне могут договориться о встрече и пропасть. Ещё бывает  по пьяной лавочке звонят.  По итогу таких звонков - хватанёшь чужой энергетики (по телефону передаётся вполне, а  по меилу или вотсапу нет), и потом нужно входить в правильный контекст, настраиваться на свою волну, что тоже непросто. Порой реально бесишься. И хочется как-то устраниться от всего этого. Телефон отключать нужно, по-хорошему. Но это тоже стресс.

Так вот. Чем занимался в праздники. C#. Он крутой. В нём очень много всяких разных концепций. А концепции - это интересно. Программировать что-то, в чём уже разобрался, скучно и рутинно. Это как исковые писать или жалобы. Не сложно, но как представишь, что это полдня - день сидения перед монитором. Сначала описать фабулу дела, потом что решил суд первой инстанции, что второй. В чём один был не прав, в чём другом. Процитировать важные фрагменты. Потом правовые нормы переписать и в нужные места вставить. Логическую структуру туда-сюда подвигать. Собственно, саму концепцию придумать и описать - ну минут двадцать , ну час. А расписывать всё - полдня, а то и день. Можно халтурить, но я не халтурю - не люблю. Поэтому порой как писать надо - так прям в тоску впадаешь. Вот и в программировании также. Много рутины. Её можно порой перевести в творчество, но не всегда.  Сами по себе языки программирования в своей основной массе - крутые. Возьми любой язык, начни изучать, и сперва будешь в восторге. Но язык сам по себе значит не много. Потому что решают фреймворки. А с ними уже  сложнее. Они не настолько чёткие, структурированные, логичные - как сам язык. Точнее их логика и структура своя собственная и её нужно понять.



На эту сессию лабораторки по C# были связаны с разработкой на Winforms (построение стандартных Windows-приложений).  Сама методичка в работе утверждена на кафедре аж в 2011 году! Где 2011 и 2021? Приложение, которое нужно было сваять... Ну, оно бессмысленное. Оно не выполняет никакой задачи. Понятно, что это не интересно. Усложнил себе задачу. И упёрся в события и делегаты. Есть такие в языке сущности. Их идея не сложная - делегат, это объект, который знает как вызывать метод (т.е. функцию).  А событие - связано с делегатом. Допустим, есть окно с кнопкой. Когда кликаешь на кнопку, происходит событие. А событие вызывает метод - который выполняет какое-то полезное действие. Например выводит "Hello World!" в виде диалогового окна. И вот я завис. Причём если посмотреть ютюб на эти темы, то объяснения такие, что лучше их не смотреть. Один объясняет события на примере, создаёт два класса в разных окнах и постоянно между ними переключается. Другой вообще говорит, "F*$k Delegates!", типа нафиг они не нужны. И показывает как  создавать обработчики событий через лямбда-функции. В общем, нормально я так заморочился. Разобрался вроде. Когда разобрался - всё просто. Но нужно чтобы улеглось и повторить итерацию.После того, как с  winforms разобрался, решил, что хочу WPF.

Если winforms древняя как кости мамонта, то WPF поновее. Так, в книжке по WPF за 2012 год, уже говорится, что винформс устарела, а WPF наше всё, потому что оно для отрисовки интерфейса используют DirectX, для описания расположения и свойств элементом интерфейса XML, и содержит в себе много крутых штук.  И если в winforms просто события, то в WPF есть ещё маршрутизируемые события. Тоже прикольная штука. Допустим если мы создадим на форме надпись, в неё поместим квадрат, а в него круг и кликнем мышкой по кругу, то кто получит событие? Кто запустит обработчик? Круг, квадрат или надпись? Или все они?

Вот все праздники этим и маялся. Объективно, за два года учёбы в Политехе я программированию и сопутствующим предметам уделил внимания больше, чем юриспруденции за всё время на юрфаке. Зачем мне это? Радует ли? Приносит ли удовольствие? Не знаю, трудно сказать. Как будто гештальт закрываю какой-то. Буду ли это монетизировать?  Тоже не знаю. Вообще, любые знания нужно превращать в деньги.
Previous post Next post
Up