beduin01: C# - коммерческий язык, в него вкладывали гигантские деньги и это основной язык разработки под винду. Уж D с C# сравнивать смысла мало. Если бы в D конкретно вложились, то был бы толк, думаю. Ясам недоумеваю почему D всё ещё не стал супер популярным.
Мне почему-то кажется, что там можно не разобраться не из-за того, что код сложный, а из-за того, что непонятно для чего вообще пишется то, что пишется. Или там исчерпывающая документация и комментарии?
Oleg Shevelev: в том, что уже написан большой проект из нескольких серверов и узлов связи, слишком долго его переписывать и потом по новой тестировать, это уйма времени и денег. Никому это не нравится, но приходится с этим работать.
kuzia_bRatok, есть ещё курсы от одной конторы, я смотрел, но так как прочитал пару книг, то ничего из них нового не узнал. Но можешь ознакомиться (но там урезаны все уроки, кроме первого, типа надо подписку покупать и на официальном сайте смотреть, но они легко так нагугливаются эти курсы): https://www.youtube.com/watch?v=g2eghX0WGxg&index=...
kuzia_bRatok: чтобы быстро въехать в основные принципы и вообще что это и как работает, можно прочитать: "Крис Андерсон. Основы Windows Presentation Foundation", что я и сделал. А дальше уже есть книги посерьёзнее, там всё подробно разбирается.
kuzia_bRatok: вообще всё на других принципах. Но там сама технология круче. Во-первых Windows Forms это обёртка над WinAPI и UI рисуется библиотекой GDI, всё это работает медленно и UI с анимациями крутой сложно будет сделать. WPF же рисуется с помощью DirectX (на нижнем уровне), а следовательно можно делать очень крутые пользовательские интерфейсы. Например, можно очень просто расширять существующие элементы управления с помощью DataTemplate'ов. А внешний вид, поведение и анимацию определять в стилях, стили в свою очередь могут содержать внутри себя те самые DataTemplat'ы. Короче, в друх словах не объяснишь, придётся тебе читать и много.
Например, в винформс просто накидал на форму кнопок и прочего. В WPF же окно может на себя принимать лишь один элемент (свойство Content у окна), это потому что окно наследуется от класса ContentControl. А уже в свойство Content у окна можно поместить Grid (контейнер размещения), а в него уже сколько хочешь и чего угодно. При том этот грид можно гибко настроить, всякие там колонки, строки, всё это при растяжении окна может равномероно растягиваться, а какие-то колонки, например, оставаться того же размера. Или одна колонка растягивается на 10 пикселей, а вторая например на 30. То есть как не растягивай, соотношение остаётся 1 к 3.
Так же можно легко делать анимации, там всё для этого уже написано и помещать эти анимации в стили. Типа навёл курсор мыши на какой-то объект, сработал тригер, сработала анимация. Так как это всё хранится в ResourceDictionary их можно программно подменять, то есть всякие стили менять на лету и меняется вообще всё, даже оформление и поведение контролов, если захочешь. Короче, мощная штука. Но самое в ней крутое, что мне нравится, это система биндингов - Binding и паттерн MVVM.
kuzia_bRatok: в WPF менять дизайн приложения это всего лишь вызвать Application.Current.Resources.Remove("MetroStyleKey"); и потом на его место добавить файл ресурсов с другими стилями для элементов управления. То есть подменить дизайн раз плюнуть. Естественно эти стили надо ещё написать или скачать готовые.
VZVZ: а Xamarin? Правда там тоже есть нюансы, насколько помню, под каждую ОС свой UI надо делать, если ошибаюсь, поправьте (iOS, Android, Windows Phone). https://habrahabr.ru/post/188130/
Oleg Shevelev: неа. Можно выучив шарп и писав на нём несколько лет, когда ты уже действительно станешь из себя что-то более-менее представлять, начать учить новый язык и платформу. Я вот хочу сейчас что-то новое выучить, пока думаю C++, так как он сильно от C# отличается. Ну и С++ в связке с C# это сильно.
Павел Тишаков: Visual Studio - это среда разработки. В ней ты создаёшь проект и в проекте уже используешь какой-то язык программирования. Конкретно в твоём случае я советую C#.
Oleg Shevelev: и новый дотнет сейчас соткрытым исходным кодом. как и компилятор Roslyn. Всё лежит на гитхабе. А в Visual Studio сейчасможно писать на Python и многих других языках, например на D.
Oleg Shevelev: сейчас на шарпе можно писать под всё. У меня на работе под линукс, например проект на шарпе и на плюсах компилят. Там просто проекты сильно связаны. на плюсах работа с графикой, а на шарпе сервера.
На C# можно писать и под MacOS и под Linux и под Android.
JihadTV: как бы намёк, не учите си шарп, учите яву. Ну есть же ненавистники майкрософта, по умолчанию нужно его ненавидеть и не понимать почему. На самом деле, как вижу я из вакансий, зп у шарп разработчиков вполне себе приличная и примерно как у тех же Java.