|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
|
Простое начинание11.10.2013, 20:50. Показов 5141. Ответов 53
Сразу прошу - не бросайтесь кирпичами.
Предисловие (можно пропустить). С Си++ знаком очень давно, по сути - это первый язык программирования, с которым я стал более менее серьёзно программировать. От консольных утилит и курсовых с GUI, до игр и серьзных проектов с ассемблером. И за это время я узнал не мало о языке, о его возможностей. Что-то мне в нём нравиться, что-то нет. Но есть очень много новичков, которые хотели бы овладеть этим безусловно очень мощным инструментом (в умелых руках). Поэтому мне вдруг (на самом деле - очень давно) захотелось бы написать небольшое... руководство. С опорой на опыт, а не на рефернсы. Конечно, я не джедай и мне далеко до него. Но так уж получилось, что часто приходилось разных людей учить программированию, а точнее - Си++. Очень разных. Есть небогатый опыт. Просьба (можно начать отсюда). Таким образом мне хотелось бы составить список тем, которые требовалось бы осветить. Зачем? Последний сезон Breaking Bad вышел не так уж давно (да, я слоупок) и есть 15 минут, пока Собственно. Темы должны быть полными. При этом хотелось бы, чтобы последовательность изложения была удобной для чтения. Приятной и удобной. Не скучно и эффективно. Прошу здешних форумчан помочь составить базовый список тем Си++, владея которым на уровне, можно было бы считать себя отличным Си++ программистом. К тому же, в свете Си++11 и Си++14, появились определённые новшества, которые, возможно, сильно преобразуют обычный Си++ код. В добавок, хотелось бы сделать уклон в сторону ООП и описать техники, которые позволят избежать очередной пули в ногу. У Вас наверняка есть пара тузов в рукаве. Что хотелось бы (это так же можно пропустить). Собственно, в идеале талмуд должен быть интересен как новичкам в Си++, так и новичкам в программировании вообще. Было бы замечательно, если бы описанное было интересно и старичкам. Текст будет (если что получиться) полностью свободным. Приветствуется кооперативное авторство. Что есть сейчас (это будет обновляться). Предисловие) Начать хотелось бы с небольшого предисловия о роли языка Си++ в совремнном мире, небольшая справка о историческом значении и субъективный прогноз на будущее. 0) Введение в программирование. Наверное, важная часть, освещающая программирование в целом. Как строятся алгоритмы, что есть структорное программирование (и какие есть альтернативы). Немного о том, как связана математика, схемотехника и информатика. Вообще, какие науки (понятно, что все) изучают программирование и с какой стороны. 1) Базовый синтаксис. Проекция информации из введения в уловные обозначения Си++. То есть, каким образом реализуется структурное программирование в Си++, какова его объектная модель. Никаких сравнений с другими языками программирования. 2) Стандартные алгоритмы. Немного про стандартные алогритмы. В основном - практика. 3) Расширенные возможности. Дополнительные возможности. Всё, что не укладывается в базовый синтаксис по теореме Бома-Якопини. 4) Нетривиальные возможности. Возможности, выходящие за те возможности, которые предоставляет синтаксис с компилятором. Другими словами - какие крутые базовые блоки можно слепить из других базовых блоков. 5) Практика. Вот здесь я уже обессилил. Не представляю, что можно изучить в рамках практики с применением всех возможностей языка. В идеале требуется показать этакий best practice. Боюсь, это будет без всех возможностей. inf) Приложения. Здесь все дополнения, которые выбиваются из общей канвы повествования. Заранее благодарю. P.S. Вполне возможно, из этого ничего и не выйдет. Я просто подумал, что было бы не плохо попробовать. К тому же, вполне вероятно я сам научусь чему-то новому. А если у меня получиться научить кого-то, то это будет просто прекрасно.
0
|
|
| 11.10.2013, 20:50 | |
|
Ответы с готовыми решениями:
53
Помощь в начинание Объектно ориентированного програмирования
|
|
Антикодер
1889 / 871 / 48
Регистрация: 15.09.2012
Сообщений: 3,092
|
|
| 11.10.2013, 23:46 | |
Сообщение было отмечено как решение
Решение
1
|
|
|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
||
| 12.10.2013, 00:10 [ТС] | ||
|
0
|
||
|
Антикодер
1889 / 871 / 48
Регистрация: 15.09.2012
Сообщений: 3,092
|
|
| 12.10.2013, 00:33 | |
|
Не по теме: оффтоп я только собираюсь писать сейчас, придумал название для вашей книги: Ну а если по теме, то ваша репутация вырастет если напишите учебник(да даже статью). Только надо определиться с аудиторией, это либо люди далекие от программирования, типа студентов, которых вы бы хотели привести в программирование. Либо люди, которые стремятся к программированию и активно изучают соответсвующую литературу. Мне бы хотелось видеть учебник в формате "некое математическое понятие, затем конкретный пример его применения" ни как у Кнута тяжелые для восприятия формулы и алгоритмы, а относительно простые понятия, и реальная польза от них в жизни. Интегралы, дифференциальные уравнения, статистика. То есть как базовые математические навыки, могут например сократить время в пути, делать оценки по прогнозированию простых ситуаций, следить за собственным здоровьем(в этом смысле у Дейтела(издание 2011 года) понравились задачи типа как "написать программу для расчета Body Mass Index" и т п)
0
|
|
|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
||
| 12.10.2013, 00:36 [ТС] | ||
|
Правда, начать следует, наверное, с дискретной математики. А подробней по тема? Что именно осветить. Чтобы люди не сильно знакомые осилили, а те кто в темы быстро поняли, что им требуется пропустить. К слову, я надеюсь, что не сильно заразился Корменами и Кнутами. Одно время очень тяжело их воспринимал, сейчас же с лёгкостью ориентируюсь в книгах.
0
|
||
|
Антикодер
1889 / 871 / 48
Регистрация: 15.09.2012
Сообщений: 3,092
|
|
| 12.10.2013, 00:42 | |
|
студенты не понимают для чего им дают понятия, которые они нигде не могут применить. Помню в универе нам говорили - "просто выучите, а понимание придёт потом". Тока зачем учить если не понимаешь зачем оно надо?
0
|
|
|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
||
| 12.10.2013, 01:18 [ТС] | ||
|
Я к тому, что теория нередко бывает сильно оторвана от практики. Понимание приходит именно с ней. За 6 лет сложно получить и теорию (всестороннюю более менее) и практику. Да и вообще в РФ очень неплохое теоретическое образование, с практикой не очень. Хотя... понимание - это вопрос даже ближе к философии. Что это такое? Когда мы понимаем? А когда нет? А что, если нам кажется, что мы не понимаем? И наоборот - кажется, что понимания нет, а на самом деле оно есть. Это проблема жизни. Понятийный аппарат человека слабо изучен, и хотя есть такое слово - понимание, не совсем понятно, как понять, понимаешь ты или нет. Закрутил... С знанием проще. Ты либо знаешь что-то, либо нет. Знание оперирует фактами. А их можно проверить банальным тестом.
0
|
||
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
||
| 12.10.2013, 01:53 | ||
|
Себя ж ты не обманиш, если не понимаешь, то сам прекрасно знаешь, что не понимаешь, а если понимаешь, то ясно что понимаешь еще лучше. Ты и правда чуток закрутил.
0
|
||
|
Форумчанин
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
| 12.10.2013, 02:07 | |
|
AnyOne697, возможно вы это уже знаете, но попробую дать совет: если все-таки надумаете публиковать свои труды, то этот раздел для вас.
Вполне возможно, что вы сможете объяснить базовые вещи понятным языком. Главное почаще сверяйте свое мнение со стандартом и мнением сообщества (не только форума), чтобы не оказалось например так, что люди будут отвергать паттерны, свято веря, что это ересь. Можете указывать, например, рядом со своим мнением, мнение сообщества. Труд вы взялись брать колоссальный, подходов тут масса, всем возможным пользователям не угодишь и про все не расскажешь. Надеюсь, пользу это волонтерство принесет, желаю удачи.
1
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 12.10.2013, 02:11 | |
Сообщение было отмечено как решение
Решение
Господа ninja и AnyOne, вам обоим не хватит опыта и знаний на более-менее приличную книгу.
4
|
|
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
||
| 12.10.2013, 02:15 | ||
|
0
|
||
|
Антикодер
1889 / 871 / 48
Регистрация: 15.09.2012
Сообщений: 3,092
|
|
| 12.10.2013, 09:38 | |
|
помоему, если человек не применяет паттерны и не знает стандарта, но у него включен мозг, то он вполне может написать интересную вещь. Правда вероятность ниже. Не понимаю почему нет. Тока не называть тогда статью (книгу) "как выучить C++", а "Мои подходы к разработке ПО"
0
|
|
|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
|||
| 12.10.2013, 13:50 [ТС] | |||
|
И было бы не плохо, если бы сообщество мне помогло. От ссылок и списков тем, до вычитки, правки и статей. Было бы отлично систематизировать разбросанный по Интернетам материал. Поэтому это не мой труд. Это труд сообщества. Окей. Собственно, я начал писать введение. Пытался ввести в понятие алгоритм как на интуитивном уровне, так и со строгим определением. Получается не густо. Что стоит рассмотреть в этой части. Какие вопросы, может быть есть теоремы. Мне кажется, было бы не плохо ввести понятия алогоритма, структурного программирования (с теоремой), продемонстрировать универсальную машину Тьюринга. Что ещё? Также, встал вопрос о форматировании. Так как текст многогранный, часто придётся переходить от темы к теме. Резкий переход - не есть быть удобным для чтения. Может быть использовать врезки и сноски. Часть переносить в приложения. Но может придумаем ещё что-нибудь интересное?.. К тому же, встаёт вопрос о самопроверке и практических заданиях. Это очень важная часть, но тогда это больше учебник, чем талмуд. Но с другой стороны, можно давать практические задания прямо в ходе повествования. И каким-то образом их выделять, чтобы читатель мог их решать сначала сам, а потом сверять с ходом решения в тексте.
0
|
|||
|
Антикодер
1889 / 871 / 48
Регистрация: 15.09.2012
Сообщений: 3,092
|
|
| 12.10.2013, 14:58 | |
|
если вы согласны со опредениями в вики "программирования", и "алгоритма", то ставьте просто ссылки. Если нет, то ссылки я бы всё равно поставил, но написал бы что с ними не согласен.
0
|
|
|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
||
| 12.10.2013, 15:05 [ТС] | ||
|
Да и дело не в определениях. Дело в понятиях. Понятийный уровень - это не только строгое определение, но и интуитивное представление с логическим объяснением. Вообще, было бы не плохо научить (и научиться) программировать на интуитивном уровне.
0
|
||
| 12.10.2013, 15:05 | |
|
Дано простое число. Составить функцию, которая будет находить следующее за ним простое число.
Дано простое число N. Найти следующие простое число используя do while легко(начинание) Начинание проекта по snort Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|