5 / 4 / 1
Регистрация: 19.04.2015
Сообщений: 33
1

Как учить язык программирования

20.10.2016, 21:37. Показов 2811. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как лучше всего учить языки, в частности с++? Вот читаю я эту книгу на 1200 страниц, читаю 3 дня подряд, прочитал страниц 300 и все, у меня начинается отвращение к этой книге, не могу заставить себя продолжить ее читать! Делаю неделю перерыв, потом продолжаю ее читать, но уже забываю, что уже прочитал до этого! Перепечатывал листинги программ, но все равно от простого переноса программы из книги в компьютер язык плохо запоминается. Пробовал делать упражнения после глав, но они настолько банальные, простые, консольные, 100 раз на Си написанные, что не могу я их делать! Надоела эта консоль!
Так, как лучше запоминать язык? Читать книгу медленно или быстро? Может делать конспект? Делать его в тетради или на компьютере? Но делать конспект по 1200 страницам очень долго, от такой механической работы, я начну забывать о чем в начале тема была. Может не учить по книге, а анализировать чужие программы, гуглить, узнавать в документациях, что значит каждая строчка кода? Но смогу ли я понять целостную картину, какие приемы, шаблоны применяются в коде?
Или придумать собственную, интересную мне задачу и гуглить, что мне необходимо? Но я ведь не узнаю, как к ней подступиться, не прочитав книгу, где написана общая картина по языку.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2016, 21:37
Ответы с готовыми решениями:

Как называется движение программирования или теория программы считывающая др. язык программирования
Не знал, как по другому задать вопрос, и также назвать тему, но буду краток: Допустим я хочу...

Как лучше всего учить язык C++?
Хочу начать изучать язык программирования! Остановился на C++, а с чего начать не знаю!

Как понять язык программирования?
Всем привет. Мучает кое какой вопрос. Занимаюсь программированием около 2ух лет в свободное от...

Как понять язык программирования?
Всем привет. Мучает кое какой вопрос. Занимаюсь программированием около 2ух лет в свободное от...

14
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
20.10.2016, 23:13 2
PokerMagnat,
- Как научиться много подтягиваться?
- Много подтягиваться.

Пишите. Пишите, пишите, пишите код. Много кода. Каждую изученную конструкцию отрабатывайте. Пробуйте написать калькулятор (или что-то еще). Каждый раз пробуйте переписывать, дополнять и улучшать код. Только таким путем обретете истинное знание. Задайтесь целью изучить (именно изучить) одну конкретную книгу не перескакивая на другие.
2
11 / 11 / 7
Регистрация: 15.10.2012
Сообщений: 83
20.10.2016, 23:15 3
желание не потеряй при учебе, а все другое со временем поймешь и изучишь
1
Неэпический
17815 / 10586 / 2044
Регистрация: 27.09.2012
Сообщений: 26,627
Записей в блоге: 1
20.10.2016, 23:18 4
Цитата Сообщение от PokerMagnat Посмотреть сообщение
Надоела эта консоль!
Так Вы хотите учить язык или что?
В языке C++ нет никаких "окошек".
А библиотеки, позволяющие делать окошки,
как правило, требуют, чтобы Вы уже знали язык.
1
3174 / 1933 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
21.10.2016, 00:54 5
Лучший ответ Сообщение было отмечено PokerMagnat как решение

Решение

Цитата Сообщение от PokerMagnat Посмотреть сообщение
Как лучше всего учить
Это итеративный процесс:
  • Перелистайте книжку, чтобы узнать, что в ней есть. Уясните синтаксис (набор символов, ключевые слова, правила записи выражений и функций). Для начала, вам нужны только базовые воможности языка - достаточно нескольких часов для освоения. Не пытайтесь понять все сразу и в деталях - это невозможно и бессмысленно. Понимание придет с опытом.
  • Возьмите посильный проект (например: "скопировать файл") и начните делать, читая по ходу соответствуюшие разделы книги и исправляя ошибки. Когда, наконец, заработает, прочитайте книгу заново, поймите как надо было делать правильно и все перепишите с нуля.
  • Усовершенствуйте начальный проект 1.0 (например, вместо "просто скопировать" -> "изменить кодировку с KOI8 на Win-1251", "применить шифрование ROT13", "зашифровать шифром простой замены", "использовать решетку Кардано").
  • Значительно усовершенствуйте проект 2.0 (например, вместо "зашифровать шифром простой замены" -> сжать алгоритмом LZW/Huffman).
  • Возьмите другую книжку. Поймите, что ваш код г*но и все переделайте. Следите за стилем кода, форматированием, способом именования переменных, структурированием программы, ее читаемостью и комментариями.
  • К этому моменту вы уже будете способны понимать чужой код - сравнивайте его со своим. Перенимайте лучшие практики, не ленитесь исправлять и переписывать свой код, если находите лучшее решение.
  • Овладевайте отладчиком. Думайте об оптимизации. Штудируйте алгоритмы.
  • Книжек еще много - вы уже самостоятельно способны выбрать нужную. Читайте. Много читайте...
3
Диссидент
Эксперт C
27497 / 17185 / 3784
Регистрация: 24.12.2010
Сообщений: 38,706
21.10.2016, 02:14 6
Лучший ответ Сообщение было отмечено PokerMagnat как решение

Решение

Цитата Сообщение от PokerMagnat Посмотреть сообщение
Может делать конспект? Делать его в тетради или на компьютере? Но делать конспект по 1200 страницам очень долго, от такой механической работы, я начну забывать о чем в начале тема была.
Поделюсь своим опытом "конспектирования". Вот, пытаюсь освоить новую для себя область. Книжки читаю. Сразу несколько. По диагонали, без деталей, только чтобы понять о чем речь идет. Ключевые моменты записываю. Конечно, на компьютер! Просто в файлик для начала. Но записываю только "о чем". И номер страницы. А чего книгу-то переписывать? Она - вота. Открыл - прочел. Только надо знать - где. После первого прохода начинаю работать. Возникли трудности - смотрю в файлик. Теперь уже читаю эту место внимательнее. Файлик растет потихоньку. Его уже хочется разбить на разделы, на несколько файликов.
Чего непонятно сразу - пишу туда же в виде вопросов. Искать сразу ответ не спешу. Сам найдется. Нашелся - ставлю плюсик. Если надо - с кратким пояснением. Забавно то, что через некоторое время смотришь на свои вопросы и покатываешься со смеху. Вот же был дурак! Зато теперь стал умнее.
Любопытно еще то, что эти конспекты часто позволяют мне легко отвечать на форумные вопросы. А иногда я их даже выкладываю для всеобщего обозрения. Вот у одного конспектика - 200 загрузок. И сто спасибок. Тоже приятно.

Добавлено через 11 минут
Цитата Сообщение от Croessmah Посмотреть сообщение
В языке C++ нет никаких "окошек".
А библиотеки, позволяющие делать окошки, как правило, требуют, чтобы Вы уже знали язык.
Позволю себе не совсем согласиться с высказыванием уважаемого маэстро. Чтобы начать их делать, надо совсем немного. Только самые основы языка. А с ними, конечно, веселей. Сразу виден результат и можно папе показать. Если еще не выбрал фрейворка, я бы тебе посоветовал Qt. Он и построен логично, и книги есть хорошие, и перспективен, и кроссплатформенен. Хотя и не прост. Но вещи элементарные на нем просты. И взять пример из книжки или туториала, покрутить его - чем не практика?
4
5230 / 3202 / 362
Регистрация: 12.12.2009
Сообщений: 8,112
Записей в блоге: 2
21.10.2016, 05:39 7
Цитата Сообщение от PokerMagnat Посмотреть сообщение
Надоела эта консоль!
а мне за 5 лет работы не надоела, самые сложные проекты - консольные (или вообще работают в фоне).
1
Модератор
Эксперт по электронике
8808 / 6591 / 894
Регистрация: 14.02.2011
Сообщений: 23,176
21.10.2016, 06:23 8
Лучший ответ Сообщение было отмечено PokerMagnat как решение

Решение

добавлю и свои пять копеек
"консоль или окошки" начнем с того, что консоль, чаще всего, это тоже окошко
далее задачу всегда нужно разбивать на подзадачи
например
1 расчет данных
2 интерфейс пользователя
вторую подзадачу тоже можно разделить
1 Ввод
2 Вывод
3 Обработка ошибок
А далее решать за что браться в первую очередь
например взялись за первую подзадачу, отработали все возможные варианты, ввод/вывод пока с консоли, оттестировали, все работает идеально
Интерес пропал, поэтому интерфейс так себе
Взялись сначала за вторую, интерфейс вылизан, каждая кнопочка на своем месте, на решение основной задачи сил нет

есть два пути программирования"Сверху вниз" пишется основная программа в ней функции заглушки
например
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int Output(int a)
{
return 0;
} 
 
int Input(int a)
{
return 0;
} 
int Computation(int a)
{
return 0;
}
int main()
{
Input(5);
Computation(5);
Output(5);
return 0;
}
программа рабочая, только ничего не делает
и постепенно заменяешь функции заглушки рабочими функциями
и второй путь "Снизу вверх" сначала создаешь низкоуровневые функции а потом собираешь в одну основную программу
недостаток - за деревьями можешь не увидеть леса написав все функции вдруг понимаешь что они не стыкуются

недостаток книг, по моему мнению, в этом и состоит, напишите функцию сортировки, функцию факториала, рекурсией, циклом,...... А на кой ляд мне все это ??? Т.е. начинающий не может представить зачем эти кирпичики, оттого и скука

Цитата Сообщение от PokerMagnat Посмотреть сообщение
Или придумать собственную, интересную мне задачу и гуглить, что мне необходимо?
По моему, самый лучший способ, только вопросы правильно ставить,этому тоже нужно учится

Как говорил Жеглов: "Когда живые дела рассматриваешь, учеба как-то быстрее идет"
1
Неэпический
17815 / 10586 / 2044
Регистрация: 27.09.2012
Сообщений: 26,627
Записей в блоге: 1
21.10.2016, 07:04 9
Байт, а на консоли не видно?
И ради каждого нового чиха по окошку рисовать?
Это как минимум оверхед для изучения, имхо.

Добавлено через 56 секунд
Kastaneda, бедняжка тебе даже показать нечего
1
Kastaneda
21.10.2016, 07:41
  #10

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
тебе даже показать нечего
у меня еще как-то так сложилось, что большинство проектов - это оборонные заказы (матает меня по таким конторам :)), я их реально даже показать не могу, сейчас вот такими штуками занимаемя, это все, что я могу сказать о своей работе :D

0
5 / 4 / 1
Регистрация: 19.04.2015
Сообщений: 33
21.10.2016, 17:08  [ТС] 11
Спасибо
0
rikimaru2013
21.10.2016, 17:18
  #12

Не по теме:

Цитата Сообщение от Kastaneda Посмотреть сообщение
самые сложные проекты - консольные
3д игры с вами не согласны)

0
Модератор
Эксперт CЭксперт С++
5148 / 2328 / 339
Регистрация: 20.02.2013
Сообщений: 5,720
Записей в блоге: 20
22.10.2016, 02:18 13
PokerMagnat, у меня в подписи есть ссылочка, кликните по ней. Там ряд тем и статей разной степени полезности. Возможно, найдёте что-то интересное для себя.
2
695 / 103 / 18
Регистрация: 22.06.2014
Сообщений: 228
09.11.2016, 19:09 14
Kastaneda, когда там уже Великую Российскую Стену построят? Успеют хоть до запуска Facebook и Google WiFi-аэростатов окуклить пространство рунета от внешних провайдеров доступа в Интернет, минуя этот ваш СОРМ ?
0
Kastaneda
10.11.2016, 16:51     Как учить язык программирования
  #15

Не по теме:

Цитата Сообщение от Martein Посмотреть сообщение
Kastaneda, когда там уже Великую Российскую Стену построят?
ну я на больничном сейчас, думаю не сегодня :)
Цитата Сообщение от Martein Посмотреть сообщение
минуя этот ваш
не "ваш", а "наш" :)

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2016, 16:51

Новые ЯП: существует ли язык программирования лучше чем C++, а если нет, то появится ли через 2-3 года такой язык?
Привет, зашёл на сайт, увидел C++ и подумал: Существует ли ЯП лучше чем C++, или появится ли через...

С чего начать учить язык, с прицелом на графику.
Подскажите пожалуйста, какие книги начать читать ? ранее вообще не был знаком с программированием,...

Как учить с++ чтобы не бросить (учить типы влом)
Суть не в том токо как учить, а в том как начать, чтобы не бросить..Учить типы влом..Хотелось бы...

Зачем учить язык в консоли, если пришло время окон?
Добрый вечер! Я когда начинал изучать этот язык искал литру и остановился на Р.Лафоре ООП. Ну...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru