我不懂编程,我不懂任何编程语言(只有一些HTML,如果它可以称为编程语言)。我只研究过Petzold" CODE"到目前为止只是为了学习基础知识。
我决定首先学习基础知识和(至少)一些C(即使有人首先建议使用JS,Python或其他语言)。
为了学习C,人们经常建议学习K& R的书" The C Programming Language"在学习编程基础之后。 (即使在书中他们说这本书不适合初学者)
人们经常坐下来,首先要学习基础知识/基础知识/基础知识是非常重要的。并且在不知道它们是什么的情况下对基础和基础施加压力。
基础知识基础知识。 。 。基金会基金会基金会。 。 。什么主题,概念等基本(或基础或基金会或他们称之为)涉及?
注意:我不会要求提供书籍或课程建议,但我会询问要学习哪些主题/概念以获得基础。
答案 0 :(得分:4)
天哪,原始理论很无聊,这不是什么编程!
我不期待任何谁正在学习编程以首先学习原始和原始理论。你可以学习的最好的方法是通过trail-and-return-non-zero,trail-and-SIGSEGV,以及某天,trail-return-zero-zero。
无论如何,如果你已经掌握了代数,电子学甚至某些计算机科学方面的知识,那肯定会对你有所帮助,但是,如果你不知道这样的话,不要仅仅为了准备而学习它。
HTML是否是一种编程语言是值得商榷的,但无论如何,通过学习C,你将进入另一个世界/维度/宇宙/存在。
C语言是恕我直言,是一种非常简洁的语言。可能它不像C ++那样灵活(因此也很脏),但它整洁而优雅。这很简单。一旦你知道C,并且可以流利地读/写它,你甚至可以(或多或少)理解Linux kernel的部分内容。
你提到了Javascript和Python。我不会使用Javascript,除非你是那些想要为工作学习编程的不纯洁的人,而不是娱乐/娱乐,这背后真正的神奇和美丽! Python会是我推荐的东西,但是你已经知道C有点难了,你想要那样,所以就这样吧!
我不确定向你推荐K& R多少钱。在ANSI C( 1988-90 的标准!)之后,它从未更新过。这使得它已经过时了(最新的C标准来自2011年,而前一个标准是从1999年开始的(没有C99,你迟早会试验地狱))。许多(我的意思是太多)人们将 C编程语言称为“作为C的权威参考”,因为它(部分)由{编写{3}},或者换句话说,是C的弥赛亚和创造者,他们是为了将我们从Dennis MacAlistair Ritchie (1941-2011)中拯救出来的。
虽然其他一些答案可能会更好地回答你可能会推荐哪些书籍(我不能,因为我不是通过书籍而是通过谷歌教授的),我希望这个答案能说明你应该做些什么。快乐编程:)!
答案 1 :(得分:1)
我认为不需要开始阅读K& R进行理解。虽然它不是为新手编写的,但它不是新手不友好的。它确实涵盖了变量,函数,if-else语句,内存地址等非常基本的概念,并尽职尽责。 可以独立作为编程教程。我认为新手的主要障碍是编程术语,以及如何将任务表达为算法中的一系列逻辑步骤(即代码中)的基本把握。
在我看来,C是第一种编程语言的绝佳选择,而K& R是学习C的绝佳选择。我在大学学习C的时候读过K& R,但我记得希望它是我读过的第一本C编程书。它非常简洁地呈现了C语言及其标准库,并且符合其设计理念(有意义,因为它是由C的创建者编写的)。这不是通过阅读带有诸如“C for Engineers”等标题的书籍获得的,它可以引导您通过足够的语言在特定的工作中取得成功。 K& R将C作为一种语言 - 它向您展示了整个工具箱。
K& R是专为初学者准备的理想书吗?可能不是。我推荐它吗?是。它是作为C的介绍而写的,而不是一般的编程。但差距不是很大,以至于无法克服。没有必要熟悉介绍中提到的任何过去的语言(直到今天我从未在我的生活中写过一行Fortran或Pascal),也没有必要知道有关机器语言的任何细节。 / p>
C本身是一种相对最小的编程语言,它与过程式编程的原语(变量,控制语句,如while和if / else,函数)和计算机体系结构(指针,数组,强类型,内存分配)紧密相关。学习C将迫使您熟悉这些概念,这些概念构成了其他语言(如Java,Python,JavaScript等)的基础技术。因此,您最终会对软件有更深入的了解,如果您愿意,它将使您准备好接受这些语言。
答案 2 :(得分:0)
我绝对会向您推荐以下书籍:Learn C The Hard Way。
本书的作者Zed Shaw是一个完全理解初学程序员(理解基础知识的人)和初学者(像你这样的人)之间差异的人。您可以详细了解他对此here的看法。这本书几乎完全可以在网上获得,很快就会出版一本实物。
也许在读完本书之后,你应该阅读K& R的那本书。
注意:这本书的名称并不意味着这本书很难。