Обучаю себя С за 21 день - PullRequest
2 голосов
/ 28 марта 2009

Последние два с половиной года я провел (включая и выключая), изучая C по книгам типа k & r. Вскоре я понял, что мне трудно понять прозу и т. Д. Сначала я прочитал книгу «Учись С за 21 день», но даже не мог ее понять. Теперь, когда у меня есть достаточные знания о том, как использовать основы языка C (сюда входят не указатели / структуры, а базовый дизайн), я подумал о том, чтобы снова за 21 день прочесть Учить себя C, используя указатели, так что я могу начать работает над программами. Я не закончил k & r из-за уровня сложности его прозы и некоторых упражнений. Я знаю множество людей, которые даже не использовали книги, чтобы научиться кодировать. Итак, я спрашиваю, если кто-то считает хорошей идеей, что я просто прочитал 21-дневную книгу, и отошел оттуда, и прочитал более продвинутые книги, такие как APUE или, экспертное программирование на С и так далее.

Эта проза проста для понимания, и я действительно хочу попасть в некоторые проекты, где я, вероятно, осознаю некоторые подводные камни для себя.

Не могли бы вы дать мне какой-нибудь совет. Я не тороплюсь, но мне не терпится сделать все!

Ответы [ 11 ]

9 голосов
/ 28 марта 2009

K & R - лучшая книга для изучения Си, ИМО.

Я согласен с Питер Норвиг : за 21 день невозможно овладеть чем-либо. Все, что вы пытаетесь сделать, это понять синтаксис, чтобы вы могли начать писать простые программы.

8 голосов
/ 28 марта 2009

Я думаю, вам нужно как можно скорее начать писать простые программы. Попробуйте то, что вы знаете, и освоитесь с этим. Затем прочитайте новую главу и попробуйте это.

Написание кода возвращает его к жизни. Чтение книг очень сухое. Иногда я читаю книгу от начала до конца, чтобы выучить новый язык, но это только потому, что я уже выучил столько языков, что я не изучаю концепции - только синтаксис и особенность необычного романа.

3 голосов
/ 29 марта 2009

=== Исходя из моего личного опыта и ИМО, вы делаете это задом наперед. Начните с Hello World! ===

Когда я изучаю новый язык программирования, я не просто говорю, что «выучу этот язык, потому что слышу, что это хорошо - учить». Мне нужно , чтобы иметь причину для изучения языка. В противном случае, если у меня нет причины изучать язык, я не буду изучать или сохранять то, что прочитал о новом языке программирования.

Я учусь, делая , и поэтому я начинаю с выполнения примера "Привет, мир" .

C - не самый удобный для пользователя язык, и в нем нет большого количества «простых небольших программ», которые вы можете реализовать и сделать что-то классное ... и поэтому в него трудно войти.

И именно поэтому я думаю вам действительно нужен хороший мотиватор, чтобы выучить C.

Прямо сейчас у вас есть мотиватор: «Я должен учить C, потому что люди говорят, что учиться хорошо» ... и я не думаю, что этого мотиватора достаточно, чтобы выучить C. Одно предложение написать GTK-приложение с графическим интерфейсом на C ..., которое многому научит вас о C, и конечный продукт будет очень конкретным и классным, на который можно будет указать (следовательно, хороший мотиватор).

1 голос
/ 28 марта 2009

Черт возьми, 2,5 года кажется ужасно долгим! Раньше я был инструктором в коммерческой учебной компании, и наш курс по Си, который охватывал весь язык, включая такие «продвинутые» вещи, как указатели функций, занимал всего 4 дня! Какие биты вы находите особенно сложными?

1 голос
/ 28 марта 2009

Самый быстрый способ учиться - это знать это. Если у вас есть проблема, которую вам нужно решить, скажем, вам нужно рассчитать оптимальный порядок турниров для футбольных команд вашего сообщества, тогда у вас будет больше мотивации, чтобы узнать, как решить проблему. Вы будете сталкиваться с одной трудностью за другой, когда будете учиться, но они всегда будут иметь форму «моя программа не делает х», а не «я действительно не получаю х». Каждое упражнение по исправлению каждого недостатка научит вас новым вещам о языке и о том, как его использовать . Дополнительное преимущество, заключающееся в четкой задаче и множестве небольших успехов на этом пути, даст вам заряд энергии и обеспечит положительную обратную связь с вашим обучением.

Книга K & R C предоставит вам только правильные инструменты для решения проблемы с использованием идиом C.

Если вам нужны общие идеи для решения проблем, попробуйте projecteuler.net или выполните поиск связанных вопросов здесь по переполнению стека

0 голосов
/ 28 марта 2009

Я думаю, вам нужно использовать некоторые библиотеки, такие как GWT, потому что мы узнаем больше, когда увидим, как использовать код других людей. И создание некоторого пользовательского интерфейса намного более мотивирует, чем написание консольных приложений. Управлять Windows, Button, CheckBox гораздо удобнее, чем int, float, double (и не так сложно).

0 голосов
/ 28 марта 2009

Обучение себя С за 21 день похоже на обучение безопасности пистолета за 2 минуты. Результаты либо не определены, за исключением того, что C не имеет механизма безопасности или расшифровки.

На самом деле, потребуется два года, чтобы достичь какого-либо определения специалиста. Вы получите это, многократно выстрелив себе в ногу, научившись решимости решать практические задачи, используя C.

Лучшая часть 9 месяцев обнаруживает мигание, в то время как мигание - очень сложный процесс, C не всегда инстинктивен.

0 голосов
/ 28 марта 2009

Лучший способ для вас изучить C - это применять на практике изучаемые вами темы.

Например, если вы используете базовые принципы, такие как циклические операции и операторы if, вы можете создать небольшую программу, имитирующую функциональность подсчета изменений на торговом автомате.

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

Так что идея состоит в том, чтобы начать кодирование, чтобы проверить то, что вы узнали. Вы обнаружите, что иногда вы действительно не понимаете, хотя в книге это казалось ясным. Как хороший программист, вам придётся пересматривать темы до тех пор, пока вы действительно не узнаете это.

0 голосов
/ 28 марта 2009

Используйте эти 21 день, выполняя упражнения в K & R.

Сначала выбирайте легкие. Когда вы застряли, вы можете спросить Stackoverflow. ;)

0 голосов
/ 28 марта 2009

K & R - отличная книга (возможно, это все, что вам нужно, чтобы заработать C), все, что вам нужно, это немного терпения и усердного труда

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...