我学习的是java语言,现在想去学习c语言,会不会很难或者说要入门大概需要多长时间?
最大难度可能会来自学Java会缺乏对更底层逻辑的抽象,而人往往因为定式会以JAVA使用的上层抽象硬套C语言的逻辑。学C的话J***a的经验可以作为参考,上层的编程思路可以用,但是语言方面,***装自己没学过编程语言吧。
然后就是C语言因为异常古老所以某些设定相当扭曲,比如类型格式,函数指针。
再有就是语言设计出发点的问题,J***a的规则很严格,C语言追求性能所以在规则上留了很多余地。J***a只要能编译过的在语言层面一定是对的,C语言不是,比如i++ += i++ + ++i之类称为未定义行为的东西。
单说C语言的话,原则说C语言比J***a简单得多。但C语言更贴近底层,所以更反直觉(当然也有一些祖传设计Bug的问题)。C语言好不好学可能主要在于你是不是够理性。
将j***a程序转换成c语言?
j***a是带GC的,所以根本不存在算法可以保证所有j***a代码转成c++之后都跟原来长得差不多。譬如j***a8用lambda表达式构成一个环,你C++当场就跪了。
C语言编程难吗?
C语言编程难不难的这个难我觉得有两个方面:
抽象难不难:软件开发编程的终极目的就是把大家生活中的事情,流程进行抽象,然后通过编程实现。C语言可以说是众多语言的祖先。它被创造出来的时候,科技还远不如今天这么发达。当时这门语言主要是为了让人们脱离汇编语言等面向机器语言的苦海。C语言和今天众多高级语言如J***a,C#等相比仍属于更靠近机器的语言,这意味着在编程时相较于那些面向对象的语言,要有更强的抽象能力,要自己去完成基础数据结构的搭建。
维护难不难:相较于J***a,C#等高级语言,C语言赋予开发人员极大的权利。这些权利包括直接操纵内存,调用操作系统层级的API等。所谓权利越大,责任也就越大,C不像J***a,C#等语言提供垃圾回收的功能,内存操作要格外小心。还有被J***a嗤之以鼻的指针,如何才能避免野指针呢?以上这些都是C语言编程中需要考虑的问题,相比于J***a,C#,要更加的认真,才能写出良好的代码。
看完以上的两点解释,是不是想知难而退了呢?其实,完全不必因难而畏惧。目前国内多数高等学府的计算机相关专业,甚至是非计算机专业的学生都或多或少要学习C语言课程。正是因为C语言的特点,它才是让一个开发人员快速掌握软件开发基本功(数据结构,算法,抽象能力等)的最佳选择。要想高屋建瓴,就必须打好地基,掌握了C语言之后,学习其他编程语言就不再是难事。
学会c语言学其他语言快吗?
我的答案:我感觉是会快的。
我的分析:学习编程语言的过程是相通的,殊途同归,条条大路通罗马。如果掌握了一门语言,再去掌握另外一门,会很快。因为编程语言好多都是相通的。
C语言是面向过程的语言。C语言里面很多比如指针、循环、数组、结构体、共用体、链表等内容稍微比较复杂点。
C++和J***A是面向对象的语言,最主要的面向对象的语言有继承、封装、派生和多态等特性。
还有汇编语言是高级语言,比较接近计算机底层硬件。
我感觉去熟悉和掌握了一种语言,比如C语言后,再掌握其他语言会比较顺利。
到此,以上就是小编对于c语言转j***a难吗的问题就介绍到这了,希望介绍关于c语言转j***a难吗的4点解答对大家有用。