大家好,今天小编关注到一个比较有意思的话题,就是关于学过c语言和java的问题,于是小编就整理了2个相关介绍学过c语言和Java的解答,让我们一起看看吧。
我学习的是j***a语言,现在想去学习c语言,会不会很难或者说要入门大概需要多长时间?
最大难度可能会来J***a会缺乏对更底层逻辑的抽象,而人往往因为定式会以J***a使用的上层抽象硬套C语言的逻辑。学C的话J***a的经验可以作为参考,上层的编程思路可以用,但是语言方面,***装自己没学过编程语言吧。
然后就是C语言因为异常古老所以某些设定相当扭曲,比如类型格式,函数指针。
再有就是语言设计出发点的问题,J***a的规则很严格,C语言追求性能所以在规则上留了很多余地。J***a只要能编译过的在语言层面一定是对的,C语言不是,比如i++ += i++ + ++i之类称为未定义行为的东西。
单说C语言的话,原则说C语言比J***a简单得多。但C语言更贴近底层,所以更反直觉(当然也有一些祖传设计Bug的问题)。C语言好不好学可能主要在于你是不是够理性。
本身有点C语音基础,学习J***a会有帮助吗?
当然有帮助的,1)C语言是比较底层的语言,使用c编程需要对内存布局,例如不通类型的占用内存大小,内存在计算中的排布,字节对齐等。
2)C是面向过程的编程语言,比较符合一般常人的逻辑思维习惯,有了它的基础,去学习更加高级的语言,如j***a,python这种,编程逻辑是相通的,表现形式上差别较大,因为使用的库函数,语法,差别较大。如果涉及大点工程,就会有框架等。
对于初学者而言,有了c的基础,学习其它的高级语言,应该可以更快的。
我身边的有一部分同事,使用c开发了好几年,由于业务需要,需要专做j***a,语法学习基本上可以现学先用,唯一对于刚上手的同学,掌握一门语言的框架(如j***a)这个是有点难度,需要有项目工程代码结合才能够更快成长和掌握起来。但是如果后续需要在J***a上更加深入的学习,C可谓是是一个很好的基石,能够让你理解j***a里面机制更清楚,毕竟j***a虚拟机都是c/c++实现的。
希望能够帮助到你。
那必须有用啊,不懂C得j***a程序员不是真正的程序员,百C是j***a的底层实现,学了C能更好地度理解j***a。j***a的函数都是用C语言写好封装的,如果你知只是想当一个j***a代码程序员(就光敲代码的那种),那你道可以不用学了,但是如果想再j***a方面不断的版深入,不断的提升,C语言是比必学的,不然,你根本就不知道j***a实现权的机制和j***a函数的实现。
有帮助
编程语言之间都是相通的,要想迁移到一门新语言遇到的障碍会比零基础要少的多。但不同的语言的逻辑思考方式、编程思想、设计思想方式不一样。C语言比较靠近底层硬件,***用面向过程的编程思想。J***a比C要高级,比较偏向应用类,***用面向对象的编程思想。迁移到一门新语言对于有其他语言基础的来说会很快,不需要再去浪费时间学习变量函数等这些基本的东西,主要关注的是新语言和现在所会的语言的差异,要多写,多练,多去总结,从中去体会不同语言之间的差异,明白他们的的设计思想,这样能对一门语言有着自己的理解和体会。
希望对你有所帮助
学习了C语言对j***a学习肯定是有帮助的,因为语言的好多概念思想是相通的,为什么有人精通一门语言,学习另一门语言就很轻松呢。现在很多学j***a的程序员,基本大部分都是上过本科的,所以在大学开的一门课中就是C语言,谭浩强老师写的。
现在机构里培训为什么又不学C语言呢,主要原因还是时间花费了,时间拖长了,机构不赚钱,时间短了学生消化了,所以把这个入门课就直接给删除了。
C语言是面向过程的,但用它来入门来说的确比较好,简洁,并且所有的基础语法、各种条件、循环、数组、函数、结构体、指针、文件。都还是比较容易入门的。C语言是底层语言
J***a是面向对象的,万物皆对象,C语言基础语法、条件、循环、数组这些都是一样的,函数变成了[_a***_],结构体变成了集合……,所以对学习j***a是有一定好处的。J***a是高级语言,所以也有它自己的特性:封装、继承、多态;
如果有C的基础,那么也就有一定的编程能力与编程思维,学习其它任何语言也就容易多了;在面试与工作中,用到C时,你也不会一脸苦恼,所以我一直认为学习语言要从C入手。
到此,以上就是小编对于学过c语言和j***a的问题就介绍到这了,希望介绍关于学过c语言和j***a的2点解答对大家有用。