2023-10-29 16:41来源:m.sf1369.com作者:宇宇
在任何时候,我都希望摆脱对文本语言的依赖。这部分是由于 1950 年代后期和 1960 年代的语言研究,其中研究了启中形式语法技术,但基于文本。
程序员现在只考虑文本。一些语言取得了突破,例如 Smalltalk 和 Hypercard。Smalltalk 承担了文本的很多复杂性,并将程序的整体结构置于文件系统、浏览器和编辑器的环境中。
我们还开始了电子表格中的函数式编程系统,其中每个单元格代表一个基于立即值的函数或其他单元格中的函数。
因此,电子表格可以被视为一个完整的编程系统。
然而,电子表格只是一种方式,对于一般编程(自己编写电子表格程序),我们需要更通用的方式,比如 Smalltalk。
文本是线性和二维的,但程序是围绕更复杂的维度构建的。基于文本的编程的难亏键点在于将多维映射到二维。
许多程序员考虑使用文本编辑器进行编程(vi 和 emacs 是糟糕的例子),但我们应该使用程序编辑器,以便在没有基于文本的滚动的情况下轻松访问系统中的“远程”定义。大多数 IDE 对此感到失望,因此我们也需要超越 IDE。
我们应该将超文本的鼻祖 Ted Nelson 的思想应用到编程中。
文本只能用于程序中执行某些操作的部分(功能),而不应用于整个系统的结构或框架。
一句话提醒。当我说我们应该从 1960 年代基于文本的思维中解放出来时,我们应该只抛弃文本,我们应该将结构化思维保留在语法背后,尤其是指称和公理语义中基于语义的语言定义。这些先进技术的应用使编程变得足够简单,可供我们其他人使用。
这样做的一个重要影响是语言和风格之战可以成为过去。编程基于程序的语义(以前的中间分析树),可以以不同语言和风格的几种视图呈现给任何程序员的口味。
但首先,我们需要摆脱许多程序员的心理偏见,他们认为他们采用的语言在某种程度上是神奇的。这在很大程度上是几十年来糟糕的教学和认为编程必须是一种特殊方式的人的结销旁巧果。我们需要改变整个行业的态度。
计算和编程是关于探索的。我们应该恢复这种探索的感觉和兴奋,抛弃过去奄奄一息的基于文本的语言。
伴随着技术进步,编程语言会不断推陈出新。不过老旧的程序语言也会因为时代改变而被淘汰。 科技 媒体Dice选出五种在未来可能将会消失的程序语言,并且建议以这些程序语言为主的工程师应朝着多样化的方向提升自己的技能。
作者科拉科夫斯基(Nick Kolakowski)查询了软件评估公司TIOBE及软件开发行业分析公司RedMonk的软件人气排名,并参考Dice的资料库,从山简而列出了五种可能消亡的程序语言。
第一个被点名的就是曾大受欢迎的Ruby。Ruby在TIOBE的排名短短一年半内从第9名滑落到第12名。且根据Dice的资料显示,Ruby的工作岗位在2018年减少了56%,由此可能会让使用Ruby的人数快速下滑。
Haskell 同样被认为前途堪忧。虽然包括Facebook和GitHub等知名公司都会使用Haskell,不过Haskell 在RedMonk的排名从2012年的13名一路下滑到榜单边缘的19名,且始终没有反弹的迹象。
第三个是Objective-C。虽然苹果公司推出Objective-C至今已有35年,但近几年Objective-C的排名下滑并不明显,有不少开发者还是习惯使用。不过2014年苹果发表Swift后,那么长期而言Objective-C就不会是开发者们的好选择。苹逗明裤果积极推动Swift发展,也有越来越多开发者使用Swift开发软件,这很可能意味着Objective-C终槐并将成为 历史 。
R语言目前是颇受欢迎的编程语言,不过科拉科夫斯基认为Python正在取代R在行业中的地位。虽然学术界和数据科学家还在使用R,但对数据分析有兴趣的公司开始转向Python,因为Python有扩展性且更容易使用。科拉科夫斯基推测,要是R和Python能彼此结合,则有助于R继续存活。
最后一个被认为缺乏未来的程序语言是Perl。在 RedMonk和TIOBE,Perl的排名都日趋下滑。就算Perl受欢迎的程度大不如前,还是有很多旧网站使用Perl,所以不会太快就消失。目前开发者普遍采用别的程序语言来架构网站,因此Perl依旧会渐渐衰亡。
go语言是目前比较新的开发语言,可以在百度上查下“go语言”。
未来的语言肯定是更为简单,更容易上手的大众化语言,就像电脑的发展一样,原来电脑属于高端货,很贵而且只有少数人会用,也就是说比较复杂,而到现在电脑普及了,会用的人越来越多。手机也是一样的。所以说多数事物都是新出现时,人们感觉很复杂,而后就变得简如盯虚单容易了则卖,得到普及了。未来编程语言肯定是能得到普及,什么渣燃人都可以掌握了。
script language, those you don'搜毁游世销余仔t need to compile.
matlab, python, perl, ruby, Java is in fact a script language
不管是什么样的,只要认真学就行。感兴趣是最好的。
面向客户
简单好用
面向对象的,比如C#