c语言重要!!!!我是软件专业的,很迷茫。
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应该也是这个目的。主要基于面向对象理论的介绍。但是我那时候真的是刚入门,就踩进去看了看脚就出来了。
我不记得我高二做了什么。。。好像尝试过安卓,后来放弃了,陷入了自我否定的低潮。也是那个时候开始接触java,但是什么都没学到。
大二暑假,我努力学习,重点涉猎广泛。我是通过看视频或者文字教程和动手实践接触到vc++、java、php和python的。然后就爱上了python。当时对C的感觉有点微妙,因为C可以做python做不到的事情,python本身就是一个优秀的C项目。开始重新审视C在很多语言中的地位。
大三,开java班。我认真听了java和python的对比,收获太多,细节就不提了。对c的理解不变。
现在寒假,做项目的时候看到一些C面向对象编程,发现这绝对不是噱头。我也开始看python的源代码,深深的被C的精致和灵活所折服,C是不可或缺的,一定要找时间深入学习。这是我现在迫切的想法。
现在我学习的时候最关注三件事:1。语言背后是什么。因为你用语言提问,我会用语言体验来回答,但这绝对不是最重要的。计算机科学的发展靠什么?不可避免的,主要是理论的成长。理论在实践中的影响似乎是无形的、无处不在的、强大的。2.python独特的实现。3.使用C时的适用性、效率优势以及与python的比较..刚才说了,第三点的关注度还在提升。
以上个人经历可能不正确,但希望能作为你的参考,给你一些帮助。就像我刚开始学习时渴望的帮助一样。:-)