Этот вопрос задавали на youtube раза три (возможно даже один и тот же человек, я это не отслеживаю) и когда я начал писать заметку, то понял, мне нечего рассказать. Я стал чаще писать сначала заметку, а потом записываю видео. Пока пишу заметку, я как бы прикидываю, о чем я буду говорить в видео. В итоге текстовая и youtube версии получаются очень похожими.
После клика я попал в компанию, которая делает что-то похожее на 1C кадры для рынка США и Канады. Это одностраничное приложение, в котором очень много сделано на стороне клиента, поэтому здесь очень даже серьезный упор на JavaScript.
Наконец наступил этот момент. Хотя я этот видеокурс закачал на youtube в пятницу вечером, публичным делаю только сейчас. Просто я его закачал перед сном и сразу стало доступно только видео с самым ужасным качеством, хотя я закачал его в 4k качестве. Логично, ведь ютюбу понадобилось немного времени на то, чтобы обработать все.
В субботу утром я проверил и мой первый бесплатный видеокурс по Web разработки на .NET Core стал уже доступен во всех возможных вариантах качества.
Делать его доступным в субботу – я побоялся, что оно останется совсем уже незаметным, потому что это выходные и пусть уже появляется к понедельнику. Поэтому я решил подождать еще сутки.
Теперь хотелось бы поговорить про языки программирования, которые стоит изучать в 2019-м году, а про какие можно уже забыть.
Уже практически свершившийся факт, что на мобильном рынке происходит смена языков программирования. Можно уже с большой долей уверенности говорить о том, что Objective-C мертв. Apple переводит все на Swift и этот язык уже окончательно стал основным на iOS.
Уже вторую заметку читаю по поводу того, что Web программирование стало сложным. Это произошло не вчера и не на прошлой неделе. Веб разработка действительно становится сложнее, потому что и сайты становятся на много более сложными.
Лет 20 назад сайты были небольшими из нескольких страниц и для этого достаточно было только HTML. С ростом размеров понадобились более сложные вещи и стали появляться CSS и серьезный рост показала разработка бакэнда.
Лет 10 назад Web начал отбирать рынок у десктопных приложениях и сильное развитие получает JavaScript и различные фреймворки. А тут еще и Apple забивает гвоздь в крышку гроба Adobe Flash, поэтому JS и HTML5 становятся центральными технологиями.
Скоро исполнится 3 года с момента, как Apple открыла свой язык Swift, но за это время не случилось серьезного толчка в развитии. Все изменения, которые были внесены за это время сделали язык лучше, но он все же остался в рамках инфраструктуры Apple. На Swift можно писать приложения для iOS, но он так и не пошел дальше.
Когда Microsoft представили миру C#, то не смотря на отсутствие поддержки со стороны самого гиганта, нашлись энтузиасты, которые начали переносить его на другие платформы и появился Mono. Это говорит о том, что C# действительно великолепный язык и его люди готовы переносить самостоятельно.
В случае с программами и ОС мне в принципе все равно - открыт исходный код или нет. Я уже долгие годы работаю с Windows, Linux и macOS и у меня не возникало желания поменять код. Конечно же из этих трёх ОС, я даже теоретически смог бы поменять что-то только в Linux, потому что исходники остальных не доступны. Но все равно, тут я говорил о желании, а не о возможности.
Я просто пользуюсь программами и не думаю о коде. Если нет нужной возможности, то буду искать программу, в которой эта возможность есть, а реализовывать ее самостоятельно не хочется. Каждый должен заниматься своим делом и у меня есть своя работа, у разработчиков ОС и программ, которыми я пользуюсь - своя работа.
До сих пор я писал мобильные приложения только под iOS поэтому выбирал Objective-C или Swift и мне нравилось использовать их. Меня несколько раз спрашивали, а почему не Xamarin, ведь тогда я смогу писать и для iOS и для Андроида.
У меня не было цели писать для нескольких платформ. Я на работе пишу на C# и приходить домой и снова писать на C# не особо хотелось. Мне нужно было разнообразие в виде Swift, ведь это новый мир для меня, который интересно и хочется познавать.
Но вот понадобилось написать для iOS и Андроид платформ и вот тут я выбрал Visual Studio и его возможность создавать приложения сразу для нескольких платформ. И пока это интересно. Немного непривычно, но по своему интересно.
На работе у нас перешли с TFS на git и команда архитектуры зачем-то написала power shell скрипты, которые должны были бы облегчить работу с git. Теоретически да, с PS скриптами стало удобно работать тем, кто всегда работал с TFS и никогда не понимал, как работает git, потому что с помощью скриптов идеологию git превратили в tfs, что очень даже...
Но даже если сделать power shell скрипты гибкими, я не вижу в них смысла по двум причинам.
1. git итак не сложный, если понимать, как он работает. Не нужны PS скрипты для того, чтобы выполнить команду fetch и merge, это легко сделать напрямую
В .NET Core 3 должна появиться поддержкак десктопных приложений и IOT. И под десктопными понимается не только WinForms, но и WPF, что очень даже круто. Мне нравится XAML и считаю его великолепным решением для построения визуальных интерфейсов, потому что можно делать интерфейсы, которые легко адаптируются под любые размеры экрана.
HTML уже давно доказал свою гибкость и XAML - это примерно тот же подход, поэтому круто, что Майкрософт будет поддерживать это и дальше. Зачем они сохраняют WinForms? Вот этого не знаю, я бы отказался от него. Сэкономили бы ресурсы, которые можно было бы направить на более интересные проекты.
Вопрос читателя: Извините, если злоупотребляю Вашим вниманием, но как-то не получается у меня найти ответы на свои вопросы на всевозможных форумах. А может я их просто не умею задавать.
Может Вы меня наведете на правильную концепцию в вопросе сортировки данных.
За много лет работы я сроднился с dBase и до сих пор ассоциирую сортировку таблицы с соответствующим тегом, принадлежащего ей компаундного индекса. Видимо от того и теряюсь.
Простой пример:
MS SQL -> microORM -> класс, соответствующий структуре выбираемой таблицы -> компонент DataGridView, принявший информацию и отсоединенный от источника данных.