|
Нарушающий
417 / 305 / 46
Регистрация: 13.04.2022
Сообщений: 1,759
|
||||||
Обучение C++ (первый язык)14.08.2022, 20:14. Показов 13939. Ответов 146
Метки начинающий изучение c++ (Все метки)
C++ как первый язык программирования.
Я начинал с С, где за пару месяцев можно всосать и простой синтакс, и скудноватые библиотеки. И главное - есть четкое хорошо видимое разделение между языком и библиотеками. Поэтому я понимаю как учить С - начиная со ступеньки ненамного выше ассемблера. Нужно и размеры типов знать, и двоичный комплемент двум понимать. И предсказуемое завершение, где основы понятны, дальше паттерны, книги и опыт. В новом С++ где ни ткнешь, обширная библиотека шаблонов, абстракций и т.д. Чрезвычайно полезная для разработки больших проектов, но трудная для подъема новичком (ИМО). Например, попробуйте написать программу "echo" на C++, используя только ++ные концепции недавнего стандарта. Вместо
А анализ производительности? Конкатенация строк через алгоритм:aggregate или алгоритм:stringstream? Слишком много для начинающего. А начинать с верхних концепций (наследование, шаблоны, итераторы) и полностью обойти вниманием внутреннюю кухню - это выучить еще одного индусоподобного "программиста". Если кто-то успшешно учил других C++ как первому языку, поделитесь подходом пожалуйста.
0
|
||||||
| 14.08.2022, 20:14 | |
|
Ответы с готовыми решениями:
146
Первый язык программирования на подходе к С++: Паскаль или С? Первый язык программирования Kotlin - как первый язык? |
|
389 / 334 / 66
Регистрация: 14.10.2014
Сообщений: 1,475
|
|||
| 19.08.2022, 18:57 | |||
![]() Вот только мой плюсовый MSVC - иного мнения. (во вложении доказательство) А что у вас в коде выше - ниже представленных этой строкой:
0
|
|||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 19.08.2022, 19:04 | ||
|
QueryMonkey, вы делаете то же самое что ева, игнорируете приведенные факты,
вырываете из котекста, все что бы подтвердить свою точку зрения. Что то вам двоим тут доказывать нет никакого смысла. Это называется хочу спросить, что бы утвердить свое мнение. (и не важно что оно ошибочное) Даже более того, не важно оно ошибочное или в какой мере верное. Важно то, что вы заведомо, сознательно не называете вещи своими именами. Зачем вы так делаете? Я хз. Зачем это делает eva2326, она все хорошо понимает, или думает что понимает, не важно , она просто троллит. Вы же заблуждаетесь, и заблуждаете своих учеников. У вас есть перед ними отвественность. Тогда давайте называть ВСЕ вещи своими именами, и учить ВСЕ с корня. Хочем освоить С++ - учим С, хочем С - учим ассемблер, хочем Ассемблер - учим машинные коды, хочем рахзобраться в машинных кодах, учим аппаратную архитектуру и транзисторы с прочими деталями. Вы учите своих учеников электрическим деталям, логическим блокам, микросхемам ? Думаю нет. - Почему нет ? Да потому что людское время и возможности не безграничны. Задумайтесь. Добавлено через 40 секунд
1
|
||
|
389 / 334 / 66
Регистрация: 14.10.2014
Сообщений: 1,475
|
||
| 19.08.2022, 19:14 | ||
|
видео в тему Добавлено через 1 минуту и они не могут принять то - что можно было-бы поступить иначе
0
|
||
|
Нарушающий
417 / 305 / 46
Регистрация: 13.04.2022
Сообщений: 1,759
|
|
| 19.08.2022, 19:24 [ТС] | |
|
SmallEvil, ведите себя прилично.
Я сейчас мнения, что знание С является пререквизитом для изучения С++ для студентов незнакомых с программированием. Учить одновременно основам (двоичная арифметика) и абстракциям (ОО) трудно, проще по слоям снизу вверх, чтобы при обучении абстрактным классам человек не путался в синтаксе указателей. Сюда пришел посоветоваться, и мне посоветовали одну книгу где так преподают. Кроме того, я встретил Recrut_rf, кто выучил C++ не опираясь на С. Это наверное сложнее, но он смог, значит такое возможно. У вас другое мнение, и я вам не мешаю его озвучивать. Добавлено через 7 минут Кстати, темы урока сегодня будут: - разделение C проекта на несколько исходников - польза от создания собственных хедер файлов "типа_таких.h" - как искать информацию про функции библиотеки С, не зная имени функции - неявные преобразования типов, продвижение типов в выражениях и передаче параметров.
0
|
|
|
389 / 334 / 66
Регистрация: 14.10.2014
Сообщений: 1,475
|
|||
| 19.08.2022, 19:35 | |||
|
касаемо обучения QueryMonkey, в одном из постов выше - John Prick уже сообщил вам как лучше всего преподавать С++. Кстати, в некоторых видео лекциях преподаватели так и поступали. Рассказывали про плюсы в той части, где они с Си пересекаются (ввод вывод при помощи scanf / printf, работу с файлами через FILE) - но не акцентировали внимание на том, что это Си. Потому как это такая же часть плюсов, как и iostream, fstream и прочее. И каждый плюсовик обязан её знать, понимать и разбираться. Некоторые плюсовые проекты, с которыми мне приходилось работать были скорее Си проектами, скомпилированными плюсовым компилятором. Добавлено через 5 минут - разделение C++ проекта на несколько исходников а это "- как искать информацию про функции библиотеки С, не зная имени функции" как - как искать информацию про функции библиотеки С++, не зная имени функцииДа и вообще что здесь Сишного то? Это ж всё галимые плюсы... ![]() Думаю, что разницы, в данном случае, между С++ и Си не будет вообще никакой...
0
|
|||
|
Нарушающий
417 / 305 / 46
Регистрация: 13.04.2022
Сообщений: 1,759
|
|
| 19.08.2022, 19:49 [ТС] | |
|
Да, это пока все общие для C и C++ темы.
Когда я их закончу и перейду к понятиям уникальных для C++, студенты будут знать С и смогут это добавить к списку умений, наряду с базовым использованием сорс контроля в условиях команды, написание юнит тестов и координацию качества работы через список багов. Я не пьюрист, я прагматист. Не вижу как учить классам тех, кто еще не разобрался в структурах.
0
|
|
|
фрилансер
6495 / 5726 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
|
| 19.08.2022, 20:47 | |
|
QueryMonkey, если что, в C++ классы и структуры ничем не отличаются, кроме private/public по умолчанию
1
|
|
|
12 / 7 / 0
Регистрация: 14.05.2021
Сообщений: 120
|
|
| 19.08.2022, 20:57 | |
|
Начал изучать С++ из академического интереса, втянулся, после работы решаю задачки по учебнику Васильева, даже что-то могу, массив составить функцию передать, сделать указатель на функцию и далее.. Конечно суперлогики еще нет, но будем потихоньку изучать.. я тут понял, что главное процесс изучения.. и постоянство во времени, ну и чтобы нравилось..
3
|
|
|
2405 / 1937 / 763
Регистрация: 27.07.2012
Сообщений: 5,576
|
||
| 19.08.2022, 21:06 | ||
|
0
|
||
|
фрилансер
6495 / 5726 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
|
| 19.08.2022, 21:16 | |
|
Sinitsky, С++ кто-то ругает, кто-то ненавидит. А есть мы, кто просто любит его со всеми его закидонами
Любовь объяснить невозможно.QueryMonkey, John Prick, Я тоже чистый Си не использовал, начал сразу с C++, наскоком, без теории, без интернета под рукой. Это всё было просто в кайф, а я был школьник
0
|
|
|
Модератор
|
|
| 19.08.2022, 21:39 | |
Сообщение было отмечено QueryMonkey как решение
Решение
Имхо что Си перед плюсами все же полезен, не обязателен, но полезен.
Сам я изначально учил в универе Си, хотя чистым его сложно назвать, на лекциях вроде и чистый, но на лабах писали кто на смеси плюсов и си, кто на чистом си (я среди них). Но так как это был не профильный предмет, то потом перешел на Matlab (питоноподобный язык). Потом немного самоучка purebasic чисто для одного проекта, потом с планами (которые так и забросил) написания модов для игры изучил прилично java core, переписал проект с purebasic на него и понял ооп, до этого ооп понять не мог. После джавы перелез на плюсы и потом на qt начал переписывать свой проект. Пытался изучать питон, не зашло (изза типизации, а точнее ее отсутствия), шарп тоже не зашел. Сейчас изучаю java spring и c++. Чистый Си мне нравится, только на нем сложно и долго писать крупные проекты, в планах еще ассемблер. Есть приличный курс (на ютубе от автора, лекции МФТИ) по плюсам, там подразумевается знание чистого си и ассемблера (помимо линукса) как основы для изучения плюсов. Курс довольно сложный и преподносится больше в стиле на си это пишется вот так а у плюсов для этого есть готовые инструменты.
1
|
|
|
Нарушающий
417 / 305 / 46
Регистрация: 13.04.2022
Сообщений: 1,759
|
|
| 19.08.2022, 22:02 [ТС] | |
|
Прорабатываю вопрос домашек - придумываю задачки со следующими свойствами:
- ТЗ выглядит полным, но таковым не является - можно решить легко за час-два в лоб - решения в лоб являются неоптимальными - есть пространство для многофакторных оптимизаций и доделок Например: написать программу ispalindrome [-N] FILE.TXT которая определяет, является ли содержимое файла палиндромом. - Если файл является палиндромом, вывести размер и имя файла в stdout - Если файл не является палиндромом, ничего не вывести - Ошибки работы программы сообщать только в stderr - Файлы длины N или меньше палиндромами не считать.
0
|
|
|
фрилансер
6495 / 5726 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
|||
| 19.08.2022, 22:03 | |||
![]() Тоже рекомедую посмотреть всё-всё на его канале. Такой заряд бодрости кстати, имеется аккаунт в дискорде специально для студентов. Последние новости:
1
|
|||
|
Нарушающий
417 / 305 / 46
Регистрация: 13.04.2022
Сообщений: 1,759
|
||
| 19.08.2022, 22:10 [ТС] | ||
|
Ожидаемые подвохи:
- файл длиннее 100ГБ (больше чем памяти) - файл недоступен изначально, или ошибки чтения файла - файл содержит UTF-8 ("ЖЖ" - палиндром? я бы сказал да) - присутствие BOM - наличие завершающего \n - виндовские окончания строк ("12\r\nC\r\n21" - палиндром) - скорость попыток чтения файла задом наперед будет ужасной. Добавлено через 2 минуты
0
|
||
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
||||||
| 19.08.2022, 22:49 | ||||||
|
Аргументируйте. Очевидно, что поскольку: Или сразу начать изучать с++. Добавлено через 1 минуту Я привела подробные аргументы, почему ваше заявление - чушь. Вы, вместо того, что бы принять мои аргументы, либо оспорить, перешли на мою личность. Кстати, вот это - тоже чушь: if с for, либо у вас в голове полностью отсутствует здравый смысл.
1
|
||||||
|
389 / 334 / 66
Регистрация: 14.10.2014
Сообщений: 1,475
|
|||||||||||||
| 19.08.2022, 23:04 | |||||||||||||
|
Для примера - вроде как С++ гораздо строже к типам и их преобразованием по сравнению с Си. Добавлено через 11 минут возможность определения объекта прямо в теле оператора ветвления if. Т.е. вместо такого кода:
0
|
|||||||||||||
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
|||||||||
| 19.08.2022, 23:07 | |||||||||
|
Например: начал новичок сразу изучать с++. И вот у него каша в голове. Обучение с++ вредит? Добавлено через 1 минуту Например:
0
|
|||||||||
|
389 / 334 / 66
Регистрация: 14.10.2014
Сообщений: 1,475
|
||
| 19.08.2022, 23:13 | ||
|
0
|
||
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
||
| 19.08.2022, 23:47 | ||
|
Обучение математики с физикой тоже вредит? Ведь у обучающегося тоже может возникнуть каша в голове, и он может кем то там себя возомнить?
0
|
||
|
2405 / 1937 / 763
Регистрация: 27.07.2012
Сообщений: 5,576
|
|||
| 20.08.2022, 00:06 | |||
![]()
0
|
|||
| 20.08.2022, 00:06 | |
|
C# как первый язык программирования Первый/основной язык программирования JavaScript как первый язык Питон, как первый язык программирования Python для первой работы, но не первый язык Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов
Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|