编程教育和人工智能最近很流行,但是有多少人(学习者)正在抨击他们正在学习编程的方式。
您可能正在学习编程语言而不是编程本身
知道计算机科学不研究计算机,不要感到惊讶。相反,它是使用计算机自动解决问题的研究。解决问题的是计算机科学,而不是编程。这就是为什么许多计算机科学专业的学生似乎不明白为什么他们学习算法或数学。
如果你以前去过计算机科学课,你不会对我在这里说的话感到惊讶。因为您会注意到编程与编程语言几乎没有关系。问问自己为什么伪代码在这些类中如此常见。
但是,大多数自我思考的程序员总是陷入陷阱。在我们意识到我们到底要做什么之前,我们学习了几十年的编程语言:编程。我自己也是受害者。
我花了十多年的时间学习各种编程语言。我学的越多,建立简单的东西就越难。我没有找到合适的工具。但问题是,当我甚至不知道要做的工作时,我忘了寻找合适的工作而不是正确的工具。
编程语言的奇怪之处在于它们总是在不断发展。编程语言几乎每天都在变化。跟进很难。大多数好的程序只使用编程语言的一小部分。

首先学习编程语言的问题就像在学习木工之前学习如何使用木工锯,锤子和各种切割机。木工需要注意:想法,可行性分析,测量,测试,客户行为。老木匠会对锤子和钉子更感兴趣。在对工作进行科学研究期间,他还会花时间检查指甲,着色剂,木材等的质量。
学习编程和学习编程语言有什么区别?
程序设置系统只需一次指令就可以自由操作。我们每天都在做这件事。我们教我们的孩子,我们的士兵,我们的客户。我们给予他们或我们接受指示,以自由/独立的方式生活。您的父母不需要关注您并指导您在生活中所做的每一个动作。他们本来可以在生活的许多方面为你编程。
大多数学校和教育网站都会教授编程语言的语法。他们可以添加一些设计模式(当你忽略究竟是什么设计时),一些算术计算,如何声明变量以及如何使用它们,数据类型以及如何声明/创建它们。
这并不能教你推理。使用这种方法,您将发现推理方法,但稍后会发现。它会让你觉得你浪费了或者花了很多时间学习编程。
我们解决编程问题,编程语言是帮助我们做到这一点的工具。
它们就像工具箱。我们称之为框架。他们帮助您组织您的想法。
如果您正在学习编程,而您仍然无法计划和编写实际应用程序,那么这意味着您正在学习编程语言而不是编程。
我们多少次见到仍然想知道如何创建程序的人(学习者)。对于程序员来说,程序是一个需要解决的问题。在使用任何编程语言之前,他通过批判性分析解决了这个问题。当您解决任何问题时,它可以用任何编程语言编码。我们来看看广场的情况。为了解决问题,我们将它自己计时。我们可以用各种语言实现它,例如:
在C.
function square(int * x) {
return x * x;
}
在PHP中
function square ($x){
return $x * $x;
}
在Javascript中
function square(x){
return x * x
}
在Scheme(一个Lisp方言)
(define (square x) (* x x))
您可以注意到只有语法在实现中很重要。解决方案是一样的。这是您几乎可以使用任何编程语言的主要原因之一,在这种语言中您可以更轻松地构建任何类型的软件。
通过编程发现语言更容易
问题通常是人类语言。人类语言充满了限制和错误。因为他们感觉不到,所以不可能用来指导机器。
学习编程时,您将学习一种新术语和新工具,以帮助您以计算机或其他程序员可以理解和同意的方式编写逻辑。

通常,您将从简单且类似人类语言的符号开始,称为伪代码。它是从人类语言到计算机编程语言的良好过渡工具。这通常是为了防止你浪费时间在语言上。这样你就完全专注于推理。通过这些,您将发现构成良好编程工具(语言)的核心部分。您了解到底需要什么。您了解编程语言的核心目标。有了它,你就会在没有意识到的时候学到它。

