Сколько времени изучить C? [закрытый]

David Goodger (в "Коде Как Pythonista" здесь ) описывает PEP 8 рекомендаций следующим образом:

  • joined_lower для функций, методов, атрибутов, переменные

  • joined_lower или ALL_CAPS для констант

  • StudlyCaps для классов

  • camelCase только для приспосабливания существующим ранее соглашениям

13
задан wildcard 21 July 2009 в 12:50
поделиться

11 ответов

C потребуется неделя, чтобы научиться, и целая жизнь, чтобы освоить.

32
ответ дан 1 December 2019 в 17:14
поделиться

Читать книгу K&R и не писать код - все равно что читать книгу об оружии и никогда не стрелять. Да, вы читали в книге , что это работает именно так, но вы никогда не сталкивались с типичными проблемами, которые возникают при этом. Без практики такое "знание" стоит очень мало.

Запланируйте потратить 2-3 года на медленное написание небольших программ для решения различных задач на C. Это будет считаться реальным опытом. C обеспечивает отсроченное вознаграждение за ваши усилия.

21
ответ дан 1 December 2019 в 17:14
поделиться
7
ответ дан 1 December 2019 в 17:14
поделиться

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

7
ответ дан 1 December 2019 в 17:14
поделиться

Если вы можете прочитать K&R и понять все это, это довольно хорошо, поскольку K&R охватывает практически весь язык.

Однако читать и понимать все это очень разные. Вам, вероятно, следует пройти несколько проходов через K&R и выполнить все связанные упражнения, чтобы убедиться, что вы действительно это знаете.

Даже после прочтения всего этого вы потратите больше месяцев на изучение указателей на собственном горьком опыте. Ожидайте много ошибок сегментов. С другой стороны, вы действительно научитесь читать шестнадцатеричный код!

Есть несколько оговорок, которые есть в языке, которые вы также узнаете. Одна, которая раньше доставляла мне неприятности, заключалась в том, что все указатели имеют одинаковый размер (4 байта на x86), независимо от того, на что они указывают. Символ * имеет тот же размер, что и void * и int *.

3
ответ дан 1 December 2019 в 17:14
поделиться

Вам определенно нужно написать код - я не верю, что вы можете выучить любой язык без этого. K&R предлагает множество упражнений, над которыми вы можете практиковаться. Трудно сказать, сколько времени потребуется, чтобы получить хорошие рабочие знания - раньше я учил почти весь язык за 4,5 дня, но это довольно интенсивно. Я бы посоветовал около месяца, если вы занимаетесь часом или около того в день.

Edit: Должен признаться, меня немного удручает то, что многие люди думают, что C настолько труден. В моем экземпляре K&R занимает 272 страницы и охватывает практически все, что вам нужно знать, включая стандартную библиотеку. Есть ли книга на ЛЮБОМ другом языке программирования, которая так лаконично охватывает всю шебанг? Я так не думаю,

3
ответ дан 1 December 2019 в 17:14
поделиться

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

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

2
ответ дан 1 December 2019 в 17:14
поделиться

Я прочитал книгу K&R от корки до корки и не сказал бы, что хорошо разбираюсь в C. Некоторое время выполнение упражнений в K&R было бы очень полезно.

Я уверен, что C. библиотеки позволят вам более продуктивно писать программы, но если вы просто изучаете C, который вас интересует, вы можете реализовать все, что вам нужно. www.projecteuler.net - хороший источник проблем (хотя в целом немного математических), с которыми вы можете начать работу, если вы хотите попробовать код помимо упражнений K ^ R.

1
ответ дан 1 December 2019 в 17:14
поделиться

За пару выходных вы получите в основном два результата:

  1. hello world
  2. много ошибок сегментации

C непросто, особенно если вы не привык к своей хардкорной концепции. Вам придется потратить недели или даже месяцы на то, чтобы возиться с ним, чтобы понять самую неясную (но все же не слишком большую) суть.

0
ответ дан 1 December 2019 в 17:14
поделиться

40 дней и 40 ночей.

Если вы не можете проводить дни и ночи последовательно, то это будет 42 выходных.

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

Если вы сказали, что вам потребовалось 6 месяцев, чтобы хорошо овладеть C #, тогда может быть, мы можем сказать, что это займет у вас 6 месяцев * X (где X все еще является предположением, но лучше, чем сейчас).

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

0
ответ дан 1 December 2019 в 17:14
поделиться

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

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

Как было сказано во многих других ответах ... Plan не только читать, но и практиковаться. Нет сомнений в том, что вы многому не научились на C #, просто делая ошибки при кодировании и имея «ага!» моменты.

IMO: От 3 до 4 лет, чтобы действительно понять большинство концепций. Книга поможет вам понять, каковы возможности языка.

Я многому научился у C #, просто делая ошибки при кодировании и имея «ага!» моменты.

IMO: От 3 до 4 лет, чтобы действительно понять большинство концепций. Книга поможет вам понять, каковы возможности языка.

Я многому научился у C #, просто делая ошибки при кодировании и имея «ага!» моменты.

IMO: От 3 до 4 лет, чтобы действительно понять большинство концепций. Книга поможет вам понять, каковы возможности языка.

0
ответ дан 1 December 2019 в 17:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: