C语言虽然是计算机底层语言,但因为它过于繁冗复杂的语法,可能并不适用于所有的入学者。相比较而言,scratch是最易入门的一种语言。它不需要你手写代码,因为语言指令已经被包装到积木块中,只需要拖动它按顺序(根据不同的效果需求而不同的逻辑顺序)排列即可。虽然理论上它是为儿童开发的编程语言,但是有的企业也都要求员工会使用scratch。

据美国报道,美国国家航空航天局(NASA)宣布了一个全新的员工培训计划,期望用儿童编程工具Scratch来让更多人掌握编程能力,并参与实际工作。

在美国,优秀的程序员越来越难招到。在人员不足的压力之下,NASA提出了一个大胆的计划,既然因为编程学习门槛太高而导致程序员不足,那为何不降低编程学习的门槛呢?于是NASA大胆的在一个太空站项目里使用了Scratch作为开发工具,多名毫无编程基础的人员短暂培训后,可以直接为太空站项目编写代码。

Mitchel Resnick教授,MIT媒体实验室终身学习幼儿园项目负责人

麻省理工负责Scratch研发的媒体实验室人员表示,NASA的这一举措大胆又充满想象。麻省理工在推出Scratch的6年里,一直在不断改进和增强功能。目前已经在纯粹软件编程的基础上,扩展出了可直接与硬件和互联网接口的Scratch X。麻省理工之前还从未想到直接将Scratch应用在专业科研领域,NASA这一“奇招”让Scratch的未来充满了想象。

不一定非要从C开始学,如果你没有一点基础,从C学反而会显得比较枯燥。

可以先从Java,php,html,JavaScript 开始,这样会比较有成就感,如果学会了,再去学C会学得比较透彻,另外,也比较适合学成找工作!

不过话又说回来了,C也不是非会不可的,一般在实际的工作中都是按需所学,用到什么学什么!

只精通一门C语言的人,算不算程序员?

只精通一门C语言的人远远算不上程序员,别说一个C语言了,就算你只精通Java,精通C++,都算不上程序员,为啥?请继续往下看:

一、程序员要懂业务会一门C语言意味着你可以按照C语言的语法写出一段代码来,但也仅仅是一段简单的代码。想让代码有灵魂,也就是能够解决实际中的一个问题或者满足客户实际的一个需求。试想,客户要求你做一个网络视频传输的模块,需要你理解视频从客户服务器到终端整个的交互流程才能写出这个系统,而你只会用scanf函数从键盘读取一个数据,再用printf函数把数据输出,这只能说明你C语言语法学的好,但是有什么用?帮助客户解决了什么问题?

二、程序员要懂算法算法是程序的灵魂,程序员在写每一个C语言代码时都不知不觉用到了某种算法。最常见的一个就是人间识别算法。

也许你用C语言指针很溜,用C语言链表很顺手,用C语言二维数组更是不在话下,但是光会写这些就能识别出一张人脸吗?显然不可能。

算法就像一个印有规则的一张纸,你看着这张纸上的规则,利用你学到的C语言语法按照规则写代码,算法的灵魂就在代码中。

三、程序员要懂多个编程语言给客户做业务,光懂一门编程语言远远不够。比如你懂Java,安卓开发很溜。但是你要在安卓手机上实现对视频截图,此时仅懂Java是不够的,这种涉及到视频处理的底层功能得借助于native方法,而native方法往往是通过C语言实现的。

很多时候做项目都是多个编程语言相辅相成,共同完成一个目标的。

上面所说的还仅仅是程序员要学的很小的一部分,程序员要学的实在是太多,而且技术更新日新月异,要时刻保持一颗学习的心!

那是当然,毕竟C语言真正能配得上精通两字的,全世界屈指可数。C语言易学难精,只有具备出众的相像力才能用好他。C就像独孤九剑,剑招不多,但要打败对手就必须要了解对手的破绽,内存 IO 中断 进程 线程 锁 信号量 哈希 列表 以及各种算法等等等等,如果不理解这些东西,那就只会Hello world。自认为精通C的不妨去阅读Linux内核源码,就会发觉自己对C的理解只不过是沧海一粟而已。