Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.72/39: Рейтинг темы: голосов - 39, средняя оценка - 4.72
12 / 12 / 2
Регистрация: 17.05.2012
Сообщений: 118
1

Насколько нужно выучить C++, перед тем как переходить на C#?

14.07.2013, 09:59. Просмотров 7513. Ответов 42
Метки нет (Все метки)

Я изучаю программирование (язык С++) дома, в институте наверно тоже скоро будем его изучать. Я знаю, что C++ очень полезно знать и владение им на хорошем уровне всегда приветствуется. Но меня очень волнует, что сейчас везде стали делать акцент на C# и Java и я боюсь, что сейчас, начав изучать C++, я теряю время, которое мог бы потратить на изучение C#. Например, некоторые мои одногруппники сейчас изучают самостоятельно C#. Я тоже в будущем перейду на C# ввиду роста его популярности, но на какой точке это лучше сделать? Ведь C++ я все равно не овладею на все 100%, а вечно изучать его не буду.
P.S. Я обучаюсь на системного программиста. Но предпочтительно планирую заниматься разработкой программ высокого уровня.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.07.2013, 09:59
Ответы с готовыми решениями:

Что нужно знать и уметь перед тем как изучать ассемблер?
Какие предварительные знания нужны? Насколько хорошо нужно знать архитектуру компьютера и прочее?

За сколько по времени можно выучить С и C++ и насколько они сложны в изучении?
За сколько по времени можно выучить С и С++ и насколько они сложны в изучении?

ПРАВИЛА РАЗДЕЛА. Перед тем как просить
<b>Создание топика</b> 1) Заголовок должен нести краткую суть топика. 2) Запрещается, делать...

Что почитать перед тем как изучать C++?
Как устроен компьютер? как это все работает? Потому что как только сталкиваюсь с такими понятиями...

42
Jesus loves me
Эксперт С++
5110 / 3122 / 353
Регистрация: 12.12.2009
Сообщений: 7,899
Записей в блоге: 2
14.07.2013, 10:05 2
Все зависит от цели. В принципе ты прямо сейчас можешь перейти на C# и развиваться в эту сторону. Но лучше поработать на С++ до того момента, когда ты поймешь что очень хорошо понимаешь как выглядет программа изнутри из что происходит при ее исполнении. Потому что перейдя на C# ты уже вряд ли это узнаешь, а это необходимые для программиста знания (иначе какой он программист).
Цитата Сообщение от strange_man Посмотреть сообщение
Я тоже в будущем перейду на C# ввиду роста его популярности,
Лучше выбрать то, что нравится, а не то, что популярно.
0
бжни
2469 / 1679 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
14.07.2013, 10:10 3
Цитата Сообщение от Kastaneda Посмотреть сообщение
о лучше поработать на С++ до того момента, когда ты поймешь что очень хорошо понимаешь как выглядет программа изнутри из что происходит при ее исполнении.
для таких целей достаточно си, с++ в такой постановке вопроса просто не нужен
0
Don't worry, be happy
16917 / 9794 / 1886
Регистрация: 27.09.2012
Сообщений: 24,291
Записей в блоге: 2
14.07.2013, 10:12 4
Цитата Сообщение от strange_man Посмотреть сообщение
Насколько нужно выучить C++, перед тем как переходить на C#?
На 0!
0
Jesus loves me
Эксперт С++
5110 / 3122 / 353
Регистрация: 12.12.2009
Сообщений: 7,899
Записей в блоге: 2
14.07.2013, 10:17 5
Цитата Сообщение от alex_x_x Посмотреть сообщение
для таких целей достаточно си, с++ в такой постановке вопроса просто не нужен
Ну в целом да, согласен. Но на С++ приятней писать сишный код, чем на Си благодаря тому, что в С++ убрали (почти) всю сишную кривизну.
0
12 / 12 / 2
Регистрация: 17.05.2012
Сообщений: 118
14.07.2013, 10:30  [ТС] 6
Цитата Сообщение от Croessmah Посмотреть сообщение
На 0!
значит, лучше щас все бросить и сразу учить то, что нужно?
0
бжни
2469 / 1679 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
14.07.2013, 10:42 7
Цитата Сообщение от strange_man Посмотреть сообщение
значит, лучше щас все бросить и сразу учить то, что нужно?
Я тоже не вижу большой потери, с точки зрения c#'a
Конечно после с++'a (хотя я уверен, что и си будет достаточно) будет совершенно другой (возможно более глубокий) взгляд на вещи (за счет некоторого опыта и представления о том, как вещи работают), но это и есть все плюсы.
0
Higher
1945 / 1211 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
14.07.2013, 12:15 8
После шарпа немногие захотят вернутся на плюсы. Все-таки там есть иде, которая пишет код за тебя, а также достаточно мало способов выстрелить себе в ногу и вообще использовать язык не по назначению (но сахарка при этом хватает). Плюсы же в этом плане не очень продуманы.
Взять хотя бы override. В шарпе оно пишется перед именем метода, что позволяет интеллисенсу выдать только те методы, которые можно заоверрайдить. Плюсовые иде по умолчанию лишены такой возможности, так как override в плюсах пишется после имени метода.
Ну или другой пример - _variable
В шарпе приватные переменные принято начинать с андерскора, за счет этого можно ввести _, и интеллисенс сраузу же выдаст список приватных переменных. В плюсах же идентификаторы, начинающиеся с андерскора зарезервированы для разработчиков компиляторов. Обычно ставят андерскор в конце идентификатора (и лишаются нормального автокомплита) либо используют префикс m_ (который не так сильно выделяется среди прочих идентификаторов).
И таких примеров множество.
Да и вообще существующие плюсовые IDE достаточно убоги (надеюсь, фанаты vim'a не читают этот пост).
(Основное утверждение по теме находится в первом предложении, все остальное - аргументация, если что).
0
20 / 20 / 2
Регистрация: 01.05.2012
Сообщений: 61
14.07.2013, 12:25 9
Нет связи.
Только нужно помнить. что только на Ц++ можно писать драйверы/кернел. На Ц-шарп - высокоурвневую хрень.
0
бжни
2469 / 1679 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
14.07.2013, 12:41 10
Цитата Сообщение от rlib Посмотреть сообщение
Ц++ можно писать драйверы/кернел
скорее только на си
хотя в винде дровишки можно и на плюсах писать, но вообще это редкость
0
OhMyGodSoLong
14.07.2013, 12:43
  #11

Не по теме:

Цитата Сообщение от diagon Посмотреть сообщение
В плюсах же идентификаторы, начинающиеся с андерскора зарезервированы для разработчиков компиляторов.
В общем случае с двух подчёркиваний. Или с одного и начинающиеся на заглавную букву. Просто с одного начинаются идентификаторы, зарезервированные в глобальном пространстве имён (но это не мешает их свободно переопределять локально).

0
20 / 20 / 2
Регистрация: 01.05.2012
Сообщений: 61
14.07.2013, 12:56 12
Цитата Сообщение от strange_man Посмотреть сообщение
Я изучаю программирование (язык С++) дома, в институте наверно тоже скоро будем его изучать. Я знаю, что C++ очень полезно знать и владение им на хорошем уровне всегда приветствуется. Но меня очень волнует, что сейчас везде стали делать акцент на C# и Java и я боюсь, что сейчас, начав изучать C++, я теряю время, которое мог бы потратить на изучение C#. Например, некоторые мои одногруппники сейчас изучают самостоятельно C#. Я тоже в будущем перейду на C# ввиду роста его популярности, но на какой точке это лучше сделать? Ведь C++ я все равно не овладею на все 100%, а вечно изучать его не буду.
P.S. Я обучаюсь на системного программиста. Но предпочтительно планирую заниматься разработкой программ высокого уровня.
Изучай два языка параллельно. Поможет более глубоко понять ООП, сравнивая ранний ООП ц++ и современный Ц-шарпный.
В плане популярности да, Ц-шарп значительно более популярный и востребованный. Но Ц++ - универсальней. С Ц++ можно и высокоуровневое писать (на Qt что угодно) и низкоуровневое.
0
12 / 12 / 2
Регистрация: 17.05.2012
Сообщений: 118
14.07.2013, 12:57  [ТС] 13
Цитата Сообщение от rlib Посмотреть сообщение
Изучай два языка параллельно. Поможет более глубоко понять ООП, сравнивая ранний ООП ц++ и современный Ц-шарпный.
В плане популярности да, Ц-шарп значительно более популярный и востребованный. Но Ц++ - универсальней. С Ц++ можно и высокоуровневое писать (на Qt что угодно) и низкоуровневое.
я думал, мультитаскинг - это не очень хорошо
0
20 / 20 / 2
Регистрация: 01.05.2012
Сообщений: 61
14.07.2013, 13:01 14
Цитата Сообщение от strange_man Посмотреть сообщение
я думал, мультитаскинг - это не очень хорошо
Почему? "Все познается в сравнении". Сразу изучаешь несколько языков, можно видеть различные решения одной и той же задачи различными способами. Не говоря уже о том, что Ц++ посзволяет видеть реализацию, скажем, того же наследования в дебагере.
0
3237 / 2045 / 350
Регистрация: 24.11.2012
Сообщений: 4,894
14.07.2013, 13:03 15
Цитата Сообщение от rlib Посмотреть сообщение
Сразу изучаешь несколько языков, можно видеть различные решения одной и той же задачи различными способами.
Тут есть опасность, что программа на C++ будет программой на C# с другим синтаксисом.
1
diagon
14.07.2013, 13:04
  #16

Не по теме:

Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Просто с одного начинаются идентификаторы, зарезервированные в глобальном пространстве имён (но это не мешает их свободно переопределять локально).
Хм. А если это дефайн? Просто в стандарте этого явно не написано.
Есть такое
Each name that begins with an underscore is reserved to the implementation for use as a name in the global namespace.
Но тут не сказано, что это не может быть дефайн.

0
12 / 12 / 2
Регистрация: 17.05.2012
Сообщений: 118
14.07.2013, 13:06  [ТС] 17
вообще я хотел бы gamedev'ом заниматься, по возможности
мне важнее всего получить глубокие, крепкие знания, и чтоб я смог работу найти.
0
20 / 20 / 2
Регистрация: 01.05.2012
Сообщений: 61
14.07.2013, 13:07 18
Цитата Сообщение от 0x10 Посмотреть сообщение
Тут есть опасность, что программа на C++ будет программой на C# с другим синтаксисом.
В любом случае, чтобы писать идиомами определенного языка нужен немалый опыт. Однако ознакомится с особенностями каждого языка можно одновременно и выбрать тот, что более по-нраву.
0
Don't worry, be happy
16917 / 9794 / 1886
Регистрация: 27.09.2012
Сообщений: 24,291
Записей в блоге: 2
14.07.2013, 13:10 19
Цитата Сообщение от strange_man Посмотреть сообщение
вообще я хотел бы gamedev'ом заниматься, по возможности
Тогда Вам нужна для начала крепкая математическая основа
0
Ушел с форума
Эксперт С++
16409 / 7384 / 1184
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
14.07.2013, 13:12 20
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от strange_man Посмотреть сообщение
Но меня очень волнует, что сейчас везде стали делать акцент на C# и Java и я боюсь, что сейчас, начав изучать C++, я теряю время, которое мог бы потратить на изучение C#. Например, некоторые мои одногруппники сейчас изучают самостоятельно C#. Я тоже в будущем перейду на C# ввиду роста его популярности, но на какой точке это лучше сделать?
Мысли вслух.

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

Не смотрите на язык программирования, как на самоцель. За языковым уровнем последует
уровень предметный, который гораздо многограннее и сложнее. На фоне этой сложности
языковые различия размываются.

Полезность или вредность плюсового бэкграунда для Шарписта не доказана.

Кто мешает изучать параллельно оба языка ?
Не знаю ни одного хорошего программиста, который был бы сидел только в своем "болоте".
4
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.07.2013, 13:12

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Выучить C++: как и где можно более эффективнее выучить данный язык?
Хочу выучить C++, может кто подсказать, как и где можно более эффективнее выучить данный язык? Учу...

Сервер подвисает перед тем, как что-то открыть
Добрый день не давно стал сервер подвисать перед тем как, что то открыть думает бывает по пол...

Выполнить код перед тем, как обрабатывать событие
Здравтсвуйте, допустим есть такой код $(".element").on("click", function(){ alert("111") }) Его...

Посмотрите сайт, перед тем, как Платон посмотрит?
Приобрел домен www.infostart.ru, оказался ранее забаненным яндексом. Раньше на нем была другая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.