首页编程语言高级编程语言必需学吗

高级编程语言必需学吗

cysgjjcysgjj时间2024-12-13 00:40:32分类编程语言浏览24
导读:有必要学习更多的编程语言吗?要想精通C语言,必须先学习汇编吗?高级编程语言为什么还要保留goto这样的语法?有必要学习更多的编程语言吗?语言就是程序员的武器,如果把程序员比做特种兵的话c,java就是重型武器杀伤力巨大,但是不能干什么事什么场景都上重型武器不是,有些场景只需要一个脚本语言就可以解决的追求效率那没必要用java来写,用p……...
  1. 有必要学习更多的编程语言吗?
  2. 要想精通C语言,必须先学习汇编吗?
  3. 高级编程语言为什么还要保留goto这样的语法?

有必要学习更多的编程语言吗?

语言就是程序员的武器,如果程序员比做特种兵的话c,java就是重型武器杀伤力巨大,但是不能干什么事什么场景都上重型武器不是,有些场景只需要一个脚本语言就可以解决的追求效率那没必要用Java来写,用python ,shell能快速搞定,有些场景追求高并发就上j***a go c 语言,总之语言就是个工具,但是只会一种语言也不行,任何东西都是一个体系,一个主体其他为辅,那程序员就得以一个高级语言为主再学习一些脚本语言,根据场景而运用之,灵活运用,效率将会很高

个人认为学多没必要,学精很有必要。在一个领域里,把可以辐射到的语言学习好,把常用的学精,才是正道。什么都去学,又都只会皮毛,不如不学。所以还是要对一个领域挖掘透彻才好。

非常有必要学习多种语言,一方面便于吸收各语言先进、优秀设计理念,另一方面,各语言生态都不一样,便于项目选型时选择合适的语言。其实编程到一定程度,上手一门编程语言是很快的,大部分情况下,我们仅需了解以及简单编程即可,有相关实践的要求时再进行深入。

高级编程语言必需学吗
图片来源网络,侵删)

谢谢邀请!

作为一名从业多年的程序员,也出版过编程书籍,所以我来回答一下这个问题

首先,编程语言与开发场景有较为密切的关系,如果程序员需要面对多种不同的开发场景,那么掌握多种不同的编程语言是有必要的,但是如果面对的开发环境比较单一,掌握多种语言也没有太多的实际价值,所以是否需要掌握多种编程语言,主要岗位开发任务来决定的。

高级编程语言必需学吗
(图片来源网络,侵删)

目前在大数据和云计算技术推动下,程序员全栈化是一个比较明显的发展趋势,不仅要求后端程序员全栈化,前端程序员也在往全栈化方向发展。一方面原因是开发团队小型化趋势明显,这就要求程序员能够完成多个角色的开发任务,另一方面基于PaaS进行软件开发使得***整合更加容易,这也进一步打破了传统前后端程序员的任务边界。

以大数据应用开发程序员为例,如果在Hadoop平台下进行开发,通常会选择J***a语言,由于Hadoop本身就是***用J***a语言开发的,所以在Hadoop平台***用J***a语言还是比较方便的。如果使用Spark平台,那么最好学习一下Scala,这样在开发效率方面会得到一定程度的提升。另外,如果从事大数据分析工作,掌握Python也是有必要的。

对于Web程序员来说,通常既需要掌握一门后端开发语言(比如J***a、Python、C#等),同时也需要熟练掌握前端开发语言,包括Html、CSS和JavaScript,另外还需要掌握Sql语言。

高级编程语言必需学吗
(图片来源网络,侵删)

对于初学者来说,选择一门“全场景编程语言”是不错的选择,目前比较常见的全场景编程语言包括J***a、Python和C#,另外可以重点关注一下J***aScript语言,虽然J***aScript主要的应用领域集中在前端,但是目前J***aScript的应用边界也在不断得到拓展。

最后,对于程序员来说,学习编程语言往往是开发任务驱动的,一边学习一边使用也是比较常见的事情。

我从事互联网行业多年,目前也在带计算机专业研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互[_a***_]技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网、大数据、人工智能等方面的问题,或者考研方面的问题,都可以在评论区留言!

很有必要,不同的编程语言,在处理不同的问题上有不同的优势例如,c语言在嵌入式开发,偏底层驱动相关的领域被大量应用。J***a则被应用在后端和企业级应用场景。有空多学一两门编程语言,可以让你多一种快速解决问题的方法

不同的编程语音还可以开阔思维,提升个人抽象问题的能力。技多不压身,没错的

要想精通C语言,必须先学习汇编吗?

不一定要懂汇编,至少不需要先学习汇编。

汇编对分析底层驱动有一定帮助,尤其是嵌入式开发。

汇编并不难,每个芯片平台定义的汇编指令千差万别。 因项目需要,临时去翻指令理解也来得及,没有必要去强记。

要学的东西太多,在汇编上花费太多精力没有必要。

1、要精通c语言,不需要学习汇编;C语言其实是很简单的,很多时候windows下的ide把c语言开发搞复杂了,可以参考我的头条号里面的几个介绍c语言的文章。

2、建议linux下用gcc学习c语言,c语言是一门系统级语言,只要掌握了指针,就可以很灵活的控制内存和程序流程;

3、c语言的很多库都是通过指针对外提供api;

4、很多嵌入式芯片都有提供c语言的库封装;多线程库在不同的平台和芯片库里面有不同的实现方式;记得以前做arduino的时候,多线程要自己控制中断;而lpc2368的armv7架构的多线程是用mailbox方式实现。只要掌握了linux平台的gcc的c语言,就能很轻松的进行不同芯片的嵌入式开发。

5、原来开发lpc2368的bootloader的时候,官方的例子是汇编,而我直接用c语言的指针实现了同样的功能

不是必须的,但有帮助。程序经过编译基本上就是汇编语言的形态了。严格说,是二进制数据,汇编是把二进制的指令用词语表现出来而已。如果理解了汇编你就能轻松理解C的指针是个什么鬼,它加来加去的到底是在干什么。为什么要编译,什么是链接。为什么C要有主函数,为什么变量要定义类型,函数是怎么回事。

完全不需要!请把精力放在算法实现,模型建立,API调用,人机界面,网络与通信等有用的地方。CPU发展很快,自己写那几句汇编比编译器高明不了多少。做应用软件开发,根本不需要汇编。你要是打算做操作系统等系统软件,那倒是真得结合目标CPU好好研究汇编。

虽然说汇编是一门独立的语言,C也是一门独立的语言,它们看上去并没有什么联系,但是学习汇编可以帮助我们分析C语言程序的设计原理。要想精通C语言,必须先学习汇编才是正确的学习顺序

举例:【“Hello World!”程序使用汇编表现】

使用“Hello World!”程序介绍,如图3-5-1所示。

图3-5-1中,我们只看到了C语言代码,并没有看到汇编,我们该怎么查看呢?在Visual C++开发工具中,反汇编窗口,需要下断点、按F7编译、按F5调试运行才能切换到反汇编窗口。该如何下断点哪?选中“int main(void)”这一行按F9,会在这一行代码前出现一个红色的圆点,说明已经断下断点,看图3-5-2所示。【注:按F9下断点只是在Visual C++开发工具中使用】

按F9下断点后,我们接着按F7,让程序编译,程序通过编译后再按F5调试,会出现如图3-5-3所示。

出现图3-5-3的界面之后,我们点击鼠标左键,出现如图3-5-4界面。

高级编程语言为什么还要保留goto这样的语法

其他的逻辑跳转都是goto的包装,它们都可以简化代码逻辑,但是不可完全替代goto,毕竟goto是可以无条件跳转到任何地方的。

比如一个深层循环,想要一下跳出来,不用goto得用无数个break。

所以不能因噎废食。

当然你自己可以约束自己,为了可读性,尽量不用稀奇古怪的goto。

显然是“我可以不用,但是你不能没有”系列。

***想你有三个for循环嵌套,大多数高级语言你可以用return彻底退出所有循环,用break退出当前循环。但是如果想一下子跳出两个循环怎么办? 这个时候就有用了。

许多时候开发者根本不想写出复杂的嵌套。但是深入行业就知道,许多行业业务复杂度是难以想象的。陈旧积累下来的代码n个嵌套很多了。

现在高级语言程序员都不关注计算机最底层的东西了,以前的程序员对计算机和操作系统的基础功底要求还是蛮高的,使用goto还有指针特别方便,但是需要程序员控制它的收放,现在高级语言把这块要不给禁了,要不垃圾回收给你做了。

goto语句结构化编程的今天,的确不再推广因为大量使用goto语句,使得程序可读性非常差,逻辑上也容易出错。

微软在vc推出时,提出了结构化程序的概念。即,尽可能使用子程序。每一个子程序完成一个小的功能,按顺序,就象写文章一样,条理清楚,可读性强,便于维护

但是,任何事情都有例外。

1,与老的软件兼容。我们做的软件,有很多是从上世纪继承而来。如底层的差分,积分,语法语义的解析,已经是成熟的模块了。现在要再用到系统中,如果编绎器不支持goto,必须重新编辑,出bug的可能性又增加了。

2,编程还有一个规则,即每个子程序,只在结尾返回,尽可能少在中间位量用return。这样容易漏掉象free内存,或者Release老的mPen这样的错误,导致系统崩溃。所以,在中间return,又要处理一个公共程序块,用goto就比较完美。如:

void calculateafun()

{

int a,b,c,d;

char *p=new char[10000];

if(a==b)

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/23937.html

语言汇编程序员
顶智互联网技术 如何玩懂编程语言的人