Какое направление лучше выбрать при изучении c#?

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

Долгое время я изучал различные технологии и языки программирования. Что-то знаю хорошо, что-то не так хорошо как бы хотелось. В любом случае мои знания устарели. Нужно что-то новое и более прибыльное.
Сейчас я - эникейщик программист разрабатывающий что угодно из чего угодно и как угодно )
Работа в принципе сейчас есть - но зарплата оставляет желать лучшего. Эникейщики не в почете.

Изучив тенденции, вакансии я увидел что сейчас есть 2 направления, даже языка. Java и C#.
Выбрал C#. Одна из причин, что это разработка майкрософт - а они так или иначе захватывают рынок все больше и больше. ИМХО, тут всё спорно вплоть до традиционного холивара.

Возникли сдедующие вопросы
1) С# или Visual C#?
C# — объектно-ориентированный язык программирования. Разработан в компании Microsoft.
Visual C# — это реализация языка C# корпорацией Майкрософт.
Как я понял - реализация есть совокупность ПО. Но в вакансиях требуют знание C#, но не оговаривают реализацию - инструмент ПО. А реализация может быть любая - иметь ошибки, отходить от стандарта и т.д.
Можно ли сказать, что в большинстве случаев нужно изучать не язык, а его реализацию - C# для Visual Studio?

2) Что такое платформа .NET Framework?
В 90% случаев никто не рассматривает эту платформу/фреймворк а сразу переходят к её использованию совместно с ASP или C#. И используют Visual Studio.
Почему не рассматривают платформу как каркас, а сразу смешивают её с языком программирования и конкретной реализацией, позиционируют это как технологию, что ненаучно?
Т.е. говорим фреймворк, язык, реализация - а на практике Visual Studio и все там есть.
Вот учебник куда ткнуть и как это будет в Visual Studio работать.

3) Недавно прочитал про .NET CORE.
Это ведь новая технология? Получается .NET Framework через пару лет уже будет не нужен? Ведь возможность кросплатформенности .NET CORE с учетом развития этой платформы сделает её основной платформой для разработки под все ос и типы устройств, в то время как .NET Framework будет только под Windows.

Вот такая каша в голове.
Так какое направление лучше выбрать?
C# для Visual Studio с упором на десктопные приложения под ОС Windows
C# ASP.NET + БД + HTML/CSS/ - веб реализация и решения
.NET CORE+XAMARIN - кросплатформенное ПО
  • Вопрос задан
  • 4534 просмотра
Пригласить эксперта
Ответы на вопрос 4
@Free_ze
Пишу комментарии в комментарии, а не в ответы
1) С# или Visual C#?

Где вы прочитали это? В природе бывает лишь C# и он описывается стандартами. Visual %LANG_NAME% обычно Microsoft называет свои версии Visual Studio, заточенные под конкретную технологию. Но язык все равно С#.

2) Что такое платформа .NET Framework?

Это как бы...фреймворк) То есть вся та среда, в которой исполняется ваша программа, включая виртуальную машину (CLI) и библиотеку стандартных классов (FCL). То есть скомпилировав свое приложение, вам его нужно этой среде передать и она гарантирует наличие всего необходимого, чтобы приложение выполнилось. Пишет о нем отлично местный гуру - Джефри Рихтер в "CLR via C#". Странно было бы, если учебники, скажем, по JavaScript вплотную рассматривали бы V8, правда?)

3) Недавно прочитал про .NET CORE.

Это альтернативная реализация .NET Framework. Оно иначе работает и FCL там построена иначе. Но C# там точно такой же, как и на "большом" фреймворке, так что начав учить его вы ничего не потеряете. А уж MS позаботится, чтобы их сопутствующие технологии тоже не сильно отличались (ASP.NET MVC от ASP.NET Core, EntityFramework от EntityFramework Core.

Вывод: если вы только начинаете, то вам без разницы, хоть под Core, хоть под .NET Framework, язык там один и тот же, консольные приложения такие же. Просто некоторые классы переехали в отдельные сборки. С нуля же лезть в фреймворки (ASP.NET MVC/Core, WPF, EntityFramework (без знания ADO.NET)) - рановато, освойтесь с самим языком, базовыми библиотеками.
Ответ написан
@d-stream
Готовые решения - не подаю, но...
Если вкратце, то практически любой язык программирования как таковой осваивается за несколько дней. А вот все что вокруг - те же фреймворки - их только общий обзор может занять месяцы.
Соответственно когда говорят просто "c#" или "visual c#" - то скорее подразумевают опыт относительно фреймворков. Если же говорят о чем-то специфичном, то там во главе угла именно специфичность, а язык указывается вторично

И да, найти хорошую работу и зарабатывать хорошие деньги - это лучше не программировать, а жениться на дочке миллиардера =)
Ответ написан
saboteur_kiev
@saboteur_kiev
software engineer
"Сейчас я - эникейщик программист разрабатывающий что угодно из чего угодно и как угодно )"

Если вы программист - устройтесь программистом в крупную компанию.
Если вы не программист, учитесь пользоваться поиском, например поиск вакансий и читайте требования под ними. Учите так, чтобы могли сказать "да, я соответствую этим требованиям" и идите на интервью.

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы