C语言重要吗??!!!!我是软件专业的 很困惑

Python018

C语言重要吗??!!!!我是软件专业的 很困惑,第1张

先说对楼主的建议:

C在应用方面的优势在于底层,以及任何对效率有苛刻要求的地方。这种地方并不少,如操作系统、嵌入式、一些软件中对效率要求高的部分。很多java程序也需要C来配合,如tomcat。

C对于专业技能锻炼方面意义更大。因为一个铁的事实是“熟悉内部原理的人更能写出优质的代码”,C对上承接高级语言,对下和汇编挂钩,这种特殊的位置注定了C在众多计算机语言中是了解计算机的一个绝佳切入点。即便只是不太深刻的了解,C配合着其他理论课程带给我的认知就是所谓非计算机专业出身的人没有的东西了。这是我个人的想法以及认为最重要的地方。

对于楼主现在的处境,我的建议是“学有余力以广为主,力有不逮以精为主”。对C即便兴趣不大也应该因它的重要性对自己要求严格一点点,一点点就够了,比及格高一点点即可。然后试着看看java,我是看孙鑫的视频入门的,感觉不错。然后依照兴趣,选择C还是java。但我相信,如果你走技术路线,总有一天你会回来重新审视C和试着去深入了解C的,而且不会太远。

另外我个人的经验是两点很重要:一个是兴趣所向,看楼主的提问方式就知道楼主也很赞同这点啊。另一个是培养自信,尤其是对于我这种心理不强大的人,我需要自信让我走下去。具体做法可以是先读薄的书,换一个你可以稍微虐待一下别人的环境(嘿嘿……),视楼主情况而定。

下面是我个人有关C的经验经历:

我现在是一个二本学校的计算机专业的,大三。(看到这你会不会怀疑我上面说的啊,哈哈)

大一上学期开的程序设计课程,C。当时我们学的C只是基本的语法,同时憧憬C++,因为据说C++能做界面,而不是C那样黑黑的框框,一点也不美观。而且当时见识浅薄,都不太知道Java,呵呵。但课堂状态比较好,保持听课和作业,不过课外一点不付出劳动。

大一下学期的重点是数据结构,也是通过C讲的,当时隐约的认识到重点是语言背后的东西,语言是一种媒介。正确的想法却导致我对C重要性的认识程度进一步下降,但对C的熟练度上升,期末作业是排序算法比较,还是一个黑框框的程序。

大一暑假加入学校ACM,做了杭电2000-2100的100道入门题目,还有其他的50+左右。那对于我的技术水平绝对是质的飞跃,体现在算法、C的熟练度、调适能力及各种细节上。但对C的认识没提高。尝试C++,不到两天放弃,╮(╯▽╰)╭。但做题时开始使用C++的模板及一些库函数。

大二相对懈怠。大二上有C++,是面向对象入门。我觉得你们学校的java应该是同一个目的。以面向对象理论的入门为主。不过我当时真是入门啊,迈进去脚看看就出来了。

大二下我都不记得干了什么了。。。好像是尝试Android来着,后来放弃了,有点陷入自我否定的情绪低潮。也是那时开始接触的java,但什么也没学到。

大二暑假,奋发图强,以广为主,通过看视频或文字教程+动手实践的方式接触了vc++、java、php、python。然后就迷上了python。当时对C的感觉有点微妙,因为C能做到一些python难以做到的事,而且python本身就是一个出色的C项目。开始重新审视C在众多语言中的位置。

大三上,开java课。很认真的听了java,并与python做对比,收获太大了,具体细节不提。对C的认识保持不变。

现在的寒假,做项目的时候看到了一些C的面向对象编程,发现,这绝对不是噱头。也开始看python的源码,更是深深为C的精巧灵活所折服。C不可或缺、必须要找时间再深入学习,这是我现在迫切的想法。

现在我学习时最关注3个东西:1.语言背后的东西。因为你是以语言提问,我就以语言上的经历回答,但这绝对不是最重要的,计算机科学的发展依托于什么?必然主要是理论的成长。而理论在实践中的影响像是隐形的,又无处不在、威力巨大。2.python特有的实现方式。3.用C实现时的适用性、效率优势多大、与python实现的对比等。就像刚才说的,第三点的关注度还在提高中。

以上个人经验,不一定正确,只是希望作为你的一个参考,给你些帮助。就像我刚学的时候渴求的那些帮助一样。 :-)

如果有了C基础,其实再趁热打铁,看一下C++,以及Windows编程,最后再看MFC/VC编程也不错,至于JAVA和.NET,我认为封装得都比较不错,但是如果没有之前的底层东西的基础,虽然可以实现一些功能,但还是一头雾水。所以建议从底层开始学起。