Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.91
strange_man
9 / 9 / 0
Регистрация: 17.05.2012
Сообщений: 118
#1

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

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

Я изучаю программирование (язык С++) дома, в институте наверно тоже скоро будем его изучать. Я знаю, что C++ очень полезно знать и владение им на хорошем уровне всегда приветствуется. Но меня очень волнует, что сейчас везде стали делать акцент на C# и Java и я боюсь, что сейчас, начав изучать C++, я теряю время, которое мог бы потратить на изучение C#. Например, некоторые мои одногруппники сейчас изучают самостоятельно C#. Я тоже в будущем перейду на C# ввиду роста его популярности, но на какой точке это лучше сделать? Ведь C++ я все равно не овладею на все 100%, а вечно изучать его не буду.
P.S. Я обучаюсь на системного программиста. Но предпочтительно планирую заниматься разработкой программ высокого уровня.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
14.07.2013, 13:12     Насколько нужно выучить C++, перед тем как переходить на C#? #21
паралельно учить: это написать программу на С++ и сразу реализировать её на С# ?
rlib
20 / 20 / 1
Регистрация: 01.05.2012
Сообщений: 60
14.07.2013, 13:14     Насколько нужно выучить C++, перед тем как переходить на C#? #22
Цитата Сообщение от strange_man Посмотреть сообщение
вообще я хотел бы gamedev'ом заниматься, по возможности
Тогда ассемблер! )))
http://pouet.net/sourceprod.php
ftp://ftp.scene.org/pub/resources/co...s/unv-100b.zip
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
14.07.2013, 13:16     Насколько нужно выучить C++, перед тем как переходить на C#? #23
На правах бреда.
Я бы сказал... Пока не надоест.
С++ ведь так уродлив. Тошнить скоро будет от наличия трех разных операторов доступа: . -> :: Ну какое мне дело - работаю я с пространством имен, классом, объектом или указателем? В C# красота - одна точка на все случаи.
Описание классов в двух файлах - .h и .cpp - вообще кошмар. Это ж постоянно надо поддерживать согласованность имен. Я ведь могу параметр функции в заголовке назвать одним словом, а в реализации другим - такой бардак будет.
И эти на каждом шагу торчащие const в плюсовом коде... Особенно когда они вылезают после объявления метода.
Точки с запятой в конце определений классов - мусор в коде.
Адресная арифметика и указатели - не нужны. Сколько нервов было убито в свое время на их понимание.
Передача аргументов по const-ref - сколько джуниоров схлопотали линейкой по рукам за то, что забывали это делать?
Это я еще молчу про наличие такой пакости как препроцессор, отсутствие нормальных модулей в языке и прочем уродстве.

А в шарпе все красиво, стройно, элегантно. Очень такой женский язык получается. Вот только пока пишешь, не отпускает чувство, что стоишь под душем в скафандре.
Croessmah
14.07.2013, 13:21
  #24

Не по теме:

Цитата Сообщение от 0x10 Посмотреть сообщение
А в шарпе все красиво, стройно, элегантно.
Понятие красоты у всех разное. Вот для меня шарп - уродство
И вспоминать не хочется

alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
14.07.2013, 13:22     Насколько нужно выучить C++, перед тем как переходить на C#? #25
Цитата Сообщение от Убежденный Посмотреть сообщение
Кто мешает изучать параллельно оба языка ?
Не знаю ни одного хорошего программиста, который был бы сидел только в своем "болоте".
я знаю достаточно таких айосников
хотя там достаточно смежных технологий ..
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
14.07.2013, 13:25     Насколько нужно выучить C++, перед тем как переходить на C#? #26

Не по теме:

Цитата Сообщение от diagon Посмотреть сообщение
Хм. А если это дефайн?
Дефайны в глобальном пространстве имён определяются.


Цитата Сообщение от 0x10 Посмотреть сообщение
С++ ведь так уродлив.
Да. И понимание этого — необходимое условие для работы с языком. Я уверен, никто бы не писал на Плюсах, если бы у них был выбор. Если бы когда-то какие-то API делались не для Плюсов, если бы поддерживаемая программная система была бы написана не на Плюсах, если бы в учебной программе были бы не только Плюсы, если бы начинали программировать не с Плюсов.
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
14.07.2013, 13:25     Насколько нужно выучить C++, перед тем как переходить на C#? #27
Цитата Сообщение от 0x10 Посмотреть сообщение
Описание классов в двух файлах - .h и .cpp - вообще кошмар. Это ж постоянно надо поддерживать согласованность имен. Я ведь могу параметр функции в заголовке назвать одним словом, а в реализации другим - такой бардак будет.
с нынешними IDE этот минус отпадает

Цитата Сообщение от 0x10 Посмотреть сообщение
И эти на каждом шагу торчащие const в плюсовом коде... Особенно когда они вылезают после объявления метода.
несогласен

Цитата Сообщение от 0x10 Посмотреть сообщение
Точки с запятой в конце определений классов - вообще пережитки прошлого, мусор в коде.
плюсую

Цитата Сообщение от 0x10 Посмотреть сообщение
Передача аргументов по const-ref - сколько джуниоров схлопотали линейкой по рукам за то, что забывали это делать?
ну тогда это недо-джуниоры какие-то

Если бы когда-то какие-то API делались не для Плюсов, если бы поддерживаемая программная система была бы написана не на Плюсах, если бы в учебной программе были бы не только Плюсы, если бы начинали программировать не с Плюсов.
Если бы сейчас поломали обратную совместимость...
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
14.07.2013, 13:27     Насколько нужно выучить C++, перед тем как переходить на C#? #28
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
никто бы не писал на Плюсах, если бы у них был выбор.
У меня есть выбор: Си, С++, Асм. Выбираю С++, но на Си тоже люблю писать. Разве этого не достаточно для выбора?
diagon
Higher
1927 / 1193 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
14.07.2013, 13:32     Насколько нужно выучить C++, перед тем как переходить на C#? #29
Цитата Сообщение от 0x10 Посмотреть сообщение
Описание классов в двух файлах - .h и .cpp - вообще кошмар. Это ж постоянно надо поддерживать согласованность имен. Я ведь могу параметр функции в заголовке назвать одним словом, а в реализации другим - такой бардак будет.
КьютКриэйтор умеет автоматически изменять сигнатуру. Но это единственная jetbrains-like фича, которую я у него видел.
Остальные аргументы какие-то слабые (и вообще, скорее плюсы, чем минусы). Ну разве что кроме этого
Цитата Сообщение от 0x10 Посмотреть сообщение
Это я еще молчу про наличие такой пакости как препроцессор, отсутствие нормальных модулей в языке и прочем уродстве.
Это потому, что с++ разрабатывается сообществом, а не одним вендором. А сообщество никак не может между собой договориться. Модули, концепты и прочее хотели включить еще в с++11, но в итоге не смогли придумать к ним нормальный стандарт, и оно не вошло даже в с++14.

Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Дефайны в глобальном пространстве имён определяются.
Непонятно. Имеется в виду контраст с "объявляются" ?
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
14.07.2013, 13:37     Насколько нужно выучить C++, перед тем как переходить на C#? #30
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Дефайны в глобальном пространстве имён определяются.
Дефайны вообще не имеют представления о пространствах имен - код как текст, не более
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
14.07.2013, 13:42     Насколько нужно выучить C++, перед тем как переходить на C#? #31
Цитата Сообщение от diagon Посмотреть сообщение
Описание классов в двух файлах - .h и .cpp - вообще кошмар. Это ж постоянно надо поддерживать согласованность имен. Я ведь могу параметр функции в заголовке назвать одним словом, а в реализации другим - такой бардак будет.
Вообще-то h файлы для того и созданы, чтобы поддерживать согласованность в множестве срр файлов.
Ты либо пишешь функцию в срр файле и добавляешь её прототип во множество остальных срр файлов. (Этот подход вполне имеет право на жизнь)

Либо добавляешь прототип в один Н файл, и инклудишь его далее.

Для того и придумывалось, что срр файлы не должны почти ничего друг о друге знать.
0x10
14.07.2013, 13:50
  #32

Не по теме:

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

OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
14.07.2013, 13:52     Насколько нужно выучить C++, перед тем как переходить на C#? #33
Цитата Сообщение от diagon Посмотреть сообщение
Непонятно. Имеется в виду контраст с "объявляются" ?
Не, не надо выкапывать там глубинный смысл. Я имел в виду, что из-за вот этого:
Цитата Сообщение от Croessmah Посмотреть сообщение
Дефайны вообще не имеют представления о пространствах имен - код как текст, не более
их имена можно считать глобальными с точки зрения зарезервированности идентификаторов.

Короче, на них тоже распространяется правило "не начинать с подчёркивания".
diagon
Higher
1927 / 1193 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
14.07.2013, 14:05     Насколько нужно выучить C++, перед тем как переходить на C#? #34
Цитата Сообщение от 0x10 Посмотреть сообщение
особенности языка, с которыми просто уживаешься
Ну, там действительно есть плюсы.

Вот например, насчет семиколонны после фигурной скобки
C++
1
2
3
4
5
6
7
8
namespace my_namespace
{
class my_class
{
     //много кода (на несколько экранов)
 
};  //сразу видно, что это конец класса, а не функции или неймспейса или чего-либо еще.
}
Насчет области видимости - c# тоже поддерживает ::
Ну, здесь у меня объективных аргументов нету, зато есть D, в котором пытались решить эту "проблему". И мне как-то не очень понравилась одна точка на все случаи жизни.

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

Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Короче, на них тоже распространяется правило "не начинать с подчёркивания".
Ну, я имел в виду, что если реализация использует такой дефайн в глобал скоупе, то переопределить его никак не получится. И в этом случае все имена, начинающиеся с подчеркивания автоматически подвергаются риску быть замещенными каким-то шальным дефайном. Ну и как следствие не могут использоваться в качестве идентификатора.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
14.07.2013, 15:05     Насколько нужно выучить C++, перед тем как переходить на C#? #35
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Вообще-то h файлы для того и созданы, чтобы поддерживать согласованность в множестве срр файлов.
Ты либо пишешь функцию в срр файле и добавляешь её прототип во множество остальных срр файлов. (Этот подход вполне имеет право на жизнь)
делается это кстати тоже через набор костылей, видится, что ни настоящей модульности, ни выраженных иерархий классов (как в java/c#) на нашем веку в с++ не будет. даже pragma once в стандарт так и не включили, все также и развлекаемся с include guard'ами
diagon
Higher
1927 / 1193 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
14.07.2013, 15:07     Насколько нужно выучить C++, перед тем как переходить на C#? #36
Цитата Сообщение от alex_x_x Посмотреть сообщение
даже pragma once в стандарт так и не включили, все также и развлекаемся с include guard'ами
А можете привести пример актуального компилятора, не поддерживающего pragma once?
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
14.07.2013, 15:20     Насколько нужно выучить C++, перед тем как переходить на C#? #37
Цитата Сообщение от diagon Посмотреть сообщение
А можете привести пример актуального компилятора, не поддерживающего pragma once?
насколько знаю - iar
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
14.07.2013, 15:24     Насколько нужно выучить C++, перед тем как переходить на C#? #38
Цитата Сообщение от diagon Посмотреть сообщение
А можете привести пример актуального компилятора, не поддерживающего pragma once?
да почти все, но сие до сих пор не стандарт (почему?)
Jupiter, судя по вики поддерживается
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
14.07.2013, 15:41     Насколько нужно выучить C++, перед тем как переходить на C#? #39
И пример актуального компилятора, не поддерживающего оптимизацию инклюд-гардов. (Костыли надо поддерживать!)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2013, 15:46     Насколько нужно выучить C++, перед тем как переходить на C#?
Еще ссылки по теме:
Нужно чтобы принимал минус перед нулем C++
C++ Что нужно изучить в c++, перед изучением ООП
Нужно ли освобождать память перед повторым выделением? C++
Нужно написать программу, которая читает из файла и пишет всё задом на перед C++
C++ Задача с массивом, нужно найти сумму элементов которые находятся перед последним отрицательным элементом

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

Или воспользуйтесь поиском по форуму:
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
14.07.2013, 15:46     Насколько нужно выучить C++, перед тем как переходить на C#? #40
Цитата Сообщение от diagon Посмотреть сообщение
привести пример актуального компилятора, не поддерживающего pragma once?
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
пример актуального компилятора, не поддерживающего оптимизацию инклюд-гардов.
да все это мелочи в сравнении с отсутсвием: нормального текста ошибок в шаблонах, минимального статического анализа, детекта UB, и т.д.
Yandex
Объявления
14.07.2013, 15:46     Насколько нужно выучить C++, перед тем как переходить на C#?
Ответ Создать тему
Опции темы

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