西西河

主题:【原创】三年级也可以学编程 -- 月色溶溶

共:💬209 🌺336
全看分页树展 · 主题 跟帖
家园 月色MM带起的东西正是IT届争论不休的东西

什么语言好,国内计算机教育等等问题。这个一扯开就没完没了了。每个人的经历不同看法肯定是大相径庭的。我的看法其实有些偏激,如果你们去翻我以前的帖子,你们会发现我建议初学者从汇编开始。【原创】程序员的入门语言 我一直认为熟悉计算机解决问题的方式才是程序员趋向成熟的标志。

对于初学者来说,任何语言其实都没太大区别(尤其对于成年的文科生)。也许解释型的Python会好一点。但几乎所有初学者都要经历让第一个程序跑起来的痛苦——打字错误、语法问题、陌生的开发环境等等。不管什么语言,这些东西对于一个完全空白的初学者区别真的不大。只有当我们掌握的两种以上的语言和开发环境,回过头来才能品味出其中的区别。而通常在那时候这些问题都不再关键。我们那时候更多地会关注这个语言实现什么东西会更方便——或者说更有用。但这个问题对于初学者来说还太早。

有兴趣往下走的初学者还需要经历许多很基本的东西,比如敲入别人的程序或例题,让他们跑起来;学会使用基本的语法单元——表达式、数组、循环等等;学会用语法元素表达一个指定的过程;这期间还需要掌握初步的排错能力;这些东西其实所有语言都没有太大的分别。

接下来到如何写出好程序的时候,分歧就十分严重了。然而在我的观点里,我只会说那些语言容易写出好的代码。没有糟糕的语言,只有糟糕的程序员。因此我认为更接近底层的C是一个不错的入门选择。我承认对于初学者来说C里面的指针是一个难点,但是谁能够说让初学者了解什么是对象比了解指针更容易?

楼上说的阉割的C真是一个很精彩的词。其实何止阉割的C,大部分用Java的、甚至用Python也同样是阉割的(阉割了OO——所以不能XX)。不过C被阉割之后就真没什么用了,而其他的语言由于自身的库和语言特性还不至于惨不忍睹。所以现在职场中充斥着大量被阉割了而不自知的程序员。

我之前提过一句所有语言都不好学,事实上支撑初学者走下去的通常只能是兴趣,这些兴趣在一开始的时候并不是搞出什么功能,而是——哇靠,终于正确运行了!有这些兴趣支撑,什么难点都有机会跨过。而C出师之后路就要宽很多。这就是为什么我觉得C是一门不错的入门语言。

通宝推:刹那芳华,
全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河