较难编程语言
什么编程语言最难学?
我的回答是没有。
很多初入门的程序员不可避免地纠结于编程语言的优劣、复杂程度。其实,着重于这些方面反而忘记了学习编程的初衷。
抛去工作混口饭吃的学编程的被动原因,那么我们学习一门编程语言初衷是什么?当然是为了解决一类问题!
各类语言有各类语言的服务场景,比如c,c++偏执行效率,java偏开发效率等等…每种火热的语言都不是偶然存在的,而是确实解决了某一类的问题。
汇编语言,在我看来,汇编绝对是最难学习的一门语言。汇编语言为什么难,得从它的特点说起,汇编是一门直接操纵处理器的低级语言,这里说它低级,是相对于高级语言(如C++/Python/Kotlin)之类编程语言而言。学习汇编可以让人更加清楚的了解到计算机底层硬件(主要是CPU)是如何进行数据计算的,对计算机的工作原理也会有更加清晰的认识。下面介绍一下汇编语言的一些应用范围。
开发硬件驱动。由于汇编是直接面向底层硬件的语言,它可以直接对各个硬件进行直接操作。通过使用汇编,可以把底层硬件诸多繁琐的操作隐藏起来,只把有用的操作接口预留出来,这就是驱动程序的开发。大到pc巨型服务器,小到各种微电子芯片,所有的驱动程序都可以由汇编完成开发,是不是很厉害。
逆向软件开发。现实开发中,要了解其他软件的工作原理是一件很困难的事情。特别对于一些病毒程序,如果不了解它的工作原理,更笨就没法对百度进行有效拦截和查杀。这时通过使用汇编语言可以完成这一目标,通过反汇编技术,可以看到程序编译后的汇编代码(这时不一定能复原原程序),只要能够一定程度上理清被逆向程序的内部数据或指令信号的流动方向,就能大致知道其工作原理,从而开发出破解之术。
开发高性能程序。许多嵌入式设备的运算能力极为有限,有限到什么地步呢?强大如C/C++这样的高效能编程语言写出的程序都无法满足运算需求,这时候如果要最大限度的榨干其运算能力,就必须派上汇编了。汇编由于其可以直接操纵处理器的特性,能够充分的调用处理器的每一处缓存及寄存器,所以用汇编可以让设备的运算能力得到充分的释放。
(图片来源网络,侵删)
关于汇编,其应用场所还有很多,欢迎打击关注太科罗技,并在下方积极留言讨论。
汇编语言需要了解硬件的细节,需要从机器的角度理解世界。c和c++需要从操作系统的角度理解世界。j***a和c#以及其他的一些脚本语言只需要从业务逻辑的角度理解世界。越高级的语言越符合人类的思维,这方面的软件开发也基本上属于工业生产范畴,不属于it技术。
至于哪个更难要看个人兴趣。低级的语言编程属于it技术,它主要用来为高级语言构建开发和运行环境,高级语言则主要是针对实际应用的。it技术的研究跟it技术的应用哪个更难,是见仁见智的。
我[_a***_]任何语言都无所谓难易,只是取决于你的兴趣和需求,另外我认为几乎所有的编程言都有自己的'性格',即编写风格,有些确实是会跟人的性格相冲(我有一些很厉害的同事就是写不好c程序),当你觉得即使很努力也写不好程序时,就要考虑换门语言了。
这些语言才是最难的,有人说是底层语言,这是没有受过这些语言的苦呀!
Haskell、lisp等语言是反着写的,比如(* 2 3),你看懂了吗?就是2*3,我不否认这只是一些人的习惯问题,等你习惯了这些语法之后,肯定不会是什么难事,不过学习c语言出身的各位你们需要多久才能适应呢?
函数式语言还有一个函数编程思想作为门槛在拦着各位,即使你学会了函数式语言的语法,要写出漂亮的函数式程序也不是一件简单的事情,什么变量是不可变的,闭包等等。
汇编语言跟底层联系太紧密了,要想写出一点有用的东西太难了。
学习汇编需要对硬件非常了解,什么是寄存器,那个寄存器是干什么的,怎么对寄存器赋值等等,汇编不难,可是硬件知识特别难,而且不同的硬件还是不同的,这个门槛难过呀。
C语言不难,只要能够拿下指针,C语言真的不难,不过很多人都是卡在了这一关,而且一辈子都跨不过去。
要实现一个编程语言有多难?
从你的描述来看。你显然不需要自己去实现一个编程语言!
要实现一门编程语言,其难度远远超出想象!首先你得有最基础的理论知识。比如编译原理,算法与数据结构,计算机组成原理,等等。其次,你在发明一样东西之前,至少得了解一下同类东西。也就是至少你得精通一门编程语言。而你显然暂时不具备这个能力。换句话说,连别人现成的编程语言都用不好,又如何可能用别的编程语言去从零实现一门新的语言?!
所以基本上就不要考虑自己去造轮子,发明一种新语言了。先学好一门语言再说。等精通几门编程语言,有了多年实际编程经验后,再来谈论是否有必要以及如何实现一门新的编程语言。
对于题主说到的这些需求,你总是可以找到一门现成语言去简单完成的。比如matlab,Python,C++等。可以咨询业界专家。因为你能想到的别人也能想到,你遇到的别人也遇到。那么多数学家和科研工作中他们也用现成的工具或编程语言。总有一款适合于搞数学。万一仍然觉得编程实在太难,那也可以找人去帮你完成。现在社会讲究合作,术业有专攻嘛!不一定什么都要亲力亲为或什么都有从轮子造起。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/16595.html