计算机编程语言站
开发一套编程语言有多难?
谢谢邀请,
开发一套编程语言,主要存在两个障碍,其一:任何一种编程语言都有其存在的必要性,所以要搞明白为什么要弄一套新的编程语言,首先一定要有市场需求所在,编程语言如同一个产品,一定有强烈的市场需求,编程语言存在的价值在于生态链,只有具备完善的生态链才能存活的有意义,现在全球有600多种编程语言,主流的编程语言也就是几十种,而这些编程语言中,都有强大的社区依托,也就是强大的生态链支撑,生命力才会如此的强大。
其二 本身的技术实现框架,有些编程语言在诞生之处就能感受到其强大的支配力,可扩展性等等特性,在设计之处越是想的明白,越是框架清晰,后期越容易维护,编程语言底层实现基本上靠的都是C语言,所以社会上很多对于内在不是很了解到人,说到C语言已经是过时的语言了,现在学习意义已经不大的论调,只不过在就业岗位绝对数量上,和java,python等高级编程语言无法比拟,但在一些关键岗位上离开了C语言还真不行,编写编程语言就属于这类的工作,一定需要强大的C语言做支撑。
现在国内很多人喊着什么时候有一套属于自己的编程语言,现在的易语言就是迎着这种势头发展起来的,虽然很多内行程序员不是很认可这种编程语言,觉得只是包了一层语言了而已,但毕竟有了中文编程的模式,按照这个道理应该这种编程语言,在国内会有一个非常大的发展前景,经过这些年的发展,还是没有登上主流编程语言的舞台,倒是现在很多游戏***软件都在用这种编程语言去搞,很多学习易语言的人就是为了做个游戏外挂或者***梦想着一天能够赚大钱,在08年之前制作游戏***的人基本上赚了大钱,主要当初针对游戏***的法律还不完善,让很多人钻了空子,在08年之后基本上从事这方面的人,从台前转到了幕后,专心做dll库文件,从中继续谋取暴利,所以编程语言的最难的在于如何普及,如何被大众认可,要成为主流的编程语言首先具备广泛性,从这点来讲英语编程相对来讲是比汉语更加有优势,在传播性更加容易被接收,从各个层面讲,一种编程语言要具备,通用性,兼容性,稳定性等特点。
编程语言的设计不是为了编写而编写,首先要迎合科技发展的需要,如同C语言的诞生让程序员摆脱了用汇编编写程序的痛苦,Java等高级语言的诞生又让程序员不在用面向过程中的语言,去写复杂的功能,只需要调用成熟的类库就可以轻松完成很强大的功能,主要在于编程语言在向高度集成化的方向发展,所以好的编程语言一定顺应科技发展大趋势,只有这样才能圈更多粉丝,建设更全面的生态链。
开发一套编程语言的难度对于任何团队来说都是难度系数极高的,个人基本上不可能开发完整一套。
编程语言现状
目前优秀的编程语言以C语言,J***a语言,Python语言三大语言比较有代表性,也是目前的主流语言。
任何一门编程语言都是一种工具,那么这个工具需要用来做什么,这是首先需要考虑的。因为目前编程语言这么多,你要开发一套语言用来做什么别人做不到的,或者比别人做的更好的。就别说超越J***a或者C语言,先开发一套可以替代这两种的语言就非常优秀了。
编程语言开发大致思路
首先要定下一个体系,是面向对象还是面向过程,还是另辟蹊径。这需要你对计算机底层有足够的了解,对[_a***_]原理非常精通。
然后你要给语言定一套规则,会用怎么样的语法,会有什么样的特性。一点非常重要,会决定这套语言的受众面和推广程度。
接下来你可以选择去设计这套语言,是基于C语言的库,还是借用点J***a的类库,还是自己设计一套与汇编语言有密切关系的语言。
编程语言是用来定义计算机程序的形式语言,是人和计算机打交道的语言。编程语言通常描述分为语法和语义。语法是指符号或文字,及其组合。语义是指编程解释。编程语言一般分为机器语言,汇编语言,高级语言三大类。
开发一套编程语言,从技术上讲不难,难的是推广和生态。当今世界,编程语言已有成千上万种,但被使用得最多的,来来去去,都是那常见的几十种,甚至十来种。如果没有得到有效推广,编译器厂商,库商,程序员就闻所未闻,闻而不见,视而不理,就无法形成生态圈,更谈不起流行。
网上有不少声音,总是想开发一种中文编程语言,为国人所用,甚至推广至全世界。我认为,国人有开发编程语言的能力,但没有必要专门去开发中文编程语言。一来我国程序员,使用英文编程的能力还是足够的。二来尽管全球都在学中文,而不是学猫叫,但是全球并没有放弃英文的趋势。最重要的是,语言是用来交流的,编程语言也不例外。
谢谢大家。
说难吧,现在有几千种语言,其中很多都是个人完成的,例如我最近比较喜欢的elixir,是个巴西人写的。说不难吧,国内确实没一个像样的语言项目,至于易语言,这个可能9成的程序员没把它当个语言。所以难还是不难?其实从技术角度来看,并不难。但从时间,精力的耗费上,以及后期推广及社区维护上来看,就吓跑了一堆人。对国内程序员包括我来说,有那时间,不如挣点奶粉钱
简单的不那么难,学一下AST,能解释就算了。但是要做的运行效率高,安全,高并行,编译效率高,多平台支持等等是计算机科学里最深奥的领域,关垃圾收集器就可以研究整个职业生涯了
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/24017.html