别把比赛想的这么简单?
“简单”是相对而言的,对于初学者来说可能比较简单,但对于有一定基础的人来说并不是那么简单。 就拿C语言来说吧,对于没有学过任何编程语言的人来说肯定很简单(当然这只是相对于高级语言来说),你告诉他“C语言就是用来编写控制台应用程序以及windows下对话框程序的”,他也能懂,也能编写出一个简单的程序出来。这样看来好像C语言确实很“简单”。 但是如果你告诉他是“C语言是一种面向过程的、用于计算机软件开发的通用计算机语言”然后让他去学,他可能就有点迷茫了,因为人的大脑对于“面向过程与面向对象”这种抽象的概念是很难理解的(其实即使掌握了也很难用好,这已经超出了“简单”的范围了)。而且C语言的语法比较丰富难掌握,这样一对比是不是感觉C语言就突然变得很难了?但事实真的如此吗?其实也不是,因为无论是什么语言,想真正学好难度都是差不多的(这里指的学好是指达到“使用熟练”“精通”的程度)。所以从这一方面来看C语言其实又回归到了“简单”的状态。
所以啊,不要老是想当然地认为某个语言好学或者难学,多想想到底是因为什么导致语言A比语言B更难学,或者是为什么同样的语言A有的同学能学好而有的同学却学不好。 另外提一点,对于想学计算机的同学我建议你先打牢数学的基础(重点是高数!),因为这对你以后学习各种算法还有数据结构有很大帮助;其次再去学习一些基本的编程语言,像C/C++/C#/Java等。(注意:我说的是最基本的编程语言,不是最流行的!最流行的比如Java和Python虽然很好,但是在这些语言的基础上再学其它高级语言会容易很多,因为它们都带有前缀“Java”“Scala”等,这类语言的学习成本是比较高的,因为它们的虚拟机都比较耗资源。)