|
Нарушающий
417 / 305 / 46
Регистрация: 13.04.2022
Сообщений: 1,759
|
||||||
Обучение C++ (первый язык)14.08.2022, 20:14. Показов 13870. Ответов 146
Метки начинающий изучение c++ (Все метки)
C++ как первый язык программирования.
Я начинал с С, где за пару месяцев можно всосать и простой синтакс, и скудноватые библиотеки. И главное - есть четкое хорошо видимое разделение между языком и библиотеками. Поэтому я понимаю как учить С - начиная со ступеньки ненамного выше ассемблера. Нужно и размеры типов знать, и двоичный комплемент двум понимать. И предсказуемое завершение, где основы понятны, дальше паттерны, книги и опыт. В новом С++ где ни ткнешь, обширная библиотека шаблонов, абстракций и т.д. Чрезвычайно полезная для разработки больших проектов, но трудная для подъема новичком (ИМО). Например, попробуйте написать программу "echo" на C++, используя только ++ные концепции недавнего стандарта. Вместо
А анализ производительности? Конкатенация строк через алгоритм:aggregate или алгоритм:stringstream? Слишком много для начинающего. А начинать с верхних концепций (наследование, шаблоны, итераторы) и полностью обойти вниманием внутреннюю кухню - это выучить еще одного индусоподобного "программиста". Если кто-то успшешно учил других C++ как первому языку, поделитесь подходом пожалуйста.
0
|
||||||
| 14.08.2022, 20:14 | |
|
Ответы с готовыми решениями:
146
Первый язык программирования на подходе к С++: Паскаль или С? Первый язык программирования Kotlin - как первый язык? |
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 15.08.2022, 18:32 | ||
|
Массивы, структуры, и много базовых вещей, либо нет в С++, либо они другие, либо их нет в С (например ссылки, перегрузка функций ...). И если взять хотя бы стандарт С++20, он еще дальше от С, но тот же С++. То есть, Сишнику, при переходе на С++ все равно придется изучить все основы языка, если этого не сделать, будет ходить спотыкаться, шататься от одной стенки к другой, потому что разница есть, и она ощутима. (базовые средства ЯП "С" и "С++"). То что ему будет легче чем с нуля, хм, я в этом сомневаюсь, поначалу будет даже тяжелей. И это каждый раз видно когда С-ишники с наскоку хотят перейти на С++.
0
|
||
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
||||
| 15.08.2022, 18:47 | ||||
|
Ему придется изучить понятие "указателя" ? Или может быть понятие "массива" ? Или может быть конструкцию if ? Или switch-case ? Одно из двух: либо выше перечисленное не является основами, либо вы заявляете чушь. Сишнику придется доучиваться - выучить принципиально новые для него понятия. А вот учить заново, да ещё и все основы, как вы заявляете, не придется. Потому что у с++ основа языка точно такая же, как и у языка си.
0
|
||||
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
|
| 15.08.2022, 18:55 | |
|
eva2326, "учить указатели" (странное словосочетание, хех) не придётся. Английский алфавит учить - не придётся. Арабские цифры - не придётся. Язык - придётся
![]() Добавлено через 46 секунд а ещё придётся искоренять гору кривых привычек, унаследованных от лежания в Си
1
|
|
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
|||
| 15.08.2022, 18:58 | |||
|
Что именно придется учить заново?
0
|
|||
|
Just Do It!
|
||||||||||||
| 15.08.2022, 19:01 | ||||||||||||
0
|
||||||||||||
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
||
| 15.08.2022, 19:06 | ||
![]() Не "заново", а просто "учить". Придётся учить другой язык
0
|
||
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
|
| 15.08.2022, 19:15 | |
|
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 15.08.2022, 19:17 | ||
|
Или что более вероятно, вообще неправильно употребляете слова "основы С". Мне тут каждый пример приводить который вспомню ? Сишных структур нет в С++. Инициализация объектов другая в С++. Ссылок нет в С. Перегрузок нет в С. это базовые вещи. Указатели имеют расширенный функционал в С++ в механизме полиморфизма. И так можно долго перечислять. А что делать с теми моментами что не вспомню или не знаю ? Я на Си не кодил. Но сталкивался.
0
|
||
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
||||||||||||||||||||||||||||
| 15.08.2022, 19:55 | ||||||||||||||||||||||||||||
|
Не надо писать о том, что в с++ ключевое слово struct денотирует класс. Я спрашиваю об отличиях с практической точки зрения. Внимательно посмотрите на эти две структуры, и назовите отличия:
с++ предоставляет больше способов инициализации. Но может быть я просто плохо знаю с++? Объясните пожалуйста, чем инициализация в стиле си на языке с++ отличается от точно такой же на языке си? Например:
Базовые вещи языка с++ состоят из базовых вещей языка си, плюс дополнительно, из базовых вещей языка с++ Вы там выше заявили, будто бы учить придется все Получается, ваше заявление - чушь. Я уже начинаю сомневаться, что вы знаете язык с++ Вам показать как устроен полиморфизм на низком уровне? На языке си удобно иллюстрировать принцип работы.
0
|
||||||||||||||||||||||||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 15.08.2022, 20:27 | |
|
Не по теме: eva2326, понятно очередной тролль от спячки проснулся. Все что выше написано можно приписать любому Си подобному ЯП. То есть это вы пишете какое то частное сравнение отдельных лексем языка. Сравнивая зеленое с круглым. Удачи вам в вашем заблуждении. Про некоторую обратную совместимость с языком С в С++ знают все, кроме вас, у вас С++ это надстройка над Си.
0
|
|
|
Just Do It!
|
||
| 15.08.2022, 20:42 | ||
|
Школа Алисы мош, кто уже пробовал делать? гуглил либу огла c glsl 1.20 под C# и оно вылезло. а чо, подумал, надо бы заколбасить навык для Алисы. сразу говорю, ничего изучать там не собираюсь, если решусь, то просто возьму и заколбашу.
0
|
||
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
|||||
| 15.08.2022, 20:50 | |||||
|
У вас какой то юношский максимализм, как у прыщавого подростка. Вы - девственник? Не надо выдумывать.
0
|
|||||
|
Нарушающий
417 / 305 / 46
Регистрация: 13.04.2022
Сообщений: 1,759
|
|
| 16.08.2022, 00:37 [ТС] | |
|
Интересно у вас.
Я не считаю слово "надстройка" оскорбительным, так же как собор надстройка над фундаментом. Принцип создателя C++ гласил "не платить за то, что не используешь", в этом смысле слово надстройка очень даже подходит. За мелкими исключениями, сишные исходники закомпилируются под С++ и будут правильно работать. И, по принципу Стротрупа, с такой же скоростью. С++ немного расширяет фундамент (больше встроенных типов), но все остальное - это постройка вверх, в сторону абстракций и ОО.
0
|
|
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
||
| 16.08.2022, 01:48 | ||
|
"Надстройка" - расширение функциональности языка за счет самого языка. Например, библиотека boost расширяет возможности с++ при помощи возможностей самого с++ Или например, GTK+ - образец ООП-надстройки на языке си. Но вот в том, что касается с++, то его ООП уже не является надстройкой, а встроено в ядро языка. Фундамент с++ не немного, а очень даже значительно шире, чем в си. Помимо сишной базовой части, в его фундамент так же входит объектно ориентированная (классы), и функциональная (шаблоны) парадигмы. Поэтому с++ и называют "мультипарадигменным". А если вооружиться препроцессором и шаблонами, то несложно накрутить ещё и декларативную надстройку.
0
|
||
|
Нарушитель
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,218
|
||
| 16.08.2022, 02:06 | ||
|
Лазиешь по сети, по каким то example в фрамеворках. по Stack Overflow.
По msdn от майкрософт... Везде пишут на смеси си с плюсами. Я читал это читал, и оказалось, знаю на троечку и то и другое. Правда плохо отличаю... Добавлено через 9 минут Я спрашиваю, а зачем? Я например ни чего не понимаю. Мне отвечают - А это такой паттерн, он тебе ни когда не понадобиться... (типа ни кому ни на хто не нужен) Добавлено через 7 минут Скока лазил по сети? Лет восемь.
0
|
||
|
Нарушающий
417 / 305 / 46
Регистрация: 13.04.2022
Сообщений: 1,759
|
|
| 16.08.2022, 02:08 [ТС] | |
|
eva2326, я думаю что я понимаю ваш довод, но вижу вещи иначе.
Для меня цокольный этаж с бойлерной - это все равно надстройка над фундаментом. Новый функционал, который выше, а не шире в области абстракции. Лично я не нахожу слово "надстройка" зазорной. Люди видят и пользуются надстройкой, но в случае с С++, мне кажется они также должны разбираться в устройстве фундамента, потому что не зная про vtable трудно понять как работает dynamic_cast, а верить в "магию языка" это не по-программистски. Я, кстати, решение в своем вопросе принял - буду сначала преподавать C со всеми указателями и коротким экскурсом в ассемблер, а потом покажу как многие нудные и ошибко-опасные задачи можно решать в C++ короче и легче. Если после прочтения книги "Эффективный C++" я изменю мнение, отпишусь здесь.
0
|
|
|
6312 / 3035 / 1053
Регистрация: 01.06.2021
Сообщений: 11,524
|
|||||||
| 17.08.2022, 10:55 | |||||||
0
|
|||||||
|
Неэпический
|
|
| 17.08.2022, 12:18 | |
|
Royal_X, ну в этой теме у вас два варианта.
1) Java и C++ это одно и то же 2) Java это надстройка над C++
2
|
|
| 17.08.2022, 12:18 | |
|
C# как первый язык программирования Первый/основной язык программирования JavaScript как первый язык Питон, как первый язык программирования Python для первой работы, но не первый язык Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|