|
0 / 0 / 0
Регистрация: 25.12.2015
Сообщений: 2
|
|
Хочу научится программировать но не знаю с чего начать31.01.2017, 22:08. Показов 23929. Ответов 206
Метки нет (Все метки)
Всем привет! Меня зовут Александр. Хочу научиться программировать на языке . Опыта в этой сфере нету, но есть желание подскажите с чего начать?
0
|
|
| 31.01.2017, 22:08 | |
|
Ответы с готовыми решениями:
206
Хочу научится программировать микроконтроллеры, но не знаю с чего начать Хочу научится писать парсеры. С чего начать? Хочу самостоятельно изучить СИ/СИ++,но не знаю с чего начать |
|
21 / 21 / 10
Регистрация: 11.09.2015
Сообщений: 103
|
|
| 03.05.2017, 11:23 | |
|
WinsWood, Курс "Язык программирования С++. Базовый курс. Пятое издание" Стенли Б. Липман и др. полнее и ближе к современности, чем курс Прата. Еще ближе - "Современный С++. Для программистов, инженеров и учёных" Питер Готшлинг. Хотя не столь полный, зато менее занудный. Хорошо иметь под рукой "Стандартная библиотека С++. Справочное руководство. Второе издание" Н.М. Джосаттис. И "Эффективный и современный С++" Скотт Мейерс. И всегда - www.cplusplus.com, en.cppreference.com/w.
И всегда под рукой - компилятор. Вижуал Студио 2015, например. При чтении ДОЛЖНЫ возникать вопросы, на которые ответ можно получить только из компилятора. Добавлено через 6 минут Чтобы оценить перспективы, возможности С++ - "C++ AMP" Кейт Грегори. Добавлено через 8 минут N.B. Если не найти перевод, то "In Discovering Modern C++" by Peter Gottschling. Оригинал всегда лучше, т.к. переводы врут.
2
|
|
|
1 / 1 / 0
Регистрация: 19.02.2021
Сообщений: 6
|
|
| 19.02.2021, 23:53 | |
|
Добрый день! Читаю Прата вдумчиво. Но все говорят :» как можнораньше начинай писать свой код». Не понимаю, что писать-то? Я могу создать всякие массивы, переменные и структуры да повыведите их в консоль. Какначать делать реальный проект? Приложение на телефон, например, даже самое простое. Везде пишут об азах, а потом бац и резко уровень советов подскакивает. А где же промежуток?
И как слезть с простого чтения, хоть и вдумчивого? ( у Прата я делаю упражнения)
1
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 20.02.2021, 00:05 | ||
|
Так что если у вас есть идея, то реализовать вы ее сможете и в консоли. Заодно научитесь декомпозиировать задачу и отвязывать логику от визуального представления.
1
|
||
|
1 / 1 / 0
Регистрация: 19.02.2021
Сообщений: 6
|
|
| 20.02.2021, 00:40 | |
|
Хочется сделать приложение для изучения японского: чтоб можно было создавать свои анки карточки. Я подходящего для себя приложения не нашла. Но это ж не мой левел: небо и земля.
Я думала: надо знать всякие специфические функции С++ для разных целей, чтоб создавать реальные продукты. Но все равно же надо библиотеки изучать.. Мне интересен следующий шаг в изучении после Прата/ во время чтения Прата. Как-то я не верю, что решение простых задачек Абрамова, например, или на сайте sppstudio.com ( тем более что в отзывах говорили об ошибках в этих тестах) научит писать код для создания реальной вещЧи. (Еще я пробовала sololearn- мне ужасно не понравилось. Учебы 0, одна реклама.)
0
|
|
|
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,361
|
|||
| 20.02.2021, 01:53 | |||
|
0
|
|||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||
| 20.02.2021, 09:36 | |||
|
Все эти задачки нужны, чтобы вы освоили базовые правила языка. Без них ничего сложного вы не создадите. Уверенное владение инструментом (языком программирования), вот для чего это все нужно. Так вот. Во-первых вам нужно будет прочесть несколько книг по best practices в С++ (Мейерс, Саттер, Дьюхерст). Параллельно с этим изучаете алгоритмы и структуры данных (Вирт, Кнут, Седжвик, Кормен - что-то одно для начала). Во-вторых ознакомиться с ООП (Мэйер, Буч) и принципами SOLID (Мартин). И обязательно ознакомиться с паттернами проектирования (тут есть классическая книга GOF, или более дружелюбная книга из серии Head First). В третьих, нужно изучать инструментарий. git, cmake, отладчик, линкер, как устроена компиляция в с++, какие есть ключи компиляции, как строить библиотеки, как собирать дистрибутив, а также ознакомиться с инструментарием для профилирования; c инструментарием статического и динамического анализа. Это все еще можно рассматривать как повод научиться работать с документацией. Ну и можно начать знакомиться c каким-то фреймворком, например с Qt. Большинство книг есть в этом списке: Литература C++ Все вышесказанное не отменяет практики. Вы обязательно должны что-то писать, понятно, что в силу того, что сейчас можете осилить. Начните разбираться в Qt, там гораздо больше возможностей для получения "красивого" результата. На первых этапах это очень важно, чтобы визуализация присутствовала, а со временем сможете видеть и красоту кода (и поймете, что разработка серьезного приложения это всегда больше, чем красивый внешний вид). В любом случае только теория, или только голая стихийная практика замедлят ваше становление как специалиста, поэтому эти вещи нужно комбинировать на всем этапе обучения.
0
|
|||
|
389 / 334 / 66
Регистрация: 14.10.2014
Сообщений: 1,474
|
|||||||||||
| 20.02.2021, 10:01 | |||||||||||
|
Sigrid Katt, тут вот какая ситуация вырисовывается: если вы сейчас увидите код какого-нибудь оконного приложения, самого простого, написанного скажем при помощи WinAPI. То скорее всего вашей реакцией на него будет - ААА что это за дичь!!! такая?!!!!
это же невозможно понять . (Но это моё мнение и я вполне могу ошибаться ). Хотя на самом деле - оно отличается от консольного только специфической главной функцией (у консольных прог это
А в каком-нибудь Qt различий ещё меньше будет (только в том, что нужно использовать обязательно определённые классы). И вот для того, чтобы понимать и разбираться и в оконных прогах (без разницы, с помощью чего они написаны) - вам обязательно нужно вначале разобраться с основами. Хотя... попробуйте поковыряться и с оконными прогами - может у вас прирождённый талант и программирование вам даётся настолько легко, что какой нибудь WinApi для вас так - лёгкий напряг мозгов и ничего более... Добавлено через 12 минут Sigrid Katt, точно, вспомнил - есть книга (точное название не-помню, у меня дома на компе есть) что то вроде "Изучаем С++ с помощью программирования игр". Я не могу утверждать -хорошая она или плохая потому как не читал её. Но она вся построена вокруг примеров различных консольных программ. Эх - мне бы эту книгу пару лет назад... Хотя и сейчас интересно глянуть - что там.
0
|
|||||||||||
|
Just Do It!
|
||||||
| 20.02.2021, 10:13 | ||||||
|
язык программирования на то он и язык программирования, что зная 5 идиом можно написать ВСЁ остальное, в том числе и специфические функции, но это будет долго, поэтому, да, нужно юзать либы.
т.е. вам приспичило покрасить иероглиф в зелёный цвет, ваши действия, 1. открываете доку. 2. ищите там слово "color" 3. затем слово "set" 4. красите иероглиф. 5. теперь можно забыть и больше не помнить до следующего раза. т.е. Знания добываются по мере их необходимости. Большими буквами напечатайте это на плакат и повесьте на видном месте. 1. уметь показать текст на экране. 2. уметь показать японский текст на экране. 3. делать п.2 в том момент времени, когда оно нужно. сложно? но а хелловорлд от пункта 1 чем отличается? 2 пункт это даже и не программирование, а тупая интеграция. 3 пункт, это, вот тут как раз программирование, но достаточно пару начальных глав любой книжки. Представьте вашу программу, в ней 10000 строк кода. Каждая строчка это элементарнейшая конструкция смысл которой лежит на поверхности: не надо читать никаких книг чтобы её понять. Но, а теперь попытайтесь понять, как строчка 2345 логически может быть связана со строчкой 8765 ??? т.е. небо появляется в том момент, когда количество сущностей в вашей программе, увеличивается настолько, что управлять этим хозяйством без особых усилий уже НЕВОЗМОЖНО! поэтому все эти мелкие задачки полная херня и чтение книг это просто отдых!
0
|
||||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 20.02.2021, 10:20 | ||
|
Но ок, начнем с карточек. Берите Qt и для начала гуглите как в Qt показать jpg файл. Там ничего сложного, в отличие от "навелосипедить тоже самое с нуля на WinAPI".
0
|
||
|
1 / 1 / 0
Регистрация: 19.02.2021
Сообщений: 6
|
|
| 20.02.2021, 12:28 | |
|
Ну вот вы снова говорите : сначала базовые конструкции языка отточить, а потом бац! И написать игру какую-нибудь простенькую. А я вообще не понимаю, с какого бока подходить с созданию. Между мной, человеком ознакамливающимся с языком по первой книге, и человеком, который в состоянии написать нечто работающее, пропасть. Как ее заполнить?
Добавлено через 9 минут Благодарю вас! Я на 6 главе Прата, но беспокоюсь о том, что же дальше ![]() Добавлено через 3 минуты В яркси нет возможности анки создавать. Там можно создать группы, все слова записаны в столбик. На каждое надо тыкать, потом выходить из слова, тыкать на следующее. Анки же сами листаются.
0
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|
| 20.02.2021, 12:40 | |
|
Ок, совсем простенькое: делайте текстовый квест. Сценарий квеста задается в текстовом файле. Ваша задача - загрузить этот самый сценарий и воспроизвести. Сценарий представляет собой последовательность строк вида "действие аргументы". Ну, что-то вроде:
print Посадил дед репку. Выросла репка большая пребольшая. label start choice Что делать будем? case pullTurnip Тянуть репку case callOldWoman Позвать бабку endChoice label pullTurnip print Тянет-потянет, вытянуть не может goto start label callOldWoman print Вытянули репку. endGame Далее ко всему этому надо прикрутить поддержку переменных и ветвления. Чтоб можно было в сценарии учитывать сколько раз репку тянули. Далее прикрутить графику. Короче, на ближайшее время чем заняться найдется.
0
|
|
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
||
| 20.02.2021, 12:57 | ||
|
p.s. в завершение разобраться с потоками, чтобы всё, что работает разделить на поток выполнения и поток основной (в котором ваш GUI живёт)... - это чтобы не выполнять логику в основном потоке, т.к. при таком однопоточном подходе окошко будет виснуть, пока логика отрабатывает... коллбэками или др. средствами наладить взаимодействие между потоками
0
|
||
|
389 / 334 / 66
Регистрация: 14.10.2014
Сообщений: 1,474
|
|
| 20.02.2021, 13:00 | |
|
Sigrid Katt, вот вам в качестве примера два небольших проекта LabirintEnd - консольная игра лабиринт (управление по-моему кнопками WASD) Сочинял по мануалу с ютуба. Код не очень - некоторые вещи сейчас сделал бы по-другому, но не суть. Он прост и понятен.
Studing - это консольные крестики нолики. Играем против компа. При запуске, в начале компьютер "обучается", а потом можно играть. Управление при помощи посылки команд вида 1 0 - ну то есть посылаем цифровое обозначение клетки, в которую делаем ход (опять же если не ошибаюсь - давно уже запускал). Эту прогу взял из одной книги Смотрите, изучайте, спрашивайте если что-то непонятно.
0
|
|
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
|
| 20.02.2021, 13:03 | |
и всё это склеить из базовых конструкций, как из кирпичиков...Добавлено через 2 минуты потом можно оптимизировать и рефакторить по надобности...
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 20.02.2021, 13:34 | ||
|
0
|
||
|
4130 / 2708 / 433
Регистрация: 09.09.2017
Сообщений: 12,036
|
|||||||||||||
| 20.02.2021, 13:55 | |||||||||||||
Но ведь нет предела совершенству: можно добавить комплексные числа, системы счисления, графический интерфейс. Это просто пример. Может и с вашу задачу с японским языком можно упростить до хелло-ворлда и постепенно наращивать сложность, но тут я не знаю как это может выглядеть. Да, еще одно: в GUI лезть не спешите, оно не столько сложное, сколько развесистое. Вариантов реализации много, каждый разработчик графической библиотеки пишет в меру своего извращенного вкуса. Больше времени потеряете разбираясь что там наворотили условные тролли из Qt, чем логикой работы заниматься будете.
1
|
|||||||||||||
|
1 / 1 / 0
Регистрация: 19.02.2021
Сообщений: 6
|
|
| 20.02.2021, 15:10 | |
|
Да, под виндой.
Благодарю всех за ответы! Но вот еще вопрос: Задумываюсь о покупки планшета Apple с клавиатурой. Можно ли писать код на эпл? Для меня загадка, куда эпл устройство сохраняет некоторые файлы, сохраненные по ошибке. Вот куда epub и pdf файлы сохраняются знаю, потому что устройство спрашивает, куда бы я хотела сохранить.( я говорю об оранжевом приложении Книги) А вот все другое будто бы исчезает в недрах устройства и просто занимает память планшета. Не будет ли проблемы сохранения файла с написанным кодом, а оно непонятно куда сохранилось; или сохранилось, но на Эпл планшете это все не запустить...?
0
|
|
| 20.02.2021, 15:10 | |
|
Хочу научится программировать Хочу создать программу с GUI, не знаю с чего начать Хочу создать свою соц. сеть, но не знаю, с чего начать Хочу создать приложение, но не знаю с чего начать!(Взгляни может знаешь)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сукцессия 20. Война автоботов. Делаем ставки. Лёд против "пш-пш!".
anaschu 11.07.2026
Битва ИИ в ризосфере: Как мы скрестили жесткие ОДУ, закон Фика и «подземный шантаж»
Уважаемые коллеги!
Хочу поделиться уникальным опытом ведения междисциплинарной компьютерной разработки. Прямо. . .
|
Сукцессия 19. Какие выводы я сделал из модели? Часть 2.Внутримикоризный стехиометрический буфер и хроно-дискретные зоны экспансии
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
|
Сукцессия 18. Какие выводы я сделал из войны грибов с деревьями? Часть 1- рассказ и немного про термины
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
Система ОДУ описывает динамику изменения массы различных компонентов системы во времени. Ключевой. . .
|
Просветление в 5 секунд
kumehtar 10.07.2026
Андрей Веретенников выдал фразу недавно: "Вам не обязательно кем-то себя считать"
|
|
Эксперимент с картинкой-обложкой на CodinGame
Adler 10.07.2026
Решил на днях провести эксперимент. У меня есть аккаунт на CodinGame, ТОП-3 по РФ среди 2200 участников (в разделе соревнования по программированию ИИ-ботов). Там есть обложка, куда можно влепить. . .
|
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
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|