c语言编程软件苹果
先学C语言好还是python好呢?
作为经常给年轻人讲编程的我来说,Python更适合菜鸟去学习,主要基于以下两点:
1)用python几行代码可以搞出一个小功能软件,容易建立你的兴趣,也许正是这一次次的小成功会让你坚持下去,最终攀上高峰。
我是码农阿勇,专注分享编程知识,随时欢迎你和我一起讨论编程方面的话题。
我个人的技能栈比较杂,目前来讲C、C++、Python、Java、PHP、HTML、CSS、Oracle这些都有涉猎,有的精通,有的会用,而且都是做过实战项目的。如果说对我帮助最大的,还是C语言。从问题的描述看,你可能对C语言和Python的特点不太了解,下面我从个人理解的角度讲讲最好先学C语言的原因。
很多人说C语言难学,我刚开始学的时候也有着中国感觉,但是后来熟悉了,才发现C语言还是很优美的。确实,C语言是面向过程的语言,实现功能主要靠堆积一个个函数,在面向对象语言大行其道的今天,可能有人觉得C语言过时了。
实际上,通过学习C语言,你会懂得编译器是怎么回事,链接是怎么回事,动态链接和静态链接有什么区别,GCC调试怎么用,内存是怎么分配的,多线程怎么传递消息等等知识,这些都是C语言的魅力,一旦把这写知识啃下来,你对编程的认识就上了一个层次了。而其他语言,比如JAVA、Python,对编译链接这块知识都涉及甚少,你可能学了半天知道怎么用了,但是为什么有的语句运行效率差有的运行效率高你却不知道,相当于学了个浅尝辄止。
像腾讯、百度、阿里巴巴,他们要的人才,都是要懂这些知识的。因为他们运营的项目,比如淘宝、微信每天都有数亿次访问,那么怎么让服务器能承受这么多次访问而不宕机,以及如何优化现有的代码,让服务器更快的响应用户的请求都是他们要考虑的,这些都要懂底层的知识才能做到。
学习的语言多了,你会发现,其实语言的语法部分各种语言都是大同小异,这其中C的语法是比较基础而且好懂的,像数组、队列、栈、数据类型等等都是跟其他语言互通的,学完了C,马上就可以无缝切换学习面向对象的C++,随后Python、J***A、J***ascript等等都向你展开了欢迎的怀抱,你会发现,原来语法相似的地方很多,而且上手很快,这就是C语言打下的底子。如果你到计算机专业的课程表里去看,多数学校都是把C语言排在第一学期首先学的。
Python是一种典型的面向对象的动态语言,其主要优点是跨平台,支持的软件包丰富,语言比较简洁、易读,所以近些年受到很多初学者的追捧,觉得随便学学就能实现很强大的功能,这点确实不可否认,但是偏实用性的特点是一把双刃剑,它使得开发者对底层机器的运行原理知之甚少。
没错,上手有点慢,初期有点痛苦。其实,如果是编程新手的话,学习Python也一样要度过适应期,因为你要把自己的思维调整到[_a***_]的数据结构、数据类型里来。一旦度过适应期,你会发现C语言还是很优美的,知其然也知其所以然的快乐,会让你忘记之前的痛苦。
我认为你应该先学 Python。
编程语言和人类语言在一定程度上是类似的,主要靠的是练习和实践,你就是学成语言学专家,对日常沟通交流也没有太大意义。比如说做网站,C既不能帮你做网站,对了解Web的运行原理也没有多大实质性帮助。
我不否认C的意义,它确实有助于了解操作系统的底层运行机制,但是对于大多数常规应用来说,它的作用是被夸大了。
再说,Python也并不妨碍你去了解底层的东西。以网络应用来说,它既有很高的Web层接口,也有很低的Socket层接口,应用范围比C广泛得多。
精通C是个很漫长的过程,你现在不明白哪里会是重点,学习效率是很低的,有一定基础以后重点补课效果会好得多。
就算你以后需要回头来补习C,我觉得也完全没问题。
如果你时间很充裕的话,同时学习两种语言也是可以考虑的,就像中英文可以同时学习一样。
从技术角度讲,C语言是一种面向过程的语言,python是面向对象的语言,这是两种完全不同的设计思路,所以也是两种不同的学习思路和思维方式,分不出哪个更好。个人觉得一开始先从面向对象学起然后转面向过程更容易一点,因为我们对事物的认知就是从对象开始,世间万事万物皆可对象。而从面向过程转面向对象可能会更抽象一点。
但是,从初学者学习的角度来讲,可以打个比喻,***如你现在要开车去旅行,面向过程C语言需要你先造出一辆车,那就需要你造轮子,造底盘等等(大家经常说的造轮子就是这么来的),然后再组装成一辆车,然后再开着去旅游。而面向对象则是直接去买一辆车,你可能需要根据自己的需求比如加个行车记录仪,贴个膜啥的。面向对象省去了许多你不需要知道的东西,只关注选车或做些个性化改造来用车就行,让你把大部分时间都用在享受你的旅行上。
所以,个人建议还是先从python学起。毕竟,“人生苦短,我用python”。
先学C语言还是Python好呢?这个问题取决于自己学习的目的。目的决定了答案就有了,比如你是用来工作呢,还是随便找一门编程语言入门呢。
在讲结论之前我们有必要了解这两种语言的特点和应用领域:
1. C语言技术特点
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/13917.html