|
Нарушающий
417 / 305 / 46
Регистрация: 13.04.2022
Сообщений: 1,759
|
||||||
Обучение C++ (первый язык)14.08.2022, 20:14. Показов 13976. Ответов 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
|
||||
|
фрилансер
6496 / 5727 / 1133
Регистрация: 11.10.2019
Сообщений: 15,293
|
|
| 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
|
||||||||||||
|
фрилансер
6496 / 5727 / 1133
Регистрация: 11.10.2019
Сообщений: 15,293
|
||
| 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,247
|
||
| 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
|
|
|
6315 / 3039 / 1055
Регистрация: 01.06.2021
Сообщений: 11,587
|
|||||||
| 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 для первой работы, но не первый язык Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Очистка реквизитов и табличных частей документа при копировании
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время?
Никакой пенсии. Никакого нового. . .
|
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю
Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы
Кратко. . .
|
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем
**Полевые заметки о двухнедельной совместной работе**. . .
|