
应该先学习C语言,因为C语言是介于低级与高级之间的一种编程语言,汇编语言主要是面向硬件的,学完C之后,再学汇编,这样可以有一个编程的印象,因为C比汇编更符合我们的逻辑思维,所以把C语言的一套,可以"搬"到汇编来。
如果是初学,或者仅仅出于爱好编程,又不能花太多时间,确实没有必要学习汇编语言。
但是学习汇编语言,向上可以理解软件,向下能够感知硬件,是我们理解整个计算机系统的最佳起点和最有效途径。如果之前有学习高级语言的基础,在系统学习了汇编语言之后,可以加深对高级语言的理解。
说汇编执行效率高没有问题,但是程序员在编程时付出的时间代价往往比较高,所以处理一般问题汇编语言的执行效率这一优势并不明显。
还有的情况是一定要使用汇编语言,比如Intel新推出一款处理器,新的处理程序没有合适的支持的指令和编译程序。
汇编通用性差,不同型号的CPU,都会带来巨大差异,汇编缺乏一个有效的底层管理,编写的程序会BUG成堆,汇编缺乏各种开发包支持,编复杂的程序几乎成为不可能,他的缺点根本无法用它的效率弥补,如果真用汇编,反而会因为程序写的蹩脚,反而运行效率也大大降低。。。只有移植代码会用会编写,因为需要他进行硬件隔离,让软件编程在逻辑上和硬件无关。。。
虽然所有程序都要有转化汇编这一条,但是人家都是一个千锤百炼的编译器在做这个事,可靠性不用怀疑,如果用汇编,这种事就要亲自上手,你觉得一个程序员写的汇编能和编译器拼可靠性吗??
编程首要任务是缩短开发周期短,工作量小,至于代码运行慢,根本就不是个事,高性能CPU一大把,你用汇编导致的工期延长,买几百CPU没问题,编程发展到今天,汇编除了进行BUG排查,底层代码移植,关键代码编写,需要用,其他都不用。。。因为应用软件用汇编,几乎变的不可能,连个有效的开发库都没有,算个乘方开方这些数学上的东西都是个问题,你说这程序怎么编。。。。。
问题一:专业程序员需要掌握的几种语言 受到这篇文章()的启发,我突然想起对我所会的和要学的语言做个分类。确定一下专业的程序员到底需要会多少种语言。1系统类。只有C一个,必须学,而且需要在几个系统上编程就要学几次。学习系统类语言需要的是对系统结构和运行原理的了解,因此抽离系统的学习语法/抽象库/代码结构是没有任何意义的。2面对对象类。C#,Java等,推荐Java。构架方法优美大气,代码容易修改容易阅读,复用性好。然而做事上架梁叠屋,吃个馒头洗三遍手。可以学习构架方法,千万别学做事方法。3一门快速的脚本语言。Python, Php, Perl, Bash,各有特色。实际上如果你有空可以统统学一遍,非常有好处。快速脚本语言的特色就是整合其他代码和已经存在的东西,快速的构建出一个可用的程序。按照上面的分类,程序员最少要会五种语言,我假定是C/Java/Python/Scheme/A 80x86。C++不要学,那个是万恶之源。那么下面列举了我推荐的一些书单,可以由浅而深的学习这些语言。1入门,《21天学习C语言》《Dive Into Python》《80x86汇编基础教程》等等,这类书的目地是快速的教会是使用语言和语法。完成这个阶段的程序员可以找一些简单的题目做一下,但还不能独立完成普通程序的编写。2简单,《Think In Java》《数据结构与算法(Java语言版)》《设计模式》。这个层面基本涉及了数据结构,设计模式和编程方法。完成这个阶段后,可以找几个实际项目玩一玩了。3普通,《 *** 作系统:设计和实现》《Unix系统编程》《windows核心编程》《TCP-IP详解》《Effective C》。这个层面涉及了系统运作原理和细节。完成这个阶段就可以写一些系统工具了。4阅读,《Python源码剖析》《深入浅出MFC》《Linux内核完全注释》。这个阶段注重阅读和积累各种代码经验。5专家,《计算机程序的构造和解释》《计算机程序设计艺术》《MIT算法导论》《数值算法》。通过前面的学习,普通程序编写应当已经不成问题。这个阶段面对的是将实际问题抽象成数学问题后,试图从数学上进行解决的过程。从此以上,就是数学的领域了。
问题二:要当程序员 需要会哪几种语言 现在比较流行的是JAVA,这个比较容易,以后应该也比较好找工作,你也可以学C/C++,比较难。你先确定你以后的方向,是网页编程,是游戏开发,是做纯软件,还是镶入式开发,然后学相应的语言和开发工具。
问题三:成为程序员要学什么语言 那你要做哪方面的,程序员要具备的素质有很多,不是程序员三个字就可以说清的,底层,前端,框架,都需要不只一种语言,新手C语言,java必学。
问题四:如果想成为一个程序员应该学习什么知识 程序员需要学习程序的逻辑,其次是需要学习编程的语言,这才是最根本的,有了语言才能和计算机“沟通”
如果做一个专业的程序员:
1基础语言知识 :从底层的ASM 到结构化的C,到面向对象的C++ JAVA,如果不能都精通,但是要了解,至少要精通一门
2基础数学知识: 高等数学(数学分析) 线性代数 离散数学,概率数理统计等等
3基础计算机原理: *** 作系统原理,微机原理,编译原理 数据库原来等等
问题五:程序员需要学些什么? 要看你喜好了,做什么都是有兴趣才能学好
想学程序 先确定要学什么 c c++ c# java pb vb等等
现在流行就是c#和java c++也可以 不过比较有深度
先学语法 再学程序实例 最后做项目程序员 工资中上等吧 但是很辛苦
如果你认真学习 不到半年你就会学的很好
问题六:程序员学习语言的顺序最好是什么? 个人认为没什么最好的,按你个人发展方向的不同,会有一定差异,
比如我是走WINDOWS方向的,我可说说我的,
这也是我走了无数弯路才知道的一个走法,
首先的话推荐好一门高级语言,找找编程的感觉,而我选的是C语言。
然后建议学学汇编,这个主要原因是为了充分获得底层编程的体验,深刻理解机器运行程序的机理。N多人说汇编没用,要知道的是我们是在跟机器打交道,所以我们应该以机器的方式去思考一些问题,总之对编程能力是有好处。
之后就是学习数据结构,主要是学习算法,组织数据结构和解决问题的能力。
之后就看看 *** 作系统原理,这是为下一部打下更好的基础,
再后面就是WIN32, Windows编程这些,具体就不多描述了。
学到一定程度时,应该把一些基础课程补补,像什么数据库原理,计算机原理,等等
这些补上,对自己都是有好处的,
最后想说的,无论什么方向,数据结构,和基福课程都是要学的。因为这些都是内功,
框架什么的都只是招式而已。还有就是不要总想着什么语言流行什么不流行,搞得自己一会
学这个,一会又学那个,这只会浪费时间,语言都是通的,选好一个自己认为能接受的,就
一直把它学下去。当这语言通了之后,再学其它语言,只是很轻松的事。
一些小建议希望有帮助。
问题七:想做程序员,学哪种语言好? 不知道你在哪个城市,在一线城市,比如北京程序员的待遇是非常好的。开发语言比如Java,PHP等等都是非常好的,当然这几年移动端APP开发比较火,你也可以学习安卓和ios开发。
问题八:程序员应该优先学哪些语言? 那一种都只要学的深,都能工资高,你不妨选一门语言,深入的学一学,比如java,学学它的反射,虚拟机运行原理,框架这些,然后看看数据库,html这方面的,你一们语言学深了,看别的语言都不难,都异曲同工,还有你可以看看公司的招聘要求。
问题九:现在学什么程序语言最好?? 靠!你如果想成为一个优秀的程序员的话,数学对你来说是非常重要的!计算机归根结底就是在搞数学,我看到很多计算机高手都是数学高手!我觉得语言没的必要学那么多,只要学一门就够了!语言都差不多的,一门语言和别的语言的不同之处,也就是提供的数据结构的不同,比如C语言与C++语言的不同之处就是C++里面提供了类,所以说C++语言面向对象;有人说JAVA语言更安全,为什么呢;因为JAVA里面没的指针,所以更安全;所以从这些来看语言的不同之处就在于他所提供的数据结构的不同,正是这些让语言间有了差别;所以说数据结构对学计算机的人来说是非常重要的;我在网上看到很多大学的学生说学校教的东西没的用,计算机的知识变的好快等!其实我觉得学校的学的东西,虽然不能拿到社会上用,但是都是很有用的,他给你建立了一套体系!教会了你计算机的思考方式,培养了你的计算机素质,计算机的东西再变的快,但是他的根本不会变,只要你把学校教给你东西把握好,你就能跟上他丁发展,你就不会觉得他变化的快了!
你想成为一个程序员:你可以只懂C语言,你只要会编程,只要能把代码搞的通就行了,其他的什么都不知道都可以,别人会说你是一个程序员;如果你想成为这样的程序员的话,你就可以只看C语言了!
但是你要成为一个优秀的程序员的话,你要学的东西太多了,语言只是很少的一点,因为你要考虑到你编写的程序的,效率,如果你站的高一点(作为一个软件工程师的级别)你会考虑到你代码的风格和可维护性;要考虑到效率,你就应该知道C语言是怎么样被运行的;那样你就需要去学编译原理,如果还要了解的更清楚,那还要去学很多计算机方面的基础内容( *** 作系统,组成原理等等)
如果你要考虑到代码风格的话,你就要去学软件相关的知识,比如软件工程,软件项目管理等,只有你了解了这些你才知道怎么样写出维护性好的程序来!
这个是我自己的看法!希望大家不要骂我哈!我是很重视基础的,说句实在话我很瞧不起,那种整天学语言的人,那重整天拿着VC++到处跑的人,遇到点新东西他们就会头痛!
所以做我觉得你可以先从C语言学起,先粗略的学一次,然后再往低层和上层发展,比如定义了个int A = 2 ;
你可以问自己一下,计算机是怎么样来实现这个的,这样你就需要去学系统结构啊,还有别的底层的知识
你编写了个程序,你可以看一下,如果自己一个月以后来读这个程序,你还看的懂吗?去学软件工程的知识,了解为什么需要好的程序风格!
我觉得只有你把这些都搞的比较明白了,你可能才算的上是一个优秀的程序员!
假如想从事嵌入式系统开发等,最好学一下汇编,汇编可能是所有语言中最难被人们所认知的,但是正因如此它又是机器中运行最快的且暂用内存小。
假如从事应用软件开发等,汇编可能就没有多大用处了,还是用高级语言比较简单通用。
作为程序员我想汇编还是应该了解一下比较好。
计算机语言通常是一个能完整、准确和规则地表达人们的意图,并用以指挥或控制计算机工作的“符号系统”。计算机语言通常分为三类:即机器语言、汇编语言和高级语言。
机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的 *** 作功能。
机器语言具有灵活、直接执行和速度快等特点。
用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作,编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且编出的程序全是些0和1的指令代码,直观性差,容易出错。现在除了计算机生产厂家的专业人员外,绝大多数程序员已经不再学习机器语言了。
为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码(如用ADD表示运算符号“+”的机器代码),于是就产生了汇编语言。
汇编语言是一种用助记符表示的仍然面向机器的计算机语言。汇编语言亦称符号语言。汇编语言由于是采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。
汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
汇编语言中由于使用了助记符号,用汇编语言编制的程序送入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的“汇编程序“的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。
用汇编语言等非机器语言书写好的符号程序称源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。
汇编语言像机器指令一样,是硬件 *** 作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费,通用性也差。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。
不论是机器语言还是汇编语言都是面向硬件的具体 *** 作,要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用也是不利的。
计算机事业的发展促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。
高级语言有:BASIC、C、C++、PASCAL、FORTRAN、智能化语言(LISP、Prolog、CLIPS、OpenCyc、Fazzy)、动态语言(Python、PHP、Ruby、Lua)等。高级语言源程序可以用解释、编译两种方式执行。通常用后一种。
高级语言是绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令并且去掉了与具体 *** 作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。
以上就是关于学习编程应先学汇编语言还是c语言,或者说,不会汇编语言能不能学c语言全部的内容,包括:学习编程应先学汇编语言还是c语言,或者说,不会汇编语言能不能学c语言、学习汇编语言有多大用处现在实际开发中很少用到,而且学起来有不太好学,,所以纠结、汇编语言编程既然效率高、体积小那么为什么软件不用汇编语言编写呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)