Programming languages 作为一名程序员如何思考?

Programming languages 作为一名程序员如何思考?,programming-languages,Programming Languages,我很难找到一个似乎符合我问题的标签,但我希望这能起作用 无论如何,我想学习编程,我目前正在参加为期10周的python编程课程。我现在已经是第五周了,我觉得除了语法,我还没有学到更多东西 我尝试学习编程已经有10年了,我不知道,我总是在一两周内学会语法,但在那之后,我就陷入困境,放弃了。嗯,这次我不想放弃,所以我会在这里问 作为一名程序员,我如何学习思考?不管我读了多少教程,它们只教语法,语法是最简单的部分。如果说我学到了一件事,那就是你不能仅仅用语法编程 编程语言其实并不重要,因为正如我所说的

我很难找到一个似乎符合我问题的标签,但我希望这能起作用

无论如何,我想学习编程,我目前正在参加为期10周的python编程课程。我现在已经是第五周了,我觉得除了语法,我还没有学到更多东西

我尝试学习编程已经有10年了,我不知道,我总是在一两周内学会语法,但在那之后,我就陷入困境,放弃了。嗯,这次我不想放弃,所以我会在这里问

作为一名程序员,我如何学习思考?不管我读了多少教程,它们只教语法,语法是最简单的部分。如果说我学到了一件事,那就是你不能仅仅用语法编程

编程语言其实并不重要,因为正如我所说的,我很快就学会了语法,而且我几乎已经使用了大多数编程语言

那么,有没有任何教程、文章,甚至是书籍,经过了制作程序的思考过程

我想最能教会我的是你在制作一个非常详细的程序的过程中所学到的东西。不像那些你制作了一千个小程序的书,而是对制作一个程序的深入了解。 ///编辑
谢谢你们,你们帮了我很大的忙,我想我可以继续了

祝贺您学习了语法!正如您所知道的语法,您可以阅读其他人编写的真实程序。您可以尝试修改它们。随着您获得阅读和修改程序的经验,您将能够编写自己的程序

正如Eric S.Raymond所写:

你可以从书本上学习语言特征——一些知识,但将这些知识转化为生活技能的思维定势只能通过实践和学徒学习。它将做的是(a)读代码和(b)写代码


你必须有一个目标,为自己制定一个项目,计划它,然后去做。在路上你会学到很多东西,如果你遇到困难,就发一个问题。:)我知道仅仅从书本、视频和在线教程中学习是很容易的,但一旦你开始自己创造东西,你就会越来越擅长创造东西,从而成为上帝:)我是说程序员。

这是一个非常有趣的问题,尤其是对我这个老师来说

编程本身并不难。这与人类做事的方式大不相同,这是你必须习惯的。永远记住:电脑是愚蠢的。它猜不出你想说什么。你总是要说出每一步。这不像(尽管这是一个常见的比较)写一本烹饪书——在烹饪书中,你可以假设无论谁在读它,都可以填补你可能留下的空白。计算机无法运行。
对我来说,有两件事很重要

首先,也是最重要的一点:练习。这都是关于练习的。我从未读过任何关于编程的书,尤其是没有教程。对我来说,这都是尝试和错误。查看代码,尝试理解它,尝试复制和修改。在实践中学习。当然,这可能不是每个人都喜欢的学习方式——但从别人那里看代码并理解它(不试图理解——阅读、复制并直到理解为止)是学习新技术的ebst方式

第二件事是:不要凭直觉思考——坚持逻辑思考。我经历过很多人阅读代码,不完全理解它,然后说“我知道它应该做什么,所以那里的那些行似乎就是这样做的”。这对学习编程没有任何好处。代码只执行下面写的内容。一步一步地。如果你看不到这是怎么回事,那么代码很可能没有按照你的想法运行。
编写代码也是如此。开发程序时,midn中的第一件事就是它应该做什么。但这是一种非程序形式——你的midn不能按程序工作。它直观地工作。在人类的思维中,一切都是关于想法和原型的。没有精确的算法,我们的头脑不够强大,无法如此精确地完成每一件事。因此,下一步是构建您的想法。把它分成小块。然后再把它们分开。一次又一次。直到你有很多简单的任务可以在几个步骤内完成(通常最多10-20个步骤!)。为了不失去大局,绘制图表,或者至少做一些注释,说明所有这些小步骤在最后应该如何协同工作。请记住:你的大脑不可能一下子把整个大事件按程序化的方式组织起来。至少我的不是;)
最后一部分是写下每一个步骤。而不是把它们组装在一起。你完成了。祝贺你。

当一个人开始学习编程时,语言语法是一个逻辑起点。它使初出茅庐的程序员能够在将要运行的代码中正确地表达他们的想法和公式。然而,正如您正确指出的,语法在编程的“更大方案”中没有什么意义

我不知道你读过的教程中包含了什么“更大的计划”,我想不出任何具体的教程或是我脑海中的书籍。但是,我建议您找一个能教您有关数据结构的资源。如果您不熟悉这个概念,那么数据结构是计算机科学中一个非常基本的主题。本主题来自以下问题:“如何有效地处理、存储和访问与时间和内存使用有关的信息?”

对于大学里的许多计算机系学生来说,数据结构课程将是他们在前面介绍的课程之后的第二门课程,通常是真正的计算机科学开始的地方。此外,数据结构将为您提供一个值得继续研究的基础。