C++ или C# новичку?

Всем привет. Я не совсем уж новичок, который вообще не сталкивался с программированием.
Немного о себе. Мне 16, год вебом (пол года фронт, пол года бэк), пробовал себя - не мое.
Потом 3 месяца С++, за 3 месяца изучал только процедурное программирование, из ООП знаю только о модификаторах доступа, геттеров и сеттеров =) В общем, почти ничего.
У меня есть курс (>300 уроков по 30 минут) по С++. И тут же нашел такой же курс по C#..
И возник вопрос: мб прекратить изучение плюсов и начать изучать С#?
Подскажите пожалуйста, что перспективнее в разработке десктопных приложух?

P.s. У меня странная мания охватит все и вся.. Я слышал, что С++ -это "плохой швейцарский нож", который довольно трудно овладеть. Трудности меня не пугают (мб потому что еще глуп и зелен в этом) и то, что на плюсах можно писать что угодно, меня склоняет к ним.
С другой стороны C#, который легче плюсов и который поддерживается движком Unity.

В общем подскажите, что лучше для ДЕСКТОПА/АНДРОиДА и что ПЕРСПЕКТИВНЕЕ в ближайшие лет 10.

Заранее всем спасибо.
  • Вопрос задан
  • 7858 просмотров
Решения вопроса 1
@stratosmi
Немного о себе

Немного о себе.
Программирую более 30 лет. Со школы.
Из них за деньги - более 20 лет.

год вебом (пол года фронт, пол года бэк), пробовал себя - не мое.

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

Потом 3 месяца С++, за 3 месяца изучал только функциональное программирование, из ООП знаю только о модификаторах доступа, геттеров и сеттеров =) В общем, почти ничего.

Функциональное - это Erlang, Haskell, Clojure, F#.
Кое что-то из функционального программирования, безусловно, есть и в С++.

У меня есть курс (>300 уроков по 30 минут) по С++. И тут же нашел такой же курс по C#..
И возник вопрос: мб прекратить изучение плюсов и начать изучать С#?

С++ vs C#
Из них двоих начинать лучше с C#, там меньше способов выстрелить себе в ногу.

Подскажите пожалуйста, что перспективнее в разработке десктопных приложух?

Язык программирования учится легко и быстро.

Сложно учатся алгоритмы, парадигмы, принципы, паттерны.
Но! Те же самые алгоритмы, парадигмы, принципы, паттерны применимы для другого языка программирования общего назначения.

У меня странная мания охватит все и вся..

Это частенько бывает в нашей сфере.
Иногда, да - поток информации заставляет мозг кайфовать.
Не всегда доводят до конца, не всегда применяют на практике, но изучать изучать изучать изучать - такое поведение встречается.

Я слышал, что С++ -это "плохой швейцарский нож", который довольно трудно овладеть. Трудности меня не пугают (мб потому что еще глуп и зелен в этом) и то, что на плюсах можно писать что угодно, меня склоняет к ним.

Что угодно можно писать на любом языке программирования общего назначения.

С другой стороны C#, который легче плюсов и который поддерживается движком Unity.

Среднестатистический хороший программист знает больше одного языка.
Иногда и используется по несколько поочередно.

Ну а уж выучить очередной язык - не является проблемой.

В общем подскажите, что лучше для ДЕСКТОПА/АНДРОиДА и что ПЕРСПЕКТИВНЕЕ в ближайшие лет 10.

Вы слишком уж заморачивайтесь с выбором, от того, что выберите "не правильно" ничего страшного не случится.

А уж тем более за 10 лет.

Технологии по нескольку раз перевернуться.

Я бы предложил C#,
более стройный, более логичный, чем С++.
С удобными инструментами разработки.

Хорош для разработки десктопных приложений под Windows.

Выучить дополнительно к нему С++ не будет большой проблемой.

В общем подскажите, что лучше для ДЕСКТОПА/АНДРОиДА

Для Android - Kotlin, Java.
Для десктопа Windows - C#.
Игры на Unity на любой платформе, в т. ч. Android - C#

и что ПЕРСПЕКТИВНЕЕ в ближайшие лет 10.

Алгоритмы, паттерны, парадигмы, принципы программирования.
Выучить очередной язык - не сложно.
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
saboteur_kiev
@saboteur_kiev Куратор тега IT-образование
software engineer
за 3 месяца изучал только функциональное программирование

Видимо все очень плохо, если не различаете функциональное от процедурного.

Перспективнее в принципе научиться пользоваться поиском, ведь подобных вопросов и ответом - полным полно.
Нет такого, чтобы был сложнее С++ или легче С# - и там и там примерно одинаковый уровень вхождения, но разное применение.
И для того, кто уже ЦЕЛЫЙ ГОД учит веб, можно как-то догадаться, что дело не в языке а в технологиях. Через год изучения языка, было бы неплохо учить конкретный фреймворк, а не просто язык.

Если хотите юнити - то учите C#.
Хотите Android - учите Java. Хотя C# там вроде появляется.
Десктопные приложухи приложухам рознь. Можно хоть на питоне писать.
Вы не просто учите. Вы что-нибудь пишите. Конкретное. Ну и да, вам с# наверное больше подойдет.
Ответ написан
2ord
@2ord
В C# на Xamarin Forms можно писать мобильные приложения для Android/iOS и под одной кодовой базой.
Для настольных приложений - WPF, для веб-сервисов - .NET Core.
Ответ написан
Комментировать
EnDeRJaY
@EnDeRJaY
cout >> "Hello World!" >> endl;
то, что на плюсах можно писать что угодно, меня склоняет к ним.

подскажите, что лучше для ДЕСКТОПА/АНДРОиДА

Так вам что вообще нужно?Писать всё что угодно, или декстоп/андроид?
Если честно, то знание обоих языков - хорошая вещь, не советую вам бросать C++, лучше уж закончить курсы на C++, а потом начать изучать другой язык, чтобы у вас не образовывалась каша в голове
Ответ написан
Комментировать
@Drus_K
Внесу и я свою лепту.
О себе: программирую 8 лет, преимущественно на c++/qt. Не сложнее с#, фичастый, кроссплатформенный, многие из тех, кто на нем программируют за долгие годы чистых плюсов то и не пробовали, позволяет сильно абстрагироваться от всего низкоуровневого.

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

По поводу что утить - мое мнение такое, что с++ требует больше практики, именно чистый, либо в варианте std/boost. Если вы вечером предпочитаете вместо телика/кино/погулять - попялить в монитор и покодить, то учите с++.

З.Ы. особая радость плюсового программиста - многопоточные приложения. Если повезет и встретится особо неуловимый баг, то параллельно и железо изучите и какие семейства процов как работают, и чем компиль msvc от mingv в поведении отличается. Вообщем кучу всего сопутствующего, чего лишены и о чем не парятся программисты на c#.
Ответ написан
что лучше для ДЕСКТОПА

Любой язык, умеющий в гуй.
что лучше для АНДРОиДА

Java.
что ПЕРСПЕКТИВНЕЕ в ближайшие лет 10

Алгоритмы, булева алгебра. Реализуются на любом языке.
мб прекратить изучение плюсов и начать изучать С#?

Учите и, главное - практикуйте, то, что вкатывает.
Ответ написан
Комментировать
@sorokinfil
Универсальнее и старше C++, лучше его в первую очередь.
Для работы приложений на C# обязательно нужен установленный .NET Framework, т.н. лишняя зависимость. А он бывает разных версий, что немаловажно для работы приложений, и поддерживается не всеми операционными системами. Знаю только о поддержке в Windows. Сфера применения, соответственно, тоже ограничена. Пока .NET не является мастхэвом, без C# можно обойтись.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы