2015-08-23 6 views
-1

Я не знаю программирования, я не знаю какого-либо языка программирования (только некоторый HTML, если его можно назвать языком программирования). Я изучил «КОДЕКС» Петцольда до сих пор только для изучения основ.Какие темы (основы или основы или основы или что) изучать/изучать, прежде чем изучать «язык программирования C & R»?

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

Чтобы узнать C, люди часто предлагают изучать K & Книга R «Язык программирования C» после изучения основ программирования. (Даже в книге говорят, что книга не для новичков)

Люди часто сидели «важно сначала изучить основы/основы/основы» и подчеркнуть основы и основы, не сказав, что они собой представляют.

Основы основы основы. , , фонды фундаментов фундаментов. , , какие темы, концепции и т. д. основываются на основах (или фондах или фундаментамах или их названии)?

ПРИМЕЧАНИЕ. Я не прошу рекомендации по книге или курсу, но я прошу, какие темы/концепции научиться получать за основу.

+0

Думаю, вы можете начать с этой книги. (Я сделал.) Есть несколько вещей, которые могут быть немного сложными, если вы полный новичок (указатель на указатели ...), но ничего слишком тяжелого. Знание чего-то о unixy может помочь, хотя, например, дескрипторы файлов и некоторые оболочки программирования. – ntki

+1

Ну, * правильный * способ сделать это - начать с FORTRAN, затем BASIC, затем ассемблера, затем COBOL. APL, и только после этого вы можете коснуться языка смешанного случая (Pascal). –

+0

Вы можете изучать вещи параллельно. Я предлагаю начать K & R. Я начал его год назад, и я еще не закончил ... Читайте для понимания (если вы не понимаете слово/фразу или концепцию, вы можете посмотреть его). – snd

ответ

4

Ад, сырая теория скучна, и это не то, что программирование!

Я не ожидал никого кто учится программировать для изучения сырой и сырой теории первым. Лучший способ, которым вы можете научиться, - это trail-and-return-non-zero, trail-and-SIGSEGV, и однажды, trail-and-return-zero.

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

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

язык С, имхо, очень аккуратный язык. Пусть он не будет таким гибким (и, таким образом, грязным), как C++, но он опрятен и элегантен. Это просто. Когда вы знаете C и можете свободно читать/писать, вы можете даже (более или менее) понять части Linux kernel, например.

Вы упомянули оба Javascript и Python. Я бы не пошел с Javascript, если вы не из тех нечистых людей, которые хотят учиться программированию только для работы, а не для развлечения/удовольствия, , который является настоящей магией и красотой за этим! Python - это то, что я бы рекомендовал, но вы уже знаете, что C несколько сложнее, и вы хотите идти именно так, так что идите!

Я не знаю, сколько рекомендовать вам K & R. Он никогда не был обновлен после того, как ANSI C (стандарт из 1988-90!). Это делает его довольно устаревшим (последний стандарт C - с 2011 года, а предыдущий - с 1999 года (без C99 вы будете экспериментировать с ад рано или поздно)).Многие (и я имею в виду слишком много) люди имеют Язык программирования C как «являющийся авторитетной ссылкой для C», потому что он был (частично) написан Dennis MacAlistair Ritchie (1941-2011), или, другими словами, Мессия и Творец из C, который пришел, чтобы спасти нас от Fortran.

Хотя какой-либо другой ответ может лучше ответить вам, какие книги могут быть рекомендованы (я не могу, потому что меня не учили книги, но Google), я надеюсь, что этот ответ даст некоторый свет на то, что вы должны делать , Счастливое программирование :)!

+0

«trail-and-return-non-zero, trail-and-SIGSEGV, и в какой-то день, trail-and-return-zero». Могу я спросить, что вы имеете в виду? – Coder88

+0

@ Coder88: Это просто шутка с технической терминологией. Это в основном означает «trail-and-fail, trail-and-fail, trail-and-success». – 3442

0

Я определенно рекомендую вам следующую книгу: Learn C The Hard Way.

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

Книга почти полностью доступна в Интернете и скоро будет опубликован физический экземпляр.

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

Примечание: название книги не означает, что книга затруднена.

1

Я не думаю, что для начала чтения требуется очень много для чтения K & R для понимания. Хотя он не написан для новичков, он не новичок-недружественный. Он охватывает основные понятия переменных, функций, операторов if-else, адресов памяти и т. Д. С должной осмотрительностью. Это может автономно как учебник по программированию. Я думаю, что основными препятствиями для новичков были бы терминология программирования и базовое понимание того, как выражать задачу как последовательность логических шагов в алгоритме (т. Е. В коде).

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

Является ли K & R идеалом Книга специально для новичков? Возможно нет. Я рекомендую? Да. Он написан как введение в C, а не в программирование вообще. Но разрыв не настолько широк, что он непреодолимый. Нет необходимости быть знакомым ни с одним из предыдущих языков, упомянутых во введении (до сих пор я никогда не писал строки Fortran или Pascal в своей жизни), и не обязательно знать какие-либо подробности о машинных языках.

C сам по себе является относительно минимальным языком программирования, который тесно связан с примитивами процедурного программирования (переменными, управляющими операторами, такими как while и if/else, функциями) и компьютерной архитектурой (указатели, массивы, сильная типизация, распределение памяти). Обучение C заставит вас ознакомиться с этими концепциями, которые составляют технологию, лежащую в основе других языков, таких как Java, Python, JavaScript и т. Д. Следовательно, вы получите более глубокое понимание программного обеспечения в целом, и оно сделает вас хорошо подготовленным, чтобы выбрать эти языки по очереди, если вы выберете.

Смежные вопросы