|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
|
Простое начинание11.10.2013, 20:50. Показов 4988. Ответов 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
Помощь в начинание Объектно ориентированного програмирования
|
|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
|||
| 11.10.2013, 21:23 [ТС] | |||
|
На мой взгляд, не стоит зацикливаться на реализации. То есть, у нас есть определённый синтаксис и он выполняется вот так: инициализируется, проверяется условие, выполняется блок, инкрементируется. Но это детали. Суть чуть в другом. Сначала стоит разобраться что такое цикл в плане алгоритма и только потом перейти к Си++ и его деталям.
0
|
|||
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
||
| 11.10.2013, 21:25 | ||
|
0
|
||
|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
||
| 11.10.2013, 21:25 [ТС] | ||
|
Кстати, как насчёт того, чтобы добавить немного математики в книгу. Самой обычной математики с примерами на Си++? Возможно даже удастся вспомнить теорию информации и дискретную математику =)
0
|
||
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
||
| 11.10.2013, 21:26 | ||
|
0
|
||
|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
|
| 11.10.2013, 21:27 [ТС] | |
|
0
|
|
|
Саморазвитие <3
|
||
| 11.10.2013, 21:28 | ||
|
По поводу того как я начинал учить паскаль, тоже с блок схем и алгоритмов, но как видите все равно есть проблемы, как их леквидировать даже не знаю. Может с опытом придет кто его знает, когда достаточно много уже задач порешаю, думаю тогда и придет понятие того, как это все решать. P.S Почитал бы Кнута, но как известно, у меня плоховато с математикой, и то что там написано, не всегда понятно
0
|
||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
| 11.10.2013, 21:29 | |
Сообщение было отмечено как решение
Решение
5
|
|
|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
||
| 11.10.2013, 21:29 [ТС] | ||
|
Лучше начать с Юкио Сато и учебника математики за 9, 10 и 11 классы. То есть сначала с учебников, потом Юкио Сато (мне эта книга однажды сильно помогла с математикой). Ну а там Кормен и Кнут. Классика. Ещё Седжвик есть.
0
|
||
|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
||
| 11.10.2013, 21:34 [ТС] | ||
|
Добавлено через 3 минуты К слову, есть ещё тема компилятора. Тоже годиться на отдельную книгу (и далеко не одну), но общие закономерности есть. Рядом с ней стоит тема низкоуровневых оптимизаций (CPU, как оно работает и как ускориться). Вообще, книга должна быть огромной, так-то. Надо подумать.
0
|
||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
| 11.10.2013, 21:37 | |
|
У автора, замахнувшегося на многотомник, есть хотя бы пяток действительно качественных статей по теме?
0
|
|
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
||
| 11.10.2013, 21:38 | ||
|
AnyOne697, И вообще за ООП, ясно что он применяется в больших программах в мелких программах все делается в одном классе, так получаются программы более понятные, компактные. Выигрыша не получим мы если будем разбивать на мелкие классы. Да если это делать в плане обучения, то тогда да годиться, но а когда реальную программу пишешь, то ее разбиваешь только по мере надобности, тогда когда она становиться более понятна и легче дальше писать ее.
Добавлено через 1 минуту Автор напиши мелкую какую нить книгу С++ для чайников страниц на 300 да и все, там просто накидай пару примеров и хватит, я думаю она будет пользоваться спросом.
0
|
||
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
|
| 11.10.2013, 21:41 | |
|
Аха смысла ее нету писать, так же как и все учить, потому что все рамно то что учил год назад забывается, главное это принцип понимать, ну это со временем придет.
Добавлено через 43 секунды Если охота попробовать напиши для чайников, она будет популярна мб что нить еще и заработаешь.
0
|
|
|
Неэпический
|
|||
| 11.10.2013, 21:42 | |||
|
Не по теме:
0
|
|||
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
||
| 11.10.2013, 21:50 | ||
|
Добавлено через 3 минуты В любом случае пасажир будет его применять в силу своего опыта, если слабинький опыт, такой и ООП будет.
0
|
||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||
| 11.10.2013, 21:51 | ||
|
2
|
||
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
||
| 11.10.2013, 22:00 | ||
|
0
|
||
|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
|||
| 11.10.2013, 23:24 [ТС] | |||
|
Окей, тогда я сейчас пойду попробую начать что-нибудь. Мб что выйдет. И принесу сюда, если что будет готово и мне будет не сильно стыдно =) Добавлено через 1 минуту
0
|
|||
| 11.10.2013, 23:24 | |
|
Дано простое число. Составить функцию, которая будет находить следующее за ним простое число.
Дано простое число N. Найти следующие простое число используя do while легко(начинание) Начинание проекта по snort Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача
Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
Сигнатура
func Fetch(urls string, maxConcurrent int) Result
Пример
urls :=. . .
|
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition)
Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
|
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
|
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool
Worker Pool — паттерн конкурентной обработки задач в Go.
Суть: фиксированное количество горутин-воркеров читают задачи из общего канала
и пишут результаты в общий канал результатов. . . .
|
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|