有c语言的基础学习java容易上手吗?

有c语言的基础学习java容易上手吗?,第1张

如果理解了C的基础,几乎入门任何一门语言都不难,接触的语言越多,就更容易上手新语言。 就此来说 有c语言基础 在去学java 会比 没学过c要快。 就自己学习的经验来看,不要去想怎么样才能更快上手, 直接去做东西, 在做的时候会碰到各种大小坑, 一步一步填起来, 然后发现自己已经回了 虽然我知道自己只是在应用层面 还没到研究层面 但是工作已经可以胜任了。

1,主流的语言C/C++, Python, Pascal,Basic, JAVA, C#都可以作为入门的编程语言。因为它们都存在一个具有足够表达能力的语言子集,优秀的入门书籍,成熟的库,以及强大的社区的支持。所谓选择最好的入门语言可能是一个伪问题,而真正的问题是当你选择了其中一门语言后,如何选择合适的学习方法。

2 数据的表达

常量的定义

变量的定义

结构体的定义

类的定义

3 控制流的表达

顺序语句

条件语句

循环语句

4 封装和抽象

函数的定义和调用

类的定义和调用

库,模块,命名空间的定义和调用

而当对这些概念有了基本的印象并学会了用一门计算机语言表达这些概念之后,接下来对于初学者来说最为重要的应该就是三件事情,掌握:

编程范式

基本的数据结构,算法

对应语言系统库常用的API

常见的编程范式有:

面向过程的范式,这个应该是对于初学者而言最为容易理解的方式,几乎所有的主流语言都支持这一范式,初学者应当首先学会这种范式

面向对象的范式,这个应当是最为主流的编程范式,从软件开发的角度看, 它的优点在于能够用面向对象的方式贯穿软件开发的整个生命周期,包括软件的设计、编码、测试

函数式编程,在并行计算的时代,函数式编程的范式将会成为另一大主流,推荐对其做一些了解。

*** 作系统、数据库、设计模式、软件工程、数据结构与算法

编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。

为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。

这种人和计算体系之间交流的过程就是编程。

编程:设计具备逻辑流动作用的一种“可控体系”

发展历程:B语言->BCPL(Basic Combined Programming Language)->C语言。B和BCPL是非常古老的语言,现在除了专业研究计算机算法语言设计或者计算机史的人,没人会去用。差异也是比较大的,例如C语言比BCPL增加了静态类型检查,这在当代的程序语言设计中非常重要。

VB是指Visual Basic,基础是BASIC语言(BASIC是Beginner's All-Purpose Symbolic Instruction Code,“初学者通用符号指令码”的英文缩写),和以上的B语言无关。相对而言,BASIC更接近自然语言(准确来说是有点像现代英语+数学语言的混合物,有些词法照汉语来说完全不通)。(LS还有人扯啥“B类语言”的orz= =“类C语言”的说法倒是有。)

学C的话,重要的基础是数学,英语可有可无(认识52个大小写字母就够了;就那么几个关键字死记也行)。尽管C在根本上的经典设计思维类似于BASIC,不是函数式而是指令式的(传统的函数式程序设计语言:LISP;现代的:Scheme、Haskell等),决定了C函数和数学函数的不同(可以保存状态,无法自由迭代),但是学会数学中的函数思维对理解C语言的函数有很大帮助。即使是BASIC或其它语言,也有“过程”或“函数”的概念,也需要这个理解。但是学C语言的话,BASIC不是必要基础,如果学半吊子的话还对以后的学习有害。

如果能够学会VB,那么这些公共的基础应该有了相当的理解,学习C语言自然会比较轻松。VB的语言本身容易理解,但是距离它实际表达的语义细节有些远。所以尽管适合作为初学者的第一门程序设计语言,但是为了学习C去学习VB,是舍近求远,得不偿失的。

所以有兴趣的话尽可能不要先碰VB,学完C以后再回过头来看VBNET(不过很多人应该会对BASIC那套冗余的词法感觉无力)。VB只是不成熟的RAD工具而已,由于国情原因,上世纪90年代开始莫名其妙地流行了一阵子。另外,所谓的计算机等级考试(二级现在还有C和VB;注意是VB这种过了气的东西,不是VBNET)是根本靠不住的,真要学什么的话不要理会那一套。

关于LS的一些说法:完全不同意“vb学起来很简单,但越是这些简单的东西,它越能开发你的编程思维”,都学过并且大致了解的话,应该不会有这些想法了——形式上的简单和表达的实质内容的简单是两码事。“现在掌握高级语言的人多的是,但是却有很多人编不出好的东西,这就说明了你在程序这块懂得多的,远远不如你想得多的”——虽然道理没错,但是切入角度错了——这也可以算是没搞清楚学习语言和程序设计之间关系的典型反面教材了。程序设计本来就远远不是学会语言这么简单的事情,注意它的中心语是“设计”——这和具体语言是无关的,语言只是工具,必要的基础而已。

====

[原创回答团]

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12179417.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存