我认为“脚本语言”是一个糟糕的词,它已经非常过时,或者最适合特定领域的语言。您的老师只是将他显然没有足够了解的所有内容整合到邪恶的轴心中。
做出明智的区分是,在高级语言和低级语言之间,或者在静态和动态类型的语言之间,它们是真正正交的。
汇编程序是低级动态类型(如果说类型完全没有意义),C是低级静态类型,Ruby是高级别动态类型,Haskell是高级别静态类型。Java既不是高级别静态类型,也不是低级别静态类型,C ++既是高级别静态类型,也是低级别静态类型。等等。
讨论只能是,哪种范例更适合入门级程序员。
我非常相信底层编程可能不是一个。可能是在90年代初期,您实际上可以在合理的时间内产生有趣的结果。
但是编程是由激情推动的。激情被奖励所滋养。因此,入门级程序员应从奖励工具入手。低级工具不再有回报,因为有大量的高级工具可以在很短的时间内获得相同的结果。
人类的思维是抽象的。当我们了解世界时,我们会通过非常粗糙的抽象来做到这一点,并根据需要进行详细介绍。
为了让孩子理解它的环境,您不会教它数学,物理,化学,生物学,历史,社会学和哲学。您为它提供了一个非常简单的世界模型,可以应付这个世界,并且只要它长久就会超越它,它会在年轻时无休止地向您提出问题,并在以后完全否定您的权威。
那就是我们的想法。人脑只能处理有限数量的信息“单位”,但是抽象程度对信息的量化影响不大。例如:对我们来说,读取表达式“ 34 * 75”比计算表达式更简单,而对于计算机,则相反。要将一堆黑色像素识别(从而抽象化)成一条弯曲的线,然后将其识别(从而再次抽象化)为单个数字,是一项艰巨的工作。
我的祖母了解打开文件的想法。但是,她在该级别下不了解。坦率地说,如果她必须先研究硬件和操作系统的内部工作原理以及其他什么方面的知识,那么她永远都不会到达那里。
那里有很多人,他们使事情变得过于复杂,因为他们从未被教导要思考清楚,简洁,优雅的解决方案,而是花了太多时间来困扰于可交换的低级细节并针对这些细节解决问题。教人们像计算机一样思考是最糟糕的编程方法。
编程的价值在于找到问题的解决方案。将其表示为代码实际上实际上是一项枯燥而机械的任务,应使用任何适合的工具简单地完成。
哦,不用担心不了解指针。我在同一年龄时遇到了同样的问题。这里的问题还在于缺乏抽象。通常,您会从一些C书籍中学习指针,并且在努力理解它们的过程中,这与内存分配,堆栈内存和堆内存等等紧密相关。指针背后的抽象概念是间接的。拥有指向特定数组的索引的变量就是这样(实际上,在C中,它确实是相同的,在C中,特定数组是您的地址空间),并且您不需要为此使用指针算术。
这只是为了说明,选择高级别的抽象使事情变得容易掌握。
编辑:和打字时,我更喜欢静态类型的语言。而且我认为入门级程序员应该清楚地理解类型的概念(这是一个抽象的概念)。