2020年火的Python和JavaScript会被取代吗?

Python和JavaScript是目前最火的两种编程语言,但是在2020年,什么编程语言会取代它的位置呢?
作者| Richard Kenneth Eng
译者|明明月如|编辑|郭蕊
| csdn (ID: csdnnews)
以下是翻译:
Python和JavaScript是目前最流行的两种编程语言。然而,他们不可能永远站着。最终,它会像其他编程语言一样从神坛上跌落。这很可能在未来十年左右上演。
那么什么编程语言会取代它呢?这是我的候选人名单!
Dart,由于Flutter framework和Google的批准,这种语言正迅速流行起来。这和Rails框架让Ruby流行的原因非常相似。如果谷歌的Fuchsia系统能火起来,Dart受益最大。
核心优势:它是比JavaScript更好的编程语言。主要缺点:我要面对JavaScript语言的挑战和JavaScript的强力支持者。Mandelbrot集合示例:
classComplex{double_r,_ I;复杂(这个。_r,这个。_ I);double getr=_ r;double geti=_ I;StringtoString()='($r,$ I)’;complex operator(complex other)=new complex(r other . r,I other . I);complex operator *(complex other)=new complex(r * other . r-I * other . I,r * other . I other . r * I);double ABS()=r * r I * I;} void main(){ doublestart _ x=-1.5;doublestart _ y=-1.0;doublestep _ x=0.03doublestep _ y=0.1for(inty=0;y20y){ string line=“”;for(intx=0;x70x){ Complexc=new complex(start _ x step _ x * x,start _ y step _ y * y);Complexz=newComplex(0.0,0.0);for(inti=0;i100I){ z=z *(z)c;if(z . ABS()2){ break;} } line=z . ABS()2 ‘ ‘ : ‘ * ‘;}打印(行);}} ElixirElixir是一种基于Erlang虚拟机的函数式编程语言,非常支持并发。作为一门纯函数式编程语言,它有望将这种范式变成主流。
核心优势:它让函数式编程变得极其简单,对并发的支持非常出色。主要缺点:需要有OTP基础,但是掌握OTP不是那么容易的。Mandelbrot集合示例:
defmoduleMandelbrotdodefsetdoxsize=59 ysize=21 minIm=-1.0 maxIm=1.0 minRe=-2.0 maxRe=1.0 stepx=(maxRe-minRe)/xsize stepy=(maxIm-minIm)/ysizeenum . each(0.ysize,fny-im=minIm stepY*yEnum.map(0.xsize,fnx-Re=minRe stepX*x62-loop(0,re,im,re,im,re * re im * im)end)| io . putsend)end defploop(n,_,_,_,_,_)当n=30时,do:ndefploop(n,_,_,_,_,v)当v4.0时,do:n-1defploop(n,re,im,zr,zi,_)DOA=Zr * zrb=1
得益于其闪电般的编译速度,简单高效的并发支持,又一种Google支持的编程语言Golang应运而生。唯一缺少的是通用支持,但是这个特性已经计划好了。
核心优势:易于使用和对并发的出色支持。主要缺点:缺乏通用支持(临时的)。Mandelbrot集合示例:
package main import(‘ fmt ‘ ‘ image ‘ ‘ image/color ‘ ‘ image/draw ‘ ‘ image/png ‘ ‘ math/cmplx ‘ ‘ OS ‘)const(maxEsc=100 rmin=-2 . rmax=-1 . IMAX=1 . width=750 red=230 green=235 blue=255)funcmandelbrot(a complex 128)float 64 { I :=0 forz 3360=a;cmplx。2朱莉娅
Julia的优势在于对数学计算的出色支持。它对数学的语法支持非常好,堪称数据科学家的福音。如果有哪种编程语言可以颠覆Python,那将是强有力的竞争对手。
核心优势:为科学家精心设计。主要劣势:面临来自数据科学之王Python的竞争。Mandelbrot集合示例:
加工厂@inlinefunctionhsv2rgb(h,s,v)const=v * scostx=c *(1-ABS((h/60)% 2)-1))const=v-c构造,g,b=ifh60(c,x,0)elseifh120(x,c,0)elseifh180(0,c,x)elseifh240(0,x,c)elseifh300(x,0,c)else ifh(c,0,x)end (r),b吴经熊的名字叫吴经熊的名字叫吴经熊的名字叫吴经熊的名字叫吴经熊的名字叫吴经熊的名字叫吴经熊的名字叫吴经熊的名字叫吴经熊的名字叫吴经熊的名字叫吴经熊Java(Java).何如,是阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云Java(Java)张居正(英文),朱庇特朱庇特阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹安卓系统?哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼。
吴经熊啊:-什么Java(Java)阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金。云娥:科特林吴登盛,我的天啊Java(Java)维琪维琪维琪维琪维琪维琪维琪维琪维琪维琪维琪维琪维琪维琪维琪维琪维琪维琪维琪维琪。你是谁:
importjava。awt。graphicsportjava。awt。形象。缓冲区edimageimportjavax。挥棒。jframe类Mandelbrot 3330 jframe(‘ mandelbrottet ‘)私人物件{ private constantvalmax _ ITER=570 private constvalzoom=150.0 } private valmg 3330缓冲区映像init {设置界限(100、100、800、600)可调整大小=false默认关闭操作=exit _ on _ close管理=缓冲区映像(宽度、高度、缓冲影像)。type _ int _ RGB)for(yin 0 until ty height){ for(Xin 0 until ty width){ varzx=0.0 varzy=0.0 valcx=(x-400)/zoom alcy=(y-300)/缩放系数=max _ ETR while(zx * zx * zy * zy 4.0 ITER 0){ valtmp=zx * zy * cxzy=2.0 * zx * zy cyzx=tmpiter } } } img。setrgb(x,y,etror(etrshl 7))} } overridfunpaint(is visible=true)月球
吴经熊啊:月球-什么~我爱你~-什么~我爱你~绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿~我爱你~哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟~我爱你~吴经熊,吴经熊,吴经熊,吴经熊,吴经熊,吴经熊,吴经熊,吴经熊,吴经熊,吴经熊,吴经熊,吴经熊,吴经熊,吴经熊,吴经熊,吴经熊,吴经熊,吴经熊,吴经熊,吴经熊,吴经熊。云娥:月球阿瑞文阿瑞文阿瑞文阿瑞文阿瑞文阿瑞文阿瑞文阿瑞文阿瑞文阿瑞文阿瑞文阿瑞文阿瑞文阿瑞文阿瑞文阿瑞文26 老王。-你好-你好?你是谁:
localmaxiterations=250 localminx,maxX,minY,maxY=-2.5,2.5,-2.5,2.5localmiX,m20,miY,mxYfunctionremap(x,t1,t2,s1,S2)localf=(x-t1)/(T2-t1)localg=f *(S2-S1)S1返回;end function drawmandelbrot()local pts,a,as,za,b,bs,zb,cnt,clr={}forj=0,hei-1dofori=0,wid-1doa=remap(i,0,wid,minX,maxX)b=remap(j,0,hey,minY,maxy)CNT=0;za=azb=BWC hile(CNT 16 thenberakencnt=CNT 1 endf CNT==maxiteration then Cr=0 else clr=remap(CNT,0,maxiterations,0,255)端点[1]=I,j,clr,0,255}love.graphics.points(点数)端点函数开始分形()恋爱。图形。设置ancas(画布);爱情。图形。清()爱。图形。设置颜色(255,255,255)绘制Mandelbrot();爱情。图形。设置ancas()结束涂油爱。load()wid,hei=love.graphics.getWidth()、love。图形。获取高度()画布=爱情。图形。新画布(宽,黑)开始ractal()结束涂油爱。Moussa ed(x,y,button,is touch)if button==1 the estart drag=true;mix=xmiy=yelsminx=2.5maxx=2.5miny=minx maxy=maxx start ractal()start drag=false endedfunction love。mouereallied(x,y,button,is touch)if startragthecallifxmixthennmxx=xel sel=x;mxx=混合:mix=lenifymiythemxy=yelsel=y;mxy=miymiy=lenmix=remap(mix,0,wid,minX,maxX)mxx=remap(mxxxx,0,wid,minX,maxX)miY=remap(miY,0,hey,minY,maxY)mxY=remap(mxY,0,hey,minY,maxY)minX=mix;maxx=MX xminy=miy max=mxy start ractal()end function love。画()爱。图形。绘制(画布)end Pharo
灯塔之家切小谈阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔,朱庇特朱庇特朱庇特朱庇特阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹。云娥,小谈谢韦凌谢赫谢赫谢赫谢赫谢赫谢赫谢赫谢赫谢赫谢赫谢赫,朱庇特朱庇特朱庇特朱庇特朱庇特朱庇特阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹。哎哎哎哎哎哎哎哎哎哎哎哎哎小谈绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿。
灯塔之家-什么~我爱你~朱庇特?朱庇特,绿筠小姐15 朱庇隆伊万诺维奇伊万诺维奇伊万诺维奇伊万诺维奇伊万诺维奇伊万诺维奇伊万诺维奇伊万诺维奇伊万诺维奇伊万诺维奇伊万诺维奇伊万诺维奇伊万诺维奇小谈阿叔阿叔阿叔阿叔阿叔阿叔。
范仲淹啊:你好吗,程序章 5 僧儿。云娥:是范仲淹还是范仲淹?张伯伦医生,范仲淹与范仲淹。鲁仲吉鲁仲吉:
对象子类: # fractaltreeinstanceavariablenames : ‘ ‘类变量名称: ‘ ‘池字典: ‘ ‘类别: ‘ Rosetta代码’ ‘用于fractaltreeclass的方法’树: a pointlength 3360 a length angel : a angle | pa |(a length 10)如果为true :[p :=pennew。小狗。pgoto :点。pturn 360]]。drawdisplayrestoreafter :[displayfillwhite。自我树:700 @ 700长度:200角度:0。]’执行’ fractaltreenewdraw。锈由于内存安全特性——借用检查器,生锈已经赢得广泛认可。这一特性实际上消除了所有内存相关错误生锈。提供了更安全的编程特性。
关键优势:有助于提高软件的可靠性。主要缺点:它学起来很难。借用检查器比较复杂且难以理解。曼德布洛特集样本:
externcrateimageexterncratenum _ complex使用STD : fs :文件;usenum _ complex : complex;fn main(){ let max _ iterations=256 u16;letimg _ side=800 u 32 let cxmin=-2f 32;let cxmax=1 f 32 letc ymin=-1.5f 32;letcymax=1.5 f 32 let scalex=(cxmax-cxmin)/img _ side ASF 32;设scaley=(cy max-cy min)/img _ side ASF 32;//CreateanewImgBufletmutimgbuf=image :图像缓冲区: new(img _ side,img _ side);//Calculateforeachpixelfor(x,y,pixel)in migbuf。enumerate _ pixels _ mut(){ let CX=cxmin xasf 32 * scalex;letcy=cy min yasf 32 * scaleyletc=complex : new(CX,cy);设mutz=complex : new(0f 32,0f 32,0f设muti=0;fortin0.max _ iterations { ifz。norm()2.0 { break;} z=z * z c;I=t;} * pixel=image : luma([iasu 8]);}//savimageletfout=mut file : create(‘ fractal。png’).unwrap();图像:图像亮度8(imgbuf).保存(fout,image:PNG).unwrap();}打字稿类型脚本是一个增强版的JavaScript .它主要新增了静态类型的特性。
由于以打字打的文件和Java脚本语言完全兼容,已经掌握了Java脚本语言的前端网开发者们可以轻松掌握打字稿,因而深受他们青睐。
核心优势:它是Java脚本语言的超集,对Java脚本语言开发者来说没啥太大变化。主要缺点:由于它是Java脚本语言的超级,这就导致了它同样也继承了Java脚本语言的一些历史包袱。分形树样本:
//setupcanvasfordrawingwarcanvas : htmlcanvaselement=document。createelement(“canvas”)画布。宽度=600画布。高度=500文档。身体。appendchild(canvas)var CTX : canvasrenderingcontext 2d=canvas。获取上下文(‘ 2d ‘)CTX。填充样式=’ # 000 ‘ CTX。行宽=1//constantsconstdegtorad 3360 number=Math .PI/180.0 constotaldepth : number=9/* * Helperfunctionthatdrawsalineonthecanvas */function drawline(x 1: number,y1:number,x2:number,y 2: number): void { CTX。move to(x1,y1)ctx.lineTo(x2,y2)}/* * drawbranchatthegivenpointandaglendtencallsitself两次*/function drawtree(x 1333366==0){ letx 2: number=x1(math。cos(角度*深度*深度* 10.0)lety 2: number=y1(数学。sin(angle * degToRad)* depth * 10.0)draw line(x1,y1,x2,y2,angle-20,depth-1)drawTree(x2,y2,angle-20,depth-1)} }//actualdrawingoftreectx。beginpath()绘制树(300是一匹黑马。在接下来的十年左右的时间,它可能会衍生出一系列编程语言,这些编程语言有望登顶编程语言排行榜。
虽然网程序集只是一个编译目标,但是它有充足理由被应用到网领域之外。哪种基于网程序集的编程语言能够荣登榜首?谁也说不准。
需要学习资料私信小编”资料”即可免费领取

其他教程

103010首演朱宋佳配音《王》

2022-8-21 1:14:33

其他教程

都是投资组合。为什么我室友做的速度能比我快一倍?

2022-8-21 1:16:46

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索