Ад, сырая теория скучна, и это не то, что программирование!
Я не ожидал никого кто учится программировать для изучения сырой и сырой теории первым. Лучший способ, которым вы можете научиться, - это 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), я надеюсь, что этот ответ даст некоторый свет на то, что вы должны делать , Счастливое программирование :)!
Думаю, вы можете начать с этой книги. (Я сделал.) Есть несколько вещей, которые могут быть немного сложными, если вы полный новичок (указатель на указатели ...), но ничего слишком тяжелого. Знание чего-то о unixy может помочь, хотя, например, дескрипторы файлов и некоторые оболочки программирования. – ntki
Ну, * правильный * способ сделать это - начать с FORTRAN, затем BASIC, затем ассемблера, затем COBOL. APL, и только после этого вы можете коснуться языка смешанного случая (Pascal). –
Вы можете изучать вещи параллельно. Я предлагаю начать K & R. Я начал его год назад, и я еще не закончил ... Читайте для понимания (если вы не понимаете слово/фразу или концепцию, вы можете посмотреть его). – snd